Ir para conteúdo

Todas As Funções Das Actions!


deco20

Posts Recomendados

Bem Vamos Começar !

 

O que significam as funções?

 

obs01.: Axu q jah tah completu, si eu lembrar outros eu edito

obs02.: Se você estiver procurando por uma função específica, digite Ctrl + F e irá abrir uma janela. Digite o nome da função e clique em "Localizar Próxima"

obs03.: Não deu pra arrumar todas em QUOTE pq n pode botar varios Quote em 1 so post por isso arrumei em cores =P

 

--------------------------------------------------

function onUse(cid, item, frompos, item2, topos)

 

cid => Player que usou o item

item => Item que foi usado

frompos => Posição do item usado

item2 => Quando usa o item em outro item ou player (Ex: runas)

topos => Posição onde o item foi usado

 

--------------------------------------------------

Stackpos

position = {x=111, y=111, z=7, stackpos=?}

 

stackpos = 0 -- mexe com xão

stackpos = 1 -- mexe com algum item emcima du xão

stackpos = 2 -- mexe com um item ke ta emcima de outro item

stackpos = 3 -- mexe num item ke ta em cima de 2 items

stackpos = 4 --- etc...

 

stackpos = 253 mexe com player ou monstros

stackpos = 255 mexe com fields

 

--------------------------------------------------

doChangeTypeItem

sintaxe => doChangeTypeItem(uid,novo_tipo)

ação => Muda o tipo de um item por exemplo em runas com cargas.

exemplo:

-- Remove 1 carga de uma runa (item.uid)

doChangeTypeItem(item.uid,item.type-1)

 

doCreateItem

sintaxe => doCreateItem(itemid,quantidade_ou_cargas,position)

ação => Cria um item com um certo numero de cargas(runas) ou quantidade na posição selecionada.

exemplo:

-- Cria uma uh de 99x na posição selecionada(topos).

doCreateItem(2273,99,topos)

 

--------------------------------------------------

doDecayItem

sintaxe => doDecayItem(uid)

ação => Começar o tempo de "volta" para o item anterior.

exemplo1:

-- Iniciar o tempo de "volta" para o item anterior.

doDecayItem(item.uid)

exemplo2:

-- Exemplo (machete) doDecayItem().

function onUse(cid, item, frompos, item2, topos)

if item2.itemid == 2782 then

doTransformItem(item2.uid,item2.itemid-1)

doDecayItem(item2.uid)

else

return 0

end

return 1

end

 

--------------------------------------------------

doPlayerAddHealth

sintaxe => doPlayerAddHealth(uid,health)

ação => Remove Life do player quando e negativo caso contrario aumenta o life.

exemplo1:

-- Adiciona 100 de life ao player quando ele usar o objeto.

doPlayerAddHealth(cid,100)

exemplo2:

-- Remove 100 de life do player quando ele usar o objeto.

doPlayerAddHealth(cid,-100)

OBS => Por mais que você tire life do player com essa action, o player não morre, ele sempre fica com 1 de life

exemplo3:

-- Um player tem 100 de life

doPlayerAddHealth(cid,-200)

-- aki ele ficará com 1 de life, não morrerá

 

--------------------------------------------------

doPlayerAddItem

sintaxe => doPlayerAddItem(uid,itemid,Carga _ou_quantidade)

ação => Cria um item no inventario do player se possível caso contrario, embaixo dele.

exemplo1:

-- Dar uma magic Sword Para o player.

doPlayerAddItem(cid,2400,1)

exemplo2:

-- Quest chest

if item.uid == 5002 then

queststatus = getPlayerStorageValue(cid,5000)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a magic sword.")

doPlayerAddItem(cid,2400,1)

setPlayerStorageValue(cid,5000,1)

else

doPlayerSendTextMessage(cid,22,"The chest is empty.")

end

end

 

--------------------------------------------------

doPlayerAddMana

sintaxe => doPlayerAddMana(uid,mana)

ação => Remove Mana do Player caso seja valor negativo e adiciona caso seja positivo

exemplo1:

-- Adiciona 100 de mana para o player quando ele usar o objeto.

