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

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

Meniu kūrimas labai svarbus palaikant tvarką serveryje, o ypatingai, jog čia MTA- meniu reikia naudot kuo dažniau, todėl čia vienas esminių dalykų. Meniu galima sukurt visko, tačiau čia apžvelgsim tik mažą dalį funkcijų, kita turėtumėt jau gaudytis kaip kurt po šio apmokymo. Taip pat labai reikalingas dalykas - teksto rodymas, kadangi rašant į chat'ą atbaido žaidėjus nekokybiškas pateikimo būdas, todėl tai irgi svarbu mokėt padaryt.

Naujos Sąvokos:

Serverio failas - Failas, kuris visada bus skaitomas serveryje ir transliuojamas žaidėjams internetiniu ryšiu, todėl vykdymo greitį įtakos žaidėjų lagas. Viskas kas vykdoma serveryje bus rodoma visiems žaidėjams. Aiškiau būtų jei palygintume su SAMP gamemode skriptu, veikia tokiu pat principu. Šių failų per šį apmokymą nenaudosim, kadangi jie nereikalingi kuriant tekstą ar meniu.

Kliento failas - Failas, kuris bus nusiųstas serveryje žaidžiantiems žaidėjams, todėl jo vykdymo greičio lagas neįtakoja. Klientas turi beveik viską, ką turi ir serveris, tačiau viskas kas vykdoma kliente bus matoma tik tam žaidėjui,pvz sukuriam objektą, šį matys tik tas žaidėjas, kurio faile įvykdysim komandą. Šių skriptų negalima lygint su SAMP skriptais, jie veikia kitokiu principu, todėl bus sunkiau įsivaizduot ir lygint. Tačiau šiame apmokyme mes kuriame meniu ir mums teks naudoti kliento failus.

Pirmiausia reikės šių papildomų failų:

Resursas GUI EDITOR - siųstis - tai meniu kūrimo įrankis, skirtas greitam meniu ir teksto kūrimui, kad nereiktų spėliot koordinačių.

Teksto kūrimo funkcijos - siųstis - šie skriptai pridės funkcijų lengvam teksto kūrimui.

-Iš ankstesnės pamokos žinome kur yra Resursų dir. - einam ten ir išarchyvuojam GUI EDITOR taip, kad būtų .../resources/guieditor/ ir čia turime rast meta.xml, jei randam vadinas resursas parengtas paleidimui.

-Sukuriam papkę mano_meniu, čia išarchyvuojam parsisiųstas teksto funkcijas taip, kad būtų .../resources/mano_meniu/textlib.lua ir .../resources/mano_meniu/textlib_anim.lua ir į čia nukopijuojam/įklijuojam meta.xml failą iš GUI EDITOR resurso papkės (kad nereiktų meta.xml kurtis patiems).

-Dabar mano_meniu papkėje sukuriam naują lua failą ir pavadinam naujas.lua.

-Taigi mano_meniu papkėje turėtume rast šiuos failus:

meta.xml 
textlib_anim.lua 
textlib.lua 
naujas.lua

-Kolkas resursas neparuoštas, nes nemato šių failų, juos reikia nurodyti meta.xml, taigi atsidarom meta.xml ir įklijuojam sekančias eilutes, kad turinys atrodytų taip:

-Tada nurodom, jog nuskaitytų mūsų failus pridėdami tokias eilutes:


-Turėtų atrodyt dabar taip:

-Išsaugom ir uždarom meta.xml (nepamirštam, jog wordpad negalima naudot, nes neišeis redaguot failų, todėl reikia naudot notepad)

-Kuriant meniu reikia nurodyt būtinai, jog failai yra 'client', kadangi serveris neturi tokių funkcijų ir tik kliente galėsim sukurt meniu bei teksto rodymą. (Žr. sąvoka kliento failas)

Resursai yra parengti ir galim pradėti: iš pirmosios pamokos jau mokam paleisti serverį, paleidžiam. Tuomet į konsolę rašom start guieditor. Turėtų parašyti, jog resursas sėkmingai paleistas, žr. žemiau:

Jei viskas taip kaip paveikslėlyje, vadinas einame toliau, jei ne, kažką blogai padarėt ir bandykit iš naujo (greičiausiai nustatyta bloga resurso direktorija išarchyvuojant).

-Einame į savo serverį, įėję parašom komandą /guiedit

-Turėjo atirast pelė, su ja viską ir darysim.

------------------

1 Etapas: Sukuriam meniu ir mygtukus

Spaudžiam kitą pelės mygtuką ir šalia pelės atsiras mažas meniu, jame susirandam pasirinkimą 'Create window' (pats pirmas) ir spaudžiam:

Dabar sugalvojam kurioj vietoj bus meniu, spaudžiam pirmą pelės mygtuką, neatleidžiam ir tempiam kol gausim normalų langą, tuomet atleidžiam:

Jau turim pagrindą, bereikia sudėt tai ką norim (šiuo atveju mygtukus)

Spaudižiam ant meniu kitą pelės mygtuką ir susirandam 'Create button', spaudžiam:

