Ir para conteúdo
  • 0

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


andretoprox

Pergunta

Posts Recomendados

  • 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
Link para o comentário
Compartilhar em outros sites

  • 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?

Link para o comentário
Compartilhar em outros sites

  • 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!

Link para o comentário
Compartilhar em outros sites

  • 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
Link para o comentário
Compartilhar em outros sites

  • 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?

Link para o comentário
Compartilhar em outros sites

  • 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)

Link para o comentário
Compartilhar em outros sites

  • 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
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...