doPlayerAddMana(cid,100)

exemplo2:

-- Remove 100 de mana quando o player usar o objeto

doPlayerAddMana(cid,-100)

 

--------------------------------------------------

doPlayerAddSkillTry

sintaxe => doPlayerAddSkillTry(uid,skillid,numero)

ação => Adiciona uma Try de skill ao player, quando try e um hit q o player de em um monstro por exemplo.

lista:

0, Fist.

1, Club.

2, Sword.

3, Axe.

4, Distance.

5, Shielding.

6, Fishing.

exemplo1:

-- Adiciona 5 "tryes" de fist ao player.

doPlayerAddSkillTry(cid,0,5)

exemplo2:

-- Fishing com skills up

function onUse(cid, item, frompos, item2, topos)

if item2.itemid == 618 then

fishingskill = getPlayerSkill(cid,6)

formula = fishingskill /200+0.85* math.random()

if formula > 0.65 then

doTransformItem(item2.uid,619)

doDecayItem(item2.uid)

doSendMagicEffect(topos,1)

doPlayerAddSkillTry(cid,6,2)

doPlayerAddItem(cid,2667,1)

else

doSendMagicEffect(topos,1)

doPlayerAddSkillTry(cid,6,1)

end

elseif item2.itemid == 619 or item2.itemid == 620 then

doSendMagicEffect(topos,1)

end

return 1

end

 

--------------------------------------------------

doPlayerFeed

sintaxe => doPlayerFeed(uid,food)

ação => Adiciona um tempo em segundos em que o player recuperara life e mana(comida)

exemplo1:

-- Adicionar um tempo de 120 segundos.

doPlayerFeed(cid,120)

exemplo2:

-- Food script

function onUse(cid, item, frompos, item2, topos)

max_food = 1024

if item.itemid == 2667 then

food = 120

elseif item.itemid == 2671 then

food = 240

end

if getPlayerFood(cid) + food > max_food then

doPlayerSendCancel(cid,"You are full.")

else

doPlayerFeed(cid,food)

doRemoveItem(item.uid,1)

end

return 1

end

 

--------------------------------------------------

doPlayerRemoveItem

sintaxe => doPlayerRemoveItem(uid,itemid,count)

ação => Remove um item do inventario do player

exemplo:

-- Remove um item de id 2400 do inventório do player

doPlayerRemoveItem(cid,2400,1)

 

--------------------------------------------------

doPlayerRemoveMoney

sintaxe => doPlayerRemoveMoney(uid,money)

ação => Remove um valor X de dinheiro do player

exemplo:

-- Remove 100 gold from the players inventory.

doPlayerRemoveMoney(cid,100)

 

--------------------------------------------------

doPlayerSay

sintaxe => doPlayerSay(uid,text,type)

ação => Faz o player falar uma msg.

exemplo:

-- Enviar uma msg normal.

doPlayerSay(cid,"Hello world!",1)

 

--------------------------------------------------

doPlayerSendCancel

sintaxe => doPlayerSendCancel(uid,text)

ação => Envia a msg branca embaixo da tela( You cannot use this object)

exemplo:

-- Envia uma msg escrita Desculpe mas isso n e possível.

doPlayerSendCancel(cid,"desculpe mas isso n e possível.")

 

--------------------------------------------------

doPlayerSendTextMessage

sintaxe => doPlayerSendTextMessage(uid,MessageClasses,message )

ação => Envia diferentes tipos de mensagem ao player.

exemplo:

-- SEnvia uma msg vermelha no meio da tela para o player.

doPlayerSendTextMessage(cid,22,"Hello world!")

 

--------------------------------------------------

doPlayerSetMasterPos

sintaxe => doPlayerSetMasterPos(uid,pos)

ação => Seta uma nova MasterPos (posição do templo) ao player.

exemplo:

-- Posição do novo templo

newpos = {x=20, y=20, z=7}

-- atualizar a posição.

doPlayerSetMasterPos(cid,newpos)

 

--------------------------------------------------

doPlayerSetVocation

sintaxe => doPlayerSetVocation(uid,voc)

