In acest tutorial vreau sa va arat 3 Stiluri de dialog şi cum sa le folositi.
Cod:
0 - DIALOG_STYLE_MSGBOX
1 - DIALOG_STYLE_INPUT
2 - DIALOG_STYLE_LIST
Ok. Sa incepem asta.
In toate stilurile de dialog puteti folosi culori:
Cod:
{FFFFFF}Alb
{F3FF02}Galben
{FFAF00}Portocaliu
{F81414}Rosu
{0049FF}Albastru
{B700FF}Violet
{6EF83C}Verde
{0E0101}Negre
Sau poti folosi culoare ta personalizata
Puteti utiliza culori in toate stilurile de dialog.
------------------------------------------------------------------------------------------------
Primu stil: DIALOG_STYLE_MSGBOX
Aveti posibilitatea sa utilizati MSGBOX pentru statistici, reguli, alte.
Dialog Parametri:
Cod:
playerid ID-ul jucatorului pentru a arata dialogul.
dialogid Un ID-ul pentru a atribui acest dialog , a***el ?ncat raspunsurile pot fi prelucrate.
Maximul unui dialogid este 32767.
Folosind valorile negative vorinchide orice dialog deschis.
style Stilul dialogului.
caption[] Titlul de la partea de sus a dialogului.
Lungimea de legenda nu poate depaşi mai mult de 64 de caractere inainte de a incepe sa taie.
info[] Text pentru a afisa in caseta de dialog. Folosiţi \n pentru a incepe o linie nouă şi \t pentru a cataloga.
button1[] Textul pe butonul din stanga.
button2[] Textul de pe butonul din dreapta. Lasa-l necompletat pentru a ascunde.
Returneaza. Aceasta functie nu returneaza o valoare specifica
Exemplu de dialog ce utilizeaza DIALOG_STYLE_MSGBOX
Cod:
if (strcmp("/dialog", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,1, DIALOG_STYLE_MSGBOX, "Aici titlul","Acesta este un dialog de test.\n\
Linia a doua\nLinia a treia\n{FFAF00}Culoarea portocalie", "Anuleaza", "Continua"); return 1;
}
Pentru a face o noua linie aveti nevoie pentru a utiliza \n.
De asemenea, puteti utiliza \t pentru a cataloga.
Daca doriti sa faceti dialog lung, dar sa te feresti de erori incercati sa utilizati Streamer Dialog
Cod:
if (strcmp("/testdialog", cmdtext, true, 10) == 0)
{
new String[1024];
format(String, sizeof(String), "{FFFFFF}Culoare Alba\n{F3FF02}Culoare Galbena\n{F81414}Culoare Rosie\n ");
format(String, sizeof(String), "%s{0049FF}Culoare Albastra\n{B700FF}Culoare Violet\n{6EF83C}Culoare verde\n\
{FFC0CB}Culoare Roz\n{0E0101}Culoare Negru", String);
ShowPlayerDialog(playerid, 100, DIALOG_STYLE_MSGBOX, "Titlu la Dialog", String, "OK", "");
return 1;
}
Al doilea stil DIALOG_STYLE_LIST
Puteti folosi aceste stiluri de dialog atunci cand va cumparati vehicule, arme, alte.
In acest stil se poate folosi culori ca in dialogul de mai sus.
Exemplu de dialog ce utilizeaza DIALOG_STYLE_LIST.
Scrieti comanda dvs. pentru a selecta anumite arme.
Adauga lista de arma, iar acum du-te la "OnDialogResponse"
Nu uitati sa adaugati \n
Dialog Parametri:
Cod:
playerid ID-ul jucatorului care raspunde la caseta de dialog.
dialogid ID-ul de dialog care a raspuns, atribuit in ShowPlayerDialog.
response 1 pentru primul buton si 0 pentru al doilea buton
listitem ID-ul de elementul din lista selectat de cstre jucstor.
inputtext[] Textul introdus in caseta de intrare de jucator sau de text-ul selectat din lista.
Exemplu de dialog ce utilizeaza DIALOG_STYLE_LIST
Cod:
if (strcmp("/arme", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "{00FFEE}Selecteaza arma","{F3FF02}Cherestea\n{F81414}Minigun\n{0049FF}RPG\n{B700FF}Dildo\n{6EF83C}Flori\n{FFC0CB}Desert Eagle","OK","Anuleaza");
return 1;
}
Ai mereu nevoie pentru a incepe de la "(listitem == 0)"
Cod:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response) return SendClientMessage(playerid, 0xFF0000FF, "Ai anulat!");
}
if(listitem == 0)
{
GivePlayerWeapon(playerid,26,500);
SendClientMessage(playerid,0xFFFFFFFF,"Ai primit Sawn-Off Shotgun");
return 1;
}
if(listitem == 1)
{
GivePlayerWeapon(playerid,38,500);
SendClientMessage(playerid,0xFFFFFFFF,"Ai primit Minigun");
return 1;
}
if(listitem == 2)
{
GivePlayerWeapon(playerid,35,500);
SendClientMessage(playerid,0xFFFFFFFF,"Ai primit RPG");
return 1;
}
if(listitem == 3)
{
GivePlayerWeapon(playerid,10,500);
SendClientMessage(playerid,0xFFFFFFFF,"Ai primit Dildo");
return 1;
}
if(listitem == 4)
{
GivePlayerWeapon(playerid,14,500);
SendClientMessage(playerid,0xFFFFFFFF,"Ai primit Flowers");
return 1;
}
if(listitem == 5)
{
GivePlayerWeapon(playerid,24,500);
SendClientMessage(playerid,0xFFFFFFFF,"YAi primit Desert Eagle");
return 1;
}
return 0;
}
Al treilea stil DIALOG_STYLE_INPUT
Stilul de dialog DIALOG_STYLE_INPUT se foloseste la sistem Register/login