#Yellow
Ученик
Установил систему неона,всё работает,он устанавливается и т.д,но не светится,светится к примеру если я заеду в тюнинг.
Код:
#include <a_samp>
#define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
//Массив для обработки. 0 - наличие (и цвет) неона (-1 - не установлен), 1 и 2 - объекты, 3 - состояние (вкл-выкл)
new neon[MAX_VEHICLES][4];
//Форварды для функций
forward PlaceNeon (vehicle, color);
forward RemoveNeon (vehicle);
forward TurnNeon (vehicle);
//Загрузка скрипта. На всякий пожарный - подчистка инфы в массиве.
public OnFilterScriptInit()
{
for (new i=0; i<MAX_VEHICLES; i++) RemoveNeon (i);
return 1;
}
//Выгрузка скрипта. Очистка массива.
public OnFilterScriptExit()
{
for (new i=0; i<MAX_VEHICLES; i++) RemoveNeon (i);
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/neon", cmdtext, true, 10) == 0)
{
if(IsPlayerInAnyVehicle(playerid))
{
if(GetPlayerState(playerid)!=PLAYER_STATE_DRIVER) SendClientMessage(playerid,0xAFAFAFAA,"Вы должны сидеть за рулем автомобиля");
else ShowPlayerDialog(playerid,6000,DIALOG_STYLE_LIST,"Меню","Неон","Выбрать","Отмена");
}
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 6000)
{
if(response)
{
if(listitem==0) ShowPlayerDialog(playerid,6001,DIALOG_STYLE_LIST,"Неон", "Красный\nСиний\nЗеленый\nЖелтый\nРозовый\nУбрать неон","Дальше","Отмена");
}
return 1;
}
if(dialogid == 6001)
{
if(response)
{
if(listitem==5)
{
RemoveNeon (GetPlayerVehicleID(playerid));
SendClientMessage (playerid, 0xff440000, "Неон удален");
}
else if (listitem >=0 && listitem <=4)
{
PlaceNeon (GetPlayerVehicleID(playerid), listitem);
SendClientMessage (playerid, 0xff440000, "Неон установлен");
}
}
return 1;
}
return 0;
}
public OnPlayerKeyStateChange(playerid, newkeys,oldkeys)
{
if (PRESSED(512) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) TurnNeon (GetPlayerVehicleID(playerid));
return 1;
}
public OnVehicleDeath (vehicleid, killerid)
{
DestroyObject(neon[vehicleid][1]);
DestroyObject(neon[vehicleid][2]);
return 1;
}
//Установка неона. Параметры - ID авто и цвет.
public PlaceNeon (vehicle, color)
{
neon[vehicle][0] = color;
neon[vehicle][3] = 1;
DestroyObject(neon[vehicle][1]);
DestroyObject(neon[vehicle][2]);
neon[vehicle][1] = CreateObject(18647+color,0,0,0,0,0,0,100.0);
neon[vehicle][2] = CreateObject(18647+color,0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
return 1;
}
//Удаление неона
public RemoveNeon (vehicle)
{
neon[vehicle][0] = -1;
neon[vehicle][3] = 0;
DestroyObject(neon[vehicle][1]);
DestroyObject(neon[vehicle][2]);
return 1;
}
//Управление неоном
public TurnNeon (vehicle)
{
if (neon[vehicle][0] != -1)
{
switch (neon[vehicle][3])
{
case 0:
{
neon[vehicle][3] = 1;
neon[vehicle][1] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0);
neon[vehicle][2] = CreateObject(18647+neon[vehicle][0],0,0,0,0,0,0,100.0);
AttachObjectToVehicle(neon[vehicle][1], vehicle, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(neon[vehicle][2], vehicle, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
}
case 1:
{
neon[vehicle][3] = 0;
DestroyObject(neon[vehicle][1]);
DestroyObject(neon[vehicle][2]);
}
}
}
return 1;
}
