Перейти к содержимому


Фотография

Плагин

itemgiver

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 16

#1 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 16:58

Добрый вечер кто нибудь может сделать в этом плагине так.В нем надо только оставить таблетки пайпу и прицел лазерный что бы эти функции при старте карты довались 4 выжевшим версус тоесть каждому игроку таблетки пайпа и лазерь. я папробувал у меня что то не палучаеться.Памогите пожалуйста если кто разбераеться .За ранее спасибо

Прикрепленные файлы



#2 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 15 Сентябрь 2017 - 17:55

На счёт лазера хз что и как, не в курсе в этой игре, но в сковырнул плагине посмотрел:

#pragma semicolon 1
#include <sourcemod>
#pragma newdecls required

public void OnPluginStart()
{
	HookEvent("player_spawn", EventPlayerSpawn);
}
public void EventPlayerSpawn(Event event, const char[] name, bool dontBroadcast)
{
	int client = GetClientOfUserId(event.GetInt("userid"));
	{
		if (IsClientInGame(client) && GetClientTeam(client) == 2)
		{
			CreateTimer(2.0, Hmmmm, client, TIMER_FLAG_NO_MAPCHANGE);
		}
	}
}
public Action Hmmmm(Handle timer, any client)
{
	int flagsgive = GetCommandFlags("give");
	SetCommandFlags("give", flagsgive & ~FCVAR_CHEAT);
	SetCommandFlags("upgrade_add", flagsgive & ~FCVAR_CHEAT);
	FakeClientCommand(client, "upgrade_add LASER_SIGHT");
	FakeClientCommand(client, "give first_aid_kit");
	FakeClientCommand(client, "give pain_pills");
	SetCommandFlags("give", flagsgive);
	return Plugin_Stop;
}

Сообщение отредактировал AlexMy: 15 Сентябрь 2017 - 17:56

  • zlorus это нравится

#3 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 18:02

Ага спасибо. Что мне с этим кодом надо сделать подскажите пожалуйста



#4 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 15 Сентябрь 2017 - 18:49

https://forums.allie...d.php?p=1567919 автоматом ставит лазерный прицел

Ага спасибо. Что мне с этим кодом надо сделать подскажите пожалуйста

сохранить с расширением .sp и компильнуть
  • zlorus это нравится

#5 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 19:23

С лазером разобрался спасибо.нащет таблеток и пайпы что было сказано выше как написал AlexMy спасибо конечно но он работает не так он при старте мнедаёт тоесть 4 выжевшим 4 аптеки 4 таблетки + к этому еще лежат старые родные и пайпы не дает такчто вот такая проблема ребята сам сидел вчера мучился не вышло. надо при старте что бы было 1 лазерь 1 табл и 1 пайпа на 4 выжевших. Ну ладно спасибо большое кто памог!!!



#6 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 15 Сентябрь 2017 - 19:32

Полазий тут https://forums.alliedmods.net может найдешь свои ответы. По поводу выдачи пайп и медбоксов, я пока не чего не нашёл нормального.
Можно конечно перепилить из того что есть...
Но это к AlexMy
  • zlorus это нравится

#7 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 15 Сентябрь 2017 - 19:34

Ты сам написал в начале раунда, выжившие получают таблетки, аптеку и лазер. Так я плагин и написал.
  • zlorus это нравится

#8 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 19:50

да да я же написал выше тебе большое спасибо.только я выше написал таблетки пайпу и лазерь. лазерь уже не нужен толька пайпа и таблетки



#9 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 15 Сентябрь 2017 - 20:16

#pragma semicolon 1
#include <sourcemod>
#pragma newdecls required

bool block_give;

public void OnPluginStart()
{
	HookEvent("player_spawn", EventPlayerSpawn);
	
	HookEvent("round_start",  Event_Round);
	HookEvent("round_end",    Event_Round);
}
public void Event_Round(Event event, const char[] name, bool dontBroadcast)
{
	block_give = false;
}
public void EventPlayerSpawn(Event event, const char[] name, bool dontBroadcast)
{
	if(block_give)return;
	{
		int client = GetClientOfUserId(event.GetInt("userid"));
		{
			if (IsClientInGame(client) && !IsFakeClient(client))
			{
				CreateTimer(2.0, Hmmmm, TIMER_FLAG_NO_MAPCHANGE);
				block_give = true;
			}
		}
	}
}
public Action Hmmmm(Handle timer)
{
	for(int i = 1; i <= MaxClients; i++) if (IsClientInGame(i) && GetClientTeam(i) == 2)
	{
		int flagsgive = GetCommandFlags("give");
		SetCommandFlags("give", flagsgive & ~FCVAR_CHEAT);
		FakeClientCommand(i, "give first_aid_kit");
		FakeClientCommand(i, "give pain_pills");
		SetCommandFlags("give", flagsgive);
	}
	return Plugin_Stop;
}

  • zlorus это нравится

#10 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 20:31

можно поинтересоваться.это на пайпу и таблетки



#11 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 15 Сентябрь 2017 - 20:48

Да, попробуй и скажи что и как.
  • zlorus это нравится

#12 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 15 Сентябрь 2017 - 20:56

ок


таблетки дает и аптеки за место аптек надо пайпу(бомбу тоесть) аптеки и так есть при старте



#13 Slaven555

Slaven555

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 533 сообщений

Отправлено 15 Сентябрь 2017 - 21:48

Возьми плагин на таблы и перепиши на пайпы)
  • zlorus это нравится

#14 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 16 Сентябрь 2017 - 7:59

Не ужели трудно заменить first_aid_kit на pipe_bomb ?


  • Slaven555 и zlorus это нравится

#15 Vitamin

Vitamin

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 492 сообщений

Отправлено 16 Сентябрь 2017 - 15:21

Пренебрегаешь EventHookMode_PostNoCopy


А уж тем более, так как это left 4 Dead 2 то я бы сделал так:

function OnGameEvent_player_spawn(hEvent)
{
	local iClient = GetPlayerFromUserId(hEvent["userid"])

	if (iClient.IsSurvivor() && !iClient.IsDead())
	{
		iClient.GiveItem("pain_pills");
		iClient.GiveItem("pipe_bomb");
	}
}
//P.S. VScript

Сообщение отредактировал Vitamin: 16 Сентябрь 2017 - 15:21

  • zlorus это нравится

#16 zlorus

zlorus

    Новичок

  • Пользователь
  • Pip
  • 43 сообщений

Отправлено 16 Сентябрь 2017 - 17:40

ок всем спасибо большое кто памог все сделал т



#17 AlexMy

AlexMy

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 1 032 сообщений

Отправлено 16 Сентябрь 2017 - 18:05

Я не знаю этот язык, но если юзать  EventHookMode_PostNoCopy будет ошибка, точно уже не помню, вроде плагин даже не запустится.


  • zlorus это нравится


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных