• Страница 1 из 1
  • 1
[Мануал] Пропуск на транспорт
Дмитрий Дата: Четверг, 30.08.2012, 12:11 | Сообщение # 1 | Сообщить о нерабочей теме


Аватар для Дмитрий

Многие хотят сделать пропуски на транспорт , но незнают как.
Вот я решил помочь, создать урок специально для вас новечки.
Автор урока: JoinT.
Вырезано из: WL (не реклама)
Данный урок для модов GF на RLS не пойдет.
Для рлс нужно полностью переделывать.

Если вы зашли в тему не забудьте оставить свой комеентарий!!!
И так приступим:

Quote
ко всем new добавим:


Code
new Text3D:propysk[MAX_VEHICLES];  


Quote
Теперь находим: enum aInfo
B конец ставим:


Code
aPropysk,


Quote
После этого находим: public LoadAuto()
В конец ставим:


Code
AutoInfo[idx+1][aPropysk] = strval(arrCoords[27]);  


Quote
Теперь находим: public SaveAuto()

В конец добавляем:


Code
AutoInfo[idx+1][aPropysk];  


Quote
Немного выше мы видем вот такую строчку:


Code
format(coordsstring, sizeof(coordsstring), "%d,%d,%f,%f,%f,%f,%d,%d,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",  


Quote
Теперь туда нам нужно добавить


Code
,%d


Quote
Дальше.
В public OnPlayerCommandText


Code
   if(strcmp(cmd, "/пропуск", true) == 0 || strcmp(cmd, "/propysk", true) == 0)  
     {  
        if(IsPlayerConnected(playerid))  
        {  
           if(IsPlayerInAnyVehicle(playerid))  
           {  
           new cari = GetPlayerVehicleID(playerid);  
            if(cari == PlayerInfo[playerid][pCarKey])  
            {  
              if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)  
              {  
                 AutoInfo[cari][aPropysk] = 1;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Внутренних Дел [LS]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)  
              {  
                 AutoInfo[cari][aPropysk] = 2;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Федеральная служба [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)  
              {  
                 AutoInfo[cari][aPropysk] = 3;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство обороны [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)  
              {  
                 AutoInfo[cari][aPropysk] = 4;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Здравоохранения [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)  
              {  
                 AutoInfo[cari][aPropysk] = 5;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Правительство [LS]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)  
              {  
                 AutoInfo[cari][aPropysk] = 6;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Образования [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              else  
              {  
                 SendClientMessage(playerid, COLOR_RED, "У вас нету пропуска!");  
              }  
            }  
           }  
           else  
           {  
           SendClientMessage(playerid, COLOR_RED, "Пропуск можно установить только находясь за рулем!");  
           }  
        }  
        return 1;  
     }  
     if(strcmp(cmd, "/спропуск", true) == 0 || strcmp(cmd, "/delpropysk", true) == 0)  
     {  
        if(IsPlayerConnected(playerid))  
        {  
           if(IsPlayerInAnyVehicle(playerid))  
           {  
           new cari = GetPlayerVehicleID(playerid);  
            if(cari == PlayerInfo[playerid][pCarKey])  
            {  
              AutoInfo[cari][aPropysk] = 0;  
              format(string,sizeof(string)," ");  
              UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
            }  
           }  
           else  
           {  
           SendClientMessage(playerid, COLOR_RED, "Пропуск можно снять только находясь за рулем!");  
           }  
        }  
        return 1;  
     }  

     if(strcmp(cmd, "/бардачек", true) == 0 || strcmp(cmd, "/amenu", true) == 0)  
     {  
          if(IsPlayerInAnyVehicle(playerid))  
           {  
           if(IsPlayerConnected(playerid))  
         {  
         ShowPlayerDialog(playerid,360,DIALOG_STYLE_LIST,"[RP]World-Life: Бардачек","* Поставить пропуск\n* Убрать пропуск\n* Поставить мигалку\n* Снять мигалку\n","ENTER","CANCEL");  
             }  
         }  
         else  
             {  
                 SendClientMessage(playerid, COLOR_GRAD1, "* Вам нужно находится на рулем!");  
             }  
          return 1;  
     }  


Quote
В команду


Code
/asellcar  


Quote
Вставляем:


Code
format(string,sizeof(string)," ");  
UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
AutoInfo[cari][aPropysk] = 0;  


Quote
Тоже самое в


Code
/sellcar  


Code
format(string,sizeof(string)," ");  
UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
AutoInfo[cari][aPropysk] = 0;  


Quote
Теперь находим:


Code
"buycar"  


Quote
Туда ставим:


Code
format(string,sizeof(string)," ");  
UpdateDynamic3DTextLabelText(propysk[cariii],COLOR_WHITE,string);  
AutoInfo[cariii][aPropysk] = 0;  


Quote
И в public OnDialogResponse


Code
  if(dialogid == 360)  
     {  
         if(response)  
         {  
             switch(listitem)  
             {  
                 case 0:  
                 {  
                 if(IsPlayerConnected(playerid))  
        {  
           if(IsPlayerInAnyVehicle(playerid))  
           {  
           new cari = GetPlayerVehicleID(playerid);  
            if(cari == PlayerInfo[playerid][pCarKey])  
            {  
              if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)  
              {  
                 AutoInfo[cari][aPropysk] = 1;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Внутренних Дел [LS]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2)  
              {  
                 AutoInfo[cari][aPropysk] = 2;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Федеральная служба [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)  
              {  
                 AutoInfo[cari][aPropysk] = 3;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство обороны [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 4 || PlayerInfo[playerid][pLeader] == 4)  
              {  
                 AutoInfo[cari][aPropysk] = 4;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Здравоохранения [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 7 || PlayerInfo[playerid][pLeader] == 7)  
              {  
                 AutoInfo[cari][aPropysk] = 5;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Правительство [LS]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 11 || PlayerInfo[playerid][pLeader] == 11)  
              {  
                 AutoInfo[cari][aPropysk] = 6;  
                 format(string,sizeof(string),"Пропуск WL\n{0000FF}Министерство Образования [SF]\n{FF0000}%s",AutoInfo[cari][aOwner]);  
                 UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
              }  
              if(PlayerInfo[playerid][pMember] == 5 ||PlayerInfo[playerid][pMember] == 6 ||  
              PlayerInfo[playerid][pMember] >= 8 ||PlayerInfo[playerid][pMember] <= 10 || PlayerInfo[playerid][pMember] >= 12 ||  
              PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pLeader] >= 8 ||  
              PlayerInfo[playerid][pLeader] <= 10 || PlayerInfo[playerid][pLeader] >= 12 ||  
              PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0)  
              {  
                 SendClientMessage(playerid, COLOR_RED, "У вас нету пропуска!");  
              }  
            }  
           }  
           else  
           {  
           SendClientMessage(playerid, COLOR_RED, "Пропуск можно установить только находясь за рулем!");  
           }  
        }  
     return true;  
     }  
                 case 1:  
                 {  
                 if(IsPlayerConnected(playerid))  
        {  
           if(IsPlayerInAnyVehicle(playerid))  
           {  
           new cari = GetPlayerVehicleID(playerid);  
            if(cari == PlayerInfo[playerid][pCarKey])  
            {  
              AutoInfo[cari][aPropysk] = 0;  
              format(string,sizeof(string)," ");  
              UpdateDynamic3DTextLabelText(propysk[cari],COLOR_WHITE,string);  
            }  
           }  
           else  
           {  
           SendClientMessage(playerid, COLOR_RED, "Пропуск можно снять только находясь за рулем!");  
           }  
           }  
                     return true;  
                 }  
             }  
         }  
         return true;  
     }  


Ну вроде бы все!

[spoiler="Скрин:"][/spoiler]


From Russia With Love!
  • Страница 1 из 1
  • 1
Поиск: