function onEquip(cid, item)
local config = {
rateExperience = getConfigInfo('rateExperience'),
exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
}
doPlayerSetExperienceRate(cid, 2)
doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.")
return TRUE
end
function onDeEquip(cid, item, position, fromPosition)
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.")
return TRUE
end
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

info
Grupo: Artesão
Registrado: 20/11/12
Posts: 142
Reputação: +19
Char no Tibia: Deleted

TENTA ESSE
Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua
Dentro Coloque:
local rate = 1.5
function onEquip(cid, item, slot)
if(item.itemid ~= 7697) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")
doPlayerSetExperienceRate(cid, rate)
doTransformItem(item.uid, 7708 )
return true
end
return true
end
function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
return true
end
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")
doTransformItem(item.uid, 7697)
return true
end
Verde: Valor em % (Porcento) que aumentará a experiência. Ex:
1.5 = 50%
1.2 = 20%
Em movements.xml adicione as tags:
<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
Em items.xml substitua por esses:
<item id="7708" article="a" name="Experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="480"/>
<attribute key="showduration" value="1"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="1"/>
</item>
<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel
Colocando Infinito:
Data/Items/Items.xml
<item id="7708" article="a" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="0"/>
<attribute key="showduration" value="0"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="0"/>
</item>
info
Grupo: Campones
Registrado: 18/02/11
Posts: 53
Reputação: 0
Char no Tibia: Zonyldoon

TENTA ESSE
Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua
Dentro Coloque:
local rate = 1.5
function onEquip(cid, item, slot)
if(item.itemid ~= 7697) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")
doPlayerSetExperienceRate(cid, rate)
doTransformItem(item.uid, 7708 )
return true
end
return true
end
function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
return true
end
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")
doTransformItem(item.uid, 7697)
return true
end
Verde: Valor em % (Porcento) que aumentará a experiência. Ex:
1.5 = 50%
1.2 = 20%
Em movements.xml adicione as tags:
<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
Em items.xml substitua por esses:
<item id="7708" article="a" name="Experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="480"/>
<attribute key="showduration" value="1"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="1"/>
</item>
<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel
Colocando Infinito:
Data/Items/Items.xml
<item id="7708" article="a" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="0"/>
<attribute key="showduration" value="0"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="0"/>
</item>
TENTA ESSE
Pimeiramente va em movements\script crie um arquivo e renomeie para expring.lua
Dentro Coloque:
local rate = 1.5
function onEquip(cid, item, slot)
if(item.itemid ~= 7697) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your exp rate + "..((rate - 1)*100).."%.")
doPlayerSetExperienceRate(cid, rate)
doTransformItem(item.uid, 7708 )
return true
end
return true
end
function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
return true
end
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")
doTransformItem(item.uid, 7697)
return true
end
Verde: Valor em % (Porcento) que aumentará a experiência. Ex:
1.5 = 50%
1.2 = 20%
Em movements.xml adicione as tags:
<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>
<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
Em items.xml substitua por esses:
<item id="7708" article="a" name="Experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="480"/>
<attribute key="showduration" value="1"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="1"/>
</item>
<attribute key="duration" value="480"/>: Tempo em segundos que vai durar o anel
Colocando Infinito:
Data/Items/Items.xml
<item id="7708" article="a" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="0"/>
<attribute key="showduration" value="0"/>
</item>
<item id="7697" article="an" name="experience ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="0"/>
</item>
Pois é foi este mesmo que nao deu :s da debug direto
function onEquip(cid, item) local config = { rateExperience = getConfigInfo('rateExperience'), exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier) } doPlayerSetExperienceRate(cid, 2) doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.") return TRUE end function onDeEquip(cid, item, position, fromPosition) doPlayerSetExperienceRate(cid, 1.0) doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.") return TRUE end
Onde eu boto isso ?
info
Grupo: Artesão
Registrado: 20/11/12
Posts: 142
Reputação: +19
Char no Tibia: Deleted

Aqui
moviments.XML
<movevent type="Equip" itemid="ID DO ITEM" slot="ring" event="script" value="NOME DO SCRIPT.lua"/>
<movevent type="DeEquip" itemid="ID DO ITEM" slot="ring" event="script" value="NOME DO SCRIPT.lua"/>
Script.LUA
function onEquip(cid, item)
local config = {
rateExperience = getConfigInfo('rateExperience'),
exp = getExperienceStage(getPlayerLevel(cid), getVocationInfo(getPlayerVocation(cid)).experienceMultiplier)
}
doPlayerSetExperienceRate(cid, 2)
doPlayerSendTextMessage(cid,18,"Ring de experiencia ativado com sucesso!!! sua exp está x" .. config.exp .. " Multiplicado por 2.")
return TRUE
end
function onDeEquip(cid, item, position, fromPosition)
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid,18,"Sua experiencia voltou ao original.")
return TRUE
end
Aconselho Esse Aqui
http://www.xtibia.com/forum/topic/162054-exp-ring-anel-de-experiencia/
Editado Novembro 25 por LTKReturns



info
Grupo: Campones
Registrado: 18/02/11
Posts: 53
Reputação: 0
Char no Tibia: Zonyldoon
Tipo do script: Exp Ring
Protocolo (versão do Tibia): 8.6
Servidor utilizado: CMD ~~ tfs ~~ Baiak
Nível de experiência: 600x
Adicionais/Informações: Seguinte eu consegui colocar o ring em meu OT Server mas ele da debug no mesmo, gostaria que me passassem um script que para voces nunca deu debug
As falas do ring ficariam assim
Quando Colocar o ring :
Agora você tem 50% a mais de experiência.
Quando tirar o ring :
Você retirou o ring e não tera mais experiência.
Quando acabar o tempo do ring :
Seu EXP Ring Acabou.
Agradeço desde ja Obrigado