Szerző Téma: Próbléma a bank rendszerel  (Megtekintve 793 alkalommal)

Próbléma a bank rendszerel
« Dátum: 2015. Május 07. - 20:09:42 »
0
Üdv,tudom,hogy mostanába elég sokszor kérdezek,de nem tudok mást tenni,hosszú idő után scriptelek újra stb...
Lényeg:
Ma próbáltam csinálni egy bank systet.Lényeg,hogy ha felveszel egy pickupot,behoz egy dialogot.
Itt az a baj,hogy ha ki akarok venni,vagy be akarok rakni pénzt,akkor ki írja a hibaüzenetet,
 

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == bank)
    {
       ShowPlayerDialog(playerid, DIALOG_BANK, 2, \"Bank\", \"Kivesz\\nBetesz\\nEgyenleg\", \"Kiválasztás\",\"Kilépés\");
   new Float:xxx;
   new Float:yyy;
   new Float:zzz;
   GetPlayerPos(playerid,xxx,yyy,zzz);
   SetPlayerPos(playerid,xxx-1,yyy,zzz);
   
       
    }
    return 1;
}

 
Dialog
 

    if(dialogid == DIALOG_BANK)
    {
       if(response)
       {
          if(listitem == 0) // Kivesz
          {
             ShowPlayerDialog(playerid, DIALOG_BANK, 1, \"Összeg kivétele\", \"Írd alúra,hogy mennyi pénzt szeretnél kivenni a számládról!\", \"Kivesz\",\"Mégsem\");
          }
          if(listitem == 1) // Berak
          {
             ShowPlayerDialog(playerid, DIALOG_BANK, 1, \"Összeg berakása\", \"Írd alúra,hogy mennyi pénzt szeretnél hozzáadni a számládhoz!\", \"Betesz\",\"Mégsem\");
          }
          if(listitem == 2) // Egyenleg
          {
             format(szFormat,sizeof(szFormat),\"Egyenlegeden lévő összeg:\\n%d\",pInfo[playerid][bank]);
             ShowPlayerDialog(playerid, DIALOG_BANK, 0, \"Egyenleg\", szFormat, \"Rendben\",\"Mégsem\");
          }
        }
      }else{
      }
if(dialogid == DIALOG_BANK)
    {
         if(response)
          {
             if(pInfo[playerid][bank] >=inputtext[playerid])
             {
       GivePlayerMoney(playerid,inputtext[playerid]);
       pInfo[playerid][bank] =pInfo[playerid][bank]-inputtext[playerid];
             } SendClientMessage(playerid,COLOR_RED,\"HIBA!Több pénzt szeretnél kivenni,mint amennyi a számládon van!\");
          }
       }
         else{ }
    if(dialogid == DIALOG_BANK)
    {
         if(response)
          {
             if(pInfo[playerid][Money] >=inputtext[playerid])
             {
       GivePlayerMoney(playerid,-inputtext[playerid]);
       pInfo[playerid][bank] =pInfo[playerid][bank]+inputtext[playerid];
             } SendClientMessage(playerid,COLOR_RED,\"HIBA!Több pénzt szeretnél betenni,mint amennyi nálad van!\");
     }
     }
     else{

 
Előre is köszi a helpet,és mégegyszer bocsi,hogy ennyit kérdezek :) :(
« Utoljára szerkesztve: 2015. Május 07. - 21:05:19 írta anGeL »

Nem elérhető huhboy

  • 894
  • huhboy
    • Profil megtekintése
Próbléma a bank rendszerel
« Válasz #1 Dátum: 2015. Május 08. - 01:41:35 »
+1
olyan, mint inputtext[playerid] nem létezik.
olyan létezik, hogy strval(inputtext).
ha ezeket kicseréled, működni fog :)
de ehhez nem árt használni az IsNumeric függvényt.
 

IsNumeric(const string[])
{
for (new i = 0, j = strlen(string); i < j; i++)
{
if (string > \'9\' || string < \'0\') return 0;
}
    return 1;
}

 
ahol pedig az strval(inputtext)-et használod, írd ezt elé:  if(!IsNumeric(inputtext)) return hibaüzeneted, hogy csak számokat adjon meg.
« Utoljára szerkesztve: 2015. Május 08. - 14:19:15 írta ƒlaﻛh »

Próbléma a bank rendszerel
« Válasz #2 Dátum: 2015. Május 08. - 14:51:20 »
0
Köszönöm szépen,működik :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal