Ir para conteúdo

Level Protection


Vodkart

Posts Recomendados

Serve para que o jogador até determinado level não perca Skill,Exp,Loot ao morrer(configurável)

 

 

 

 

creaturescript/script

 

levelprotection.lua

 

V1 é uma versão totalmente configurável,magic,exp,skills!

 

function onDeath(cid, corpse, deathList)
local config = {
onlypremium = true, -- se precisa ser premium para não perder nada
exp = true, -- se ao morrer o jogador irá perder exp
skills = false, -- se ao morrer vai perder skills
magic = false, -- se vai perder magic level
loot = false, -- se ao morrer o jogador irá perder o loot
level = 50 -- até que level irá proteger o player
}
if isPlayer(cid) and getPlayerLevel(cid) <= config.level then
if config.onlypremium == true and not isPremium(cid) then return TRUE end
if config.loot == false then doCreatureSetDropLoot(cid, false) end
if config.magic == false then doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) end
if config.skills == false then doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) end
if config.exp == false then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end
return TRUE end return TRUE end

 

V2 -- é uma versão já configurada, false para não perder skills e level e true vai perder tudo.

 

function onDeath(cid, corpse, deathList)
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
}
if isPlayer(cid) and getPlayerLevel(cid) <= config.level then
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

 

 

 

creaturescript.xml

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

 

 

creaturescript/script/login.lua adicione:

registerCreatureEvent(cid, "ProtectLevel")

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Não necessariamente.

Vária de situação,por exemplo um creaturescript que envolva algum tipo de ação com mob não precisaria.

 

Está interessado em creaturescript? também gosto :p

 

@topic

 

você testou o script?

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

Todos os creaturescripts que eu criar tenho que adicionar no login.lua?

 

Para um creaturescript funcionar você tem que registra-lo no jogador de algum modo. Se não houver um script próprio que faça isso, se coloca no login.lua.

 

onLogin e onLogou não precisam ser registrados.

 

@topic

 

Script interessante. Parabéns.

Editado por Demonbholder
Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 1 month later...
  • 2 weeks later...

Use este comando para resetear mis jugadores.

 

 

UPDATE players SET promotion =0, level =8, health =150, healthmax =150, experience =4200, maglevel =0, mana =35, manamax =35, manaspent =0, cap =420, loss_experience =100, loss_mana =100, loss_skills =100, loss_containers =100, loss_items =100

 

e colocar o script .. e de repente .. quando mori .. eu saio do nível 1.

Este pode ser o problema?

 

 

function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)

local config = {

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

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

skills = false, -- se ao morrer vai perder skills

magic = false, -- se vai perder magic level

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

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

}

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

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

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

if config.magic == false then doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 0) end

if config.skills == false then doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 0) end

if config.exp == false then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 0) end

return TRUE end return TRUE end

 

Link para o comentário
Compartilhar em outros sites

não, geralmente quando isso acontece é porque o jogador comprou bless.

Ai se eu não me engano é um bug do distro algo do tipo

Link para o comentário
Compartilhar em outros sites

ter se você pode me ajudar com meu problema. ao usar o script eu tenho esse problema aqui, eu lhe disse no seu tópico .. jogadores que eu desça para o nível 1 http://www.xtibia.com/forum/topic/177979-level-protection/~~V Bleessing meu sistema necessário para mudá-lo para um como este. Você pode me dizer que pode dar errado? http://pastebin.com/7wPKNkpW Obrigado.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...