[Pedido] Quando Player Morre, Vai Direto Pro Templo Sem Perder Loot
Por andretoprox, 06 de abr. de 2012 em Scripts
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master

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...
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

que mensagem?
info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master


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
info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master

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?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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!
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
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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?
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é?
? function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

mas ae é só tirar a mensagem
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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é?
? 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
A mensagem ja vem com o tfs eu acho.. não consigo ver a imagem q ele postou





info
Grupo: Campones
Registrado: 29/10/11
Posts: 53
Reputação: +3
Char no Tibia: Razzor Master
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+++