Aplicações em OTServer
Saudações queridos alunos, até agora aprendemos o básico, a Lua pura, aonde nós tivemos uma noção do que aprender realmente. Nesta aula estaremos ensinando funções e como criar seus próprios códigos em OTServer.
Primeiramente irei mostar á vocês as funções [get] que em inglês significa (checar, verificar). Esses tipos de funções checam e verificam X coisa. Irei cá postar a maioria delas e como funcionam.
Funções [get]:
Funções [is]:
Funções [do]:
Funções [set]:
Nós temos diversos tipos de scripts que podemos criar em OTServ (Actions, Creaturescripts, Globalevents, Movements, Talkactions, etc)
Como começar?
Actions:
function onUse(cid, item, frompos, item2, topos)oufunction onUse(cid, item, fromPosition, itemEx, toPosition)
cid: CreatureID (Monsters, NPCS, Players);
item: O item que iremos clicar, podemos informar ele no script ou no .xml;
frompos: Na posição que estou clicando;
item2: Items com use with...
topos: Para a posição;
Creaturescripts:
function onLogin(cid)function onLogout(cid)function onDie(cid)function onDeath(cid, corpse, killer)function onAdvance(cid, skill, oldlevel, newlevel)function onAttack(cid, target)function onCombat(cid, target)function onLook(cid, thing, position, lookDistance)function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)function onKill(cid, target, lastHit)function onTextEdit(cid, item, newText)function onStatsChange(cid, attacker, type, combat, value)
corpse: Corpo ao morrer;
killer: Quem matou;
target: Quem o cid atacou;
lastHitKiller: O último a hitar;
mostDamageKiller: O que mais hitou;
lastHit: O valor do último hit;
attacker: Quem atacou o cid;
Globalevents:
function onThink(interval, lastExecution, thinkInterval)function onTimer()
Movements:
function onEquip(cid, item, slot)function onDeEquip(cid, item, slot)function onStepOut(cid, item, pos)function onStepIn(cid, item, pos)function onAddItem(moveitem, tileitem, pos)function onRemoveItem(moveitem, tileitem, pos)
item: O item que o cid equipou / desequipou ou andou em cima;
Talkactions:
function onSay(cid, words, param)
words: Palavras ditas;
param: Parâmetros das palavras;
Explicações:
callbacks -- Nome das funçõesExemplos: onSay, onKill. parameters ou parâmetros -- São tudo que vem depois do callback e entre ( e ).Exemplos: (cid, item)
Criandos os scripts:
Primeiramente, devemos saber oque queremos fazer. Se vamos clicar em algo (actions), se vamos falar (talkactions), se vamos colocar / retirar items ou andar (movements), entre outros. Digamos que iremos criar um actions:
function onUse(cid, item, frompos, item2, topos)
Agora queremos adicionar ao script, uma verificação. Caso o player tenha level maior que 300, ele irá healar toda sua health e mana:
function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) >= 300 then doCreatureAddHealth(cid, 100000) doCreatureAddMana(cid, 100000)endend
Utilizando operadores relacionais verificamos se o level do cid (player), é 300 ou maior. E assim, adicionar mana e health.
Exercícios para casa:
1º Exercício: Tente criar um item que ao clicar, me dê 100gps.
2º Exercício: Faça oque puder com oque aprendemos, tente utilizar 10 funções.
3º Exercício: Escolha um script qualquer na internet, e explique ele completo.