Vip Exp Rate

SmiX
Por SmiX
em Mods, funções e outros

SmiX

SlashX
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 25/01/12Posts: 963

Olá galera não sei se estou na área correta, mas se não movam por favor.

Hoje vim aqui para saber como eu vou não área .LUA, para tal feito vou postar um system(mini) que fiz hoje demanha.

Nome: Vip Exp Rate – By SmiX

O que faz: Ela deixa você configurar a rate de um monstro que você também pode configurar.

Exemplo: Um player level 15 mata um “Cave Rat” ele ganhara 15 de exp. Caso ele seja vip ao matar um “Cave Rat” ele ganhar 25 de EXP. Depende de como você vai editar sua RATE.

 

Chega de delongas e vamos ao que interessa:

1° Vá em data/lib e crie um arquivo chamado VipExp e cole o código:

local mostersExp = {
["Cave Rat"] = { exp = 500 }
["Rat"] = { exp = 400 }
}
----- Vip Exp System By SmiX -----
ExpVipTable = {
[{1, 8}] = 5, -- Exp do Player 
[{9, 19}] = 4,
[{20, 39}] = 3,
[{40, 59}] = 2,
[{60, 79}] = 1.5,
[{80, 99}] = 1,
[{100, 9999}] = 0.5
}
for var, ret in pairs(ExpVipTable) do
if getPlayerLevel(cid) >= var[1] and getPlayerLevel(cid) <= var[2] then
setPlayerStorageValue(cid, 8567, ret)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You status of rate this changed for "..ret.."%.")
end
end
----- Vip Exp System By SmiX -----

 

 

--[[Configurando]]—

monsterVip = [“Aqui é o nome do Monster que vai estar neste system”] = { exp = Aqui e exp que ele vai dar * a local l1 = 5(dependo do level do Player

 

2° Vá em data/creaturescripts/script crie um arquivo chamado ExpVip e cole isso dentro:

 

local function doPlayerAddVipExp(cid, expp)
					doPlayerAddExp(cid, expp)
					doSendAnimatedText(getThingPos(cid), expp, 215)
end

function onDeath(cid, corpse, deathList)
	 for a = 1, #deathList do
		 local getMonster = deathList[a]
		 d = getCreatureName(cid)
		 local getExpMonster = mostersExp[d].exp
			   if isCreature(getMonster) then
				  doPlayerAddVipExp(getMonster, math.floor(getPlayerStorageValue(getMonster, 8567) * getExpMonster))
			   end

	 end
end  

 

3° Agora vá em login.LUA e antes do ultimo registerCreatureEvent(Cid) cole isso:

 

registerCreatureEvent(cid, "ExpVip")

 

4° e ultimo, vá em creaturescript.XML e cole a tag abaixo:

 

<event type="death" name="ExpVip" event="script" value="ExpVip.lua">

 

Pronto, agora as restriões.

Caso seu Server esteja com o config.LUA e nele esteja isso (experienceStages = true) coloque false.

 

Pronto galera acho que não esqueci de nada, mas por favor criticas e sugestões são bem vindas.</event>

Vinc

The white fox
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 30/10/11Posts: 625Gênero: Masculino

se deu register errado se deu register no player,tinha que te posto no monster que ele ta matando usando onCombat,onTarget,onAttack ou pela xml do monster mesmo

^w^

caotic

Afinal de contas,sou um mordomo e tanto
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 04/03/11Posts: 1599Char no Tibia: No Have

Muito bom mais ainda acho que dava para simplicar bastante criando umas tabelinhas mais curtas e com melhor configuraçao.

 

Mais esta otimo.

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

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

acho que assim funciona:

 

ExpVipTable = {
[{1, 8}] = 5,
[{9, 19}] = 4,
[{20, 39}] = 3,
[{40, 59}] = 2,
[{60, 79}] = 1.5,
[{80, 99}] = 1,
[{100, 9999}] = 0.5
}
for var, ret in pairs(ExpVipTable) do
if getPlayerLevel(cid) >= var[1] and getPlayerLevel(cid) <= var[2] then
setPlayerStorageValue(cid, 8567, ret)
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You status of rate this changed for "..ret.."%.")
end
end

bossisg.png

renatapt

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/03/14Posts: 39

Oi Gostava esse vip exp so queria para poketibia com item de vip exp com tempo e quando acabar tempo de vip o item sume por explemo tenho vip exp por 3 horas e ficar jogado ou ficar off e item de vip exp acaba tempo de 3 horas e ela sume.

 

Da para fazer isso? para poketibia meu :* espero responda :D