Ir para conteúdo
  • Cadastre-se

(Resolvido)Ajuda Exp Ring Por Stages


Ir para solução Resolvido por .Smile,

Posts Recomendados

E ae Galerinha abençoada ..... Tudo Bemm??

Gostaria de Pediar a Ajuda De Voces Aki Do Tk Mais uma vez em um script.....

entao ...

eu tenho um ring xp mas meu ot é por stage .

e esse ring que eu tenho ele da muita xp pro player ....

ja abaixei as configuraçoes dele no max mas nao resolve

olha o script

function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
		doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.3)
		setPlayerStorageValue(cid, 120365, os.time()+2)
	end
return true
end
function onDeEquip(cid, item, slot)
doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
doPlayerSetExperienceRate(cid, 1)
return true
end

segue tbm minha stages

<?xml version="1.0" encoding="UTF-8"?>
<stages>
	<world id="0" multiplier="1">
		<stage minlevel="1" maxlevel="1000" multiplier="5000"/>
		<stage minlevel="1001" maxlevel="2000" multiplier="4500"/>
		<stage minlevel="2001" maxlevel="3000" multiplier="4000"/>
		<stage minlevel="3001" maxlevel="4000" multiplier="3500"/>
		<stage minlevel="4001" maxlevel="5000" multiplier="3000"/>
		<stage minlevel="5001" maxlevel="6000" multiplier="2500"/>
                <stage minlevel="6001" maxlevel="7000" multiplier="2000"/>
                <stage minlevel="7001" maxlevel="8000" multiplier="1500"/>
                <stage minlevel="8001" maxlevel="9000" multiplier="1000"/>
                <stage minlevel="9001" maxlevel="10000" multiplier="500"/>
                <stage minlevel="10001" maxlevel="11000" multiplier="250"/>
                <stage minlevel="11001" maxlevel="14000" multiplier="50"/>
                <stage minlevel="14001" maxlevel="16000" multiplier="40"/>
                <stage minlevel="16001" maxlevel="18000" multiplier="20"/>
                <stage minlevel="18001" maxlevel="19000" multiplier="10"/>
                <stage minlevel="19001" maxlevel="20000" multiplier="5"/>
		<stage minlevel="20001" multiplier="1"/>
		
	</world>
</stages>

obrigado a todos

Link para o post
Compartilhar em outros sites
15 minutos atrás, mullino disse:

E ae Galerinha abençoada ..... Tudo Bemm??

Gostaria de Pediar a Ajuda De Voces Aki Do Tk Mais uma vez em um script.....

entao ...

eu tenho um ring xp mas meu ot é por stage .

e esse ring que eu tenho ele da muita xp pro player ....

ja abaixei as configuraçoes dele no max mas nao resolve

olha o script


function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
		doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.3)
		setPlayerStorageValue(cid, 120365, os.time()+2)
	end
return true
end
function onDeEquip(cid, item, slot)
doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
doPlayerSetExperienceRate(cid, 1)
return true
end

segue tbm minha stages


<?xml version="1.0" encoding="UTF-8"?>
<stages>
	<world id="0" multiplier="1">
		<stage minlevel="1" maxlevel="1000" multiplier="5000"/>
		<stage minlevel="1001" maxlevel="2000" multiplier="4500"/>
		<stage minlevel="2001" maxlevel="3000" multiplier="4000"/>
		<stage minlevel="3001" maxlevel="4000" multiplier="3500"/>
		<stage minlevel="4001" maxlevel="5000" multiplier="3000"/>
		<stage minlevel="5001" maxlevel="6000" multiplier="2500"/>
                <stage minlevel="6001" maxlevel="7000" multiplier="2000"/>
                <stage minlevel="7001" maxlevel="8000" multiplier="1500"/>
                <stage minlevel="8001" maxlevel="9000" multiplier="1000"/>
                <stage minlevel="9001" maxlevel="10000" multiplier="500"/>
                <stage minlevel="10001" maxlevel="11000" multiplier="250"/>
                <stage minlevel="11001" maxlevel="14000" multiplier="50"/>
                <stage minlevel="14001" maxlevel="16000" multiplier="40"/>
                <stage minlevel="16001" maxlevel="18000" multiplier="20"/>
                <stage minlevel="18001" maxlevel="19000" multiplier="10"/>
                <stage minlevel="19001" maxlevel="20000" multiplier="5"/>
		<stage minlevel="20001" multiplier="1"/>
		
	</world>
</stages>

obrigado a todos

 

 

function onEquip(cid, item, slot)
	local LevelPlayer = getPlayerLevel(cid)

	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		if LevelPlayer >= 1 and LevelPlayer <= 5000 then
			doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
			doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.3)
			setPlayerStorageValue(cid, 120365, os.time()+2)
		end
		elseif LevelPlayer >= 5001 and LevelPlayer <= 10000 then
			doPlayerSendTextMessage(cid, 22, 'Agora ganha 2.5x mais experiencia!')
			doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.25)
			setPlayerStorageValue(cid, 120365, os.time()+2)
		end
		elseif LevelPlayer >= 10001 and LevelPlayer <= 15000 then
			doPlayerSendTextMessage(cid, 22, 'Agora ganha 2x mais experiencia!')
			doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.2)
			setPlayerStorageValue(cid, 120365, os.time()+2)
		end
		elseif LevelPlayer >= 15001 then
			doPlayerSendTextMessage(cid, 22, 'Agora ganha 1.5x mais experiencia!')
			doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.15)
			setPlayerStorageValue(cid, 120365, os.time()+2)
		end
		return true
	end
