[Problema]Exp Ring

Pereirinha1
em Scripts

Pereirinha1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/09Posts: 42Gê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.

Atenciosamente,

Sakak

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

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

coloca o script do anel ai (incluindo as do items.xml)

bossisg.png

Pereirinha1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/09Posts: 42Gê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.

Atenciosamente,

Sakak

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gê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%)

bossisg.png

Pereirinha1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/09Posts: 42Gê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.

Atenciosamente,

Sakak

Vodkart

Sumus Validus
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 21/05/10Posts: 3406Gê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"/>

bossisg.png

Pereirinha1

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/07/09Posts: 42Gênero: Outro

EDIT: DEU TUDO CERTO , REP +

Atenciosamente,

Sakak