Szerző Téma: Dialog kérdés (más)  (Megtekintve 747 alkalommal)

Dialog kérdés (más)
« Dátum: 2012. augusztus 09. - 14:32:43 »
0 Show voters
Tudom, van már egy ilyen téma de ez teljesen más...
az volna a problémám hogy van egyszer egy ilyen dialogom:
 
{
if (pickupid==wshop)
    {
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, \"What is it that you want?\", \"Desert Eagle (750$) \\nAK47 (2250$) \\nM4(2500$) \\nGolf Club (50$) \\nSawn-off Shotgun (1800$) \\nTec9 (1500$)\", \"Purchase\", \"Cancel\");
}

 
Response pedig:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)// They pressed the first button.
{
switch(dialogid, 1)// If you only have one dialog, then this isn\'t required, but it\'s neater for when you implement more dialogs.
        {
case 1:// Our dialog!
           {
              switch(listitem)// Checking which listitem was selected
           {
               case 0:// The Desert Eagle
               {
                   if(GetPlayerMoney(playerid) < 750) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -750);
                   GivePlayerWeapon(playerid, 24, 500);
               }
               case 1: // The AK47
               {
                   if(GetPlayerMoney(playerid) < 2250) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -2250);
                   GivePlayerWeapon(playerid, 30, 750);
               }
               case 2: // The M4
               {
                   if(GetPlayerMoney(playerid) < 2500) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -2500);
                   GivePlayerWeapon(playerid, 31, 750);
      }
         case 3: // The Golf Club
               {
                   if(GetPlayerMoney(playerid) < 50) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -50);
                   GivePlayerWeapon(playerid, 2, 0);
               }
               case 4: // The Sawn-off
               {
                   if(GetPlayerMoney(playerid) < 1800) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -1800);
                   GivePlayerWeapon(playerid, 26, 400);
               }
               case 5: // The Tec9
               {
                   if(GetPlayerMoney(playerid) < 1500) return SendClientMessage(playerid, 0xAA3333AA, \"You don\'t have enough cash.\");
                   GivePlayerMoney(playerid, -1500);
                   GivePlayerWeapon(playerid, 32, 800);
               }
   }
           }
}
}
return 1;
}

 
Ezek a game mode-ban vannak benne
Írnék egy FS-t eventek készítéséhez
és miközben készül, tesztelem...
Hát írtam oda is egy dialogot, látható, más id-vel
 
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp(\"/event\", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, 99, DIALOG_STYLE_LIST, \"Which event do you want to create?\",\"FOREST DM\", \"Start\", \"Abort\");
return 1;
}
return 0;
}

 
erre a response:
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)// They pressed the first button.
    {
    switch(dialogid == 99)// If you only have one dialog, then this isn\'t required, but it\'s neater for when you implement more dialogs.
{
      case 1:// Our dialog!
          {
                 switch(listitem)// Checking which listitem was selected
              {
                  case 0:// The FOREST DM
                  {
            SendClientMessage(playerid, 0xAAFFCC33, \"Starting event...\");
            SendClientMessageToAll(0xAAFFCC33, \"An event has started, use /join to join\");
                  }
      }
   }
}
}
return 1;
}

 
a probléma hogy amikor rányomnék a FOREST DM-re egy Desert Eagle-t ad(pénzért) ami mint látható a game mode-ban van nem a filterscriptben....
Ennek a problémának a megoldásához kérnék segítséget....

Dialog kérdés (más)
« Válasz #1 Dátum: 2012. augusztus 09. - 15:35:13 »
0 Show voters

switch(dialogid, 1)

 
szerintem ezzel van a gond.
it
 
switch(dialogid == 1)

Dialog kérdés (más)
« Válasz #2 Dátum: 2012. augusztus 09. - 16:58:14 »
0 Show voters
nem ez a baj...így is olyan :unsure:

Dupla hozzászólás automatikusan összefûzve. ( 2012. augusztus 09. - 18:48:40 )

más ötlet?
« Utoljára szerkesztve: 2012. augusztus 09. - 18:48:40 írta Andris2120 »

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
Dialog kérdés (más)
« Válasz #3 Dátum: 2012. augusztus 09. - 20:50:59 »
0 Show voters
lehet csak én találom furcsának ezt a kódot, lehet nem értem ezt a mai trendet :D
 
switch(dialogid == 99)

 
e helyett:
 
switch(dialogid)

 
és így tudod lekezelni a 99-es dialoghoz tartozó eseményt:
 
case 99:
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Dialog kérdés (más)
« Válasz #4 Dátum: 2012. augusztus 09. - 22:12:24 »
0 Show voters
megpróbálom, majd megírom hogy jó-e :D köszönöm

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal