Level Protection

Vodkart
em Globalevents e Spells

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

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

bossisg.png

Ekasus

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/01/12Posts: 12

Porque tem que adicionar isto:

 

registerCreatureEvent(cid, "ProtectLevel")

 

No login.lua?

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

sim,no login.lua

 

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

bossisg.png

Ekasus

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 05/01/12Posts: 12

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

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

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?

bossisg.png

Leandrinhow

Ajudei? +REP
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 26/12/11Posts: 83Char no Tibia: Wake Best

@TOPIC

 

Valeu , eu estava precisando desse script msm ^^'

- N E W -



 

signbest.gif

Demonbholder

avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 13/10/08Posts: 1551Char no Tibia: Demonbholder

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.

Oie :D

Leonard02

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/07/11Posts: 29Char no Tibia: Matabot

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

 

Obrigado.

Ajudei? Então da REP +

 

bannercopyj.png

Originalmente By: Leonard02

Meus Trabalhos:

Enivil

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 17/01/12Posts: 8Char no Tibia: Chai Nold

Leonard02 aceita eu no msn quero falar com vc sobre fantasy

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

Funcionando 100%

 

qualquer dúvida postem

 

edited

 

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

abraços

bossisg.png

Denuvo

Etheriongames - Designing Your Entertainment.
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 01/05/11Posts: 658Gênero: MasculinoChar no Tibia: ExTibiano

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

mt bom!

❝Eu prefiro confiar e me arrepender do que duvidar e me arrepender.❞ Kirito

 

 

Elexonic

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/02/11Posts: 30

muito bomeu amoo seu script

parabéns=)

lool

Elexonic

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/02/11Posts: 30

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

 

lool

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gênero: Masculino

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

bossisg.png