• Страница 1 из 1
  • 1
Форум » PAWNO » Уроки Pawno » [Мануал] Аптека v2.0 + Автомобильные аптечки [ALL]
[Мануал] Аптека v2.0 + Автомобильные аптечки [ALL]
Дмитрий Дата: Вторник, 28.05.2013, 16:05 | Сообщение # 1 | Сообщить о нерабочей теме


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

Автор: Alan_Waket

На мэрии расположено здание ( аптека ), там можно купить аптечку и использовать ее в машине или пополнить себе хп, если по близости нет врачей.

Цитата
Ко всем new добавим переменную:


Код
new apteka[4];  


Цитата
в public OnPlayerPickUpPickup(playerid, pickupid) добавим:


Код
else if(pickupid == apteka[0]) //вход  
     {  
         SetPlayerInterior(playerid, 1);  
         SetPlayerPos(playerid, -2170.5815,638.9775,1052.3750);  
         SetPlayerFacingAngle(playerid, 3.5299);  
         GameTextForPlayer(playerid, "~r~ Apteka", 2000, 1);  
         return 1;  
     }  
     else if(pickupid == apteka[1]) //выход  
     {  
         SetPlayerInterior(playerid, 0);  
         SetPlayerPos(playerid, 1481.3577,-1707.7793,14.0469);  
         SetPlayerFacingAngle(playerid, 272.4807);  
     }  
     else if(pickupid == apteka[2])  
     {  
        new listitems[] = "{FFFFFF}[1] Витаминка ( 20 Вирт )\n[2] Пустышка ( 10 Вирт )\n[3] Активированный уголь ( 15 Вирт )\n[4] Парацетамол ( 100 Вирт )\n[5] Пивные дрожжи ( 180 Вирт )\n[6] Антибиотики ( 320 Вирт )\n[7] Автомобильная аптечка ( 700 )";  
        ShowPlayerDialog(playerid,5522,DIALOG_STYLE_LIST,"{66CDAA}Аптека",listitems,"Купить","Закрыть");  
     }  
     else if(pickupid == apteka[3])  
     {  
        new listitems[] = "{FFFFFF}[1] Витаминка ( 20 Вирт )\n[2] Пустышка ( 10 Вирт )\n[3] Активированный уголь ( 15 Вирт )\n[4] Парацетамол ( 100 Вирт )\n[5] Пивные дрожжи ( 180 Вирт )\n[6] Антибиотики ( 320 Вирт )\n[7] Автомобильная аптечка ( 700 )";  
        ShowPlayerDialog(playerid,5522,DIALOG_STYLE_LIST,"{66CDAA}Аптека",listitems,"Купить","Закрыть");  
     }  


Цитата
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


