Este tuto é de autoria de: Zechs_Merkise
bem, sejam criativos, pq o resto eu vou ensinalos aki
as funções estao ai, agora vou trabalhar em explica-las
sempre sempre o action tem q começar comfunction onUse(cid, item, frompos, item2, topos)endentre o function onUse e end voce coloca os codigos
ai esta o basico, agora vamos para o objeto
voce pode usar todas akelas funções sendo q todas tem q dar uma descrição diferente entre ( ) e vou tentar explicar todas
getPlayerFood(uid)
esse uid eh um uniqueid
para declarar um uniqueid voce tem q ir no arquivo do mapa, editalo, procurar as coordenadas no mapa do item e logo em seguida vai ter itemid="id"/> ai voce adicionar no lugar daki itemid="id" uniqueId="um numero bem grande e q voce se lembre"
o uniqueid tb pode ser cid( creature id)
entao o normal do getPlayerFood eh getPlayerFood(cid)
getPlayerHealth(uid)akela explicação do PlayerFood tb serve pra ca, geralmente usado como getPlayerHealth(cid)
getPlayerMana(cid) tb
getPlayerLevel(cid)
getPlayerMagLevel(cid)
getPlayerName(cid)
getPlayerPosition(cid)
getPlayerSkill(cid,skillid)
na PlayerSkill voce coloca cid e coloca skillid( numero da skill)
n estou lembrado, mas por favor alguem do forum edit ai e ajeita
getItemRWInfo(uid)
getThingfromPos(pos)
Detalhe...
como declarar uma posição?
se caso for a de um player cujo poderar estar em movimento voce faz assim
playerpos = getPlayerPosicion(cid)
ai no getThing.... vai ficar getThingfromPos(playerpos)
pra declarar a posição de algumm tile voce faz o seguinte
tilepos = {x=x, y=y, z=z}
xyz sao as coordenadas do mapa
e quando voce for chamar a função getThingfromPos do tile voce coloca getThingfromPos(tilepos)
doRemoveItem(uid,number)
bem esta função remove um id UNICO, pois se voce colocar um idnormal ele podera remover qualquer do mapa q esteja a sua vista
doPlayerFeed(uid,food)n sei como funciona, n sei se o uid pod ser trocado por cid, nunca usei isso
doPlayerSendCancel(cid,texto)
sabe quando o cara anda contra a parece a aparece a mensagem, sorry you cant walk on it ou alguma coisa parecida, pois eh, ele faz aparecer uma mensagem assim.
pra funcionar voce coloca
doPlayerSendCancel(cid,"o texto entre aspas")
doTeleportThing(uid,newpos)
a variavel do newpos eu ja ensinei antes como declara, eh so usar a mente
o uid(uniqueid) voce pode usar como uniqueid mesmo e como cid, pois isso depende muito, se voce quiser teleportar um item, voce usa uid e se quiser teleportar player usa cid
doTransformItem(uid,novo item id)bem, esse caso eh exclusivo como o doRemove, eh obrigatorio q seja um uniqueid, pois ele poderá tranformar qualquer um do mapa, isso depende mto. e o novo id eh o id do item q vai aparecer no lugar do uid
doPlayerSay(uid,text,type)
nunca testei mas da pra ter uma ideia
deve ser o seguinte. so cid no lugar do uid, o testo entre aspas "" e o type deve ser alguma coisa q n sei , como funciona?
doPlayerSay(cid,"Eu Sou ######",10)
no type eu coloquei 10 mas n sei se eh correto, como ja disse nunca usei essa função. o q acontece? o cara diz eu sou ###### sem querer
lol
doSendMagicEffect(uid,position,type)
uid acho q eh cid, position tem q declarar, type voce vai em spells\libs\lib.lua lah tem alguns types, dai voce coloca representados pelos numeros q tem lah
doChangeTypeItem(uid,new_type)n faço menor ideia, se alguem do forum souber, fix plxs
doSendAnimatedText(uid,text,color)uid ai eh cid, text entree aspas "", color voce ve no spell\libs\lib tarararara, eu uso geralmente entre 15 e 120 no lugar do color
doPlayerAddSkillTry(uid,skillid,number)
uid ai eh cid, skillid eh o numero representante da skill, e number eh a quantidade de skills trys q acresenta, bastante util pra fazer club ring e etc
doPlayerAddHealth(cid,health)n tem por onde, esse ai eh obrigado ser cid, health eh a quantidade de life q almenta.
doPlayerAddMana(cid,mana)mesma coisa do health
doPlayerAddItem(uid,itemid,numero ou type)
esse ai o uid tem q ser cid, itemid id do item, numero ou type voce colocar quantidade de itens q tem q ser adicionado, se for o caso do itemid for = flask fazio entao o numero vai ser = type, exemplo type = 7 dai vai vim um mana fluid
doPlayerSendTextMessage(uid,messageclasses,message)uid tem q ser cid, messageclasses voce ve no libs lah do spells e tem q ser representado pelo numero e message entre ""
doShowTextWindow(uid,maxlen,canwrite)nunca usei essa função, mas acho q pode ser uid e cid, maxlen = numero maximo de letras, canwrite n sei mas acho q pode ser yes ou no ou entao 0 ou 1, sei lah
doDecayItem(uid)
acho q tem q ser uid msm, tipow, essa função eh usada no exemplo. torch pegando fogo entrei ai dá o decay e fica pela metade da o decay fica pequena e apaga
doCreateItem(itemid, numero ou type, posicion)
itemid nem precisa fala, numero ou type = o outro action lah de cima q n lembro qual foi e a posicion tem q declarar.
Atualização
doSetItemSpecialDescription(uid,desc)
Da uma descrição diferente a um item
doSetItemText(uid,text)
Adiciona um texto ao item
doSetItemActionId(uid,actionid)
Adiciona um uid(actionid) a um item dependendo da hora em q voce ativar essa função
getPlayerStorageValue(uid,valueid)
FUNÇÃO IMPORTANTE!!! faz quest usando essa função...
Maiores informações, vide o post de Sarietip, Como fazer quest( Tutorial), ele varifica se há certo valor no storage do player.xml
setPlayerStorageValue(uid,valueid, newvalue)
ele adicionar certo valor ao storeage do player.xml
doSummonCreature(name, position)
função feita pra quando actionar o lua do action ele sumonar monstros
comentem pra mim ajudar e ajeitar o topico
hehehe, esqueci de colocar como colocar no actions.xml para da load no script sendo o item de rosto um uniqueid
<actions uniqueid="uid" script="nome.lua"/>
Lembrando que o Tuto foi inicialmente feito para o HotServ... + pode ser facilmente adaptado para outras versões de OT.