GUIÚvodKe GUI bude nejlepsi se s tim moc nepiplat , a pouzit guieditor , ve kterym uz vytvarite gui a dokonce i DX primo ve hre, a okamzite vidite co jste vytvorili.
>>/ Zatimco kdyz GUI delate v notepadu ,(proste rucne) tak nevidite moc co a jak jste kde udelali.
guieditor je ke stazeni
zde.
GUI je to nejlehci co muzete delat, nic tezkeho ani neni prirazovat funkce k nim.
Nepouzivate addCommandHandler, ale addEventHandler.
syntax-priklad je :
addEventHandler("onClientGUIClick", GUI-element, funkce)
priklad dame ze pri kliknuti na tlacitko se neco stane :
addEventHandler("onClientGUIClick", button_close, zavrit)
Eventy GUI jsou zde :
events Funkce GUI jsou zde :
functionsPokud chcete zobrazit GUI , jednoduse vypiste kod do funkce , a pridejte tam
showCursor, ktery vam
zobrazi kurzor (pokud napr. mate tlacitka na zavreni)
Pri "zavirani" okna, GUI, pouzivejte
destroyElement() , nikoli setElementAlpha apod..Nezapomente na
showCursor na defaultní hodnotu (false), jinak se vám zavre okno , ale kurzor mysi vam zustane !
!!! V GUI nesmíte psát HÁČKY a ČÁRKY apod.!(Mezery ano) !!!Vyuziti GUI v praxiGUI vyuzijete hodne napr. pokud chcete psat delsi texty , nebo proste informace , ktere by se do chatu vypsat nehodily, nebo pokud chcete udělat Login Panel , nebo Panel pro nakupování ...
A GUI není jen náhrada chatu !
Zmena textuUrcite jste nekdy chteli zmenit text v GUI , ale napr. po kliknuti na tlacitko.
Pouzijte
guiSetText , kde staci napsat pouze gui-element, a text v " ".
syntax :
guiSetText(gui-element,"text")
priklad :
guiSetText(tlacitko,"Novej text")
Vyuziti v praxiZmena jazyku pri kliknuti na tlacitko - asi typicke vyuziti, napisete v Anglictine , ale muzete cist i v Cestine.
"Dalsi strana" - taky se muze vyuzit , kliknete na tlacitko a text se zmeni , jako "dalsi stranka".
Images / ObrázkyJiste , obrazky. Taky je muzete dat do svych oken , jako vyzdobu nebo jako okno samotne.
-Pouzivejte obrazky s formatem .png !
-Nezapomente ze guieditor a vas script jsou rozdilne veci !
-> Zapsat soubor / obrazek do meta.xml !
Příklad GUIJako příklad uvedu muj help panel , ktery samozrejmne sem nedam cely
.
Muzete si jej i vyzkouset , staci vytvorit soubor .lua , do nej to zkopirovat, potom vytvorit / "ukrast" odnekud meta.xml, kde bude type="script" a <script src="" bude type="client" . Okno zobrazite prikazem /uhelp.
Code:
function showHelpWindow() -- Funkce
showCursor(true) -- Zobrazi kurzor mysi
showChat(false) -- Skryje chat
fadeCamera(false) -- Zatemni kameru
setElementFrozen(source, true) -- Zmrazi hrace
setTimer(helpGUI,1000,1) -- 1 sekunda do zobrazeni GUI
end -- Konec funkce
addCommandHandler("uhelp", showHelpWindow) -- Prida prikaz /uhelp
function helpGUI()
helpW = guiCreateWindow(121, 74, 590, 438, "", false) -- Vytvori okno
guiWindowSetSizable(helpW, false) -- Nastavi okno neupravovatelne(velikost)
guiSetAlpha(helpW, 0.95) -- Nastavi viditelnost okna => Alpha 0.95(95%)
btn_Close = guiCreateButton(472, 389, 102, 35, "Close", false, helpW) -- Vytvori tlacitko Close
text_Help = guiCreateLabel(258, 21, 120, 56, "Help", false, helpW) -- Vytvori text Help
TabPanel = guiCreateTabPanel(14, 69, 560, 310, false, helpW) -- Vytvori Tab panel
Tab_1_Main = guiCreateTab("Main", TabPanel) -- Vytvori tab 1
text_Main = guiCreateLabel(15, 20, 535, 191, "Bla bla bla, tento help panel je od FirstMn a slouzi jen jako priklad ! Opravdovy help panel najdete jen na mem serveru End Of the Word ! muhaha", false, Tab_1_Main) -- Vytvori a napise text
end -- Konec funkce
addEventHandler("onClientGUIClick", btn_Close, hideHelpWindow) -- Prida event pro tlacitko Close
function hideHelpWindow()
showCursor(false) -- Skryje kurzor
showChat(true) -- Zobrazi chat
setElementFrozen(source,false) -- Odfreezne(odmrazi) hrace
fadeCamera(true) -- Odcerna obrazovku(zpet do normalu)
destroyElement(helpW) -- "Znici" element helpW => "znici"/odstrani okno z obrazovky
removeEventHandler("onClientGUIClick", btn_Close, hideHelpWindow) -- odstrani event
end -- Konec funkce
Vzor - jak vypadá GUI -> Prvni je help panel ,druhy missions panel.
ZávěrGUI je opravdu lehké, stačí myslet na pár pravidel, a hravě umíte GUI.