vlad_step
Компетентный
Так сегодня я попытаюсь научить вас делать сигнализацию на автомобиль в игре.Выглядет она таким образом,что если кто нибудь залезет именно в твою тачку то сработает сигнализация.
В начало мода или скрипта вставляйте
далее создаём команду с помощью которой вы будете покупать сигнализацию или отключать её.
далее создаём отдельные паблики
Мой первый урок незнаю был такой или нет)
В начало мода или скрипта вставляйте
PHP:
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_YELLOW 0xFFFF00AA
forward Alarm();
forward SA();
new Alarmed[MAX_VEHICLES];
new Ala;
new StA;
new AlarmStatus[MAX_VEHICLES];
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/buyalarm", cmdtext, true, 10) == 0)
{
new v = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerMoney(playerid) >= 3500)
{
if(Alarmed[v] == 0)
{
Alarmed[v] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "* Вы купили сигнализацию на свой автомобиль");
GivePlayerMoney(playerid, -3500);
AlarmStatus[v] = 1;
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* Вы уже преобрели сигнализацию!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* У вас недостаточно денег !");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED, "* Вы не в машине !");
return 1;
}
return 1;
}
if (strcmp("/turnalarm", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
new v = GetPlayerVehicleID(playerid);
if(Alarmed[v] == 1)
{
if(AlarmStatus[v] == 1)
{
AlarmStatus[v] = 0;
SendClientMessage(playerid, COLOR_YELLOW, "* Вы выключили сигнализацию");
return 1;
}
else if(AlarmStatus[v] == 0)
{
AlarmStatus[v] = 1;
SendClientMessage(playerid, COLOR_YELLOW, "* Вы включили сигнализацию");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_YELLOW, "* Вы не преобретали сигнализацию");
return 1;
}
}
}
return 0;
}
PHP:
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
new vehid = GetPlayerVehicleID(playerid);
if(Alarmed[vehid] == 1)
{
if(AlarmStatus[vehid] == 1)
{
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(playerid, X, Y, Z);
PlayerPlaySound(playerid, 1147, X, Y, Z);
Ala = SetTimer("Alarm", 350, 0);
}
}
}
return 1;
}
потом
public Alarm()
{
for(new i=0; i<MAX_PLAYERS; i++)
{
new Float:X;
new Float:Y;
new Float:Z;
GetPlayerPos(i, X, Y, Z);
PlayerPlaySound(i, 1147, X, Y, Z);
KillTimer(Ala);
Ala = SetTimer("Alarm", 350, 0);
StA = SetTimer("SA", 12000, 0);
}
return 1;
}
и наконец
public SA()
{
KillTimer(StA);
KillTimer(Ala);
return 1;
}
