Ir para conteúdo

Featured Replies

Postado

Eu gostaria de saber se eu consigo alterar o elemento de uma arrow com um script de talkaction.

Já encontrei uma action para isso, mas não é exatamente o que eu busco. Action para quem quiser ver: aqui

Ex da wand: [TALKACTION] Mudar elemento da wand

Eu gostaria de alterar o elemento da arrow digitando !arrow elemento. Exatamente igual ao link acima, mas com arrow ao invés de wand.

Tentei alterar do mesmo jeito que a wand, mas ao iniciar o laucher da erro no weapons.xml (não reconhece o script em data\weapons\scripts).

Tibia 8.60 - Id da arrow: 2352 e 1500 de dano.

+rep se alguém puder me ajudar. Desde já agradeço.

Meu primeiro tópico.

Postado

Esta é uma mensagem automática! Este tópico foi movido para a área correta.
Pedimos que você leia as regras do fórum.

Spoiler

This is an automated message! This topic has been moved to the correct area.
Please read the forum rules.

 

Bruno Carvalho / Ex-Administrador TibiaKing

[email protected]

 

Em 26/12/2016 em 03:47, Spraypaint disse:

A força da alienação vem dessa fragilidade dos indivíduos, quando apenas conseguem identificar o que os separa e não o que os une.

-miltinho

 

wMwSJFE.png?1

 

Postado

@Unbroken Não custa tentar.. Vamos lá:

 

Vá em Data/creaturescripts/scripts e abra o arquivo chamado login.lua e adicione isso antes do ultimo return true:

 

Spoiler

if getPlayerStorageValue(cid, 12036) == -1 then

setPlayerStorageValue(cid, 12036, 1)
end

 

Agora vá em Data/itens.xml e adicione isso ou modifique pelo que já ta la:

 

Spoiler

<item id="Id do item" article="the" name="nome da sua wand">

<attribute key="description" value="Só precisa mudar o id do item, o resto ta certo!" />
<attribute key="weight" value="2300" />
<attribute key="weaponType" value="arrow" />
<attribute key="shootType" value="holy" />
<attribute key="range" value="8" />

 

Agora vá em Data/talkactions.xml e adicione:

 

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

Agora vá em Data/Talkactions/scripts e crie um arquivo chamado bow.lua e adicione isto:

 

Spoiler
local param = string.lower(param)
local table = {
["fire"] = 12031,
["ice"] = 12032,
["earth"] = 12033,
["death"] = 12034,
["energy"] = 12035,
["holy"] = 12036
}
local id = 7735 --- Id da bow
local a = table[param]
 
if not a then
doPlayerSendTextMessage(cid, 28, "Digite !bow info para saber os elementos disponiveis")
return true
end
 
if (param == "info") then
for element, stor in pairs(table) do
text = "Elementos: "..element..""
doPlayerPopupFYI(cid, text)
end
end
 
if getPlayerItemCount(cid, id) >= 1 then
setPlayerStorageValue(cid, 12031, 0)
setPlayerStorageValue(cid, 12032, 0)
setPlayerStorageValue(cid, 12033, 0)
setPlayerStorageValue(cid, 12034, 0)
setPlayerStorageValue(cid, 12035, 0)
setPlayerStorageValue(cid, 12036, 0)
setPlayerStorageValue(cid, a, 1)
doPlayerSendTextMessage(cid, 27 , "Você mudou o elemento da wand para ".. param .. ".")
else
doPlayerSendTextMessage(cid, 28, "Desculpe, mais você precisa ter a ".. getItemNameById(id) .. " para trocar o elemento.")
end
return true
end

 

Agora vá em Data/weapons.xml e adicione:

 

<bow id="ID DA BOW" level="50" mana="0" min="0" max="0" type="earth" event="script" value="bow.lua">

<vocation id="1"/>
<vocation id="2"/>
<vocation id="5"/>
<vocation id="6"/>

Agora vá em Data/weapons/scripts e crie um arquivo chamado bow.lua e adicione isso:

 

Spoiler
[12031] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE},
[12032] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE},
[12033] = {ef = 45, sh = 38, dmg = COMBAT_POISONDAMAGE},
[12034] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE},
[12035] = {ef = 11, sh = 35, dmg = COMBAT_ENERGYDAMAGE},
[12036] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE}
}
 
function onUseWeapon(cid, var)
min, max = 300, 300 -- dano minimo e maximo
target = getCreatureTarget(cid)
for stor, info in pairs(w) do
if getPlayerStorageValue(cid, stor) == 1 then
if target ~= 0 then
doSendDistanceShoot(getThingPos(cid), getThingPos(target), info.sh)
addEvent(doAreaCombatHealth, 100, cid, info.dmg, getThingPos(target), 0, -min, -max, info.ef)
end
end
end
return true
end

 

Pronto! Obs: Não sei se vai dar certo, mais minha parte eu fiz, procurei, me informei e tentei, estou aí para ajudar..

Obs: Se eu lhe ajudei, de um REP+ :D

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