Jump to content
  • 0

pomoc |/help| Prepojenie


Meatslem

Dotaz

Zdravím, chcel by som si spraviť príkaz /help --> Tam by sa mi zobrazil dialóg dajme tomu na pravidlá atď.. Napríklad

 

/help

 

GPS

Pravidlá

Admin Team

atď...

 

Nevedel by mi niekto poradiť ako spravím takúto tabuľku ? A ešte by som potreboval vedieť, keď vyberiem GPS aby sa mi zobrazila tabuľka to je to prepojenie. A aby to išlo nazad.. Veľa serverov to má aj ja by som to chcel, ale s pawnom začínam čiže niečo takéto zložité neovládam, nevedel by mi niekto poradiť ?

Link to comment
Share on other sites

5 odpovědí na tuto otázku

Recommended Posts

  • 0

Už jsem dlouho Pawn nedělal, ale tak snad to mám bez chyby.

 

Sorry, že ten kód nemám v tagu, ale nějak to zlobí o.O

 

#define ID_DIALOGU 001 //Definice ID dialogu(není povinností ho definovat, ale já to udělal, aby jsi mohl ID dialogu lehce změnit, kdyby to kolidovalo s jiným dialogem.)
 
public OnPlayerCommandText(playerid, cmdtext[]) //Callback, který se zavolá pokud hráč napíše do chatu příkaz
{
if (strcmp("/help", cmdtext, true, 10) == 0) //Pokud zadaný příkaz v chatu je roven /help
{
ShowPlayerDialog(playerid,ID_DIALOGU,DIALOG_STYLE_LIST,"HELP","GPS\nPravidla\nAdmin Team","Vybrat","Zrušit"); //Zobrazí dialog pro hráče, který vyvolal callback a zavolá se callback OnDialogResponse.
}
return 0; //ukončí callback
}
 
 
 
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == ID_DIALOGU) //pokud je ID dialogu rovno naší definici, čili 001, tak se provede následující...
{
if(response) //pokud hráč odpoví na dialog
{
   switch(listitem)// switch je něco jako "if/else systém", prostě zkracuje, aby jsi nemusel psát if(...){}else{} etc., abych to laicky popsal. Takže to zjistí ID listitem závisle položce které jsi vybral. Jde to od shora, první položka v dialogu má listitem 0, druhá 1.(Pomůcka: Pořádí položky v menu - 1, čili 2. položka (2-1) bude mít ID 1)
   {

ShowPlayerDialog(playerid,ID_DIALOGU+1, DIALOG_STYLE_MSGBOX, "GPS", "Klikl jsi na GPS", "Ok", "");//Zobrazí dialog se zprávou(ID_DIALOGU+1 znamená, že přičte k naší definici jedničku, to zajistí vždy originální ID, čili 001 + 1 = 002 a podobně i u ostatních)

   ShowPlayerDialog(playerid,ID_DIALOGU+2, DIALOG_STYLE_MSGBOX, "Pravidla", "Klikl jsi na Pravidla", "Ok", "");

ShowPlayerDialog(playerid,ID_DIALOGU+3, DIALOG_STYLE_MSGBOX, "Admin Team", "Klikl jsi na Admin Team", "Ok", "");
}
    }
}
return 1;
}

 

A tím "prepojením" nevím co myslíš.

Link to comment
Share on other sites

  • 0

Ďakujem ti, že si to spravil :) Ja už si to dorobím.. A čo sa týka errorov tak sa našli 


C:\Users\marti_000\Desktop\help.pwn(3) : warning 235: public function lacks forward declaration (symbol "OnPlayerCommandText")
C:\Users\marti_000\Desktop\help.pwn(5) : error 017: undefined symbol "strcmp"
C:\Users\marti_000\Desktop\help.pwn(7) : error 017: undefined symbol "ShowPlayerDialog"
C:\Users\marti_000\Desktop\help.pwn(14) : warning 235: public function lacks forward declaration (symbol "OnDialogResponse")
C:\Users\marti_000\Desktop\help.pwn(23) : error 002: only a single statement (or expression) can follow each "case"
C:\Users\marti_000\Desktop\help.pwn(23) : error 017: undefined symbol "DIALOG_STYLE_MSGBOX"
C:\Users\marti_000\Desktop\help.pwn(23) : warning 215: expression has no effect
C:\Users\marti_000\Desktop\help.pwn(25) : warning 217: loose indentation
C:\Users\marti_000\Desktop\help.pwn(25) : error 017: undefined symbol "ShowPlayerDialog"
C:\Users\marti_000\Desktop\help.pwn(27) : warning 217: loose indentation
C:\Users\marti_000\Desktop\help.pwn(27) : error 017: undefined symbol "ShowPlayerDialog"
C:\Users\marti_000\Desktop\help.pwn(31) : error 010: invalid function or declaration

 

 

 

Ale to už si opravím. Ďakujem :)

Link to comment
Share on other sites

  • 0

ShowPlayerDialog(playerid,ID_DIALOGU+1, DIALOG_STYLE_LIST, "GPS","Destinace 1\nDestinace 2\nDestinace 3" , "Ok", "");

....

 

if(dialogid == ID_DIALOGU+1)

{

 if(response)

 {

   switch(listitem)

  {

   case 0: ... //destinace 1

   case 1: ...//destinace 2

   case 2: ...//destinace 3

}

}

}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...