ação => Setar uma nova Vocação ao player.

lista:

1, Sorcerer.

2, Druid.

3, Paladin.

4, Knight.

exemplo:

-- Mudar a vocaçao do player para 1.

doPlayerSetVocation(cid,1)

 

--------------------------------------------------

doRemoveItem

sintaxe => doRemoveItem(item_id,numero)

ação => Remover items, so e possivel remover um por tile(exemplo 40 bolts e etc).

exemplo:

-- Remover 5 items dessa posiçao. (Power bolts etc)

doRemoveItem(item.uid,5)

 

--------------------------------------------------

doSendMagicEffect

sintaxe => doSendMagicEffect(position,type)

ação => Fazer um efeito magico.

exemplo:

-- Enviar efetosinhu de fumaça para a posiçao(topos).

doSendMagicEffect(topos,2)

 

--------------------------------------------------

doSetItemActionId

sintaxe => doSetItemActionId(uid,actionid)

ação => Indicar o action id de um item.

exemplo1:

-- Colocar actionID 5020 no item.

doSetItemActionId(item.uid,5020)

exemplo2:

-- Exemplo em loot de quest

function onUse(cid, item, frompos, item2, topos)

if item.uid == 5020 then

queststatus = getPlayerStorageValue(cid,5020)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a silver key.")

key = doPlayerAddItem(cid,2088,1)

doSetItemActionId(key,5020)

setPlayerStorageValue(cid,5020,1)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

return 1

end

 

--------------------------------------------------

doSetItemSpecialDescription

sintaxe => doSetItemSpecialDescription(uid,description)

ação => Colocar um descrição especial em um item de quest por exemplo.

exemplo1:

-- Colocar uma descrçao especia no item quando o mesmo for usado.

doSetItemSpecialDescription(item.uid,"Hello world!")

exemplo2:

-- exemplo em quest

function onUse(cid, item, frompos, item2, topos)

if item.uid == 3000 then

queststatus = getPlayerStorageValue(cid,3000)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a pair of magic boots.")

boots = doPlayerAddItem(cid,2640,1)

doSetItemActionId(boots,3000)

doSetItemSpecialDescription(boots, "This boots are magical.")

setPlayerStorageValue(cid,3000,1)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

end

return 1

end

 

--------------------------------------------------

doSetItemText

sintaxe => doSetItemText(item.uid,"texto") --- para usar a função da tecla "enter" escrever \n

ação => Adiciona um texto a um objeto

exemplo:

doSetItemText(item.uid,"aew\neste livro tem texto.") -- Aparecerá:

aew

este livro tem texto.

 

--------------------------------------------------

doShowTextWindow

sintaxe => doShowTextWindow(item.uid,numero_de_letras,editave l) ---- nu editavel é 0 para não poder alterar e 1 para poder alterar

ação => Abre uma janela com o texto que está setado em um objeto

exemplo:

doShowTextWindow(item.uid,500,1) --- este sera editavel com direito a 500 caracteres

 

--------------------------------------------------

doSendAnimatedText

sintaxe => doSendAnimatedText(position,text,color)

ação => Fazer um efeito animado no client do tibia. (Semelhante a perder hp ou ganhar exp)

exemplo:

-- Mandar um efeito em vemelho escrito 100.

doSendAnimatedText(frompos,100,180)

 

--------------------------------------------------

doSummonCreature

sintaxe => doSummonCreature("nome", posiçao)

ação => Sumonar uma criatura.

exemplo:

-- Summonar um demon para a posição na qual o item foi usado.

doSummonCreature("Demon",topos)

 

--------------------------------------------------

doTeleportThing

sintaxe => doTeleportThing(uid,newpos)

ação => Teleportar um item/player para uma nova posição

exemplo1:

-- Teleportar o player para a posição q o item foi usado.

doTeleportThing(cid,topos)

exemplo2:

-- Teleportar player

function onUse(cid, item, frompos, item2, topos)

if item2.itemid == 0 then

doPlayerSendCancel(cid,"Sorry, not possible.")

else

if getPlayerAccess(cid) == 3 then

