Como Colocar Limite De Level?

felipapusco
em Scripts

felipapusco

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 02/03/08Posts: 29Char no Tibia: None

to precisando de um script que o level máximo seja 200

 

ou seja quando o player pegar lvl 200 não tem como upar mais que isso

 

OBS: não adianta colocar no stages level 200+ exp = 0, pois meu server é enforced entao só por meio de script msm

 

:thumbsupsmiley:

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

em creaturescripts/scripts crie um arquivo chamado levelmax.lua e cole o seguinte código:

 

local LevelMax = 200


function onAdvance(cid, skill, oldLevel, newLevel)
if skill == 8 then
	if oldLevel == LevelMax	then
		doPlayerAddLevel(cid, -1)
	end
end
return true
end

 

depois na mesma pasta procure o login.lua e registre o evento como

registerCreatureEvent(cid, "LevelMax")

 

na pasta anterior no arquivo creaturescripts.xml adc a seguinte tag:

<event type="advance" name="LevelMax" event="script" value="levelmax.lua"/>

 

para configurar o level max é bem simples é só mudar no script:

 

local LevelMax = 200

 

flw's

Demonbholder

avatar
Infante
Infante

INFOS

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

Só para complementar, tem outro jeito meio gambiarra de fazer, por stages:

 

<?xml version="1.0" encoding="UTF-8"?>
<stages>
<world id="0" multiplier="1">
	<stage minlevel="1" maxlevel="199" multiplier="XP"/>
	<stage minlevel="200" multiplier="0"/>
</world>
</stages>

 

Até.

 

--

 

Nesse jeito não sobe mana nem health.

Oie :D

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

OBS: não adianta colocar no stages level 200+ exp = 0, pois meu server é enforced entao só por meio de script msm

 

ele que diz...

Demonbholder

avatar
Infante
Infante

INFOS

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

Ahuahuhauha, é mesmo, nem tinha visto.

 

Mas usa return FALSE pra não subir health nem mana. Não sei se diminuindo um level tira a health e a mana.

 

Abraços.

Oie :D

felipapusco

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 02/03/08Posts: 29Char no Tibia: None

em creaturescripts/scripts crie um arquivo chamado levelmax.lua e cole o seguinte código:

 

local LevelMax = 200


function onAdvance(cid, skill, oldLevel, newLevel)
if skill == 8 then
	if oldLevel == LevelMax	then
		doPlayerAddLevel(cid, -1)
	end
end
return true
end

 

depois na mesma pasta procure o login.lua e registre o evento como

registerCreatureEvent(cid, "LevelMax")

 

na pasta anterior no arquivo creaturescripts.xml adc a seguinte tag:

<event type="advance" name="LevelMax" event="script" value="levelmax.lua"/>

 

para configurar o level max é bem simples é só mudar no script:

 

local LevelMax = 200

 

flw's

 

acho que não funfo fiz um char pra testar e..

20:27 You advanced from Level 172 to Level 181.

continuei lvl 181 :|

meubk

@miillerdomingues
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/04/08Posts: 311

que levelMax você pois, por que tá 200 e de 171 á 182 num passa nem pelo 200

felipapusco

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 02/03/08Posts: 29Char no Tibia: None

que levelMax você pois, por que tá 200 e de 171 á 182 num passa nem pelo 200

uhum mas eu mudei pra 180

local LevelMax = 180

:|

MatheusGlad

<~~> Scripter <~~>
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 09/09/09Posts: 528Char no Tibia: Emekalo Makalo

Tente assim:

local LevelMax = 180


function onAdvance(cid, skill, oldLevel, newLevel)
       if skill == 8 then
               if newLevel >= LevelMax then
                   doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid))
                   return false
               end
       end
       return true
end

Yours Mkalo :)

Lordfire

TFS Maintainer
avatar
Lenda
Lenda

INFOS

Grupo: LendaRegistrado: 04/10/06Posts: 2605Gênero: MasculinoChar no Tibia: Knight Orion

Eu não manjo de LUA direito, mas pelo que vi no script do xotservx faltou fazer um loop de repetição pra voltar até o Level Max. No dele, se o max for 200 e o cara pegar level 170 até 230, vai voltar pro 229 e ficar nisso.

Renato Ribeiro

avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 06/09/08Posts: 544Gênero: MasculinoChar no Tibia: Hallsiny

Tente assim:

local LevelMax = 180


function onAdvance(cid, skill, oldLevel, newLevel)
       if skill == 8 then
               if newLevel >= LevelMax then
                   doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid))
                   return false
               end
       end
       return true
end

 

