coloca o script do anel ai (incluindo as do items.xml)
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

info
Grupo: Campones
Registrado: 25/07/09
Posts: 42
Reputação: +7
Gênero: Outro

items.xml:
<item id="7697" article="a" name="bonus ring"><attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="decayTo" value="0"/>
<attribute key="duration" value="36000"/>
<attribute key="transformEquipTo" value="7708"/>
<attribute key="showduration" value="1"/>
</item>
<item id="7708" article="a" name="bonus ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="showduration" value="1"/>
<attribute key="stopduration" value="1"/>
</item>
movements.xml:
<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/><movevent type="Equip" itemid="7708" slot="ring" event="script" value="bonusring/bonusring.lua"/>
<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="bonusring/bonusring.lua"/>
bonusring.lua:
function onEquip(cid, item, slot)if(item.itemid ~= 7697) then
doPlayerSendTextMessage(cid, 22, 'BONUS EXP ON')
if getConfigValue("experienceStages") == true then
doPlayerSetExperienceRate(cid, 2)
else
doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*2)
return TRUE
end
doTransformItem(item.uid, 7708 )
return TRUE
end
return TRUE
end
function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
return TRUE
end
doPlayerSendTextMessage(cid, 22, 'BONUS EXP OFF.')
doPlayerSetExperienceRate(cid, 1)
doTransformItem(item.uid, 7697)
return TRUE
end
OBS; QUANDO EU COMPRO ELE NO SITE JA CAI NO SLOT DO RING E APAREÇE BONUS EXP ON 3 VEZES , APOS ISSO QUANDO DOU LOOK [NELE ATIVO] O Servidor Trava e cai.
Editado Julho 13 por Sakak
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

é cara testei o seu aqui e ele fica infinito...
usa esse:
<item id="7697" article="an" name="Bonus 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>
<item id="7708" article="a" name="Bonus 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>
local rate = 1.5 function onEquip(cid, item, slot) if(item.itemid ~= 7697) then doPlayerSendTextMessage(cid, 22, 'BONUS EXP ON') 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, 22, 'BONUS EXP OFF.') doTransformItem(item.uid, 7697) return TRUE end
local rate = 1.5
vermelho: representa a % de quantos de exp ele irá receber( no caso 1.5 = 50%)
info
Grupo: Campones
Registrado: 25/07/09
Posts: 42
Reputação: +7
Gênero: Outro

pelo que eu vi assim ficaria ao contrario , pois o 7708 ta com o duration e o 7697 está com o stopduration , e como eu ja disse O 7708 É O RING ANTES DE EQUIPAR e o 7697 É APOS EQUIPAR. [ENQUANTO ESTÁ USANDO]
então acho que está invertido.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ah ta entendi...
tenta inverter ai
<item id="7697" article="an" name="Bonus 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="7708" article="a" name="Bonus Ring">
<attribute key="weight" value="80"/>
<attribute key="slotType" value="ring"/>
<attribute key="transformEquipTo" value="7697"/>
<attribute key="stopduration" value="1"/>
<attribute key="showduration" value="1"/>
</item>
local rate = 1.5 function onEquip(cid, item, slot) if(item.itemid ~= 7708) then doPlayerSendTextMessage(cid, 22, 'BONUS EXP ON') doPlayerSetExperienceRate(cid, rate) doTransformItem(item.uid, 7697 ) return TRUE end return TRUE end function onDeEquip(cid, item, slot) if(item.itemid ~= 7697 ) then return TRUE end doPlayerSetExperienceRate(cid, 1.0) doPlayerSendTextMessage(cid, 22, 'BONUS EXP OFF.') doTransformItem(item.uid, 7708) return TRUE end
<movevent type="Equip" itemid="7708" slot="ring" event="function" value="onEquipItem"/> <movevent type="Equip" itemid="7697" slot="ring" event="script" value="bonusring/bonusring.lua"/> <movevent type="DeEquip" itemid="7697" slot="ring" event="script" value="bonusring/bonusring.lua"/>
Editado Julho 13 por Vodkart
info
Grupo: Campones
Registrado: 25/07/09
Posts: 42
Reputação: +7
Gênero: Outro

EDIT: DEU TUDO CERTO , REP +
Editado Julho 13 por Sakak




info
Grupo: Campones
Registrado: 25/07/09
Posts: 42
Reputação: +7
Gênero: Outro
Problema:
Existem 2 Rings , um serve para quando ele esta equipado e um para quando não está equipado, IDS: 7708 , 7697 [signet Ring e Ring]
eu coloquei o 7708 para quando não estiver equipado , e quando equipa-lo transformar para 7697 , até ai funcionou perfeitamente , mais o anel tem 10 horas [36000] e depois é para virar 0 , só que quando eu tiro o anel ele não parava de contar e quando eu colocava o anel e tirava ele voltava pro 600 min , alguem sabe o que posso fazer ? o script do anel é movements.