Код
    case 5522:
      {
      if(response)
          {
         if(listitem == 0)
             {
                if(PlayerInfo[playerid][pHP] <=80)
       {
       if(PlayerInfo[playerid][pCash] < 20) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 5.0);
                PlayerInfo[playerid][pCash] -= 20;
                PlayerInfo[playerid][pHP] += 20;
                FracBank[0][fKazna] +=20;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
         if(listitem == 1)
             {
                if(PlayerInfo[playerid][pHP] <=90)
       {
       if(PlayerInfo[playerid][pCash] < 10) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 1.0);
                PlayerInfo[playerid][pCash] -= 10;
                PlayerInfo[playerid][pHP] += 10;
                FracBank[0][fKazna] +=10;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
       }
       else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
         if(listitem == 2)
             {
                if(PlayerInfo[playerid][pHP] <=85)
       {
       if(PlayerInfo[playerid][pCash] < 15) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 15.0);
                PlayerInfo[playerid][pCash] -= 15;
                PlayerInfo[playerid][pHP] += 15;
                FracBank[0][fKazna] +=15;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
         if(listitem == 3)
             {
                if(PlayerInfo[playerid][pHP] <= 65)
       {
       if(PlayerInfo[playerid][pCash] < 100) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 35.0);
                PlayerInfo[playerid][pCash] -= 100;
                PlayerInfo[playerid][pHP] += 35;
                FracBank[0][fKazna] +=100;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
          if(listitem == 4)
             {
                if(PlayerInfo[playerid][pHP] <= 45)
       {
       if(PlayerInfo[playerid][pCash] < 180) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 55.0);
                PlayerInfo[playerid][pCash] -= 180;
                PlayerInfo[playerid][pHP] += 55;
                FracBank[0][fKazna] +=180;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
          if(listitem == 5)
             {
                if(PlayerInfo[playerid][pHP] <= 30)
       {
       if(PlayerInfo[playerid][pCash] < 320) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
       new Float:health;
       GetPlayerHealth(playerid,health);
             SetPlayerHealthAC(playerid, health + 70.0);
                PlayerInfo[playerid][pCash] -= 320;
                PlayerInfo[playerid][pHP] += 70;
                FracBank[0][fKazna] +=320;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку! Не болейте");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"Вы не нуждаетесь в лечении");
       return 1;
                }
             }
             if(listitem == 6)
             {
                if(PlayerInfo[playerid][pAptechka] == 0)
       {
       if(PlayerInfo[playerid][pCash] < 700) return SendClientMessage(playerid, COLOR_GREY, "{ADAEAD}У вас нет столько денег на руках!");
                PlayerInfo[playerid][pCash] -= 700;
                PlayerInfo[playerid][pAptechka] = 1;
                FracBank[0][fKazna] +=700;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Спасибо за покупку!");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"У вас уже есть аптечка");
       return 1;
                }
             }
          }
   else
   {
   return 1;
   }
   }


Цитата
В public OnGameModeInit


Код
  apteka[0] = CreatePickup(19132,23,1481.5159,-1704.5953,14.0468);//apteka вход  
     apteka[1] = CreatePickup(19132,23,-2170.2478,635.7123,1052.3750);//apteka выход  
     apteka[2] = CreatePickup(1239,2,-2161.1653,640.3580,1052.3817);//apteka пикап 1  
     apteka[3] = CreatePickup(1239,2,-2158.9829,640.3636,1052.3817);//apteka пикап 2  


Цитата
И туда же в OnGameModeInit ко всем 3D текстам


Код
Create3DTextLabel("{FFA500}Аптека\n{FFBF00}San Andreas",0xBFF600FF,1481.5159,-1704.5953,14.7468,15.0,0,1);  


Цитата
И снова в OnGameModeInit добавим объекты


Код
//=================================== [Аптека] ==================  
     CreateObject(1569,-2171.1000977,639.9299927,1056.5860596,0.0000000,0.0000000,0.0000000); //object(adam_v_door) (1)  
     CreateObject(1569,-2169.6000977,639.9199829,1056.5860596,0.0000000,0.0000000,0.0000000); //object(adam_v_door) (2)  
     CreateObject(1675,1479.9770508,-1697.0080566,16.2059994,0.0000000,0.0000000,0.0000000); //object(wshxrefhse1) (1)  


В html потому что [pHP] и PHP не получается соотнести, путаница получается

Цитата
В pInfo добавим:

Код
pAptechka,


Цитата
В public OnPlayerRegister(playerid, password[])

Код
ini_setInteger(File,"Aptechka",PlayerInfo[playerid][pAptechka]);  


Цитата
В public OnPlayerUpdateRL(playerid)

Код
ini_setInteger(File,"Atpechka",PlayerInfo[playerid][pAptechka]);  


Цитата
В public OnPlayerLogin(playerid,password[])

Код
ini_getInteger(File,"Aptechka",PlayerInfo[playerid][pAptechka]);  


Цитата
В public OnPlayerCommandText(playerid, cmdtext[]) добавим команду:

Код
      else if(strcmp(cmd, "/carheal", true) == 0)
     {
   if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "{ADAEAD}Вы не в машине");
         if(PlayerInfo[playerid][pAptechka] == 1)
       {
       SetPlayerHealthAC(playerid, 100);
                PlayerInfo[playerid][pHP] = 100;
                PlayerInfo[playerid][pAptechka] = 0;
                SendClientMessage(playerid,0xF60000AA,"{FFFFFF}Вы использовали аптечку");
                }
                else
                {
                SendClientMessage(playerid,COLOR_WHITE,"У вас нет аптечек");
       return 1;
                }
   return true;
     }


[spoiler="Скрины"][/spoiler]
Прикрепления: 0929514.png(21.6 Kb) · 6873379.png(713.3 Kb)


From Russia With Love!
Форум » PAWNO » Уроки Pawno » [Мануал] Аптека v2.0 + Автомобильные аптечки [ALL]
  • Страница 1 из 1
  • 1
Поиск: