It is currently Mon 04. Nov 2024 10:51:42

All times are UTC + 1 hour [ DST ]




Post new topic  Post a reply   Page 1 of 1  [ 6 posts ] 
Author Message

LazyFox83
 Post subject: Funkce + Prikazy
PostPosted: Fri 06. Jul 2012 13:10:38 
offline
Hlavní Administrátor
Hlavní Administrátor
User avatar

Joined: Thu 13. Oct 2011 18:32:25
Posts: 1625
Location: Dublin, Irsko

Admin Level: 5
Points: 1 581 548
Cash: $2 038 468
Zdravim, zde vam ukazu jak si vytvorit vlastni funkce a jak je pouzivat. Cela lua je zalozena na funkcich.

Funkce se vytvareji nasledovne:
Code:
function nazevFunkce () --Do zavorek se davaji pripadne parametry oddelene carkou

--co se ma vykonat.

end --Kazda funkce se musi radne ukoncit.


Ukazu vam jak udelat funkci ktera vypise neco do chatu s predefinovanou barvou, tudiz zadavame jen text.
Code:
function zprava (text) --Definovani funkce 'zprava' s parametrem 'text'

outputChatBox(text, getRootElement(), 255,0,0, true) --Odesle zpravu v cervene barve

end --Ukonceni

Funkci zprava pote pouzijeme nasledovne: zprava("Muj Text")

A jak muzeme vytvorit funkci ktera je vyvolana hracem pomoci prikazu? Uplne jednoduse pomoci addCommandHandler()
Prikazy muzete delat dvema zpusoby, bud:
Code:
addCommandHandler("prikaz",

function (player, cmd)

end)

nebo muzete samostatne vytvorit funkci a pak k ni priradit prikaz:
Code:
function funkce (player, cmd)

end

addCommandHandler("prikaz", funkce)

Jeste je zde moznost to provest prez event onPlayerCommand ale to je zbytecnost.
Urcite ste si vsimli ze funkce maji parametry player a cmd, to proto ze addCommandHandler poskytuje pro vyvolane funkce parametry kterymy jsou: Element Hrace ktery prikaz zadal (player), text prikazu, v tomto pripade "prikaz" (cmd), a pak uz jto so libovolne parametry ktere zada hrac... pokud zada napriklad '/prikaz 24' tak cislo 24 se da ziskat tak ze do vyvolane funkce pridate jeden parametr, napr. function (player, cmd, cislo).
Pozor! parametr player je poskytovan pouze server-sided, v clientu jsou pak parametry nasledovne: function (cmd, cislo)

Zde vam ukazu priklad ktery zjisti hracovi pozice po zadani prikazu /getpos

Code:
addCommandHandler("getpos",

function (player, cmd)

   local x, y, z = getElementPosition(player) --Zjisteni suradnic
   outputChatBox("Souradnice: " .. x .. ", " .. y .. ", " .. z, player) --Posle zpravu danemu hraci.
   
end)


Doufam ze vam tento tutorial neco rekl ;)

___________________
Ten nepodstatnej hlavni admin :D
Image


Top
   
 

 Post subject: Re: Funkce + Prikazy
PostPosted: Sun 08. Jul 2012 19:55:25 
offline
'Hotring Racer'
'Hotring Racer'
User avatar

Joined: Fri 25. May 2012 21:38:18
Posts: 350
Location: Jihomoravský kraj
Hodně mi to pomohlo ;)

___________________
Now I in Clan DxT|


Image


Top
   
 

 Post subject: Re: Funkce + Prikazy
PostPosted: Sun 15. Jul 2012 22:18:20 
offline
'Elegy'
'Elegy'

Joined: Wed 21. Mar 2012 22:41:55
Posts: 115
Location: Roudnice nad Labem
Pěkný pěkný :-)

___________________
Once more into the Fray...
Into the last good Fight I'll ever know.
Live and die on this day...
Live and die on this day...


Top
   
 

 Post subject: Re:
PostPosted: Sun 29. Jul 2012 0:49:41 
offline
'Hotring Racer'
'Hotring Racer'
User avatar

Joined: Fri 25. May 2012 21:38:18
Posts: 350
Location: Jihomoravský kraj
OutputChatbox vypíše samotnému hráči text.Co mám připsat aby text viděli všichni?Např dám /flip a text se zobrazí se jen mně (nebo ne?Málokdo je na mém test serveru, 3 lidi znají heslo,3 je mapper,a drifty nemá funkční cash systém, takže na jeho serveru nemůžu Cmd testovat..).A nevíš čím by se ještě mohlo "platit"?Je to kvůli tomu cash systému.Jinak jaké jsou rozdíly mezi příkazy s / a ! (např /admins a !cash )?

___________________
Now I in Clan DxT|


Image


Top
   
 

 Post subject: Re: Re:
PostPosted: Sun 29. Jul 2012 0:57:25 
offline
'Elegy'
'Elegy'

Joined: Sat 12. May 2012 12:04:47
Posts: 147
Ahoj.. :D

Takhle by to měli vidět všichni :
Code:
outputChatBox("AHOJ", getRootElement(), 255, 0, 0)

A takhle jenom ty.
Code:
outputChatBox("AHOJ", 255, 0, 0)


A rozdíly mezi / a ! nejsou žádné krom toho že když to máš udělané na ! tak vidí každý hráč jaký příkaz si zadal.

___________________
[DM] Drifty v.1 - Ready To Start = 100%
[DM] Drifty ft. Tox_X-_-TropiC ExperimenT-_- = 100%


Top
   
 

LazyFox83
 Post subject: Re: Re:
PostPosted: Sun 29. Jul 2012 10:17:12 
offline
Hlavní Administrátor
Hlavní Administrátor
User avatar

Joined: Thu 13. Oct 2011 18:32:25
Posts: 1625
Location: Dublin, Irsko

Admin Level: 5
Points: 1 581 548
Cash: $2 038 468
Drifty wrote:
Ahoj.. :D

Takhle by to měli vidět všichni :
Code:
outputChatBox("AHOJ", getRootElement(), 255, 0, 0)

A takhle jenom ty.
Code:
outputChatBox("AHOJ", 255, 0, 0)


A rozdíly mezi / a ! nejsou žádné krom toho že když to máš udělané na ! tak vidí každý hráč jaký příkaz si zadal.

Tak ted si napsal peknou hovadinu.

outputChatBox ma 2. parametr element kteremu se to odesle, pokud tam das rootElement tak jeho "child element" je vse na serveru, tudiz se to odesle vsem, to co si napsal ty v tom druhem prikladu se odesle take vsem, jelikoz ti to vyhodi warning ze 2. parametr je Interger a ne element a bude to ignorovat cervenou barvu cos tam dal.

Rozdil mezi / a ! je obrovsky. / Se pouze zadava do chatu abys deklaroval to, ze pises do console. To jsou proste prikazy. ! prikazy jsou jen detekce toho co napises do chatu, to nejsou opravdove prikazy. Muzes si udelat cokoliv, napr ?points, ^points, $points. Proste cokoliv, nejsou to prikazy.

___________________
Ten nepodstatnej hlavni admin :D
Image


Top
   
 
Display posts from previous:  Sort by  
Post new topic  Post a reply   Page 1 of 1  [ 6 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
TOPlist
Powered by phpBB® Forum Software © phpBB Group

©MSHost.cz