playerpos = getPlayerPosition(cid)

doTeleportThing(cid,topos)

doSendMagicEffect(playerpos,2)

doSendMagicEffect(topos,10)

else

doPlayerSendCancel(cid,"You are not allowed to use this rune.")

end

end

return 1

end

 

--------------------------------------------------

doTransformItem

sintaxe => doTransformItem(uid,toitemid)

ação => Transformar um item em outro

exemplo1:

-- Trasformar o item usado no item 2400.

doTransformItem(item.uid,2400)

exemplo2:

-- Ex. alavanca

function onUse(cid, item, frompos, item2, topos)

if item.itemid == 1946 then

doTransformItem(item.uid,item.itemid-1)

elseif item.itemid == 1945 then

doTransformItem(item.uid,item.itemid+1)

end

return 1

end

 

--------------------------------------------------

getPlayerAccess

sintaxe => getPlayerAccess(uid)

ação => Pegar o Access do Player.

exemplo1:

-- Pegar o nível de aceso do player.

getPlayerAccess(cid)

exemplo2:

-- Apenas players de access 1 ou + podem usar o item

function onUse(cid, item, frompos, item2, topos)

if getPlayerAccess(cid) >= 1 then

doTransformItem(item.uid,2400)

else

doPlayerSendCancel(cid,"Sorry, not possible.")

end

return 1

end

 

--------------------------------------------------

getPlayerFood

sintaxe => getPlayerFood(uid)

ação => Pega o status da food do player

exemplo:

-- Pegar o status da food do player

getPlayerFood(cid)

 

--------------------------------------------------

getPlayerGuildId

sintaxe => getPlayerGuildId(uid)

ação => Pega o id da guild do player.

exemplo:

-- Pegar o id da quild do player

getPlayerGuildId(cid)

 

--------------------------------------------------

getPlayerHealth

sintaxe => getPlayerHealth(uid)

ação => Pegar a quantidade de life do player.

exemplo:

-- Pega o life do player para alguma ação(se a vida for maior ou igual a 500, no caso abaixo)

if getPlayerHealth(cid) >= 500 then

 

--------------------------------------------------

getPlayerLevel

sintaxe => getPlayerLevel(uid)

ação => Pega o level do player

exemplo:

-- Pegar o level do player para acontecer algo se o lvl for maior q 30.

if getPlayerLevel(cid) >= 30 then

 

--------------------------------------------------

getPlayerMagLevel

sintaxe => getPlayerMagLevel(uid)

ação => Pega o ML do Player

exemplo:

-- Pegar o ml do player.

getPlayerMagLevel(cid)

 

--------------------------------------------------

getPlayerMana

sintaxe => getPlayerMana(uid)

ação => Pega a mana atual do player(não a completa)

exemplo:

-- Pegar o valor atual da mana.

getPlayerMana(cid)

 

--------------------------------------------------

getPlayerMasterPos

sintaxe => getPlayerMasterPos(uid)

ação => Pegar a MasterPos do player (posição do templo)

exemplo:

-- Pegar a MasterPos do Player.

getPlayerMasterPos(cid)

 

--------------------------------------------------

getPlayerName

sintaxe => getPlayerName(uid)

ação => Pega o nome do Player

exemplo:

-- Pegar o nome do Player.

getPlayerName(cid)

 

--------------------------------------------------

getPlayerPosition

sintaxe => getPlayerPosition(uid)

ação => Pega posição atual do Player

exemplo:

-- Pegar a posição atual do Player.

getPlayerPosition(cid)

 

--------------------------------------------------

getPlayerSkill

sintaxe => getPlayerSkill(uid,skillid)

ação => Pega o skill atual do Player

lista:

0, Fist

1, Club

2, Sword

3, Axe

4, Distance

5, Shielding

6, Fishing

exemplo:

-- Pegar o skill de fist do Player.

getPlayerSkill(cid,0)

 

--------------------------------------------------

getPlayerStorageValue

sintaxe => getPlayerStorageValue(uid,valueid)

ação => Pegar o "Storage Value" do player(usado em quests, vide exemplo)