end
function onDeEquip(cid, item, slot)
	doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
	doPlayerSetExperienceRate(cid, 1)
	return true
end

 

vê se isso funciona pra vc mano.

 

EXPLICANDO UM POUCO:

level 1 ao 5k ele vai ter 3x mais de exp quando equipar

level 5k ao 10k ele vai ter 2.5

level 10k ao 15k ele vai ter 2.0

level 15k pra cima ele vai ter 1.5

Link para o post
Compartilhar em outros sites

vou testar aki mano

deu esse erro mano

[Error - LuaInterface::loadFile] data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - Event::checkScript] Cannot load script (data/movements/scripts/expring.lua)
data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - LuaInterface::loadFile] data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - Event::checkScript] Cannot load script (data/movements/scripts/expring.lua)
data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - LuaInterface::loadFile] data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - Event::checkScript] Cannot load script (data/movements/scripts/expring.lua)
data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - LuaInterface::loadFile] data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'
[Error - Event::checkScript] Cannot load script (data/movements/scripts/expring.lua)
data/movements/scripts/expring.lua:16: 'end' expected (to close 'function' at line 1) near 'elseif'

Link para o post
Compartilhar em outros sites
  • Solução
function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
		doPlayerSetExperienceRate(cid, 3.0)
		setPlayerStorageValue(cid, 120365, os.time()+2)
	end
return true
end
function onDeEquip(cid, item, slot)
	doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
	doPlayerSetExperienceRate(cid, 1)
return true
end

Se possível teste em diferentes leveis do stages pra ver se está tudo funcionando corretamente.

Link para o post
Compartilhar em outros sites
Agora, .Smile disse:

Se possível teste em diferentes leveis do stages pra ver se está tudo funcionando corretamente.

ok vou testar agora

 

11 minutos atrás, .Smile disse:

function onEquip(cid, item, slot) if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then doTransformItem(item.uid, 10502, 1) doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!') doPlayerSetExperienceRate(cid, 3.0) setPlayerStorageValue(cid, 120365, os.time()+2) end return true end function onDeEquip(cid, item, slot) doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.') doPlayerSetExperienceRate(cid, 1) return true end

funcionou perfeitamente brothe

 

deixa eu te falar pra min fazer 2 desse como ficaria ?

pq quero fazer um donate e um free um pouco menos 

entao eu teria que trocar a storage e tbm se um mudar essa parte onde ta 

doPlayerSetExperienceRate(cid, 3.0)

e eu mudar para 

 

doPlayerSetExperienceRate(cid, 2.0)

vai funcionar normal???

9 horas atrás, .Smile disse:

function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
		doPlayerSetExperienceRate(cid, 3.0)
		setPlayerStorageValue(cid, 120365, os.time()+2)
	end
return true
end
function onDeEquip(cid, item, slot)
	doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
	doPlayerSetExperienceRate(cid, 1)
return true
end

Se possível teste em diferentes leveis do stages pra ver se está tudo funcionando corretamente.

muito obrigado @Smile muito obrigado mesmo

me ajudou muito 

reputado. 

melhor resposta

 

Link para o post
Compartilhar em outros sites
13 horas atrás, mullino disse:

ok vou testar agora

 

funcionou perfeitamente brothe

 

deixa eu te falar pra min fazer 2 desse como ficaria ?

pq quero fazer um donate e um free um pouco menos 

entao eu teria que trocar a storage e tbm se um mudar essa parte onde ta 


doPlayerSetExperienceRate(cid, 3.0)

e eu mudar para 

 


doPlayerSetExperienceRate(cid, 2.0)

vai funcionar normal???

muito obrigado @Smile muito obrigado mesmo

me ajudou muito 

reputado. 

melhor resposta

 

 

Sim é só fazer outro script e mudar o valor da XP, e mudar os Storages também aonde fica 120365 você muda pra 120366 por exemplo.

Link para o post
Compartilhar em outros sites
  • 3 years later...
Em 03/02/2019 em 02:47, .Smile disse:

function onEquip(cid, item, slot)
	if getPlayerStorageValue(cid, 120365) - os.time() <= 0 then
		doTransformItem(item.uid, 10502, 1)
		doPlayerSendTextMessage(cid, 22, 'Agora ganha 3x mais experiencia!')
		doPlayerSetExperienceRate(cid, 3.0)
		setPlayerStorageValue(cid, 120365, os.time()+2)
	end
return true
end
function onDeEquip(cid, item, slot)
	doPlayerSendTextMessage(cid, 22, 'Experiencia extra cancelada.')
	doPlayerSetExperienceRate(cid, 1)
return true
end

Se possível teste em diferentes leveis do stages pra ver se está tudo funcionando corretamente.

 

Desculpa reviver o tópico, Mas alguém poderia me ajudar?

 

tipo.. está funcionando normal, mas, o problema é que ao deslogar o char ou morrer com o ring a experiência buga, e tem que tirar e colocar o ring pra dar a exp denovo.

Queria que ao deslogar ou morrer a exp nao bugasse, e não precisasse ficar tirando e colocando o ring, continuasse dando as 3x de exp..

 

  • Will :)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo