Ir para conteúdo

Assassin Star Bug Fixed


Shenlong

Posts Recomendados

Assassin Star Fixed

Antes de começar a fazer meu tutorial, gostaria de falar que: não sei se é o local certo aqui, mas caso esteja no local errado movam e m mandem mensagem por mp ccom o link de onde ele se encontra.

Créditos ao Alreth, Dark Rat/CHF - scripts

Shenlong - Por Ter Feito Tutorial no XTibia (não é cópia do deles)

 

Agora chega de converssa e vamos começar.Vá na pasta data/weapons/lib e abra o arquivo chamado weapons.lua e adicione nele o seguinte código:

function exhaust(cid, storevalue, exhausttime)

-- Exhaustion function by Alreth, v1.1

-- Returns 1 if not exhausted and 0 if exhausted

 

newExhaust = os.time()

oldExhaust = getPlayerStorageValue(cid, storevalue)

if (oldExhaust == nil or oldExhaust < 0) then

oldExhaust = 0

end

if (exhausttime == nil or exhausttime < 0) then

exhausttime = 1

end

diffTime = os.difftime(newExhaust, oldExhaust)

if (diffTime >= exhausttime or diffTime < 0) then

setPlayerStorageValue(cid, storevalue, newExhaust)

return 1

else

return 0

end

end

 

function lowBreak(cid, itid, count)

--lowBreak Function by Dark Rat/CHF done for solerarox.no-ip.info

chicken = getPlayerStorageValue(cid, itid)

if chicken == nil or chicken < 0 then

chicken = count

chicken = (chicken - 2)

else

chicken = (chicken - 1)

end

if chicken == (count - 2) then

setPlayerStorageValue(cid, itid, chicken)

return 0

else

setPlayerStorageValue(cid, itid, chicken)

return 1

end

 

end

 

Agora abra a pasta data/weapons/scripts e abras o arquivo da sua assassin star no meu caso foi assassin.lua, e apague o que tiver lá e coloque isto dentro.

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_BLOCKARMOR, 1)

setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)

setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 18)

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.1, -10, -0.4, -110)

 

function onUseWeapon(cid, var, item)

--By Dark Rat/CHF

if lowBreak(cid, 7834, 8) == 0 then

doPlayerRemoveItem(cid,7368,1)

return doCombat(cid, combat, var)

end

 

return doCombat(cid, combat, var)

end

nesta parte

if lowBreak(cid, 7834, 8) == 0 then

em azul é o número de cargas que vai ter cada assassin star no meu caso usei 8.Então é isto ai pessoal espero que gostem deste meu trabalho :D.

Até mais :XTibia_smile:

Link para o comentário
Compartilhar em outros sites

Parabéns Shenlong! Mais um excelente trabalho seu :smile_positivo:

Só uma dúvida:

if lowBreak(cid, 7834, 8) == 0 then

Se eu colocar 0 ali, ela ficará infinita ou não?

 

Spookyman~~

 

-- EDIT

5 estrelhinhas pra vc \o/

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

setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.1, -10, -0.4, -110)

 

mano... q eu saiba no global a força assassin star n eh por magic level... eh por distance skill \õ/

o certo seria :

setCombatFormula(combat, COMBAT_FORMULA_SKILL, -0.1, -10, -0.4, -110)

e tbm n eh de 8 cargas... eh por chance, ela tem 30% de chance de quebrar a cada hit...

 

otra coisa... por mais q esteja quase certo, a assassin star nunk vai ser 100% sendo feita com script no weapons/scripts.

vo ensinar como eh o certo (vale lembrar q em alguns ots pode não funcionar)

 

em weapons.xml cole a seguinte tag :

<distance id="7368" level="80" enabled="1" function="internalLoadWeapon"/> <!--Assassin Star-->

agora vai em itens.xml e procure pela tag da assassin star, pode estar certo, mas por via das dúvidas cole isso :

<item id="7368" article="an" name="assassin star" plural="assassin stars">

<attribute key="weight" value="200"/>

<attribute key="attack" value="65"/>

<attribute key="weaponType" value="distance"/>

<attribute key="shootType" value="redstar"/>

<attribute key="range" value="5"/>

<attribute key="breakChance" value="30"/>

<attribute key="ammoAction" value="moveback"/>

</item>

 

n vo explicar mta coisa.. soh isso :

<attribute key="breakChance" value="30"/>

30 eh a chance de quebrar a cada hit...

Link para o comentário
Compartilhar em outros sites

Legal para ots em xp alta, e que acabam as bolts/arrows, os paladins em ots são sempre os mais explorados, poderiam criar uma Ice Rapier assim, aí os knight nunca seriam tão explorados em ot, coitado de um Knight perto de um Paladin, e tenho dó de um Paladin perto de um sorcerer....

Mais mesmo assim , valew pelo script.

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

×
×
  • Criar Novo...