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

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

(redaguota)

c_Dialogs

| Vienas lengviausių būdų naudoti dialog'us |

Apie:

Pati idėja sukurti Dialog'ų include kilo netikėtai. Tiesiog supratau, kad nėra labai patogaus include dialog'ams, su kuriuo pavyzdžiui žaidime galėtum keisti jų Button pavadinimus, stilių ir visa kita. Taigi jums ir noriu jį pristatyti.

Funkcijos:

* CreateDialog() - su šia funkcija sukuriate, neparodote, bet sukuriate dialog'ą kurį tik vėliau galėsite atvaizduoti su kitom funkcijom.

* ShowDialogForPlayer() - parodo konkretų dialog'ą pagal jo unikalų ID žaidėjui

* ShowDialogForAll() - parodo konkretų dialog'ą pagal jo unikalų ID visiems žaidėjams

* ChangeDialog() - ši funkcija pati įdomiausia. Pasinaudojus ja, žaidime galėsite pakeisti Dialog'o mygtukų tekstą, dialog'o pavadinimą, bei tekstą kuris atvaizduojamas dialog'e. Taip pat galima pakeisti ir dialog'o stilių.

* HideDialogsForAll() - paslėpiate dialogus visiems žaidėjams

* HideDialogsForPlayer() - paslėpiate dialog'us konkrečiam žaidėjui

* ShowNextDialog() ( už idėją dėkoju Yiin ) - Funkcija kuri parodo sekantį dialogą, tarkim 1 tai rodys dialogą su id 2

* ShowPrevDialog() ( už idėją dėkoju Yiin ) - Funkcija kuri parodo sekantį dialogą, tarkim 2 tai rodys dialogą su id 1

Naudojimas:

Visų pirma įkelkite include į pawno/includes/ ir prirašykite modifikacijos viršuje:

#include <c_dialogs>

[#1] Sukuriame Dialog'ą ( geriausia OnGameModeInit() callback'e ):

CreateDialog(1,100,DIALOG_STYLE_LIST,"c_Dialog","Šis dialog'as buvo sukurtas:{ff9900} c_Dialogs include!\n \n{ffffff}Kūrėjas:{ff9900} Carlo.","Išeiti","");

[#2] Kurioje nors vietoje, tarkim OnPlayerSpawn() parodome dialog'ą, kadangi sukūrėme su ID 1, tai ir rodome su ID 1:

ShowDialogForPlayer(playerid,1);

[#3] Galime naudoti tiek ChangeDialog() funkciją tiek kitas, čia jau jūsų pasirinkimas ko jums reikia.

Sintaksė:

CreateDialog(id,d_id,d_style,d_header[],d_content[],d_button1[],d_button2[]);
ShowDialogForPlayer(playerid,d_id);
ShowDialogForAll(d_id);
ChangeDialog(id,d_style,d_header[],d_content[],d_button1[],d_button2[]);
HideDialogsForAll();
HideDialogsForPlayer(playerid);
ShowNextDialog(playerid,d_id);
ShowPrevDialog(playerid,d_id);

Versija/atnaujinimai:

v0.1a - išleidimas.

v0.1b - Pataisyta klaida su ChangeDialog, dabar nustos rodyti pakeistą dialog'ą ir jį parodys atsinaujinusį. Padaryta taip, kad jeigu sukuriant dialog'ą su CreateDialog() toks id jau naudojamas išmestų klaidą ir nesukurtų dialog'o. Padaryta, kad default button2 būtų lygus "" ir jo rašyti nereikėtų ( Thanks Yiin )

Atsisiuntimas:

v0.1a Solidfiles: http://www.solidfile...m/d/c85d175d6c/

v0.1b Solidfiles: http://www.solidfile...m/d/71163d15f2/ Pastebin: http://pastebin.com/juWt7Vby

Redaguota , nario Carlo.
  • ,
(redaguota)

Kodo nežiūrėjau bet o kas jai

* ShowNextDialog() ShowNextDialog( ID ? )

* ShowPrevDialog()

and

ShowNextDialog(playerid, d_id);

ShowPrevDialog(playerid, d_id);

(Jai nereikia playerido ir d_ido tai turbūt sintaxes rašyt mum nebereikia, o jai parašiai tai mes ją ir naudosim )

1. Sukuriam dialoga ShowDialogForPlayer(playerid, 10);

2. tada

ShowNextDialog(playerid, 8);

3. tada

ShowPrevDialog(playerid, 15);

4. end

ShowDialogForPlayer(playerid, 12);

ShowDialogForPlayer - galim naudoti betkada o gal reikalingas tik vieną kartą.

ShowNextDialog - tau turėtų parodyti kita dialoga id+1...99 arba tai taspac kas ShowDialogForPlayer.

ShowPrevDialog - Turėtų rodyti prieš tai buvusį dialogą (10) arba tai taspac ShowDialogForPlayer.

Redaguota , nario Expert*

asd1.gif

(redaguota)

Nu tu čia kažką neto parašei turėtų taip būt:

Citata

1. Sukuriam dialoga ShowDialogForPlayer(playerid, 10);

2. tada

ShowNextDialog(playerid, 8);

3. tada

ShowPrevDialog(playerid, 15);

4. end

ShowDialogForPlayer(playerid, 12);

Ta ką aš norėjau pasakyti, kam dar naudoti Tą prew ir next tapatį daro ShowDialogForPlayer(playerid, 10); ? :D

( tu mum sintaxe rašai )

Redaguota , nario Expert*

asd1.gif

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

  • Šiame puslapyje naršo:   0 nariai

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

Skelbimai



×
×
  • Sukurti naują...