MA
pedido

Ajuda A Arruma Esse Script

Por maiconskavurska, 12 de jun. de 2012 em Scripts

script
11
1.5k
12 de junho de 2012 às 17:15

Salve, Eu Queria a Ajuda De Você Pra Arruma Esse Script.

 

Oque Ta Acontecendo é o Seguinte, Eu Ponho Ele No Dedo Ai Da Exp Bonus Tals, Ai Eu Tiro Ele e Ele Para De Da a Exp Bonus...

Até Ai Correto, Mais Quando Eu Ponho Ele No Dedo De Novo Ele Não Funciona...

 

Alguém Pode Arruma Pra Mim ?

 

Aqui Vai o Scripit

 

 

local rate = 1.10

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

 

 

Agradeço Deis De Já.

dragonfightD
12 de junho de 2012 às 17:35

No movements ta certinho la o onequipe e ondequipe?

12 de junho de 2012 às 17:50

@dragonfight

Tá Assim

 

<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"/>

dragonfightD
12 de junho de 2012 às 17:57

Tenta ai:

 

local rate = 1.10
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 )
end
return true
end
function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")
doTransformItem(item.uid, 7697)
end
return true
end

 

Se por acaso não resolver, tenta fazer as duas funções separadas(equip e dequip)

 

Ai você divide o script:

 

local rate = 1.10
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 )
end
return true
end

function onDeEquip(cid, item, slot)
if(item.itemid ~= 7708 ) then
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência extra terminou.")
doTransformItem(item.uid, 7697)
end
return true
end

Editado Junho 12 por dragonfight

12 de junho de 2012 às 18:03

@dragonfight

Irei Testar e Já Edito Aqui

 

@Edit

Não Funciono Não

Editado Junho 12 por maiconskavurska

dragonfightD
12 de junho de 2012 às 18:42

Cara, segue esse topico tenta fazer do começo, igual o usuario kelvinvictor ensina.

http://www.xtibia.co...63868-exp-ring/

 

Obs: Veja que no topico ele pede pra modificar o items.xml

Editado Junho 12 por dragonfight

12 de junho de 2012 às 18:46

@dragonfight

eu peguei esse script ai, só que ele buga nessa parte q postei aqui, 2 membro posto la o mesmo erro...

dragonfightD
12 de junho de 2012 às 18:52

Com o script do kelvin mesmo, tenta mudar no movements:

 

<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"/>

 

Dexa assim:

 

<movevent type="Equip" itemid="7697" slot="ring" event="function" value="onEquipItem"/>

<movevent type="DeEquip" itemid="7697" slot="ring" event="function" value="onDeEquipItem"/>

<movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/>

Editado Junho 12 por dragonfight

LeoxtibiaL
12 de junho de 2012 às 19:33

Se não funcionar o que o dragon falou, faz o seguinte:

 

Faz assim, em movements>scripts crie dois arquivos:

 

expring.lua

local rate = 1.1
function onEquip(cid, item, slot)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua experiência aumentou em + "..((rate - 1)*100).."%.")
doPlayerSetExperienceRate(cid, rate)
return true
end

 

expring2.lua

function onDeEquip(cid, item, slot)
doPlayerSetExperienceRate(cid, 1.0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Sua taxa de experiência extra terminou.")
return true
end

 

Em movements.xml você coloca as tags:

 <movevent type="Equip" itemid="7708" slot="ring" event="script" value="expring.lua"/>
<movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring2.lua"/>

 

Vlw, espero ter ajudado.

Editado Junho 12 por Leoxtibia

12 de junho de 2012 às 19:59

@dragonfight

Desculpa a Demora é Que Tive Que Da Uma Saida

Acabei De Testa Aqui e Funciono Perfeitamente REP ++ Pra Ti.

Não Está Dando Pra Da REP+ Hoje, Mais Amanha Irei Adicionar Seu REP+ ;D

@Leoxtibia

Testei e Funciono Perfeitamente Também Assim Como Disse Pro dragonfight

Amanhã Darei Os REP ++

 

Valeu Ai a Ajuda.

 

@Luminous

Já Tinha Reportado Assim Que a Duvida Foi Sanada, Mais Obrigado

Editado Junho 12 por maiconskavurska

VildenV
12 de junho de 2012 às 21:14

Dúvida sanada, movido.

 

Maicon, quando reporta faça um comentário para o próximo ver