Tuo pačiu pagrindu kaip meniu sukuriam kelis mygtukus:

------------------

2 Etapas: Sukuriam tekstą

Spaudžiam ant ekrano (ne ant meniu) ir susirandam 'Drawing', palaikom pelę ant jo, atsiranda antras meniu, čia renkamės 'DX text',spaudžiam:

Dabar kaip ir anksčiau laikom pelę ir nurodom vietą kur bus tekstas:

Pažaidus su meniu daugiau galima sukurt kažką tokio:

------------------

3 Etapas: Meniu programavimas

Kai jau viską padarėm, spaudžiam ant ekrano kitą pelės mygtuką ir renkamės 'Output code':

Visas meniu kodas dabar turėjo atsirasti Resursų dir./guieditor/GUIEditor_output.txt faile:

Kažkas tokio, dabar viską nukopijuojam ir atsidarom mūsų kurtą failą naujas.lua, ten viską ir įklijuojam.

Sukuriam tuščią funkciją createMeniu() (apmokymai apie funkcijas yra antrame skiriuje):

function createMeniu()

end

Į šitą funkciją įklijuojam viską iki addEventHandler, vadinas atrodys taip:

Po funkcija įrašom taimerį, kuris paleis meniu po 10 sekundžių, taigi atrodys taip:

function createMeniu() 
GUIEditor_Window = {} 
GUIEditor_Button = {} 

GUIEditor_Window[1] = guiCreateWindow(0.2964,0.3362,0.4292,0.3343,"Komandos pasirinkimas",true) 
guiSetAlpha(GUIEditor_Window[1],0.60000002384186) 
guiWindowSetMovable(GUIEditor_Window[1],false) 
guiWindowSetSizable(GUIEditor_Window[1],false) 
GUIEditor_Button[1] = guiCreateButton(0.0624,0.6011,0.3398,0.2023,"Komanda 1",true,GUIEditor_Window[1]) 
guiSetAlpha(GUIEditor_Button[1],1) 
GUIEditor_Button[2] = guiCreateButton(0.5936,0.5954,0.3398,0.2023,"Komanda 2",true,GUIEditor_Window[1]) 
guiSetAlpha(GUIEditor_Button[2],1) 
end 
setTimer(createMeniu,10000,1)

Dabar įėjus į serverį po 10 sekundžių atsirastų šis meniu, bet kolkas neįdėjom teksto.

Tekstui naudosim šias funkcijas, kurias suteikia failas textlib.lua:

dxText:create - sukuria tekstą
dxText:boundingBox - nustato tikslią poziciją
dxText:color - nustato spalvą

Vėl sukuriam tuščią funkciją rodomTeksta:

function rodomTeksta() 

end

Nuadodamiesi gauta info iš guieditor, paimam ją iš šios eilutės:

dxDrawText("Pasirinkite komanda:",638.0,396.0,1043.0,477.0,tocolor(255,255,255,255),2.0,"default","center","center",false,false,true)

Perdedam parametrus į dxText:create funkciją:

function rodomTeksta() 
    manoTekstas = dxText:create("Pasirinkite komanda:", 0,0, false, 'default', 2.0,"center") 
    manoTekstas:boundingBox(638.0,396.0,1043.0,477.0) 
    manoTekstas:color(255,255,255,255) 
end

po šia funkcija taip pat įdedam taimerį:

setTimer(rodomTeksta,10000,1)

------------------

4 Etapas:

Į serverio konsolę rašome start mano_meniu

Sukurtas teksto ir meniu resursas turėtų būt sėkmingai paleistas, įėjus į serverį po 10 sekundžių pasirodo meniu su tekstu.

Jei norime, jog teksto ir meniu neberodytų, galime naudoti šias funkcijas:

manoTekstas:destroy() 
destroyElement(GUIEditor_Window[1])

------------------

Keičiantis rezoliucijai keičiasi ir tekstų matmenys, kad tekstas neišsikraipytų, tam yra gudrybė:

skripto pradžioje rašom:

screenWidth,screenHeight = guiGetScreenSize()

Dabar kuriant tekstą poziciją parašom taip:

manoTekstas:boundingBox(638.0/screenWidth*Jusu_rezoliucija1,396.0/screenHeight*Jusu_rezoliucija2,1043.0/screenWidth*Jusu_rezoliucija1,477.0/screenHeight*Jusu_rezoliucija2)

Čia Jusu_rezoliucija1 yra jūsų rezoliucijos ilgis, o Jusu_rezoliucija2 - jūsų rezoliucijos plotis, t.y jei mano rezoliucija būtų 1680x1050, vadinas Jusu_rezoliucija1 bus 1680, o Jusu_rezoliucija2 - 1050 (kokia jūsų rezoliucija galima pamatyt MTA video nustatymuose)

Kuopijuota iš http://gtahelp.lt/index.php?/topic/320- ... o-kurimas/

MTA:SA Veteranas.

Tai Kreipkites padesiu, jei galesiu.

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

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