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

[Include] easyDialog.inc - patogus būdas kurti GUI!


Tomas

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1185 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

Įžanga

Šia tema supažindinsiu jus su įskiepiu, kuris tikrai leis jums kurti GUI lenteles ypatingai lengvai! Jums nebereikės ieškoti OnDialogResponse callbacko ir naršyti tarp klaidingų id skaičių. Visa tai jus bent šiek tiek išgelbės nuo kodo painiavos.

 

Naudojimas

Norint pradėti naudoti šį įskiepį, jį turite parsisiųsti iš žemiau duotos nuorodos. Įsikelkite .inc failą į savo include biblioteką, o kode prirašykite

include <easyDialog>

Dabar prieisime visą veikimą. Norint sukurti dialogą, naudokite funkciją

Dialog_Show(playerid, dialogid, style, header[], text[], button1[], button2[]);

playerid - žaidėjo ID, kuriam bus rodomas GUI.

dialogid - dialogo ID, kuris atskirs save nuo kitų dialogų.

*SVARBU: norint naudoti tekstinį ID, nėra būtinas ID define! Apie tai pamatysite pavyzdyje!

style - dialogo stilius

header - tai GUI viršuje rodomas tekstas

text - GUI viduje rodomas tekstas

button1 - pirmasis (kairysis) mygtukas dialoge

button2 - antrasis (dešinysis) mygtukas dialoge

 

Norint padaryti dialogo veikimą, naudosime šią funkciją:

Dialog:dialogid(playerid, response, listitem, inputtext[])

dialogid - dialogo id, kuris buvo parašytas kuriant jį.

response - šis parametras gražins rezultatą, kuris mygtukas buvo paspaustas.

listitem - jei dialogo stilius buvo DIALOG_STYLE_LIST, šis parametras gražins pasirinktos eilutės skaičių.

inputtext - jei dialogo stilius buvo DIALOG_STYLE_INPUT arba DIALOG_STYLE_PASSWORD, šis parametras rodys įvesto teksto rezultatą

 

Norint užverti dabar rodomą žaidėjui GUI, naudokite funkciją

Dialog_Close(playerid)

playerid - žaidėjo id, kuriam bus užveriamas dialogas

 

Norint sužinoti, ar žaidėjui atvertas betkoks GUI naudokite

Dialog_Opened(playerid)

playerid

ši funkcija gražins rezultatą, 1 - dialogas atvertas, 0 - ne.

 

 

Pavyzdžiai

Sukurkime žaidėjo išvaizdos pasirinkimą.

CMD:pakeiskiteskin(playerid) // Naudojant ZCMD
{
    Dialog_Show(playerid, SkinChange, DIALOG_STYLE_LIST, "Jūsų skin keitimas", "281\n152", "Keisti", "Atšaukti");
    return true;
}

iškart po komanda sukuriame veikimą

Dialog:SkinChange(playerid, response, listitem, inputtext[])
{
    if(response)
    {
        switch(listitem)
        {
            case 0: SetPlayerSkin(playerid, 281);
            case 1: SetPlayerSkin(playerid, 152);
        }
    }
    else
        return SendClientMessage(playerid, -1, "Atšaukėte pasirinkimą!");
    return 1;
 
}

 

Informacija

Temos autorius: f0cus

Įskiepio autorius: Emmet_

Kūrėjo tema: http://forum.sa-mp.com/showthread.php?t=475838

Parsisiuntimas: http://www.solidfiles.com/d/ffe175f9d1/easyDialog.inc

Pastebin.com nuoroda: http://pastebin.com/hN9s8kX1

 

 

Redaguota , nario f0cus
Nuoroda į komentarą
Dalintis per kitą puslapį

(redaguota)

Jūsų patogumui

Kad nereikėtų kiekvieną kartą rašyti Dialog:dialogid(parametrai), galite kodo viršuje prirašyti 

#define dialog_params   playerid,response,listitem,inputtext[]

tuomet galėsite rašyti

Dialog:dialogid(dialog_params)

 

taip pat, galite persivadinti funkciją į jums dažnai naudojamą ar patogią, pvz.

#define ShowPlayerDialog Dialog_Show
Redaguota , nario f0cus
Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 4 savaičių...

Kūrei ne tu, bet savo vardo žymę vistiek užsidėjai...

 

 

Apie include: nieko patogaus čia nematau, y_dialog su y_inline, va ten tai patogu.

Informacija

Temos autorius: f0cus

Įskiepio autorius: Emmet_

Kūrėjo tema: http://forum.sa-mp.c...ad.php?t=475838

Parsisiuntimas: http://www.solidfile.../easyDialog.inc

Pastebin.com nuoroda: http://pastebin.com/hN9s8kX1

Nuoroda į komentarą
Dalintis per kitą puslapį

  • Parašė po 5 mėnesių...
  • Parašė po 1 mėnesio...
  • Parašė po 4 metų...
  • Parašė po 1 mėnesio...
  • Parašė po 7 mėnesių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 1185 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!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

Skelbimai


×
×
  • Sukurti naują...