Проще в эксплуатации и короче.
Вот ещё пример:
#include <sourcemod> //подключаемся к библиотеке sourcemod'a
#pragma newdecls required // сообщаем компилятору что плагин написан на новом синтаксисе
public void OnPluginStart() // запускаем плагин
{
//EventHookMode_Pre - хукать событие перед
//EventHookMode_Post - хукать событие после
//EventHookMode - хукать настоящие событие.
//EventHookMode_PostNoCopy - хукать после того, но без переменных
HookEvent("round_start", EventRoundStart, EventHookMode_PostNoCopy); //Ловим событие и передаем на натив EventRoundStart
}
public void EventRoundStart(Event event, const char[] name, bool dontBroadcast) //передали на натив
{
for (int i = 1; i <= MaxClients; ++i) if (IsClientInGame(i) && GetClientTeam(i) == 2) // пробигаемся циклом по всем игрокам и по пути даем здоровье
{
SetEntityHealth(i, 110);
break; //ломаем цикл, ну тут хз нужен он или нет...
}
}
/** GetClientTeam(i) == ?) делится на три команды:*/
/* GetClientTeam(i) == 1) спектор
GetClientTeam(i) == 2) выжившие
GetClientTeam(i) == 3) зараженные
*/
Спасибо за подробную информацию.Но с чего вы начинаете писать плагины? Вы сначала думайте что написать ,как написать? Или в процессе написания придумывайте?
Лично я не пишу плагины ,не совсем понимаю что писать.
#include <sourcemod>
public void OnPluginStart()
{
HookEvent("player_first_spawn", Event_SetEntProp(client,Prop_Data,"m_iHealth", 200 ),EventHookMode_Pre);
}
public void Event_SetEntProp(client,Prop_Data,"m_iHealth", 200(Event hEvent, const char[] sEvName, bool bDontBroadcast)
{
int iUserID = hEvent.GetInt("userid");
PrintToServer("userid: %i",iUserID);
}
Это я старался написать плагин на увеличение стандартных ХП выжившим . Писал по статье R1KO http://hlmod.ru/thre...erzhanie.36893/
Но делал по этим примерам http://hlmod.ru/thre...a-events.36891/
AlexMy Я вообще понятия не имею ,как такое надо прописывать for (int i = 1; i <= MaxClients; ++i) if (IsClientInGame(i) && GetClientTeam(i) == 2) .
В статье R1KO такого я не видел.Может быть это из-за того что его статья совершенно про другую игру CS:S
Вот я смотрел все события в игре left 4 dead 2 ,но такого я точно не видел.
И ещё вопрос по переменным. Зачем они нужны в sourcpawn? Как я понял переменные содержат все бе информацию ,но специально скачивал исходники плагинов и искал эти переменные ,чтобы понять зачем они нужны ,не одну переменную я не нашёл.