Detaljna objasnjenja svih DIALOG_STYLE-ova

Započeo 6YuKiMuRo9, Februar 17, 2018, 11:47:54 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

DIALOG_STYLE TUTORIAL


Pozdrav svima, u ovom tutorialu cu vam objasniti cemu sluzi koji DIALOG_STYLE, trenutno ima 6 DIALOG_STYLE-ova.
DIALOG_STYLE_MSGBOX
..se koristi da bi igracu ispisali neku poruku, npr kada igracu postavite admina njemu ispise neku poruku i ispise mu npr. admin pin...
Evo primera: ( ja cu raditi preko formata, a vi ne morate ukoliko nemate sta da formatirate ( tj. ako nemate funkcije koje sadrze %nesto ( npr %d ) jednostavno umesto stringa stavite text )
[pawn]new string[256]; //Ovo definise 'string' tj. da bi koristili format funkciju morate imati sta da formatirate :)
format(string, sizeof(string), "Cestitamo, postali ste admin level %d na Balkan Direct serveru!\nAdmina Vam je postavio igrac %s\nVas admin pin kod je %d!", PI[targetid][pAdmin], GetName(playerid), PI[targetid][pKod]);
ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX, "Naslov", string, "Potvrdi", ""); //Ovo ispisuje ono sto ste formatirali.[/pawn]



DIALOG_STYLE_INPUT
.. se koristi da bi igracu dali da unese neki string ( ili ti text ) u dialog, npr. e-mail pri registraciji, evo kako bi to izgledalo sa Clickable td-ovima:
[pawn]public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
   if(playertextid == PRegister[playerid][0])
   {
      //Pazite, morate imati definisan dialog
      ShowPlayerDialog(playerid, DIALOG_MAIL, DIALOG_STYLE_INPUT, "Unos e-mail", "Unesite Vasu e-mail adresu u polje dole!", "Potvrdi", "Kick"); //Npr ako zelite da ispise igracevo ime ( %s, unesite Vasu e-mail adresu ) morate koristiti format kao u proslom objasnjenju.
   }
   return 1;
} //Sada morate uraditi sta se desi kada igrac unese neki string ( tekst )[/pawn]
Da bi bolje razumeli dodao sam i ondialogresponse :)
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   if(dialogid == DIALOG_MAIL)
   {
      //Credits gReeDy.aMx //Mrzelo me da pisem za tutorial od 0 jel ;)
      if(!response) return Kick(playerid);//!response ako je igrac stisnuo "Kick" dugme ili ti drugo dugme.
      if(response) //Ukoliko je igrac uneo e-mail
      {
         new emailp = strfind(inputtext, "@", true); //strfind fukcija, samo ime vam kaze str = string find = trazi ( znaci ako ne postoji "@" ce izbaciti igracu da ponovo unese e-mail )
            if(emailp == -1) //Znaci da uneti text nije tacan, tj. da nije validan e-mail jer ne sadrzi "@" //Ako se pitate zasto '-1' to znaci da nije dodeljena vrednost jer ne sadrzi "@" ako sam dobro shvatio, ispravite me slobodno
            {
               ShowPlayerDialog(playerid, DIALOG_MAIL, DIALOG_STYLE_INPUT, "Unos e-mail", "Uneti e-mail nije validan!\nUnesite Vasu e-mail adresu u polje dole!", "Potvrdi", "Kick"); //Npr ako zelite da ispise igracevo ime ( %s, unesite Vasu e-mail adresu ) morate koristiti format kao u proslom objasnjenju.
               return 1;
            }
      } //ova zagrada
      //Nadam se da ne treba vise da pisem, sve ispod ove zagrade je ono ukoliko su svi uslovi ispunjeni...
   }
   return 1;
}[/pawn]



