Ir para conteúdo

Featured Replies

Postado

Nome do Script: Arma que ao bater , heale uma % do dano causado.

Tipo do Script: Weapons, ou creaturescript

Versão Utilizada: 8.6

Servidor Utilizado: tfs 0.4

Nível de Experiência: Intermediário

Informações extras: Se for ajudar de alguma forma tenho um script parecido, só que o problema neste é que o heal é dado de acordo com o life do monstro, não o dano causado. Obrigado desde já!

-- <Script by jhon992> --

local weaponpar = {2431} -- id dos items que sugarão life

local chancepar = 100 -- chance de sugar (10 = 10%, 20 = 20%, 30 = 30%, 1 = 1%, 5 = 5%) e assim por diante

function onAttack(cid, target)

if ((getCreaturePosition(target).x == getCreaturePosition(cid).x or getCreaturePosition(target).x == getCreaturePosition(cid).x+1 or getCreaturePosition(target).x == getCreaturePosition(cid).x-1) and (getCreaturePosition(target).y == getCreaturePosition(cid).y or getCreaturePosition(target).y == getCreaturePosition(cid).y+1 or getCreaturePosition(target).y == getCreaturePosition(cid).y-1)) then

for i=0, #weaponpar do

if (getPlayerSlotItem(cid, 5).itemid == weaponpar or getPlayerSlotItem(cid, 6).itemid == weaponpar) then

if (math.random(1,100) > (100 - chancepar)) then

life = (getCreatureHealth(target)*0.05)

doSendMagicEffect(getCreaturePosition(target), 98)

doCreatureAddHealth(cid, life)

return true

else

return true

end

end

end

end

return true

end

PS: Uma dúvida que acabou surgindo, sabem qual versão do item editor posso usar para alterar os items.otb do tfs 0.4, usei o item editor 8.6, e na hora de executar, deu erro para dar load no items.otb.

ps&sup2;:

Nome do script: Vocação x só pode usar armas e equipamentos configurados para esta

Tipo do Script: Weapons, ou movements

Versão Utilizada: 8.6

Servidor Utilizado: tfs 0.4

Nível de Experiência: Intermediário

Informações extras: Vou criar uma nova vocação no meu servidor, e quero deixar o atkspeed dela cerca de 3x maior que o normal, mas para equilibrá-la iria editar algumas armas diminuindo seus ataques de maneira inversamente proporcional, logo essa vocação não poderia utilizar armas comuns pois iria rancar muito dano. E seria extremamente trabalhoso eu adicionar cada arma que existe no tibia para todas as vocações, menos a X, então gostaria de saber se vocês conhecem algum script, ou algoque fizesse com que essa vocação X só pudesse usar ou equipar as armas com determinados ids.

Obs: Se não tiver como fazer algo do tipo, me sugiram alguma maneira mais rápida e menos trabalhosa para colocar vocação nas armas.

Rep + se me ajduarem, obrigado.

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

Postado

~Aylon

E ae acara eu acho que tenho a solução para seus problemas então lá vai!

Bom eu inverti as coisas aqui agora vou resolver...andei pesquisando e achei isso olha se ajuda ^^Primeiro em data/creaturescripts/scripts, cria um arquivo chamado "health_level" sem as aspas e nele cole:

[/size][/color]

[color=#FF0000][size=6]local storage = 3456[/size][/color]

[color=#FF0000][size=6]function onStatsChange(cid, attacker, type, combat, value)

    if type == STATSCHANGE_HEALTHLOSS then

		    if isPlayer(attacker) then

				    if getPlayerStorageValue(attacker, storage) > 0 then

                            [/size][/color][color=#282828][size=2] [size=6]  doCreatureAddHealth[/size][/size][/color][size=6][color=#282828]([/color][color=#282828]attacker[/color][color=#282828],[/color][color=#282828] math[/color][color=#282828].[/color][color=#282828]random[/color][color=#282828]([/color][color=#282828]getPlayerLevel[/color][color=#282828]([/color][color=#282828]attacker[/color][color=#282828])[/color][color=#282828] [/color][color=#282828]*[/color][color=#282828] [/color][color=#282828]2[/color][color=#282828],[/color][color=#282828]getPlayerLevel[/color][color=#282828]([/color][color=#282828]attacker[/color][color=#282828])[/color][color=#282828] [/color][color=#282828]*[/color][color=#282828] [/color][color=#282828]3[/color][color=#282828]))[/color][color=#FF0000]  [/color][/size]

[color=#FF0000][size=6]				    end

		    end

    end

return true

end[/size][/color]

[color=#FF0000][size=6]function onCombat(cid, target)

    if isPlayer(cid) then

	    registerCreatureEvent(target, "healthLevel")

    end

return true

end[/size][/color]

[color=#FF0000][size=6]
Agora no creaturescripts.xml Adicione as linhas:


<event type="statschange" name="healthLevel" event="script" value="health_level.lua"/>

<event type="combat" name="healthHit" event="script" value="health_level.lua"/>[/size][/color]

[color=#FF0000][size=6]
[/size][/color]

[color=#FF0000][size=6]E no login.lua, antes do último return true põe:

registerCreatureEvent(cid, "healthHit")

foi o que achei durante algumas pesquisas^^ não custa tentar^^

O em preto fará o dano ser randomico cada hora um valor de hit ^^

Se gostou dá um Rep+ e se poder ^^ upa meu pet ai! ;]

8672788.png

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

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.6k

Informação Importante

Confirmação de Termo