Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

GUI Dialogų kurimas, ir informacija apie juos


Aire_Whi

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4040 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Labas supergames.lt nariai

:taika:

Pamoka apie GUI dialogų kurimas ir visą informacija apie juos

;)

GUI dialogų tipų yra 4

Sąrašo tipas (DIALOG_STYLE_LIST)

2 variantų pasirinkimo tipas (DIALOG_STYLE_MSGBOX)

Įvedamų simbolių tipas (DIALOG_STYLE_INPUT)

Slaptažodžio tipas (DIALOG_STYLE_PASSWORD)

Visada norit sukurti GUI lentele reikia rašyti

ShowPlayerDialog(playerid,dialogo id,TIPAS,“Antraštė“,“1. Variantas\n2. Variantas“,“Sutinku“,  “Nesutinku“);

Viskas atrodyti turėtų taip:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,“Spalvos“,“Žalia.\nMėlyna.\nGeltona.\nRaudona.“,“Pasirinkti“,“Atšaukti“);

\n – simbolis reiškia naują eilutę, arba kitą pasirinkimą. Kitą pasirinkimą duos šis simbolis, tik DIALOG_STYLE_LIST GUI tipe. Kituose duos, tik naują eilutę.

Toliau, po callbacku OnDialogResponse (Jį susirasti gali spausdamas CTRL + F ir įrašydamaas OnDialogResponse)

Rašome:

if(dialogid == 1)
{
If(response) – Jei paspaudė mygtuką “Pasirinkti”
{
if(listitem == 0)  - Jei pasirinks žalią spalvą, tai
{
SendClientMessage(playerid,ZALIA,“Tu pasirinkai spalvą: Žalią“);
}
if(listitem == 1) - Jei pasirinks mėlyną spalvą, tai
{
SendClientMessage(playerid,MELYNA,”Tu pasirinkai spalvą: Mėlyną”);
}
if(listitem == 2) – Jei pasirinks Geltoną spalvą, tai
{
SendClientMessage(playerid,GELTONA,”Tu pasirinkai spalvą: Geltoną”);
}
if(listitem == 3) – Jei pasirinks raudoną spalvą, tai
{
SendClientMessage(playerid,RAUDONA,”Tu pasirinkai spalvą: Raudoną”);
}   
return 1;
}
if(!response) – Jei paspaudė mygtuką “Atšaukti”
{
SendClientMessage(playerid,SPALVA,”Tu pasirinkai mygtuką – Atšaukti”);
}
return 1;
}

2 variantų pasirinkimo tipas:

Norint 2 variantų pasirinkimo tipą sukurti, reikia rašyti beveik viską taippat, tik kai kurie parametrai skiriasi. Pvz.:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Antraštė“,“Sąlyga, su kuria turi sutikti, ar turi pasirinkti vieną iš dviejų.  Čia ta salyga apibūdinama.“,“Pasirinkti“,“Atšaukti“);

Tokiu atveju ir tokiu tipu galima išmesti žaidėjui GUI langą, kad sutiktų su taisyklėmis

ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Taisyklės“,“Turi sutikti su taisyklėmis, tik tada galėsi žaisti toliau.“,“Sutinku“,“Nesutinku“);

Toliau, OnDialogResponse callbacke, nurodai:

If(dialogid == 1)
{
if(response) – Jei paspaudė Sutinku.
{
SendClientMessage(playerid,SPALVA,”Tu sutikai su taisyklėmis, todėl gali tęsti žaidimą”);
return 1;
}
if(!response) – Jei paspaudė Nesutinku.
{
SendClientMessage(playerid,SPALVA,”Tu nesutikai su taisyklėmis, todėl esi išmetamas iš žaidimo”);
Kick(playerid);
}
return 1;
}

Įvedamų simbolių tipas

Šio tipo pagalba galima daug daugiau padaryt žaidėjo nuožiūra.

Apibendrinus viskas atrodo taip:

Šio tipo pagalba galima daug daugiau padaryt žaidėjo nuožiūra.

Apibendrinus viskas atrodo taip:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,“Antraštė“,“Įvesk norimą slaptažodį“,“Patvitinti“,“Išeiti“);

Ir įvedus slaptažodį, kad sistema suprastų ką tu nori padaryti, callbacke rašom:

OnDialogResponse

if(dialogid == 1)
{
new string[128]; - sukuriame kintamąjį, kad galėtų žaidėjui suformatuoti jo įvestą slaptažodį.
if(response) – jei paspaudė “Patvirtinti”
{
if((inputtext) < 1) – Jei simbolių įvestų mažiau arba tik vienas
{
SendClientMessage(playerid,SPALVA,”Slaptažodis turi būti netrumpesnis, kaip 1 simbolis“);
}
else – Jeigu viskas tvarkoi, ir sistemai patinka viskas
{
format(string, 128,“Tu užsiregistravai sėkmingai, tavo slaptažodis: %s",inputtext); - suformatuojam žinutę
SendClientMessage(playerid,SPALVA,string); - išsiunčiame suformatuotą žinutę.
}
return 1;
}

Manau naujokai kažka suprato .

B)

  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

Labas supergames.lt nariai

:taika:

Pamoka apie GUI dialogų kurimas ir visą informacija apie juos

;)

