Ir para conteúdo
  • Cadastre-se

(Resolvido)Stone of Wisdom e Stone of Insight


Ir para solução Resolvido por Pedriinz,

Posts Recomendados

Alguém teria o script funcional dessas stones?

Testei esse script aqui :

Spoiler

 

 

e não funcionou, testei o script do outro forum também não funcionou :(

Atualmente estou usando a distro do malucooo mais recente (OTX SERVER 3.8)

 

Obrigado desde já ! +rep a quem em ajudar

Editado por saiddias (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Teste isso:

function onUse(player, item)
	local config = {	
		exp = player:getLevel() * 200, -- Isso será a exp entregue
		itemID = 2195 -- Isso será o ID da Stone of Wisdom
	}
	
	player:removeItem(config.itemID, 1)
	player:addExperience(config.exp)
	player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..config.exp.." de experiencia.")
	return true
end

Confira a linha exp, coloca depois do *, quantas vezes você quer que o level seja multiplicado e etc...

Editado por login12 (veja o histórico de edições)

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
Em 26/11/2016 ás 11:23, login12 disse:

Teste isso:


function onUse(player, item)
	local config = {	
		exp = player:getLevel() * 200, -- Isso será a exp entregue
		itemID = 2195 -- Isso será o ID da Stone of Wisdom
	}
	
	player:removeItem(config.itemID, 1)
	player:addExperience(config.exp)
	player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..config.exp.." de experiencia.")
	return true
end

Confira a linha exp, coloca depois do *, quantas vezes você quer que o level seja multiplicado e etc...

 

 

No caso da Stone Of Insight, eu posso por assim :

Meu level * Meu Level * 100 a linha do exp poderia ficar assim : 
"exp = player:getLevel() * player:getLevel() * 100, -- Isso será a exp entregue"

 

Como disse no outro post não irei trazer o feedback agora, mais assim que chegar em casa testo e te falo se funcionou ou não.
Obrigado mais uma vez!

Editado por saiddias (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

UP!

EDIT

Testei os scripts e achei apenas 1 erro nessa linha : 

	player:removeItem(config.itemID, 1)

pois mesmo colocando o ID o item só sumia quando estava na BP, se usar ele no chão, ele podia ser usado infinitamente.

então eu substitui por :

	item:remove(1)

e o problema foi resolvido.

então vamos aos scripts.

Quem quiser os scripts da Stone Of Insight e Stone of Wisdom tá aqui!

Stone of Wisdom : (Formula = Level x 5000)

Spoiler

function onUse(player, item)
    local config = {    
        exp = player:getLevel() * 5000, -- Isso será a exp entregue


    }
    
    item:remove(1)
    player:addExperience(config.exp)
    player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..config.exp.." de experiencia.")
    return true
end

 

Stone Of Insight : (Formula = Level x Level x 100)
 

Spoiler

function onUse(player, item)
    local config = {    
        exp = player:getLevel() * player:getLevel() * 100, -- Isso será a exp entregue
    }
    
    item:remove(1)
    player:addExperience(config.exp)
    player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..config.exp.." de experiencia.")
    return true
end

 

Todos os créditos a @login12 por me dar suporte e criar o script.

Algum ADM pode fechar o tópico? é por que minha dúvida foi resolvida?

Editado por saiddias (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

@saiddias Entendi. No caso poderia ter editado uma condição que checasse se o item estivesse ou nao na bp.

Todavia se já está satisfatório o resultado ótimo. Mas delete essa variável aqui:

 

itemID = 2195 -- Isso será o ID da Stone of Wisdom

Já que a mesma não está sendo mais utilizada, deixando esta parte do script assim:

function onUse(player, item)
	local exp = player:getLevel() * 200 -- Isso será a exp entregue

	player:remove(1)
	player:addExperience(exp)
	player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..exp.." de experiencia.")
	return true
end

 

Sobre fechar o tópico, melhor deixa-lo aí, alguém pode precisar disso ou ter alguma duvida.

:)

Editado por login12 (veja o histórico de edições)

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites

@login12 Como faço pra adicionar um exauste a esse script ?, no caso seria um exauste de 1 dia.

Link para o post
Compartilhar em outros sites

Para isso se usa a função os.time(), juntamente com a condição "se" que em LUA é a if.

Apenas a condição fica assim:

if player:getStorageValue(storage) >= os.time() then
	script que vai ser executado caso o player já tenha esperado o tempo
	player:setStorageValue(storage, os.time() + otempoquevocêqueremsegundos)
else
	mensagem avisando que ainda se deve esperar o tempo
end

 

Caso não consiga adicionar, espera que jaja edito pra você.

Editado por login12 (veja o histórico de edições)

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
54 minutos atrás, login12 disse:

Para isso se usa a função os.time(), juntamente com a condição "se" que em LUA é a if.

Apenas a condição fica assim:


if player:getStorageValue(storage) >= os.time() then
	script que vai ser executado caso o player já tenha esperado o tempo
	player:setStorageValue(storage, os.time() + otempoquevocêqueremsegundos)
else
	mensagem avisando que ainda se deve esperar o tempo
end

 

Caso não consiga adicionar, espera que jaja edito pra você.

 

Desculpe pela leiguice, estou me esforçando pra aprender, dessa vez não consegui fazer :(
No aguardo, obrigado novamente pela ajuda!

Link para o post
Compartilhar em outros sites
function onUse(player, item)
    local exp = player:getLevel() * 200 -- Isso será a exp entregue
    local tempo = 24 -- Tempo em horas
    local storage = 21312 -- storage 

    if player:getStorageValue(storage) >= os.time() then
        player:remove(1)
        player:addExperience(exp)
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce acaba de ganhar "..exp.." de experiencia.")
        player:setStorageValue(storage, os.time + tempo * 60 * 60 * 1000)
    else
        player:sendCancelMessage("Você precisa esperar "..tempo.." hora(s).")
    end
    return true
end

 

Editado por login12 (veja o histórico de edições)

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo