VO

Level Protection

Por Vodkart, 13 de jan. de 2012 em Globalevents e Spells

script
37
10.3k
VodkartV
13 de janeiro de 2012 às 22:23

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 Maio 20 por Vodkart

EkasusE
14 de janeiro de 2012 às 16:40

Porque tem que adicionar isto:

 

registerCreatureEvent(cid, "ProtectLevel")

 

No login.lua?

VodkartV
14 de janeiro de 2012 às 16:55

sim,no login.lua

 

para que possa ser registrado o evento quando o jogador morrer :]

Editado Janeiro 14 por Vodkart

EkasusE
15 de janeiro de 2012 às 15:32

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

VodkartV
15 de janeiro de 2012 às 16:43

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 Janeiro 15 por Vodkart

LeandrinhowL
19 de janeiro de 2012 às 15:24

@TOPIC

 

Valeu , eu estava precisando desse script msm ^^'

19 de janeiro de 2012 às 15:39

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 Janeiro 19 por Demonbholder

Leonard02L
19 de janeiro de 2012 às 15:39

Olá Vodkart Você tem msn? queria tirar algumas duvidas com vc sobre scripts.

 

Obrigado.

EnivilE
19 de janeiro de 2012 às 15:48

Leonard02 aceita eu no msn quero falar com vc sobre fantasy

2 meses depois...
VodkartV
28 de março de 2012 às 13:11

Funcionando 100%

 

qualquer dúvida postem

 

edited

 

adc 2 versão,v1 totalmente configurável...

abraços

2 meses depois...
DenuvoD
04 de maio de 2012 às 19:55

muito bom.. é mais viavel para iniciantes. ex: até o lvl 8 o player ao morrer naum perde lvl nem skill etc..

mt bom!

ElexonicE
05 de maio de 2012 às 10:15

muito bomeu amoo seu script

parabéns=)

Editado Maio 6 por Elexonic

2 semanas depois...
ElexonicE
13 de maio de 2012 às 11:27

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

 

VodkartV
13 de maio de 2012 às 11:36

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

ElexonicE
19 de maio de 2012 às 19:38

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.