o item usado você coloca na tag.xml
o script do item é esse.
--[[> Marcryzius <]]--
function onUse(cid,item)
local C = {}
C.get = getPlayerStorageValue(cid,2222)
C.pos = getCreaturePosition(cid)
if(C.get == -1)then
doSendMagicEffect(C.pos,12)
doRemoveItem(item.uid)
doSendMensagemEvent(cid)
setPlayerStorageValue(cid,2222,0)
else
doPlayerSendCancel(cid,'Você ja usou esse item.')
end
return TRUE
end
agora você adiciona na lib function:
function doSendMensagemEvent(cid)
local C = {}
C.pos = getCreaturePosition(cid)
C.get = getPlayerStorageValue(cid,2222)
C.voc = getPlayerVocation(cid)
C.time = 1 --Tempo em segundos entre as mensagems.
C.msg = {}--Estrutura.
C.msg[1] = 'primeira mensagem.'
C.msg[2] = 'segunda mensagem.'
C.msg[3] = 'terceira mensagem.'
C.msg[4] = 'quarta mensagem.'
C.cor = {} --Estrutura.
C.cor[1] = { 1,14} --Vocação id 1 e cores de 1 a 14.
C.cor[2] = {22,27} --Vocação id 2 e cores de 22 a 27.
C.cor[3] = {28,33} --Vocação id 3 e cores de 28 a 33.
C.cor[4] = {15,21} --Vocação id 4 e cores de 15 a 21.
if(C.get == 0)then--Verifica se ele tem o valor necessario.
if(getPlayerGUID(cid))then --Verifica se esta online.
local corRandom = math.random(C.cor[C.voc][1],C.cor[C.voc][2])
local msgRandom = math.random(1,#C.msg)
doSendAnimatedText(C.pos,C.msg[msgRandom],corRandom)
addEvent(doSendMensagemEvent,C.time*1000,cid)
end
end
end
em creaturescripts adicione em qualquer script de evento onlogin a função doSendMensagemEvent(cid), que faz iniciar o loop das mensagens.


info
Grupo: Campones
Registrado: 20/07/09
Posts: 41
Reputação: +3
Olá galera do xtibia! Gostaria de uma action para meu novo projeto.
Na action eu queria o seguinte..
1- Ao usar um item:
2- Mostrar um efeito no player somente uma vez..
3- Ficar enviando 4 tipos de mensagens (math.random) animadas(doSendAnimatedText) e as 4 mensagens serão Para qualquer tipo de vocação.
As mensagens serão msg1, msg2, msg3, msg4...E elas terão que ser aleatorias..
Exemplo: Primeiro mostra a msg4 depois mostra a msg2 depois a msg4.. E assim vai.. sem parar.. [ Mesmo se o char logar.. Continuar fazendo isto ]
4- Cada vocação tera os tipos de cores [nas quais eu vou escolher cada cores para cada tipo de vocação]..
EXEMPLO: As cores de 0 até 14 serão de sorcerer, As cores de 15 até 21 serão de knight, As cores de 22 até 27 serão de druid, As cores de 28 até 33 serão de paladin..
5- Mesmo se o Player der logout e entrar continuar fazendo todo este processo... Sendo uma (storage)..
6- Se usar uma vez o item some. E se o player tentar usar novamente o mesmo item mostrar uma mensagem de erro...
A Versão do meu ot: 8.5 TFS
Utilizo: Alissow OTServer
Meu nivel de experiencia é muito pouco.. Mas entendo alguns scripts.. E sei varias coisas basicas de um scripter..
(math.random) = Aleatoriamente...
OBS: Pessoal demorei um montão para organizar este tópico sem contar que estudei bastante para fazer o tópico.. E se num for suficiente vou explicar fazendo um video.
Caso tenha dúvida.. Poste sua dúvida no tópico. Por favor preciso muito disso!
Quem puder me ajudar seria uma honra!
Desde Já, Grato!
Editado Março 17 por Focost