Szerző Téma: Bank, gang és dialog  (Megtekintve 686 alkalommal)

Bank, gang és dialog
« Dátum: 2011. augusztus 14. - 18:53:35 »
0 Show voters
Hali,
A neten találtam egy bankos filterscriptet, lefordítottam magyarra, majd elkezdtem átírni dialogosra.
A funkciója az lenne hogy az egyik LV-i boltban van egy checkpoint, amibe ha belemegy egy játékos kiad egy dialogot a következõ 2 lehetõséggel:
Bank
Banda bank
Amikor rákattintok a Banda opcióra akkor kiad még 3 lehetõséget:
Betesz
Kivesz
Egyenleg
Ez tökéletesen mûködik.
Amikor a banda bankra nyomok akkor ugyan ezeket adja ki, csak a \'gang\' változót máshogy állítottam be mint az elsõnél.
Minden kész, semmi warning, semmi error, nos tehát amikor rámegyek a CP-re kiadja normálisan az opciókat(Bank,Banda bank) a Bank tökéletesen mûködik, mint már írtam, de ha a Banda bank résznél  be akarok tenni egy összeget/le akarok venni egy összeget, akkor azt a sima számlára teszi. Már mindent kipróbáltam, nem mûködik. Kérem segítsen valaki. :\'( :\'(
[pawn]   
public OnPlayerEnterCheckpoint(playerid)
{
switch(getCheckpointType(playerid))
{
   case CP_BANK: {
      new alloptions[]=\"Bank\\nBanda bank\";
      ShowPlayerDialog(playerid, 200, DIALOG_STYLE_LIST, \"Opciók\", alloptions, \"Kiválaszt\", \"Kilép\");
   }
   case CP_BANK_2: {
      new alloptions[]=\"Bank\\nBanda bank\";
      ShowPlayerDialog(playerid, 200, DIALOG_STYLE_LIST, \"Opciók\", alloptions, \"Kiválaszt\", \"Kilép\");
   }
   case CP_BANK_3: {
      new alloptions[]=\"Bank\\nBanda bank\";
      ShowPlayerDialog(playerid, 200, DIALOG_STYLE_LIST, \"Opciók\", alloptions, \"Kiválaszt\", \"Kilép\");
   }
}
return 1;
}
if(dialogid == 200)
{
   if(response)
   {
         switch(listitem)
         {
            case 0:
            {
            new alloptions[]=\"Betesz\\nKivesz\\nEgyenleg\";
            ShowPlayerDialog(playerid, 201, DIALOG_STYLE_LIST, \"Bank\", alloptions, \"Kiválaszt\", \"Vissza\");
            }
            case 1:
            {
            new alloptions[]=\"Betesz\\nKivesz\\nEgyenleg\";
            ShowPlayerDialog(playerid, 202, DIALOG_STYLE_LIST, \"Banda bank\", alloptions, \"Kiválaszt\", \"Vissza\");
            }
         }
   }
}
if(dialogid == 201)
{
   if(response)
   {
         switch(listitem)
         {
            case 0:
            {
            ShowPlayerDialog(playerid,203,DIALOG_STYLE_INPUT,\"Számla Betesz\",\"Írj be egy összeget amit be szeretnél venni:\",\"Betesz\",\"Vissza\");
                    gang = 0;
            }
            case 1:
            {
            ShowPlayerDialog(playerid,204,DIALOG_STYLE_INPUT,\"Számla Kivesz\",\"Írj be egy összeget amit ki szeretnél venni:\",\"Kivesz\",\"Vissza\");
                    gang = 0;
            }
            case 2:
            {
            gang = 0;
             if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
               SendClientMessage(playerid, COLOR_YELLOW, \"Csak bankban használhatod ezt a parancsot.\");
            return 1;
            }
            if(gang && playerGang[playerid]==0) {
            SendClientMessage(playerid, COLOR_RED, \"Nem vagy bandában!\");
            return 1;
            }
            if(gang)
            format(string, sizeof(string), \"A bandádnak ennyi pénze van a bankban: %d.\", gangBank[playerGang[playerid]]);
            else
            format(string, sizeof(string), \"Ennyi pénzed van a bankban: %d.\", bank[playerid]);
            SendClientMessage(playerid, COLOR_YELLOW, string);
            }
         }
   }
   else
   {
   new alloptions[]=\"Betesz\\nKivesz\\nEgyenleg\";
   ShowPlayerDialog(playerid, 201, DIALOG_STYLE_LIST, \"Bank\", alloptions, \"Kiválaszt\", \"Vissza\");
   }
}
if(dialogid == 202)
{
   if(response)
   {
         switch(listitem)
         {
            case 0:
            {
            ShowPlayerDialog(playerid,203,DIALOG_STYLE_INPUT,\"Banda számla Betesz\",\"Írj be egy összeget amit be szeretnél venni:\",\"Betesz\",\"Vissza\");
                    gang = 1;
            }
            case 1:
            {
            ShowPlayerDialog(playerid,204,DIALOG_STYLE_INPUT,\"Banda számla Kivesz\",\"Írj be egy összeget amit ki szeretnél venni:\",\"Kivesz\",\"Vissza\");
                    gang = 1;
            }
            case 2:
            {
            gang = 1;
             if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3)
            {
              SendClientMessage(playerid, COLOR_YELLOW, \"Csak bankban használhatod ezt a parancsot.\");
            return 1;
            }
            if(gang && playerGang[playerid]==0)
            {
            SendClientMessage(playerid, COLOR_RED, \"Nem vagy bandában!\");
            return 1;
            }
            if(gang)
            format(string, sizeof(string), \"A bandádnak ennyi pénze van a bankban: %d.\", gangBank[playerGang[playerid]]);
            else
            format(string, sizeof(string), \"Ennyi pénzed van a bankban: %d.\", bank[playerid]);
            SendClientMessage(playerid, COLOR_YELLOW, string);
            }
         }
   }
   else
   {
   new alloptions[]=\"Betesz\\nKivesz\\nEgyenleg\";
   ShowPlayerDialog(playerid, 202, DIALOG_STYLE_LIST, \"Banda bank\", alloptions, \"Kiválaszt\", \"Vissza\");
   }
}
if(dialogid == 203)
{
   if(response)
   {
        if(IsPlayerInCheckpoint(playerid) == 0 || getCheckpointType(playerid) != CP_BANK && getCheckpointType(playerid) != CP_BANK_2 && getCheckpointType(playerid) != CP_BANK_3) {
        SendClientMessage(playerid, COLOR_YELLOW, \"Nem vagy bankban, /bank\");
      return 1;
   }
   if(gang && playerGang[playerid]==0)return SendClientMessage(playerid, COLOR_RED, \"Nem vagy bandában!\");
    if(!strval(inputtext)) {
      SendClientMessage(playerid, COLOR_WHITE, \"Nem írtál be összeget\");
      return 1;
    }
    moneys = strval(inputtext);
    if(moneys < 1) {
      SendClientMessage(playerid, COLOR_YELLOW, \"Rossz az összeg amit beírtál.\");
      return 1;
   }
   if(GetPlayerMoney(playerid) < moneys) {
      moneys = GetPlayerMoney(playerid);
   }
   GivePlayerMoney(playerid, 0-moneys);
   if(gang == 1)
       gangBank[playerGang[playerid]]+=moneys;
   else
      bank[playerid]+=moneys;
   if(gang == 1)
      format(string, sizeof(string), \"Betettél a banda számlájára %d dollárt! A banda számláján most ennyi pénz van:%d dollár.\", moneys, gangBank[playerGang[playerid]]);
   else
      format(string, sizeof(string), \"Betettél a számládra %d dollárt! A számládon most ennyi pénz van: %d dollár.\", moneys, bank[playerid]);
   SendClientMessage(playerid, COLOR_YELLOW, string);
   }
}
if(dialogid == 204)
{
   if(response)
   {
        if(gang == 1 && playerGang[playerid]==0) {
      SendClientMessage(playerid, COLOR_RED, \"Nem vagy bandában!\");
      return 0;
   }
    if(!strval(inputtext)) {
      SendClientMessage(playerid, COLOR_WHITE, \"Nem írtál be összeget\");
      return 1;
    }
    moneys = strval(inputtext);
    if(moneys < 1) {
      SendClientMessage(playerid, COLOR_YELLOW, \"Milyen összeget akarsz betenni?.\");
      return 1;
   }
    if(gang == 1) {
      if(moneys > gangBank[playerGang[playerid]])
          moneys = gangBank[playerGang[playerid]];
    } else {
       if(moneys > bank[playerid])
           moneys = bank[playerid];
        }
   GivePlayerMoney(playerid, moneys);
   if(gang == 1)
      gangBank[playerGang[playerid]] -= moneys;
   else
      bank[playerid] -= moneys;
   if(gang == 1)
      format(string, sizeof(string), \"Levettél a banda számlájáról %d dollárt! A banda számláján most ennyi pénz van: %d.\", moneys, gangBank[playerGang[playerid]]);
   else
      format(string, sizeof(string), \"Levettél a számládról %d dollárt! A számládon most ennyi pénz van: %d.\", moneys, bank[playerid]);
   SendClientMessage(playerid, COLOR_YELLOW, string);
   }
}[/pawn]
ui: Bocsi de nem illesztem be az egész OnDialogResponse részt mert sok más dolog van még ott, a változókat, mindent jól csináltam meg az elején
« Utoljára szerkesztve: 2011. augusztus 14. - 19:00:44 írta 1ST_Chr »

Nem elérhető JackBronson

  • 1499
  • ??
    • Profil megtekintése
Bank, gang és dialog
« Válasz #1 Dátum: 2011. augusztus 15. - 17:33:15 »
0 Show voters
Próbáld meg ugy,hogy nem 200-200 a Dialog id hanem 210 -220 és a OnDialog callbacnél is ird át 210-220-ra me lehet a Dialog Id-vel van a baj

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
Bank, gang és dialog
« Válasz #2 Dátum: 2011. augusztus 15. - 17:36:25 »
0 Show voters
Szerintem meg töröld az egészet.
Ez a mód már nagyon régi, és ne mis tudsz vele mit kezdeni.. Inkább keres a hiv. fórumon egy (g)bank rendszert és azt használd.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal