Szerző Téma: Dialog készítéshez segítség kérés  (Megtekintve 924 alkalommal)

Nem elérhető Blez

  • 202
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Dátum: 2015. Február 23. - 20:34:46 »
0 Show voters
Sziasztok! Csináltam egy /help parancsot a házi szerveremre, és ahhoz szeretnék dialogot készíteni. Konkrétan ma fogott meg ez az ötlet, hogy tényleg már milyen régóta van ez a dialogos rendszer sampban, és hogy megoldhatnám dialoggal az egészet, szépen, rendezetten.
Na hát el is kezdtem, a gyorsan összeszedett tudással, amit CasHiis dialógus leírásából merítettem, és erre jutottam:
 
#include <a_samp>
#define DIALOG_0 100
CMD:help(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_0, DIALOG_STYLE_LIST, \"Helpmenü / Leírások\", \"Leírások\\nSzabályzat\\nTeleport lista\\nKlán parancsok\\nAdmin lista\", \"Rendben\", \"Bezár\");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == DIALOG_0)
{
    if(response)
    {
        if(listitem == 0)
        {
            ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"Leírások\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
            return 1;
      }
      if(listitem == 1)
      {
                    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"Szabályzat\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                    return 1;
      }
      if(listitem == 2)
      {
          ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"Teleport lista\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
          return 1;
      }
      if(listitem == 3)
      {
          ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"Klán parancsok\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
          return 1;
      }
      if(listitem == 4)
      {
          ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, \"Admin lista\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
          return 1;
      }
      return 0;
   }
}
}

 
Valószínű, hogy én rontottam el valamit, és az is, hogy nekem még nem tiszta ez a dolog annyira. De aki tudna segíteni, és kijavítani a hibáim, az kérem segítsen, mert ennyire hülye csak én vagyok.  :D
« Utoljára szerkesztve: 2015. Február 23. - 21:12:00 írta drop »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #1 Dátum: 2015. Február 23. - 20:39:31 »
0 Show voters
listitemek alatt mikor a dialogot akarod létrehozni nem adtál meg dialogid-t. :)
Szerk.: Valamint 1 gombot adtál meg a végén, mindeképpen 2 kell. Ha a másodikba nem írsz szöveget(csak simán: \"\") akkor az nem fog megjelenni, és fordító sem ad ki rá hibát.

Nem elérhető Blez

  • 202
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #2 Dátum: 2015. Február 23. - 20:50:51 »
0 Show voters
Szerkesztettem a PAWN kódot, hogy jobban átláthatóbb legyen.
Valamint itt a compile:
 
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(4) : error 035: argument type mismatch (argument 3)
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(22) : error 035: argument type mismatch (argument 3)
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(27) : error 035: argument type mismatch (argument 3)
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(32) : error 035: argument type mismatch (argument 3)
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(37) : error 035: argument type mismatch (argument 3)
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(44) : warning 209: function \"OnDialogResponse\" should return a value
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(45) : warning 203: symbol is never used: \"help\"
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
5 Errors.

 
Szerk.: Kérlek, küldd már el úgy a kódot, ahogyan működnie kellene.
Szerk. 2: Még mielőtt valaki félre érti, gyorsan kikaptam a gamemodeból ezt az egész dialogos részt, és egy FS -be raktam. Ezt csak azért, hogy elkerüljük az olyan hozzászólásokat, hogy biztosan nem írtad be a server.cfg -be a filterscriptshez és stb...
« Utoljára szerkesztve: 2015. Február 23. - 20:56:24 írta drop »

Nem elérhető ZSOLTI99

  • 1827
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #3 Dátum: 2015. Február 23. - 20:59:04 »
0 Show voters
#include <a_samp>
#include <zcmd>
#define DIALOG_0 100
#define DIALOG_1 101
#define DIALOG_2 102
#define DIALOG_3 103
#define DIALOG_4 104
#define DIALOG_5 105
CMD:help(playerid, params[])
{
        ShowPlayerDialog(playerid, DIALOG_0, DIALOG_STYLE_LIST, \"Helpmenü / Leírások\", \"Leírások\\nSzabályzat\\nTeleport lista\\nKlán parancsok\\nAdmin lista\", \"Rendben\", \"Bezár\");
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_0)
            {
                if(response)
                {
                    if(listitem == 0)
                    {
                        ShowPlayerDialog(playerid, DIALOG_1,DIALOG_STYLE_MSGBOX, \"Leírások\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                        return 1;
                    }
                    if(listitem == 1)
                    {
                    ShowPlayerDialog(playerid, DIALOG_2,DIALOG_STYLE_MSGBOX, \"Szabályzat\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                    return 1;
                    }
                    if(listitem == 2)
                    {
                        ShowPlayerDialog(playerid,DIALOG_3, DIALOG_STYLE_MSGBOX, \"Teleport lista\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                        return 1;
                    }
                    if(listitem == 3)
                    {
                        ShowPlayerDialog(playerid,DIALOG_4, DIALOG_STYLE_MSGBOX, \"Klán parancsok\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                        return 1;
                    }
                    if(listitem == 4)
                    {
                        ShowPlayerDialog(playerid,DIALOG_5, DIALOG_STYLE_MSGBOX, \"Admin lista\", \"Hamarosan...\\nLesz\\nItt\\nValami...\", \"Bezár\", \"\");
                        return 1;
                    }
                    return 0;
            }
    }
}

 Így?

Nem elérhető Blez

  • 202
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #4 Dátum: 2015. Február 23. - 21:01:41 »
0 Show voters
Jó lenne, viszont 1 warningot jelez nálam.
 
C:\\Games\\SA-MP szerver\\filterscripts\\teszt.pwn(49) : warning 209: function \"OnDialogResponse\" should return a value
Pawn compiler 3.2.3664           Copyright (c) 1997-2006, ITB CompuPhase
 
1 Warning.

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #5 Dátum: 2015. Február 23. - 21:08:41 »
0 Show voters
OnDialogResponse aljára(még a bezárása elé) rakd be a visszatérést (return). 0 vélszerű, ugyanis ekkor még szkriptekben is tudni fogod használni, ha 1-et raksz akkor szkriptben már nem fog meghívódni.

Nem elérhető Blez

  • 202
    • Profil megtekintése
Dialog készítéshez segítség kérés
« Válasz #6 Dátum: 2015. Február 23. - 21:11:10 »
0 Show voters
Így már működik is köszönöm.  <3 Probléma megoldva!  :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal