Szerző Téma: [Dialog] Egyszerû WeaponLekérõ (pénz szükséges)  (Megtekintve 1140 alkalommal)

[Dialog] Egyszerû WeaponLekérõ (pénz szükséges)
« Dátum: 2014. Március 07. - 15:35:07 »
+2 Show voters
Helló.
Egyszerû Dialogos WeaponLekérõ.
Számít hogy a játékosnak mennyi pénze van, ha nincs pénze akkor nem tud fegyvert vásárolni.
Team DeathMatch szerverre van tervezve, szóval nincs megadva hogy hol kell lenni-e a játékosnak hogy használni tudja parancsot stb.
Nem teszteltem, szóval lehet hogy nem mûködik.
Készítõ: Ray
Színkódok:
#define vpiros 0xFF6347AA
#define vkek 0x33CCFFAA
#define vzöld 0x9ACD32AA

 
A mód elejére:
#define bolt 100

 
Maga a Dialog:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
        if(dialogid == bolt)
        {
            if(response)
            {
      if(listitem == 0)
                {
         if(GetPlayerMoney(playerid) >= 1500) // megnézzük mennyi pénze van a játékosnak.
         {
            GivePlayerWeapon(playerid,31,150); // megadja a fegyvert hogyha van elegendõ pénze a játékosnak.
            SendClientMessage(playerid, vzöld, \"Megvetted 1500$-ért az alábbi fegyvert: M4! | TölténySzám: +150db\"); // ha megvette a fegyvert akkor a szöveg.
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-1500); // levonja a pénzt.
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500 // Megnézi mennyi szükséges még hogy megvegye a fegyvert. Kivonja a játékosnak a pénzébõl a fegyver árát. (Pl. a játékosnak van 500$-ja, abból kivonva a fegyver árát 1000$-t kapunk.
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges); // formázzuk a formatpenzt
            SendClientMessage(playerid, vpiros, formatpenz); // elküldjük a játékosnak a msgt
         }
                }
                if(listitem == 1)
                {
         if(GetPlayerMoney(playerid) >= 1000)
         {
            GivePlayerWeapon(playerid,30,150);
            SendClientMessage(playerid, vzöld, \"Megvetted 1000$-ért az alábbi fegyvert: Ak47! | TölténySzám: +150db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-1000);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
                }
      if(listitem == 2)
      {
         if(GetPlayerMoney(playerid) >= 800)
         {
            GivePlayerWeapon(playerid,29,150);
            SendClientMessage(playerid, vzöld, \"Megvetted 800$-ért az alábbi fegyvert: Mp5! | TölténySzám: +150db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-800);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
      }
      if(listitem == 3)
      {
         if(GetPlayerMoney(playerid) >= 800)
         {
            GivePlayerWeapon(playerid,33,30);
            SendClientMessage(playerid, vzöld, \"Megvetted 800$-ért az alábbi fegyvert: Rifle! | TölténySzám: +30db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-800);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
      }
      if(listitem == 4)
      {
         if(GetPlayerMoney(playerid) >= 1200)
         {
            GivePlayerWeapon(playerid,34,30);
            SendClientMessage(playerid, vzöld, \"Megvetted 1200$-ért az alábbi fegyvert: Sniper! | TölténySzám: +30db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-1200);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
      }
      if(listitem == 5)
      {
         if(GetPlayerMoney(playerid) >= 1000)
         {
            GivePlayerWeapon(playerid,27,50);
            SendClientMessage(playerid, vzöld, \"Megvetted 1000$-ért az alábbi fegyvert: Combat! | TölténySzám: +50db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-1000);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
      }
      if(listitem == 6)
      {
         if(GetPlayerMoney(playerid) >= 750)
         {
            GivePlayerWeapon(playerid,25,60);
            SendClientMessage(playerid, vzöld, \"Megvetted 750$-ért az alábbi fegyvert: Shotgun! | TölténySzám: +60db\");
            GivePlayerMoney(playerid, GetPlayerMoney(playerid)-750);
         }
         else
         {
            new formatpenz[128];
            new szukseges = GetPlayerMoney(playerid)-1500
            format(formatpenz, sizeof(formatpenz), \"Nincs elég pénzed! Szükséges még: %d$!\", szukseges);
            SendClientMessage(playerid, vpiros, formatpenz);
         }
      }
   }
}
return 1;
}

 
A parancs, amivel elõhozza a dialogot a játékosnak:
 
   CMD:shop(playerid, params[])
{
 ShowPlayerDialog(playerid, bolt, DIALOG_STYLE_LIST, \"{8B4513}Shop - Bolt\", \"M4\\n\\
 Ak47\\n\\
 Mp5\\n\\
 Rifle\\n\\
 Sniper\\n\\
 Combat\\n\\
 Shotgun\", \"Megvesz\", \"Mégse\");
 return 1;
}

 
Igen meglehetett volna rövidebben is írni, de direkt így csináltam, mert szerintem így átláthatóbb. (Amire gondolok: else, stb)
« Utoljára szerkesztve: 2014. Március 07. - 15:42:06 írta RaySurenos »

Nem elérhető gyuri98

  • 153
  • gyuri98
    • Profil megtekintése
[Dialog] Egyszerû WeaponLekérõ (pénz szükséges)
« Válasz #1 Dátum: 2014. Március 09. - 13:15:14 »
0 Show voters
Szia nem rossz ha kezdõ vagy.
Adok neked 1 + -t

[Dialog] Egyszerû WeaponLekérõ (pénz szükséges)
« Válasz #2 Dátum: 2014. Március 09. - 14:21:07 »
0 Show voters
Van benne egy hiba, elrontottam.
 new szukseges = GetPlayerMoney(playerid)-1500
Mindenhol 1500-at von le, \"-1500\" helyére a fegyver árát kell írni, csak én elfelejtettem.  >:D

[Dialog] Egyszerû WeaponLekérõ (pénz szükséges)
« Válasz #3 Dátum: 2014. Március 09. - 17:01:06 »
0 Show voters
Mivel kezdõ vagy így nem rossz csak így tovább! :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal