Ir para conteúdo

[ PEDIDO ] Da Use em um item e ganha uma talkactions por dias

Featured Replies

Postado

Como ja diz no titulo, quero um jeito de fazer essa scripts a baixo, funcione do seguinte jeito .. Um player ganha um item x, e ao da use nesse item x ele ganha essa talkactions por um determinado dias, como se fosse uma forma de vender essa talkactions !!

 

data\talkactions\scripts

-- CONFIGURAÇÕES

aurastr = 25950 -- storage da aura
estr = 25951 -- storage para o exhaust
porcentagem = 40 -- chance de curar em cada volta da aura, em porcentagem
quantheal = 10 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura)
tempo = 1180 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar)
tipoaura = 30 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo)
efeitocura = 49 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo)
 
-- Função que chama a aura
function efeitosAura(i,tm,cid)
if(isCreature(cid)) then
        local atual = getCreaturePosition(cid)
local posaura = {
{x=(atual.x)-1, y=(atual.y)-1, z=atual.z},
{x=atual.x, y=(atual.y)-1, z=atual.z},
{x=(atual.x)+1, y=(atual.y)-1, z=atual.z},
{x=(atual.x)+1, y=atual.y, z=atual.z},
{x=(atual.x)+1, y=(atual.y)+1, z=atual.z},
{x=atual.x, y=(atual.y)+1, z=atual.z},
{x=(atual.x)-1, y=(atual.y)+1, z=atual.z},
{x=(atual.x)-1, y=atual.y, z=atual.z},
}
local chances = math.random(100)
if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then
doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal)
if(i<=8 and i>1) then
doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, atual, tipoaura)
else
doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura)
end
doSendMagicEffect(atual, efeitocura)
end
if(i==8) then
doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura)
elseif(i<8) then
doSendDistanceShoot({x=posaura.x, y=posaura.y, z=posaura.z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura)
end
if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then
i = i+1
tm = tempo/8
return addEvent(efeitosAura,tm,i,tm,cid)
elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then
return efeitosAura(1,0,cid)
else
return TRUE
end
else
return TRUE
end
end
 
-- Função principal
function onSay(cid, words, param, channel)
if(param=="on") then
if getPlayerStorageValue(cid, estr) > os.time() then
doPlayerSendCancel(cid, "Espere "..(getPlayerStorageValue(cid, estr) - os.time()).." segundos para poder habilitar aura novamente.")
else
if(getPlayerStorageValue(cid, aurastr)==2) then
doPlayerSendCancel(cid,"Sua aura já está habilitada.")
elseif(getPlayerStorageValue(cid, aurastr)==-1) then
doPlayerSendCancel(cid,"Aura ligada!")
setPlayerStorageValue(cid, aurastr, 2)
efeitosAura(1,tempo/8,cid)
end
end
elseif(param=="off") then
if(getPlayerStorageValue(cid, aurastr)==2) then
setPlayerStorageValue(cid, estr, os.time()+2)
setPlayerStorageValue(cid, aurastr, -1)
doPlayerSendCancel(cid,"Aura desligada!")
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Digite '!aura on' para ligar sua aura, e '!aura off' para desligá-la.")
end
return TRUE

end

 

 

 

 

data\talkactions.xml

 

 

<talkaction words="!aura" event="script" value="aura.lua"/>

 

 

- Deste já agradeço a colaboração de vocês !!

  • Respostas 29
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • aura.lua talkactions.xml agora a parte do item itemaura.lua actions.xml Obs:desculpe a demora estou aprendendo ainda ae demoro um pouco pr

  • só trocar o 1 pelo numero de dias... tipo ta pra 1 dia.. se quiser 7 fica 7*24*60*60     Se duvida foi sanada? se sim marque melhor resposta para que tópico possa ser fechado

Postado

Eduardo tenho uma dúvida se fizer isso o ostime não vai contar só quando o player estiver on ou ele roda enquanto player estiver off também?

 

 

obs: deixe eu fazer o script pro unico pra treinar :).

Editado por llucas75 (veja o histórico de edições)

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Postado
  • Autor

Porfavor nao esqueçam o foco do topico que e minha duvida ^^ ... se tive como ajeita essa scripts minha para poder funcionar do jeito que eu preciso , agradeço (:

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo