Ir para conteúdo

Vip Exp Rate


SmiX

Posts Recomendados

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>

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

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

Link para o comentário
Compartilhar em outros sites

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

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

  • 1 year later...

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

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...