[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Система двигателя by Mender
Дата: 05.01.2011, Среда, 20:06:03 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 225
Репутация: 255+
Описание :
1.Чтобы завести двигатель нужно зажать shift или прописать /engine .
2.Чтобы заглушить двигатель /engine .
3.Теперь велосипеды заводить не прийдеться =) .

Автор: Mender

Добавлено (05.01.2011, 20:06:03)
---------------------------------------------
//Система двигателя by Mender

#include <a_samp>
#include <zcmd>

#define colorYellow 0xFFFFFFAA
#define colorYelloww 0xC2A2DAAA
#define colorYellowww 0xBFF600FF
#define colorYellowwww 0xFFD9D991

forward StartEngine(playerid);
forward DamagedEngine(playerid);

new vehEngine[MAX_VEHICLES];
// new model = GetVehicleModel(vehicleid);
// && !(model == 481 || model == 510)

public OnPlayerStateChange(playerid, newstate, oldstate)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);

if(newstate == PLAYER_STATE_DRIVER)
{
if(vehEngine[vehicleid] == 0 && !(model == 481 || model == 510||model == 509 || model == 509))
{
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Вы вставляете ключ и заводите двигатель");
SendClientMessage(playerid, colorYellow, "Чтобы завести двигатель нажмите \"Shift\" чтобы заглушить \"/engine\"");
}
else if(vehEngine[vehicleid] == 1 )
{
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, colorYellowww, "Двигатель автомобиля заведен");
}
}
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);

if(IsPlayerInAnyVehicle(playerid))
{
if(vehEngine[vehicleid] == 0 && !(model == 481 || model == 510||model == 509 || model == 509))
{
if(newkeys == KEY_JUMP)
{
vehEngine[vehicleid] = 2;
SetTimerEx("StartEngine", 700, 0, "i", playerid);
SendClientMessage(playerid, colorYelloww, "Вы вставляете ключ и пытаетесь завести двигатель");
}
}
if(newkeys == KEY_SECONDARY_ATTACK)
{
RemovePlayerFromVehicle(playerid);
TogglePlayerControllable(playerid, 1);
}
}
return 1;
}

public StartEngine(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
new model = GetVehicleModel(vehicleid);
new Float:health;
new rand = random(2);

GetVehicleHealth(vehicleid, health);

if(IsPlayerInAnyVehicle(playerid))
{
if(vehEngine[vehicleid] == 2 && !(model == 481 || model == 510||model == 509 || model == 509))
{
if(health > 555)
{
if(rand == 0)
{
vehEngine[vehicleid] = 1;
TogglePlayerControllable(playerid, 1);
SetTimerEx("DamagedEngine", 700, 1, "i", playerid);
SendClientMessage(playerid, colorYellowww, "Вы завели двигатель");
}
if(rand == 1)
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellowwww, "Двигатель автомобиля не удалось завести");
}
}
else
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellowwww, "Двигатель автомобиля не удалось завести из-за повреждения");
}
}
}
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, colorYellowwww, "Двигатель автомобиля захлох из-за повреждения");
}
}
}
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
TogglePlayerControllable(playerid, 1);
return 1;
}

CMD:engine(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);

if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, colorYellowwww, "Вы должны быть в автомобиле и использовать эту команду");

if(vehEngine[vehicleid] == 0)
{
vehEngine[vehicleid] = 2;
SetTimerEx("StartEngine", 700, 0, "i", playerid);
SendClientMessage(playerid, colorYelloww, "Вы вставляете ключ и пытаетесь завести двигатель");
}
else if(vehEngine[vehicleid] == 1)
{
vehEngine[vehicleid] = 0;
TogglePlayerControllable(playerid, 0);
SendClientMessage(playerid, colorYellow, "Вы заглушили двигатель");
SendClientMessage(playerid, colorYellow, "Чтобы завести двигатель нажмите \"Shift\" чтобы заглушить \"/engine\"");
}
return 1;
}

Дата: 05.01.2011, Среда, 20:12:16 | Сообщение # $NUMBER
Группа: Пользователи
Сообщений: 22
Репутация: -2+
Понятно будет по
Quote
Дата: 05.01.2011, Среда, 20:15:51 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 225
Репутация: 255+
Ок в следущий раз буду писать через Quote
Я новенький просто =)
Дата: 05.01.2011, Среда, 20:18:00 | Сообщение # $NUMBER
Группа: Удаленные
Сообщений:
Репутация: +
Очень хорошо ты вырвал тупо всё из чужого мода, делал не ты - я уверен, и где вообще описание что и где и для чего, спасибо за скрипт тебе

Добавлено (05.01.2011, 20:18:00)
---------------------------------------------
И вообще, давно уже 0.3С можно использовать в пару строк, чем это гавно

Дата: 05.01.2011, Среда, 20:22:18 | Сообщение # $NUMBER
Группа: Проверенные
Сообщений: 667
Репутация: 1425+
Всё в туалет тему.
  • Страница 1 из 1
  • 1
Поиск: