[TuT] Izrada Dialoga (ovom slucaju DIALOG_STYLE_LIST)

Započeo McAfee
19. Apr. 2012. Zaključano
1,846
pregleda
5
postova
FilipV
3
Hustler
19. Apr. 2012.
Gledao sam nesto po forumu i tutorialima i primetio da nema ovog tutoriala pa sam resio da vam ovjasnim kako da napravite najjednostavniji Dialog...

0.3 UPDATE!

1. Kao prvo treba dodati u OnPlayerCommandText komadnu za pokretanje MSGBOX ((ovo nemora moze i dolaskom na checkpoint ali mi cemo ovako). Komanda ce izgledati ovako kod nas.
if(strcmp(cmd, "/tutorial", true) == 0) 
{
    if(IsPlayerConnected(playerid))
    {
ShowPlayerDialog(playerid,5001,DIALOG_STYLE_LIST ,"Dialogs Tutorial","\nTut1\nTut2\nTut3","Odaberi","Odustani");

}
}


ako koristite ZCMD ubacicete sledecu funkciju
CMD:tutorial(playerid, params[])
{

Znaci ubacite prvo ovo pa posle toga sve ono ostalo kao kod
if(strcmp(cmd, "/test", true) == 0) 
{

Samo naravno bez toga...

Sada malo da vam razjaznim sta sve ovo gore znaci!

Znaci imate sledece ShowPlayerDialog pa unutra stoji broj 5001

To vaj je broj za vas Dialog... Taj broj vam stavlja destinaciju za razradu dialoga koji ce nam trebati kasnije, jednom recju u taj dialog ubacujete kasnije funkcije ili bilo kakav tekst koji zelite da vide igraci.

Sledeca funkcija u dialogu je DIALOG_STYLE_LIST

To vam je funkcija za odabir kakav dialog zelite da imate... Nisu svi dialozi isti postoji 4 razlicita dialoga (MSGBOX,LIST,INPUT I PASSWORD)... Mi smo uzeli DIALOG_STYLE_LIST za ovaj nas tutorial. Necu vas zamarati ostalim dialozima posto za onoga ko nezna da barata njima i ovo ce biti tesko.

Idemo na sledece objasnjenje "Dialogs Tutorial"

To vam je kako ce taj Dialog da nosi naziv. Taj naziv se nalazi na vrhu dialoga

Sledece tu je i "\nTut1\nTut2\nTut3"

To su vam podelci u Dialogu znaci ovde imacete 3 podelka u dialogu(tut1, tut2, tut3) za svaki podelak trebate da ubacite odredjeni dialogid (TO CEMO KASNIJE UBACIVATI)
Sad kako znate da ima tri podelka? Pa jednostavno ovo sto stoji izmedju tutova \n vam pravi novi red na podelku... Zbog toga ce ovo stojati jedno ispod drugog.

2. UBACIVANJE FUNKCIJE U DIALOGID!!!

E sada kada ste sve ovo lepo napravili gore trebate da ubacite funkciju.
To radimo na sledeci nacin:
Prvo pritisnete ctrl + f i nadjete
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

Kada ste to nasli ubacujete dialogid to izgleda ovako
if(dialogid == 5001)

Primetili ste da ovde stoji broj 5001, to je broj naseg dialoga gore sto smo stavilo...
Sledece sto trebamo da ubacimo je
if(response)
Ovo necu puno da objasnjavam to je respons za vas dialog
i na kraju ubacujete
if(listitem == 0)

To vam je definicja podelka znaci kada kliknete po podelku Tut1 ovo je definicija sta ubacujete ili koju funkciju ubacujete u taj podelak...

Uvako to sve treba da izgleda:
if(dialogid == 5001)
{
    if(response)
    {
        if(listitem == 0)
{
}
else if(listitem == 1)
{
}
else if(listitem == 2)
{
}
                    }
              }


Sada ispod ovih zagrada ubacujete sta ce oznacavati funkcija na primer mi cemo ubaciti u sve tri
" http://balkan-samp.com/forum/index.php?topic=42348.msg318601#msg318601"
- to je link tutoriala
i to ce sve izgledati ovako na serveru
if(dialogid == 5001)
{
    if(response)
    {
        if(listitem == 0)
{
                                      SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  http://balkan-samp.com/forum/index.php?topic=42348.msg318601#msg318601.");
}
else if(listitem == 1)
{
                                      SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  http://balkan-samp.com/forum/index.php?topic=42348.msg318601#msg318601.");
}
else if(listitem == 2)
{
                                      SendClientMessage(playerid, COLOR_LIGHTBLUE, "*  http://balkan-samp.com/forum/index.php?topic=42348.msg318601#msg318601.");
}
                    }
              }
goran
5
Kingpin
19. Apr. 2012.
Fino uradjeno..svaka cast!
MEXO
4
Made Man
19. Apr. 2012.
Fino pomoci ce pocetnicima 😄
goran
5
Kingpin
19. Apr. 2012.
Quote from April 19, 2012, 5:41 pm:
Ovaj tutorial nista nevalja sta je ovo bolje da si napravio neku komandu u zcmd i sve lepo objasnio..A ne ovako ovo neide niposto jer ovo nesluzi nicemu
if(IsPlayerConnected(playerid))

I mogao si staviti nesto u listitem da pocetnicima bude lakse uglavnom moglo je ovo mnogo bolje al pohvala za trud.


Po meni je ovo sasvim fino odradjeno,i lako je nauciti iz ovog ! .
Marjan_King
5
Kingpin
19. Apr. 2012.
^HuDiGa.amx ^^. wrote on April 19, 2012, 5:41 pm:
Ovaj tutorial nista nevalja sta je ovo bolje da si napravio neku komandu u zcmd i sve lepo objasnio..A ne ovako ovo neide niposto jer ovo nesluzi nicemu
if(IsPlayerConnected(playerid))

I mogao si staviti nesto u listitem da pocetnicima bude lakse uglavnom moglo je ovo mnogo bolje al pohvala za trud.


Po meni je ovo sasvim fino odradjeno,i lako je nauciti iz ovog ! .

Ne mozes ti ovde nista nauciti, jedino ako ces pogresno da ucis.

I ajde nemojte vise pisati tutorijale ako i sami ne znate. Prvo naucite pa onda pisite. Ovako samo bzvz zatrpavate korisne tutorijale!

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha