Ir para conteúdo

Distance Weapons Igual Tibia Rl


genoma

Posts Recomendados

Primeiramente quero dizer que este é meu primeiro tutorial e me desculpem desde já qualquer erro.

Então sem mais blá blá blá e vamos ao que interessa.

Lembrando que : serve também para Royal Spear, Enchanted Spear e todas armas de distance, o processo é o mesmo ( óbvio ).

 

Abra a pasta do seu OT: data/weapons e abra seu arquivo weapons.xml:

 

Procure pelas armas distance weapons e veja se sua spear está assim:

 

<distance id="2389" ammo="move" enabled="1" script="spear.lua">

 

Agora que está o segredo! Repare bem onde destaquei em azul, mude para HAND, ficando assim:

 

<distance id="2389" ammo="hand" enabled="1" script="spear.lua">

 

Agora temos que editar a arma no seu script:

Vá em data/weapons/scripts e apague todo conteúdo do arquivo spear.lua, substituíndo assim:

 

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)

setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0.7, 0)

 

function onUseWeapon(cid, var, item)

--By GENOMA

 

chance = 11

 

quebrar = math.random(1,chance)

if quebrar == 1 then

doPlayerRemoveItem(cid,2389,1)

 

end

 

return doCombat(cid, combat, var)

end

 

Explicando o que acontece:

Onde está em verde significa a variável da chance dela quebrar ao usar nos bixos.

Neste exêmplo, a chance dela se quebrar é 1 em 11 tacadas.Se quiser que demore mais para quebrar, mude a chance para 12,13...assim por diante xD

Onde está em vermelho é o ID do objeto(no caso a spear).

 

Podem testar que garanto 100%.

 

OBS IMPORTANTE: Versões anteriores ao 8.0 NÃO colocar ammo="hand" no weapons.xml.Deixe "move" mesmo que funfa. ( ty Conde ).

 

Bom, é isso ae...lembrando que se quiser fazer o mesmo com Royal Spear, Enchanted Spear, Throwing Star, etc... basta fazer o mesmo processo, apenas trocando o ID no arquivo da arma.xml e arma.lua e configurando o DAMAGE à seu gosto.:p

 

 

Créditos 50% à mim e 50% ao @Conde Sapo pois graças aos tutoriais dele que vi, aprendi criar script.

Fuis.

Espero que aprovem, pois nunca vi um OT com as spear funcionando como no global :D

 

Fuis...

 

:XTibia_smile:

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

Créditos 50% à mim e 50% ao @Conde Sapo pois graças aos tutoriais dele que vi, aprendi criar script
Brigaúúúú pelo carinho

Mas o mérito é todo seu.

 

Você testou antes de postar aqui ???

 

Aqui não funcionou por 2 motivos :

break = math.random(1,chance)

break é uma palavra RESERVADA e não pode ser usada.

(gera erro e não carrega)

 

precisei substituir a palavra break por quebrar

(Uso Evolutions 7.92)

 

ammo="hand"

Não deu certo aqui.

A spear não saiu e também não atingiu o bicho

 

Voltei pra

ammo="move"

Voltou a funcionar direitinho.

 

Sendo assim , meu comentário é :

 

Não trocar MOVE por HAND

 

e

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0.7, 0)

function onUseWeapon(cid, var)
--By GENOMA
chance = 11
quebrar = math.random(1, chance)
if quebrar == 1 then
	doPlayerRemoveItem(cid,2389,1)
end
return doCombat(cid, combat, var)
end

 

mas o script ficaria menor assim

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0.7, 0)

function onUseWeapon(cid, var)
--By GENOMA
if math.random(1, 11) == 1 then
	doPlayerRemoveItem(cid,2389,1)
end
return doCombat(cid, combat, var)
end

 

Funcionou PERFEITAMENTE

As spear quebram agora.

aplauso.gif

 

Parabundas pela idéia

:thumbsupsmiley:

Link para o comentário
Compartilhar em outros sites

Créditos 50% à mim e 50% ao @Conde Sapo pois graças aos tutoriais dele que vi, aprendi criar script.
Brigadúúúú pelo carinho.

Mas o mérito é todo seu.

 

Você testou antes de postar aqui ???

 

Não funcionou aqui por 2 motivos :

break = math.random(1,chance)

break aqui é uma palavra RESERVADA e isso gera erros.

(Uso Evolutions 7.92)

 

Precisei subistituir a palavra break por quebrar

 

e isto aqui também

ammo="hand"

A spear não saia e nem tirava hit do monstro.

 

voltei como estava antes

ammo="move"

Ae funcionou direitinho.

 

Sendo assim meu comentário é :

Não trocar MOVE por HAND

 

e o script fica assim :

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0.7, 0)

function onUseWeapon(cid, var)
--By GENOMA
chance = 11
quebrar = math.random(1, chance )
if quebrar == 1 then
	doPlayerRemoveItem(cid,2389,1)
end
return doCombat(cid, combat, var)
end

Só substituí a palavra break por quebrar

 

mas ficaria menor assim :

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SPEAR)
setCombatFormula(combat, COMBAT_FORMULA_SKILL, 0, 0, 0.7, 0)

function onUseWeapon(cid, var)
--By GENOMA
if math.random(1, 11) == 1 then
	doPlayerRemoveItem(cid,2389,1)
end
return doCombat(cid, combat, var)
end

 

Funcionou PERFEITAMENTE

A spear quebra (1 pra 11)

aplauso.gif

 

Parabundas pela idéia.

eu recomendo.

 

:XTibia_smile:

 

Ps.: Por algum motivo que desconheço saiu 2 vezes.

Aproveitei e fiz umas correçõezinhas.

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

fiz uma mudançazinha no script ( vlw Conde ).

 

E quanto ao "hand" aqui funcionou certinho. Pois quando deixei "move", não funcionou :/

Bom, acho que essa parte do script é só para 8.0 mesmo ^^

 

 

Comentem :XTibia_smile:

Link para o comentário
Compartilhar em outros sites

Tome cuidado com flood , você fez double post
Não deu pra perceber que é o MESMO tópico que saiu 2 vezes ???.

Isso acontece algumas vezes.

Você clica em ENVIAR e a página não abre.

Então você volta e ENVIAR de novo.

 

Já vi post de 4 vezes aqui.

 

 

 

@Genoma

Talvez fosse interessante então você informar no tutorial que pode haver esse problema.

 

Versão 8.0 usar HAND

Versão anterior usar MOVE

 

 

Ficou ÓTIMO o tutorial.

:thumbsupsmiley:

Link para o comentário
Compartilhar em outros sites

parabens genoma...

ta se mostrando cada vez mais melhor hsahusahusahusahusahusa

 

otimo tutorial...

 

vai ajuda mta gente assim como resolveu uma duvida minha ^^

 

flw e parabens

Link para o comentário
Compartilhar em outros sites

  • 1 month later...

CARA!!! MUITO OBRIGADO!!! TAVA PRECISANDO MUITO DISSO MUITO OBRIGADO MESMO CARA

MERECE UM BEIJO apoekPAOKEPOakepokAPEKapoekpoAKEPOakepAKEPO

 

Vlwzão mesmo!!! :smile_positivo: :smile_positivo: :smile_positivo:

Link para o comentário
Compartilhar em outros sites

  • 6 months later...
×
×
  • Criar Novo...