Limaks
Умник
Доброго времени суток
Вот я точно не знаю есть такой урок или нет, но я посмотрел все странице в разделе и не нашел такого
Но вот решил выложить...
Начнем пожалуй.
Открываем мод и добавляем ко всем #define:
Ниже ко всем forward:
Ну и ко всем new:
Так, теперь приступим к самому главному
Находим public OnPlayerStateChange(playerid, newstate, oldstate)
{
и добавляем в него:
Теперь находим public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
и добавляем:
Так теперь в конец мода добавляем такие паблики:
Теперь в public OnPlayerExitVehicle(playerid, vehicleid)
{
Ну и теперь самое последнее в public OnPlayerCommandText
Ну вот и все готово! Теперь компилируйте(F5), включайте сервер и можете пользоваться
P.S: это вырезка из скрипта...
Вот я точно не знаю есть такой урок или нет, но я посмотрел все странице в разделе и не нашел такого
Но вот решил выложить...
Начнем пожалуй.
Открываем мод и добавляем ко всем #define:
PHP:
#define colorRed 0xFF0000FF
#define colorYellow 0xFFFF00FF
PHP:
forward StartEngine(playerid);
forward DamagedEngine(playerid);
PHP:
new vehEngine[MAX_VEHICLES];
Находим public OnPlayerStateChange(playerid, newstate, oldstate)
{
и добавляем в него:
PHP:
new vehicleid = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER)
{
if(vehEngine[vehicleid] == 0)
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Извините,но сначало вы должны завести машину");
SendClientMessage(playerid, colorYellow, "Нажмите SHIFT или наберите /engine");
}
else if(vehEngine[vehicleid] == 1)
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, colorYellow, "Vehicle engine running");
}
}
{
и добавляем:
PHP:
new vehicleid = GetPlayerVehicleID(playerid);
if(IsPlayerInAnyVehicle(playerid))
{
if(vehEngine[vehicleid] == 0)
{
if(newkeys == KEY_JUMP)
{
vehEngine[vehicleid] = 2;
SetTimerEx("StartEngine", 3000, 0, "i", playerid);
SendClientMessage(playerid, colorYellow, "Вы заводите машину");
}
}
if(newkeys == KEY_SECONDARY_ATTACK)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
PHP:
public StartEngine(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:health;
new rand = random(2);
GetVehicleHealth(vehicleid, health);
if(IsPlayerInAnyVehicle(playerid))
{
if(vehEngine[vehicleid] == 2)
{
if(health > 300)
{
if(rand == 0)
{
vehEngine[vehicleid] = 1;
TogglePlayerControllable(playerid, 1);
SetTimerEx("DamagedEngine", 1000, 1, "i", playerid);
SendClientMessage(playerid, colorYellow, "Двигатель завелся!");
}
if(rand == 1)
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Двигатель не заводиться");
}
}
else
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Ваш автомобиль поврежден и не может завестись");
}
}
}
return 1;
}
public DamagedEngine(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new Float:health;
GetVehicleHealth(vehicleid, health);
if(IsPlayerInAnyVehicle(playerid))
{
if(vehEngine[vehicleid] == 1)
{
if(health < 300)
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Двигатель заглох изза повреждений");
}
}
}
return 1;
}
{
PHP:
TogglePlayerControllable(playerid, 1);
PHP:
if (strcmp(cmdtext, "/engine", true) == 0)
{
new vehicleid = GetPlayerVehicleID(playerid);
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, colorRed, "You need to be in a vehicle to use this command");
if(vehEngine[vehicleid] == 0)
{
vehEngine[vehicleid] = 2;
SetTimerEx("StartEngine", 3000, 0, "i", playerid);
SendClientMessage(playerid, colorYellow, "Вы заводите машину");
}
else if(vehEngine[vehicleid] == 1)
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Двигатель заглох");
SendClientMessage(playerid, colorYellow, "Нажмите SHIFT или наберите /engine");
}
return 1;
}
P.S: это вырезка из скрипта...
