GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Blez - 2015. február 23. - 20:34:46

Cím: Dialog készítéshez segítség kérés
Írta: Blez - 2015. február 23. - 20:34:46
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
Cím: Dialog készítéshez segítség kérés
Írta: BackUP - 2015. február 23. - 20:39:31
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.
Cím: Dialog készítéshez segítség kérés
Írta: Blez - 2015. február 23. - 20:50:51
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...
Cím: Dialog készítéshez segítség kérés
Írta: ZSOLTI99 - 2015. február 23. - 20:59:04
#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?
Cím: Dialog készítéshez segítség kérés
Írta: Blez - 2015. február 23. - 21:01:41
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.
Cím: Dialog készítéshez segítség kérés
Írta: BackUP - 2015. február 23. - 21:08:41
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.
Cím: Dialog készítéshez segítség kérés
Írta: Blez - 2015. február 23. - 21:11:10
Így már működik is köszönöm.  <3 Probléma megoldva!  :D