[Tutorial]Cum cream un dialog -
Alxxie - 29.03.2010
Multi nu stiu sa faca un dialog.Asa ca am facut un mic tutorial
In primul rand trebuie sa avem:
pawn Код:
#include <a_samp>
#define Dialogulmeu 0 //in loc de 0 puteti pune ce numar vreti(dar sa nu puneti unul folosit la alt dialog)
// Dialogulmeu este o scurtatura
Apoi facem o comanda:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/dialog", cmdtext, true) == 0)
{
ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_LIST, "Dialogul meu", "Varianta1\nVarianta2\nVarianta3", "Ok", "Iesire");
return 1;
}
return 0;
}
playerid - Cui sa-i arate dialogul
Dialogulmeu - Numarul dialogului(in cazul nostru este 0, asa cum am scris mai sus).Este doar o scurtatura.In loc sa scriem "Dialogulmeu" putem pune direct 0(sau alt numar).
DIALOG_STYLE_LIST - Stilul dialogului.Sunt 3 stiluri:
pawn Код:
DIALOG_STYLE_MSGBOX - arata doar un mesaj. //ca sa fim rapizi putem scrie direct 0
DIALOG_STYLE_INPUT - arata un mesaj si poti scrie ceva. //ca sa fim rapizi putem scrie direct 1
DIALOG_STYLE_LIST - este o lista de unde alegi ce vrei. //ca sa fim rapizi putem scrie direct 2
Dialogul meu - Este titlul dialogului
Varianta1\nVarianta2\nVarianta3 - Sunt variantele pe care le putem alege.
\n inseamna un rand nou.Daca nu puneam \n variantele nu erau una sub alta.Daca vrem sa lasam un mic spatiu(sa scriem ceva pe acelasi rand dar un pic mai la dreapta) punem
\t
Ok - Este primul buton.
Iesire - Este al 2-lea buton.
Acum trebuie sa adaugam:
pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(response)//daca apasam pe primul buton, adica Ok
{
if(listitem == 0)//daca dam click pe prima varianta, in cazul nostru Varianta1
{
SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 1");//asta se intampla cand selectam Varianta1
}
if(listitem == 1)//daca dam click pe a 2-a varianta, adica Varianta2
{
SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 2");
}
if(listitem == 2)//daca dam click pe a 3-a varianta, adica Varianta3
{
SendClientMessage(playerid, 0x21DD00FF, "Ai selectat varianta 3");
}
}
else//daca dam click pe al 2-lea buton, adica Iesire
{
SendClientMessage(playerid, 0x21DD00FF, "Ai apasat pe butonul Iesire");
}
return 1;
}
Cum punem intr-un dialog foarte multe cuvinte fara sa ne dea eroare ca e linia prea lunga?(
LaZ m-a invatat :P)
Sus dupa
#include <a_samp> punem:
pawn Код:
#define Dialogulmeu 0
new string[] = "Ai scriem ceva lung.\nEtc...",
string2[] = "Scriem si aici ceva lung.",
string3[] = "Si mai scriem si aici ceva."; // in loc de string, string2,etc punem ce nume vrem.Putem pune cate stringuri vrem.
Apoi comanda:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp("/dialog", cmdtext, true) == 0)
{
new DialogString[512];//512 e numarul de caracterele care va aparea.Daca aveti peste 512 caractere(litere) puneti un numar mai mare de 512
format(DialogString, sizeof DialogString, "%s%s%s", string, string2, string3 );//cate stringuri avem atatea %s punem
ShowPlayerDialog(playerid, Dialogulmeu, DIALOG_STYLE_MSGBOX, "Titlul dialogului", DialogString, "Ok", "Iesire" );
return 1;
}
return 0;
}
Sper sa va fie de folos!
Re: [Tutorial]Cum cream un dialog -
DSK_Vyorel - 31.03.2010
Un tutorial mai bun gasesti
aici.
Re: [Tutorial]Cum cream un dialog -
Zh3r0 - 31.03.2010
Quote:
Originally Posted by -=["Vyorel"
=- ]
Un tutorial mai bun gasesti aici.
|
E penal ala.
Asta iti arata cum sa faci si cu response, si altele, deci, vyo macar un "bv pentru efort'" n-ai putut zice...
Re: [Tutorial]Cum cream un dialog -
Farsek - 31.03.2010
Quote:
Originally Posted by PlayON
E penal ala.
Asta iti arata cum sa faci si cu response, si altele, deci, vyo macar un "bv pentru efort'" n-ai putut zice...
|
Daca ai sti sa citesti,sper ca te-a invatat la scoala asta,puteai sa vezi ca in tutorialul meu e si cu response,la fiecare...
Nu inteleg de ce toti vreti sa parveniti,fiti ma ce sunteti,acceptati ce puteti,incercati sa invatati ce nu puteti!
_________________________________________________E bun tutorialul,e pe intelesul tuturor !
Bravo
Re: [Tutorial]Cum cream un dialog -
Zh3r0 - 31.03.2010
Quote:
Originally Posted by Farse.
Quote:
Originally Posted by PlayON
E penal ala.
Asta iti arata cum sa faci si cu response, si altele, deci, vyo macar un "bv pentru efort'" n-ai putut zice...
|
Daca ai sti sa citesti,sper ca te-a invatat la scoala asta,puteai sa vezi ca in tutorialul meu e si cu response,la fiecare...
Nu inteleg de ce toti vreti sa parveniti,fiti ma ce sunteti,acceptati ce puteti,incercati sa invatati ce nu puteti!
_________________________________________________E bun tutorialul,e pe intelesul tuturor !
Bravo 
|
O vorbit saracu.
Re: [Tutorial]Cum cream un dialog -
SLV|Solutions - 15.07.2011
Si cum fac un dialog mai mare sa zicem ca vreau sa fac un dialog pentru /help sau /stats cum fac?
Re: [Tutorial]Cum cream un dialog -
IcE. - 15.07.2011
Bravo furmos tutorial
Daca vrei sa faci un dialog cu stats/help fa asa...
PHP код:
new Str[2028];
format( Str, sizeof Str, "Scri ce vrei!\n");
format( Str, sizeof Str, "%sSi aici tot ce vrei scri\n",Str);
format( Str, sizeof Str, "%sSi aici lafel! ",Str);
ShowPlayerDialog(playerid,1,0,"{FF0000}Stats",Str,"Ok", "");
Daca vrei sa scri mai mult adauga inca un
format( Str, sizeof Str, "%s mesaj \n",Str);
Re: [Tutorial]Cum cream un dialog -
Zh3r0 - 15.07.2011
Quote:
Originally Posted by IcE.
Bravo furmos tutorial
Daca vrei sa faci un dialog cu stats/help fa asa...
PHP код:
new Str[2028];
format( Str, sizeof Str, "Scri ce vrei!\n");
format( Str, sizeof Str, "%sSi aici tot ce vrei scri\n",Str);
format( Str, sizeof Str, "%sSi aici lafel! ",Str);
ShowPlayerDialog(playerid,1,0,"{FF0000}Stats",Str,"Ok", "");
Daca vrei sa scri mai mult adauga inca un format( Str, sizeof Str, "%s mesaj \n",Str);
|
Da, faceti asa, metoda proasta, daca nu formatati nici-un string, simplu folositi strcat.
pawn Код:
new zStr[300];
strcat(zStr, "Prima linie\n", 300);
strcat(zStr, "A doua linie\n", 300);
strcat(zStr, "A treia linie\n", 300);
Simplu ca buna ziua.
Re: [Tutorial]Cum cream un dialog -
adytheady - 21.06.2014
scuzati k reinvii topicul dar am o dilema,
new string[] = "Ai scriem ceva lung.\nEtc...",
string2[] = "Scriem si aici ceva lung.",
string3[] = "Si mai scriem si aici ceva.";
sub ce Public il adaug?