Ir para conteúdo
  • 0

[Problema]Exp Ring


Pereirinha1

Pergunta

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.

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

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 por Sakak
Link para o comentário
Compartilhar em outros sites

  • 0

é 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%)

Link para o comentário
Compartilhar em outros sites

  • 0

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.

Link para o comentário
Compartilhar em outros sites

  • 0

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 por Vodkart
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...