HU

Ring Exp (Em Stages)

Por Hudsin, 09 de mar. de 2011 em Scripts

script
9
2.4k
HudsinH
09 de março de 2011 às 00:54

Ring que ao usar aumenta a exp rate nas seguintes condições:

 

lvl 0 ao 200 = +30% exp

201 ao 280 = +15% exp

281+ = +5% exp

 

Sempre que usado,durar 30 minutos e acabar.

 

Agradeço desde já.

 

:D

 

 

 

 

Edit: Movam para pedidos de script por favor,agora são 1 da manhã e eu criei o topico em actions sem querer aheauieahiuehui(sono) ;x

Editado Março 9 por Hudsin

09 de março de 2011 às 01:23

function onEquip(cid, item, slot)

if getPlayerLevel(cid) <= 200 then
doPlayerSendTextMessage(cid, 4, "Sua experiência foi aumentada em 30%.")
doPlayerSetExperienceRate(cid, 1.30)
elseif getPlayerLevel(cid) > 200 and getPlayerLevel(cid) <= 280 then
doPlayerSendTextMessage(cid, 4, "Sua experiência foi aumentada em 15%.")
doPlayerSetExperienceRate(cid, 1.15)
elseif getPlayerLevel(cid) > 280 then
doPlayerSendTextMessage(cid, 4, "Sua experiência foi aumentada em 5%.")
doPlayerSetExperienceRate(cid, 1.05)
end
return TRUE
end

function onDeEquip(cid, item, slot)

doPlayerSendTextMessage(cid, "Sua experiência está de volta ao normal.")
doPlayerSetExperienceRate(cid, 1.0)
return TRUE
end

 

Reportado para moverem para a seção correta, Pedidos de Script. A duração deve ser editada em itens.xml.

Editado Março 9 por Demonbholder

HudsinH
09 de março de 2011 às 15:55

Precisa adicionar DecayTo ??

Como fica a tag em movements??

Editado Março 9 por Hudsin

VodkartV
09 de março de 2011 às 17:08

nome do seu script.lua

function onEquip(cid, item, slot) 

local rate = {}

if getPlayerLevel(cid) <= 200 then 
rate = 1.3
elseif getPlayerLevel(cid) > 200 and getPlayerLevel(cid) <= 280 then 
rate = 1.15
elseif getPlayerLevel(cid) > 280 then 
rate = 1.05
end 

doPlayerSendTextMessage(cid, 4, "Sua experiência foi aumentada em "..((rate - 1)*100).." %.")
doPlayerSetExperienceRate(cid, rate)
return TRUE
end 

function onDeEquip(cid, item, slot) 
doPlayerSendTextMessage(cid, "Sua experiência está de volta ao normal.") 
doPlayerSetExperienceRate(cid, 1.0)
return TRUE 
end

 

tag seria essa:

 

movements.xml

<movevent type="Equip" itemid="ID DO SEU ANEL" slot="ring" event="script" value="nome do seu script.lua"/>
<movevent type="DeEquip" itemid="ID DO SEU ANEL" slot="ring" event="script" value="nome do seu script.lua"/>

 

Precisa adicionar DecayTo ??

 

sim... em items.xml no seu anel la adc

 

<attribute key="decayTo" value="0"/>

Editado Março 9 por Vodkart

HudsinH
09 de março de 2011 às 17:57

Ao usar o anel,aparece 3 mensagens de uma vez:

17:48 Sua experiência foi aumentada em 30%.

17:48 Sua experiência foi aumentada em 30%.

17:48 Sua experiência foi aumentada em 30%.

 

E ao tirar nenhuma mensagem aparece '-'

 

Edit: Tirando isso... eu testei a exp usando e não usando,funciona perfeitamente.

Editado Março 9 por Hudsin

VodkartV
09 de março de 2011 às 18:57

a msg qndo retirava n aparecia pq o demon n tinha declarado o type da msg

 

doPlayerSendTextMessage(cid, "Sua experiência está de volta ao normal.")

 

certo

 

doPlayerSendTextMessage(cid, 4,"Sua experiência está de volta ao normal.")

 

function onEquip(cid, item, slot)
local rate = {}
if getPlayerLevel(cid) <= 200 then  
rate = 1.3
elseif getPlayerLevel(cid) > 200 and getPlayerLevel(cid) <= 280 then  
rate = 1.15
elseif getPlayerLevel(cid) > 280 then 
rate = 1.05 
end
doPlayerSendCancel(cid, "Your exp rate + "..((rate - 1)*100).." %")  
doPlayerSetExperienceRate(cid, rate) 
return TRUE
end 
function onDeEquip(cid, item, slot)
doPlayerSendTextMessage(cid, 4, "Sua experiência está de volta ao normal")   
doPlayerSetExperienceRate(cid, 1.0)
return TRUE
end

Editado Março 9 por Vodkart

HudsinH
09 de março de 2011 às 19:25

Aew deu =)

 

Agradeço ambos pelo help \*--*/

 

Poderia fazer da seguinte forma:

 

Ao usar acontece tudo q já está acontecendo,e ao retirar ele se transformar em outro item (10510) ?

 

 

obrigado.

VodkartV
09 de março de 2011 às 19:43

adc la

 

doTransformItem(item.uid, 10510)

4 meses depois...
LolkskyL
26 de julho de 2011 às 22:44

Teria como por pra somente players PREMMY poderem usar o ring?