Mas ai a mana e o hp iriam acumular...

Tentei ajustar seu script aqui, mas não sei se vai pegar

 

local LevelMax = 180
locallocal LevelMax = 180
local base = {
     get = getPlayerVocationName(cid),
     magemana = ((LevelMax-8)*30)+35,
     kinamana = (LevelMax-1)*5,
     palymana = ((LevelMax-8)*15)+35,
     magehp = ((LevelMax-8)*5)+185,
     kinahp = ((LevelMax-8)*15)+185,
     palyhp = ((LevelMax-8)*10)+185
}



function onAdvance(cid, skill, oldLevel, newLevel)
       if skill == 8 then
               if newLevel >= LevelMax then
                   doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid))
                          if base.get == 'sorcerer' or base.get == 'master sorcerer' or base.get == 'druid' or base.get == 'elder druid' then
                             setCreatureMaxHealth(cid, base.magehp)
                             setCreatureMaxMana(cid, base.magemana)
                          elseif base.get == 'paladin' or base.get == 'royal paladin' then
                             setCreatureMaxHealth(cid, base.palyhp)
                             setCreatureMaxMana(cid, base.palymana)
                          elseif getPlayerVocationName(cid) == 'knight' or base.get == 'elite knight' then   
                             setCreatureMaxHealth(cid, base.kinahp)
                             setCreatureMaxMana(cid, base.kinamana)                           
                          end
                   return FALSE
               end
       end
       return TRUE
end

 

NÃO TESTEI.

Ah ai você poe a tag e o register que o xotservx postou.

 

não mecha nas configurações 'base' lá são as fórmulas para achar a mana/hp das vocações pelo level que você colocar em LevelMax.

Só altere lá, ou caso as vocações do seu ot sejam editadas você mude o nome nos ifs.

 

Testa ai e me diz se pegou

(pelo menos erro de sintaxe não tem)

 

Abraços

felipapusco

avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 02/03/08Posts: 29Char no Tibia: None

Tente assim:

local LevelMax = 180


function onAdvance(cid, skill, oldLevel, newLevel)
       if skill == 8 then
               if newLevel >= LevelMax then
                   doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid))
                   return false
               end
       end
       return true
end

 

Mas ai a mana e o hp iriam acumular...

Tentei ajustar seu script aqui, mas não sei se vai pegar

 

local LevelMax = 180
locallocal LevelMax = 180
local base = {
     get = getPlayerVocationName(cid),
     magemana = ((LevelMax-8)*30)+35,
     kinamana = (LevelMax-1)*5,
     palymana = ((LevelMax-8)*15)+35,
     magehp = ((LevelMax-8)*5)+185,
     kinahp = ((LevelMax-8)*15)+185,
     palyhp = ((LevelMax-8)*10)+185
}



function onAdvance(cid, skill, oldLevel, newLevel)
       if skill == 8 then
               if newLevel >= LevelMax then
                   doPlayerAddExp(cid, getExperienceForLevel(LevelMax)-getPlayerExperience(cid))
                          if base.get == 'sorcerer' or base.get == 'master sorcerer' or base.get == 'druid' or base.get == 'elder druid' then
                             setCreatureMaxHealth(cid, base.magehp)
                             setCreatureMaxMana(cid, base.magemana)
                          elseif base.get == 'paladin' or base.get == 'royal paladin' then
                             setCreatureMaxHealth(cid, base.palyhp)
                             setCreatureMaxMana(cid, base.palymana)
                          elseif getPlayerVocationName(cid) == 'knight' or base.get == 'elite knight' then   
                             setCreatureMaxHealth(cid, base.kinahp)
                             setCreatureMaxMana(cid, base.kinamana)                           
                          end
                   return FALSE
               end
       end
       return TRUE
end

 

NÃO TESTEI.

Ah ai você poe a tag e o register que o xotservx postou.

 

não mecha nas configurações 'base' lá são as fórmulas para achar a mana/hp das vocações pelo level que você colocar em LevelMax.

Só altere lá, ou caso as vocações do seu ot sejam editadas você mude o nome nos ifs.

 

Testa ai e me diz se pegou

(pelo menos erro de sintaxe não tem)

 

Abraços

ja conssigui fazer um script copiando do otro

lá era level minimo ai qnd baixava de 130 ele voltava pro 130

só q ele só vai voltar pro 180 denovo quando ele morrer ou logar xD

mas ja conssigui vlw ai

evolutionsky

Entre no OTEvolution e Divirta-se lalala.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/11/11Posts: 4Char no Tibia: Me Gusta

Tem como editar limite de Skill tbm ?