Ring De Double Exp

xFkyx
Por xFkyx
em Actions e Talkactions

xFkyx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/03/11Posts: 39

Olá Xtibianos,

 

hoje percebi que não há um ring que da Double Exp ou mais/menos se você quiser.

Então let's go ;D

 

Primeiramente vá em data>moveevents>script e crie um arquivo double_exp.lua e ponha isso:

local config = {
rate = 2, -- quanto de exp ele vai ganhar(porcentagem) ex: 1.5 = + 50%
item1 = 555,  -- qual o item que vai virar
item2 = 666   -- item original
}
function onEquip(cid, item, slot)
doTransformItem(item.uid, item1, 1)
doPlayerSendTextMessage(cid, "Agora você tem 2x mais de experiencia!")
doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*rate)
return TRUE
end
function onDeEquip(cid, item, slot)
doTransformItem(item.uid, item2, 1)
doPlayerSetExperienceRate(cid, 1)
return TRUE
end

 

 

Se quiser com stages aqui está:

 

function onEquip(cid, item, slot)
local item1 = 12345 -- id do anel antes de por no slot
local item2 = 12345 -- id do anel depois de por no slot
local rate = {}
if getPlayerLevel(cid) <= 200 then
rate = 1.3
elseif getPlayerLevel(cid) > 200 and getPlayerLevel(cid) <= 300 then
rate = 1.15
elseif getPlayerLevel(cid) > 300 and getPlayerLevel(cid) <= 500 then
rate = 1.05
elseif getPlayerLevel(cid) > 500 then
rate = 1.03
end
doTransformItem(item.uid, item2, 1)
doPlayerSendTextMessage(cid, 22, "Agora seu ganho de experiencia está "..((rate - 1)*100).." a mais %.")
doPlayerSetExperienceRate(cid, rate)
return TRUE
end
function onDeEquip(cid, item, slot)
doTransformItem(item.uid, item1, 1)
doPlayerSendTextMessage(cid, 22, "Sua experiencia esta de volta ao normal.")
doPlayerSetExperienceRate(cid, 1.0)
return TRUE
end

 

 

 

 

Depois vá em data>moveevents>moveevents.xml e ponha isso:

<movevent type="Equip" itemid="item id do ring original do script" slot="ring" event="script" value="double_exp.lua">
<movevent type="DeEquip" itemid="item id do ring original do script" slot="ring" event="script" value="double_exp.lua">

 

Em seguida vá em data>item>item.xml e procure o id do ring que você escolheu pra ser quando estiver equipado e substitua por isso: (exemplo)

<item id="7697" article="a" name="experience ring">  -- item id="id do item" name="nome"
			<attribute key="weight" value="500">
			<attribute key="description" value="This ring give you double exp (on).">
			<attribute key="slotType" value="ring">
			<attribute key="duration" value="30"> -- tempo de duração(segundos)
			<attribute key="showduration" value="1">
			<attribute key="transformDeEquipTo" value="7708"> -- quando tirar do slot de ring vai transformar nesse id
</item>

Depois vá em data>item>item.xml e procure o id do ring que você escolheu pra ser quando não estiver equipado e substitua por isso: (exemplo)

<item id="7708" article="a" name="experience ring"> -- id do itemque vai ficar quando não estiver equipado
			<attribute key="weight" value="500">
			<attribute key="slotType" value="ring">
			<attribute key="stopduration" value="1">
			<attribute key="showduration" value="1">
			<attribute key="transformEquipTo" value="7697"> -- id do que você escolheu no outro script que vai transformar quando esquipar
</item>

 

Espero que gostem,

anteciosamente xFykx.

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

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

Hmm interessante esse seu script,nunca tinha pensando nisso :p

parabéns,espero ver você futuramente postando mais script...

 

REP+

bossisg.png

xFkyx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/03/11Posts: 39

Valeu ai pela opinião, e brigado pelo elogio.

Estou pensando em uns scripts pra trazer para cá.

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

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

ah não me enganei,eu achei que era alguma parte do set,ring eu já fiz um também até tem um parecido na área de tutoriais,fiz antigamente kk

mas mesmo assim,a maioria dos servidores vendem este tipo de items,muito bom

abraços

bossisg.png

yasha

Maximus Down~
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/12/07Posts: 144Char no Tibia: Maximus Down

Só uma dúvida, ele funciona com exp em stages ou só com exp fixa?

Mesmo assim, parabéns pelo script.

E-mail/msn: mauricio__ramos@hotmail.com

Entrada como estagiário

 

02/04/2012

xFkyx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/03/11Posts: 39

Exp Fixa. Mas se quiser posso ver se ponho em stages tbm ;D

Makelin1

Absoft User =D
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/03/12Posts: 651Char no Tibia: Pussycat !

lol nunca pensei que existia um script desse Aprovado !

Att

Smartbox

 

 

Ajudei ? + REP

 

Absoft Map

http://www.xtibia.co...__fromsearch__1

 

2575910.gif

yasha

Maximus Down~
avatar
Artesão
Artesão

INFOS

Grupo: ArtesãoRegistrado: 25/12/07Posts: 144Char no Tibia: Maximus Down

Exp Fixa. Mas se quiser posso ver se ponho em stages tbm ;D

Se conseguisse seria melhor, pois quase todo mundo usa exp por stages.

E-mail/msn: mauricio__ramos@hotmail.com

Entrada como estagiário

 

02/04/2012

xFkyx

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 22/03/11Posts: 39

@up

Adicionado, espero que goste(m)

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

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

sabe o que eu estava pensando... É o seguinte, que dá para fazer através do onKill e usando stages!

Na hora que você fosse matar o monstro iria checar se no slot tem o anel com ID "XY",caso tivesse ele faria a conta de quanto o jogador ganha ao matar um montro,por exemplo eu no level 300 mato um demon e ganho 6000 de xp,com o anel me dando 50% eu ganharia os 6000 + 3000 de exp, dando um total de 9000!

 

está ai:

 

function onKill(cid, target)
local ringID = 2123
if isPlayer(cid) and isMonster(target) then
if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == ringID then
local exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
local count = ((getMonsterInfo(string.lower(getCreatureName(target))).experience*1.5*exp)/2)
doPlayerAddExperience(cid, count)
addEvent(doSendAnimatedText, 500, getCreaturePosition(cid), '+'..count, math.random(50,60))
end
else
return TRUE
end
return TRUE
end

 

configurado para dar 50% de bonus xp

bossisg.png

Makelin1

Absoft User =D
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/03/12Posts: 651Char no Tibia: Pussycat !

hum fico mas legal assim gostei vodkart

Att

Smartbox

 

 

Ajudei ? + REP

 

Absoft Map

http://www.xtibia.co...__fromsearch__1

 

2575910.gif

BrunooMaciell

Bruno Maciel
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 27/08/11Posts: 1919Gênero: MasculinoChar no Tibia: Bruno Maciel

parabens lek mt bom tutorial explicado e systemas bom ring exp =D

nono182

Mapper Sound
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 27/06/09Posts: 42Char no Tibia: Lordz Brenoo

e se eu quisesse pra ser ao invez de um ring,fosse pra players vip?

A7x 4ever

avenged-sevenfold.jpg

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

Depende de como é sua vip.. por storage, premium etc..

Atenciosamente, Vilden.