06.06.2011, 16:25
Привет всем. Помогите хоть здесь, третий день сообразить немогу, пишу авто-меню со "статусом" в диалоговом окне, получается какая то ересь.
Работает таким образом:
1. Садимся в машину и жмем субмиссию
2. Вылазит окно и там список чего открывать/закрывать т.е. капот/багажник и т.д.
Функционал есть, но вот статус "открыто" и "закрыто" ерундит. Кроме статуса двигателя. вот кодец:
это вызов диалога....
а вот его действия:
Подскажите, почему статус в диалоговом окне не соответствует действительности?...
т.е. включаем "сигнализацию" а статус на "выключить" не изменился...и статус изменяется не с первого раза...в чем может быть проблема?...
действительно ума не хватает
Работает таким образом:
1. Садимся в машину и жмем субмиссию
2. Вылазит окно и там список чего открывать/закрывать т.е. капот/багажник и т.д.
Функционал есть, но вот статус "открыто" и "закрыто" ерундит. Кроме статуса двигателя. вот кодец:
PHP Code:
new carid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
new message[2][24] ={ "{00CC66}Завести","{CC0000}Заглушить"};
new lightstat[2][24] ={ "{00CC66}Включить", "{CC0000}Выключить"};
new alarmstat[2][24] ={ "{00CC66}Включить", "{CC0000}Выключить"};
new bonnetstat[2][24]={ "{00CC66}Открыть", "{CC0000}Закрыть"};
new bootstats[2][24] ={ "{00CC66}Открыть", "{CC0000}Закрыть"};
new doorstats[2][24] ={ "{00CC66}Открыть", "{CC0000}Закрыть"};
if(newkeys == 512)
{
format(string,1024,
"{0099FF}**Случайный тюнинг\n\
{0099FF}Двигатель {FFFF00}| %s\n\
{0099FF}Фары {FFFF00}| %s\n\
{0099FF}Аварийка {FFFF00}| %s\n\
{0099FF}Капот {FFFF00}| %s\n\
{0099FF}Багажник {FFFF00}| %s\n\
{0099FF}Двери {FFFF00}| %s\n\
{0099FF}Номер {FFFF00}| {00CC66}%s\n\
{0099FF}**Установить неон",(engine ? message[1] : message[0] ),(lights ? lightstat[0] : lightstat[1]),(alarm ? alarmstat[0] : alarmstat[1]),
(bonnet ? bonnetstat[0] : bonnetstat[1]),(boot ? bootstats[0] : bootstats[1]),(doors ? doorstats[0] : doorstats[1]),(GetVehicleNumberPlate(carid)) );
ShowPlayerDialog(playerid, DIALOGCAR, DIALOG_STYLE_LIST, "{00CCFF}Меню Функций над Машиной",string, "..::|Ок|::..", ".:|Отмена|:.");
return true;
}
а вот его действия:
PHP Code:
if(dialogid == DIALOGCAR && response)
{
new carid = GetPlayerVehicleID(playerid);
switch(listitem)
{
case 0:{}
case 1:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(engine == 0) SetVehicleParamsEx(carid,1,lights,alarm,doors,bonnet,boot,objective);
else SetVehicleParamsEx(carid,0,lights,alarm,doors,bonnet,boot,objective);
}
case 2:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(lights == 0) SetVehicleParamsEx(carid,engine,1,alarm,doors,bonnet,boot,objective);
else SetVehicleParamsEx(carid,engine,0,alarm,doors,bonnet,boot,objective);
}
case 3:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(alarm == 1) SetVehicleParamsEx(carid,engine,lights,0,doors,bonnet,boot,objective);
else SetVehicleParamsEx(carid,engine,lights,1,doors,bonnet,boot,objective);
}
case 4:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(bonnet == 1) SetVehicleParamsEx(carid,engine,lights,alarm,doors,0,boot,objective);
else SetVehicleParamsEx(carid,engine,lights,alarm,doors,1,boot,objective);
}
case 5:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(boot == 1) SetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,0,objective);
else SetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,1,objective);
}
case 6:
{
GetVehicleParamsEx(carid,engine,lights,alarm,doors,bonnet,boot,objective);
if(doors == 0) SetVehicleParamsEx(carid,engine,lights,alarm,1,bonnet,boot,objective);
else SetVehicleParamsEx(carid,engine,lights,alarm,0,bonnet,boot,objective);
}
case 7:
{
ShowPlayerDialog(playerid,PLATEDIALOG,DIALOG_STYLE_INPUT,"Смена номера","Введите номера авто в окошко","Готово","Отмена");
}
}
return true;
}
т.е. включаем "сигнализацию" а статус на "выключить" не изменился...и статус изменяется не с первого раза...в чем может быть проблема?...
действительно ума не хватает