Ко всем глобальным переменным(ко всем new):
- Код:
new bool:JustSat[MAX_PLAYERS];
- Код:
if(newstate == PLAYER_STATE_DRIVER)
{
JustSat[playerid] = true;
SetTimerEx("SetJustSat", 5000, 0, "i", playerid);
}
- Код:
if(reason == 50) // 50 - убит лопастями вертолета (Helicopter Blades)
{
new Games[256];
if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER && !JustSat[killerid]) //если игрок на водительском месте
{
new Float:Vel[3];
GetVehicleVelocity(GetPlayerVehicleID(killerid), Vel[0], Vel[1], Vel[2]);
if(Vel[0] == 0 && Vel[1] == 0 && Vel[2] == 0)
{
format(Games,sizeof(Games),"%s прыгнул на винты игроку %s!",PlayerName(playerid),PlayerName(killerid));
SendClientMessageToAll(0xAFAFAFAA,Games);
SendClientMessage(playerid,0xAFAFAFAA,"На нашем сервере запрещено прыгать на винты!"); //думаю, соообщения достаточно, хотя можете использовать и другое наказание
}
else
{
format(Games,sizeof(Games),"%s убил лопастями вертолета игрока %s",PlayerName(killerid),PlayerName(playerid));
SendClientMessageToAll(0xAFAFAFAA,Games);
Kick(killerid); //наказываем игрока, можете заменить посадкой в тюрьму или просто выводом сообщения, тут просто кик
}
}
}
- Код:
forward SetJustSat(playerid);
public SetJustSat(playerid)
{
JustSat[playerid] = false;
return 1;
}
- Код:
error 017: undefined symbol "PlayerName"
- Код:
stock PlayerName(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
return pname;
}