DIALOG_STYLE_LIST
..se koristi da igracu date ponudje odgovore ( evo ja cu uraditi sa 'DA' i 'NE' da ovaj tutorial ne ide predaleko ( vec sam previse vremena izgubio za objasnjivanjem e-mail-a.
Evo je npr. komanda za neki RP kviz il sta god:

[pawn]YCMD:rpkviz(playerid, params[], help)
{
   #pragma unused help
   //Dodati provere, npr. da li je igrac ulogovan i sl. ja to necu dodavati jer ovo je DIALOG_STYLE tutorial :D
   ShowPlayerDialog(playerid, DIALOG_RPKVIZ, DIALOG_STYLE_LIST, "MG je mesanje IC i OOC chata?", "Da\nNe", "Potvrdi", "Odustani"); // Da bi preslu u sledecu liniju, tj. u sledeci ponudjeni odgovor, koristi se "\n"
}[/pawn]
[pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) //Ovde Vam necu previse objasnavati
{
   if(!response) return 1; //Ukoliko je igrac odustao
   switch(listitem) //Ovo govori skripti da je u pitanju DIALOG_STYLE_LIST da bi skripta mogla da se ponasa tako prema njemu, jer "\n" ne znaci doslovno nista osim prelaska u novi red.
   {
      case 0: //Ukoliko je odabrano "DA" tj. prvi list item
      {
         ShowPlayerDialog(playerid, DIALOG_RPKVIZ, DIALOG_STYLE_LIST, "DB je gazenje igraca vozilom?", "Da\nNe", "Potvrdi", "Otkazi");
      }
      case 1: //Ukoliko je igrac odabrao NE
      {
         SendClientMessage(playerid, -1, "Vise srece drugi put...");
      }
   }
   return 1;
}[/pawn]



DIALOG_STYLE_PASSWORD
..se koristi potpuno isto kao i DIALOG_STYLE_LIST samo umesto teksta prikazuje zvezdice, nema potrebe za preteranim objasnjenjem...



DIALOG_STYLE_TABLIST
.. se koristi za razne stvari, jedna od njih je npr da stavite tri stvari koje mozete formatirati u jednom redu, primer dole za gshop:
[pawn]ShowPlayerDialog(playerid, DIALOG_GSHOP, DIALOG_STYLE_TABLIST, "Naslov",
"Deagle\t$5000\t100\n\
{FF0000}Sawnoff\t{33AA33}$5000\t100\n\
Pistol\t$1000\t50",
"Potvrdi", "Otkazi"); //Izvor wiki.sa-mp.com
//\t se koristi da predjete u novu kolonu
//\n se koristi da predjete u novi red [/pawn]



DIALOG_STYLE_TABLIST_HEADERS
..je isti kao DIALOG_STYLE_TABLIST samo sa naslovima za iteme:
[pawn]ShowPlayerDialog(playerid, DIALOG_GSHOP, DIALOG_STYLE_TABLIST_HEADERS, "Naslov",
"Naslov 1\tNaslov 2\tNaslov 3\n\
Item 1 Kolona 1\tItem 1 Kolona 2\tItem 1 Kolona 3\n\
{FF0000}Item 2 Kolona 1\t{33AA33}Item 2 Kolona 2\tItem 2 Kolona 3",
"Potvrdi", "Otkazi"); //wiki.sa-mp.com
//Sva "\t" do prvog prelaska u novi red ( \n ) su naslovi, maksimalno je imati 3 naslova i 3 kolone ( nisam siguran, ali mislim da je 3 max,
probajte )[/pawn]
MAJ SKVEL BOGOTAC JA SAM MAJ SKVEL MAKAVELI MAJSTOR OH NE JA SAM BOGOTAC JA ZNAM MAJ SKVEL TI KORISTIS .INI OH NE TI SI BOTARA I KANCER SI JER NE KORISTIS MAJ SKVEL MAKAVELI OH NE...

ili
Y_INI ne odredjuje tvoje sposobnosti :D
(Ono gore Joey)


Citat: Legacyâ,,¢ poslato Februar 17, 2018, 11:49:12 PRE PODNE
Dobar tutorial. Pohvale.
Hvala

@OT ja ne znam sta je sa ovima, gledaju temu 1h nikako da bace com haha
MAJ SKVEL BOGOTAC JA SAM MAJ SKVEL MAKAVELI MAJSTOR OH NE JA SAM BOGOTAC JA ZNAM MAJ SKVEL TI KORISTIS .INI OH NE TI SI BOTARA I KANCER SI JER NE KORISTIS MAJ SKVEL MAKAVELI OH NE...

ili
Y_INI ne odredjuje tvoje sposobnosti :D
(Ono gore Joey)



Iz nekog razloga bs forum mi je tagovao nekog lika u codeu kad sam stavio @ xd
MAJ SKVEL BOGOTAC JA SAM MAJ SKVEL MAKAVELI MAJSTOR OH NE JA SAM BOGOTAC JA ZNAM MAJ SKVEL TI KORISTIS .INI OH NE TI SI BOTARA I KANCER SI JER NE KORISTIS MAJ SKVEL MAKAVELI OH NE...

ili
Y_INI ne odredjuje tvoje sposobnosti :D
(Ono gore Joey)


MAJ SKVEL BOGOTAC JA SAM MAJ SKVEL MAKAVELI MAJSTOR OH NE JA SAM BOGOTAC JA ZNAM MAJ SKVEL TI KORISTIS .INI OH NE TI SI BOTARA I KANCER SI JER NE KORISTIS MAJ SKVEL MAKAVELI OH NE...

ili
Y_INI ne odredjuje tvoje sposobnosti :D
(Ono gore Joey)


Pohvale za prijevod.
Former Developer | COD: Lords Of War - Modern Warfare 3 | Stunt Planet | Global Warfare |