View Single Post
Old 06/06/2011, 04:25 PM   #1
temka1993
Big Clucker
 
Join Date: Feb 2011
Posts: 62
Reputation: 0
Default Статусы в авто-меню

Привет всем. Помогите хоть здесь, третий день сообразить немогу, пишу авто-меню со "статусом" в диалоговом окне, получается какая то ересь.

Работает таким образом:

1. Садимся в машину и жмем субмиссию
2. Вылазит окно и там список чего открывать/закрывать т.е. капот/багажник и т.д.

Функционал есть, но вот статус "открыто" и "закрыто" ерундит. Кроме статуса двигателя. вот кодец:

PHP Code:
    new carid GetPlayerVehicleID(playerid);
    
GetVehicleParamsEx(caridenginelightsalarmdoorsbonnetbootobjective);
    
    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(playeridDIALOGCARDIALOG_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 == 0SetVehicleParamsEx(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 == 0SetVehicleParamsEx(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 == 1SetVehicleParamsEx(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 == 1SetVehicleParamsEx(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 == 1SetVehicleParamsEx(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 == 0SetVehicleParamsEx(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;
    } 
Подскажите, почему статус в диалоговом окне не соответствует действительности?...

т.е. включаем "сигнализацию" а статус на "выключить" не изменился...и статус изменяется не с первого раза...в чем может быть проблема?...

действительно ума не хватает
temka1993 is offline   Reply With Quote