exemplo1:

-- Obter a informçao da quest 5000.

getPlayerStorageValue(cid,5000)

exemplo2:

-- Exemplo do getPlayerStorageValue() (num baú de quest).

if item.uid == 5002 then

queststatus = getPlayerStorageValue(cid,5000)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a magic sword.")

doPlayerAddItem(cid,2400,1)

setPlayerStorageValue(cid,5000,1)

else

doPlayerSendTextMessage(cid,22,"The chest is empty.")

end

end

 

--------------------------------------------------

setPlayerStorageValue

sintaxe => setPlayerStorageValue(uid,valueid, newvalue)

ação => Atualizar o numero do Storage Value

exemplo1:

-- Mudar o StorageValue da quest n° 5000 para 1.

setPlayerStorageValue(cid,5000,1)

exemplo2:

-- Exemplo do setPlayerStorageValue() em um baú de quest

if item.uid == 5002 then

queststatus = getPlayerStorageValue(cid,5000)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found a magic sword.")

doPlayerAddItem(cid,2400,1)

setPlayerStorageValue(cid,5000,1)

else

doPlayerSendTextMessage(cid,22,"The chest is empty.")

end

end

 

--------------------------------------------------

getPlayerVocation

sintaxe => getPlayerVocation(uid)

ação => Pega a Vocação do Player

exemplo:

-- Obter a Vocação do Player.

getPlayerVocation(cid)

 

--------------------------------------------------

getThingfromPos

sintaxe => getThingfromPos(pos)

ação => Seleciona um item que está na posição especificada

exemplo1:

-- Adquirir informações da posiçao.

geti = getThingfromPos(topos)

exemplo2:

-- Checar se o uniqueID do item q esta na posição e 5000.

if geti.uid == 5000 then

code

end

 

--------------------------------------------------

getTilePzInfo

sintaxe => getTilePzInfo(pos)

ação => Retorna 1 se o tile for PZ e 0 se não for PZ

PZ => Protection zone (templos, dps, houses)

exemplo1:

-- Checar se o Tile e pz.

getTilePzInfo(topos)

exemplo2:

-- Exemplo do getTilePzInfo() num simples script de remoçao

-- A action funciona só se o player estiver fora d um pz

function onUse(cid, item, frompos, item2, topos)

if getPlayerMagLevel(cid) >= 4 then

ipos = {x=topos.x, y=topos.y, z=topos.z, stackpos=255}

geti = getThingfromPos(ipos)

if geti.itemid > 0 then

if getTilePzInfo(topos) == 0 then

doSendMagicEffect(topos,2)

doRemoveItem(geti.uid,100)

if item.type > 1 then

doChangeTypeItem(item.uid,item.type-1)

else

doRemoveItem(item.uid,1)

end

else

doSendMagicEffect(frompos,2)

doPlayerSendCancel(cid,"This action is not allowed in protection zone.")

end

else

doSendMagicEffect(frompos,2)

return 0

end

else

doSendMagicEffect(frompos,2)

doPlayerSendCancel(cid,"You don't have the required magic level to use that rune.")

end

return 1

end

 

--------------------------------------------------

Como colocar texto em um livro

arquivo.lua

 

function onUse(cid, item, frompos, item2, topos)

 

doSetItemText(item.uid,"Texto do livro!")

doShowTextWindow(item.uid,100,0)

-- Qualquer dúvida procure pelas respectivas funções

 

return 1

end

 

--------------------------------------------------

setGlobalStorageValue

sintaxe => setGlobalStorageValue(valueid, newvalue)

ação => Muda um value-id para outro.

Exemplo1:

-- Troca o value-id.

setGlobalStorageValue(2424, 2425)

Exemplo2:

-- Exemplo do getGlobalStorageValue numa simples quest.

 

function onUse(cid, item, frompos, item2, topos)

 

if item.uid == 2425 then

queststatus = getGlobalStorageValue(cid,2425)

if queststatus == -1 then

doPlayerSendTextMessage(cid,22,"You have found an Helmet Of The Deep.")

doPlayerAddItem(cid,5461,1)

