doshaker - 2014-07-21 19:36:06

Poradnik zaczerpniety ze strony tibia.net.pl.

1. Ogólnie o LUA.
2. Początek skryptu.
3. Użycie if’ów.
4. Zmienne.
5. Tablice.
Funkcje związane z tablicami.

6. Pętle
a) FOR
b) WHILE
7. Komentarze.
8. Ciekawe funkcje.


Lekcja 2 – Początek skryptu.

Skrypt zaczynamy od zadeklarowania funkcji (np. function onTimer()), a kończymy słowem end (z ang. Koniec). Na przykład:

Kod:

 function onSay(cid, words, param, channel)
 -- kod skryptu
 end

Objaśnienie:
function – pokazuje, w którym miejscu zaczyna się skrypt
onSay – w tym wypadku chodzi o funkcję, gdy gracz wypowie dane słowo
(cid, words, param, channel) – wszystko co znajduje się w nawiasie to tzw. Stałe. Mają one przypisaną z góry wartość i można ich używać w skrypcie.
--kod skryptu – do skryptu można wprowadzać różne komentarze, ale o tym w rozdziale o komentarzach
end – zakończenie funkcji

Przykładowy skrypt:

Kod:

 function onSay(cid, words, param, channel)
 doPlayerSendTextMessage(cid, 22, "Wyswietli się zielony napis.")
 end

Funkcje zaczynające skrypt:

Kod:

Actions
 onUse(cid, item, fromPosition, itemEx, toPosition)
Creaturescripts
 onLogin(cid)
 onLogout(cid)
 onAdvance(cid, skill, oldLevel, newLevel)
 onStatsChange(cid, attacker, type, combat, value)
 onDirection(cid, old, current)
 onSendMail(cid, receiver, item, openbox)
 onReceiveMail(cid, sender, item, openbox)
 onTradeRequest(cid, target, item)
 onTradeAccept(cid, target, item, targetItem)
 onJoinChannel(cid, channel, users)
 onLeaveChannel (cid, channel, users)
 onLook(cid, thing, position, lookDistance)
 onThink(cid, interval)
 onTextEdit(cid, item, newText)
 onReportbug(cid, comment)
 onAreaCombat(cid, tileItem, tilePosition, isAggressive)
 onTarget(cid, target)
 onFollow(cid, target)
 onCombat(cid, target)
 onAttack(cid, target)
 onCast(cid, target)
 onKill(cid, target, lastHit)
 onDeath(cid, corpse, deathList)
 onPrepareDeath(cid, deathList)
Globalevents
 onThink(interval, lastExecution, thinkInterval)
 onStartup()
 onShutdown()
 onRecord(current, old, cid)
 onTimer()
Movements
 onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 onStepOut(cid, item, position, lastPosition, fromPosition, toPosition, actor)
 onEquip(cid, item, slot)
 onDeEquip(cid, item, slot)
 onAddItem(moveItem, tileItem, position, cid)
 onRemoveItem(moveItem, tileItem, position, cid)
Spells
 onCastSpell(cid, var)
Talkactions
 onSay(cid, words, param, channel)
Weapons
 onUseWeapon(cid, var)
www.sgaming.pun.pl www.chomiki-pbf.pun.pl www.chemiaumcs.pun.pl www.djronnie.pun.pl www.akatsukifreinds.pun.pl