GUI dialogų tipų yra 4

Sąrašo tipas (DIALOG_STYLE_LIST)

2 variantų pasirinkimo tipas (DIALOG_STYLE_MSGBOX)

Įvedamų simbolių tipas (DIALOG_STYLE_INPUT)

Slaptažodžio tipas (DIALOG_STYLE_PASSWORD)

Visada norit sukurti GUI lentele reikia rašyti

ShowPlayerDialog(playerid,dialogo id,TIPAS,“Antraštė“,“1. Variantas\n2. Variantas“,“Sutinku“, “Nesutinku“);

Viskas atrodyti turėtų taip:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_LIST,“Spalvos“,“Žalia.\nMėlyna.\nGeltona.\nRaudona.“,“Pasirinkti“,“Atšaukti“);

\n – simbolis reiškia naują eilutę, arba kitą pasirinkimą. Kitą pasirinkimą duos šis simbolis, tik DIALOG_STYLE_LIST GUI tipe. Kituose duos, tik naują eilutę.

Toliau, po callbacku OnDialogResponse (Jį susirasti gali spausdamas CTRL + F ir įrašydamaas OnDialogResponse)

Rašome:

if(dialogid == 1)
{
If(response) – Jei paspaudė mygtuką “Pasirinkti”
{
if(listitem == 0) - Jei pasirinks žalią spalvą, tai
{
SendClientMessage(playerid,ZALIA,“Tu pasirinkai spalvą: Žalią“);
}
if(listitem == 1) - Jei pasirinks mėlyną spalvą, tai
{
SendClientMessage(playerid,MELYNA,”Tu pasirinkai spalvą: Mėlyną”);
}
if(listitem == 2) – Jei pasirinks Geltoną spalvą, tai
{
SendClientMessage(playerid,GELTONA,”Tu pasirinkai spalvą: Geltoną”);
}
if(listitem == 3) – Jei pasirinks raudoną spalvą, tai
{
SendClientMessage(playerid,RAUDONA,”Tu pasirinkai spalvą: Raudoną”);
}
return 1;
}
if(!response) – Jei paspaudė mygtuką “Atšaukti”
{
SendClientMessage(playerid,SPALVA,”Tu pasirinkai mygtuką – Atšaukti”);
}
return 1;
}

2 variantų pasirinkimo tipas:

Norint 2 variantų pasirinkimo tipą sukurti, reikia rašyti beveik viską taippat, tik kai kurie parametrai skiriasi. Pvz.:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Antraštė“,“Sąlyga, su kuria turi sutikti, ar turi pasirinkti vieną iš dviejų. Čia ta salyga apibūdinama.“,“Pasirinkti“,“Atšaukti“);

Tokiu atveju ir tokiu tipu galima išmesti žaidėjui GUI langą, kad sutiktų su taisyklėmis

ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,“Taisyklės“,“Turi sutikti su taisyklėmis, tik tada galėsi žaisti toliau.“,“Sutinku“,“Nesutinku“);

Toliau, OnDialogResponse callbacke, nurodai:

If(dialogid == 1)
{
if(response) – Jei paspaudė Sutinku.
{
SendClientMessage(playerid,SPALVA,”Tu sutikai su taisyklėmis, todėl gali tęsti žaidimą”);
return 1;
}
if(!response) – Jei paspaudė Nesutinku.
{
SendClientMessage(playerid,SPALVA,”Tu nesutikai su taisyklėmis, todėl esi išmetamas iš žaidimo”);
Kick(playerid);
}
return 1;
}

Įvedamų simbolių tipas

Šio tipo pagalba galima daug daugiau padaryt žaidėjo nuožiūra.

Apibendrinus viskas atrodo taip:

Šio tipo pagalba galima daug daugiau padaryt žaidėjo nuožiūra.

Apibendrinus viskas atrodo taip:

ShowPlayerDialog(playerid,1,DIALOG_STYLE_INPUT,“Antraštė“,“Įvesk norimą slaptažodį“,“Patvitinti“,“Išeiti“);

Ir įvedus slaptažodį, kad sistema suprastų ką tu nori padaryti, callbacke rašom:

OnDialogResponse

if(dialogid == 1)
{
new string[128]; - sukuriame kintamąjį, kad galėtų žaidėjui suformatuoti jo įvestą slaptažodį.
if(response) – jei paspaudė “Patvirtinti”
{
if((inputtext) < 1) – Jei simbolių įvestų mažiau arba tik vienas
{
SendClientMessage(playerid,SPALVA,”Slaptažodis turi būti netrumpesnis, kaip 1 simbolis“);
}
else – Jeigu viskas tvarkoi, ir sistemai patinka viskas
{
format(string, 128,“Tu užsiregistravai sėkmingai, tavo slaptažodis: %s",inputtext); - suformatuojam žinutę
SendClientMessage(playerid,SPALVA,string); - išsiunčiame suformatuotą žinutę.
}
return 1;
}

Manau naujokai kažka suprato .

B)

Žmonėms vietoj GELTONA, ŽALIA ir pnš mes ERROR nes nedarašiai spalvos DEFIN'u.

Redaguota , nario Aivaras_Vercetti
  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 4040 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...