setGlobalStorageValue(2424, 2425)

else

doPlayerSendTextMessage(cid,22,"It is empty.")

end

else

return 0

end

return 1

end

 

--------------------------------------------------

doPlayerSendTextMessage

sintaxe => doPlayerSendTextMessage(uid,MessageClasses,message )

ação => Envia diferentes tipos de mensagem ao player.

exemplo:

-- SEnvia uma msg vermelha no meio da tela para o player.

doPlayerSendTextMessage(cid,22,"Hello world!")

--------------------------------------------------

 

OBS: Eu sei que tem alguns tutoriais de actions mais esse está mais "completo", eu acho.

 

 

 

Obrigado =DD

 

Creditos:

LaB Ora!

Frerety!

Deco20!

Conde Sapo!

 

Por Favor Comentem !

Editado por deco20
Link para o comentário
Compartilhar em outros sites

doPlayerSay

sintaxe => doPlayerSay(uid,text,type)

ação => Faz o player falar uma msg.

exemplo:

-- Enviar uma msg normal.

doPlayerSay(cid,"Hello world!",2)

Esse seu exemplo de "msg normal"

Type 2 não é msg normal

Você deveria ter usado Type 1.

 

Olha o data\golbal.lua

TALKTYPE_SAY  = 1
TALKTYPE_WHISPER = 2
TALKTYPE_YELL = 3
TALKTYPE_PRIVATE = 4
TALKTYPE_CHANNEL_Y = 5
TALKTYPE_BROADCAST = 9
TALKTYPE_CHANNEL_R1 = 10
TALKTYPE_PRIVATE_RED = 11
TALKTYPE_CHANNEL_O = 12
TALKTYPE_CHANNEL_R2 = 14
TALKTYPE_ORANGE_1 = 16
TALKTYPE_ORANGE_2 = 17

Type 2 é cochichar.

Incrementa seu tutorial com essas informaçoes

 

 

No data\global.lua você também vai achar isto

MESSAGE_STATUS_WARNING = 18
MESSAGE_EVENT_ADVANCE = 19
MESSAGE_EVENT_DEFAULT = 20
MESSAGE_STATUS_DEFAULT = 21
MESSAGE_INFO_DESCR = 22
MESSAGE_STATUS_SMALL = 23
MESSAGE_STATUS_CONSOLE_BLUE = 24
MESSAGE_STATUS_CONSOLE_RED  = 25

 

Muito bom pra incrementar esta parte aqui

doPlayerSendTextMessage

sintaxe => doPlayerSendTextMessage(uid,MessageClasses,message )

ação => Envia diferentes tipos de mensagem ao player.

exemplo:

-- SEnvia uma msg vermelha no meio da tela para o player.

doPlayerSendTextMessage(cid,22,"Hello world!")

 

E tem muito mais coisas pra você extrair do global.lua.

 

Seu tutoriasl ficou BOM

Mas vai ficar PERFEITO se você incrementar.

 

 

:thumbsupsmiley:

Link para o comentário
Compartilhar em outros sites

bom tutorial...

mas eu vi um igualzinho aki no xtibia... soh mudo as cores...

intaum por mim ta reprovado =/

flw

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

@Conde Sapo

pronto arrumei para type 1 e incrementei o que vc pediu !

obrigado por corrigir ! =]

seus creditos foram adicionados ao tutorial !

 

@Cavaleiro Jedy

obrigado ! =]

 

@Thayam

vlw thayam ! =]

 

@Skulls

vc tem certeza?

passa o link entao ¬¬

 

Cya

Editado por deco20
Link para o comentário
Compartilhar em outros sites

@Skulls

se vc não sabe ler olha o que eu botei!

vlw pelo seu "inutel" comentario

OBS: Eu sei que tem alguns tutoriais de actions mais esse está mais "completo", eu acho.
Link para o comentário
Compartilhar em outros sites

Retiro o que eu disse agora e anteriormente...

 

vi seus topicos e tive de concordar que voce nao copiou esse topico

 

parabens

 

mto bom

 

flw

Editado por Skulls
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...