Ir para conteúdo
  • 0

[Pedido] Quando Player Morre, Vai Direto Pro Templo Sem Perder Loot


Pergunta

Tipo do script: Creaturescript

Protocolo (versão do Tibia): 8.60

Servidor utilizado: New Slayer Yurots

Nível de experiência: mediana

Adicionais/Informações: O título já diz tudo e eu vou dar 3 REP+++

Link para o comentário
https://xtibia.com/forum/topic/183908-pedido-quando-player-morre-vai-direto-pro-templo-sem-perder-loot/
Compartilhar em outros sites

Posts Recomendados

  • 0

Obrigado já dei 1 REP + o próximo é amanhã

 

Ah, está faltando a parte de não aparecer a mensagem de morte... Aquela you has been died acho que é assim...

  • 0

Bom você sabe que essa script só vai funciona até certo level né?

você quer algo para todo o server ou somente para um certo local, ex: arena..

 

Bom ta meio confuso o que você quer.. modifiquei a script veja se funciona, não testei

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

local config = {

onlypremium = true, -- se precisa ser premium para não perder nada

levelandskills = false, -- se ao morrer o jogador irá perder level e skill

loot = false, -- se ao morrer o jogador irá perder o loot

level = 50 -- até que level irá proteger o player

pos = getTownTemplePosition(cid)

 

}

if isPlayer(cid) and getPlayerLevel(cid) <= config.level then

doTeleportThing(cid, config.pos, TRUE)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

if config.onlypremium == true and not isPremium(cid) then return TRUE end

if config.loot == false then doCreatureSetDropLoot(cid, false) end

if config.levelandskills == false then doPlayerSetLossSkill(cid, 0) end

return TRUE end return TRUE end

 

Editado por Vilden
  • 0

Bom você sabe que essa script só vai funciona até certo level né?

você quer algo para todo o server ou somente para um certo local, ex: arena..

 

Bom ta meio confuso o que você quer.. modifiquei a script veja se funciona, não testei

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

local config = {

onlypremium = true, -- se precisa ser premium para não perder nada

levelandskills = false, -- se ao morrer o jogador irá perder level e skill

loot = false, -- se ao morrer o jogador irá perder o loot

level = 50 -- até que level irá proteger o player

pos = getTownTemplePosition(cid)

 

}

if isPlayer(cid) and getPlayerLevel(cid) <= config.level then

doTeleportThing(cid, config.pos, TRUE)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

if config.onlypremium == true and not isPremium(cid) then return TRUE end

if config.loot == false then doCreatureSetDropLoot(cid, false) end

if config.levelandskills == false then doPlayerSetLossSkill(cid, 0) end

return TRUE end return TRUE end

 

 

Perdi o loot e a mensagem ainda continuou...

E, sim, eu quero que todo o servidor quando morra seja que nem uma arena, sem aparecer essa mensagem, tendeu?

  • 0

mas na arena ele não perde level e nem loot, você quer isso?

porque se você colocar só pra não perde loot não tem como tirar a mensagem!

  • 0

Você adicionou as outras informações la do outro tópico?

 

creaturescript.xml

<event type="preparedeath" name="ProtectLevel" event="script" value="levelprotection.lua"/>

 

 

creaturescript/script/login.lua adicione:

registerCreatureEvent(cid, "ProtectLevel")

 

apareceu algum erro no exe?

 

________________________________________________

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) then

doTeleportThing(cid, getTownTemplePosition(cid), TRUE)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

end

Editado por Vilden
  • 0

vilden, o script funciona, porém ele quer que não apareça aquela mensagem de quando morre, e não tem como fazer isso!

Ah não ser que o jogador tbm não perca level,exp,skill etc... igual ao morrer na arena, ele não perde nada, entendeu?

  • 0

entendi mais a funcao de preparar para morte não acontece isso antes da morte?

de repente essa q eu postei agora funciona..

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) then

doTeleportThing(cid, getTownTemplePosition(cid), TRUE)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

 

end

 

essa função é isso né? o.O? function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

  • 0

mas ae é só tirar a mensagem

ai tem que editar nas source se não me engano, é aquela mensagem que aparece automaticamente quando o jogador morre.

 

 

entendi mais a funcao de preparar para morte não acontece isso antes da morte?

de repente essa q eu postei agora funciona..

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

if isPlayer(cid) then

doTeleportThing(cid, getTownTemplePosition(cid), TRUE)

doCreatureAddHealth(cid, getCreatureMaxHealth(cid))

doCreatureAddMana(cid, getCreatureMaxMana(cid))

 

end

 

essa função é isso né? o.O? function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

 

É ,mas eu achei que ele queria que o jogador só não perdesse loot.

 

assim funciona como em arena:

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
doCreatureSetDropLoot(cid, false)
doPlayerSetLossSkill(cid, 0)
return true 
end

ou

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
if isPlayer(cid) then
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true)
doCreatureAddMana(cid, getCreatureMaxMana(cid))
doRemoveConditions(cid, false)
return false
end
return true
end

Editado por Vodkart
×
×
  • Criar Novo...