AN

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

Por andretoprox, 06 de abr. de 2012 em Scripts

tibia
script
otserv
18
6.6k
andretoproxA
06 de abril de 2012 às 21:01

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+++

VodkartV
andretoproxA
07 de abril de 2012 às 11:21

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

VodkartV
07 de abril de 2012 às 11:48

que mensagem?

andretoproxA
07 de abril de 2012 às 11:54
died.png
VildenV
07 de abril de 2012 às 11:58

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 Abril 7 por Vilden

andretoproxA
07 de abril de 2012 às 12:06

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?

VodkartV
07 de abril de 2012 às 12:09

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!

VildenV
07 de abril de 2012 às 12:10

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 Abril 7 por Vilden

VodkartV
07 de abril de 2012 às 12:13

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?

VildenV
07 de abril de 2012 às 12:15

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)

SubwatS
07 de abril de 2012 às 12:16

mas ae é só tirar a mensagem

VodkartV
07 de abril de 2012 às 12:20

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 Abril 7 por Vodkart

VildenV
07 de abril de 2012 às 12:21

A mensagem ja vem com o tfs eu acho.. não consigo ver a imagem q ele postou

VodkartV
07 de abril de 2012 às 12:22

é essa

 

died.png