Ir para conteúdo
  • 0

Teleporte que adiciona xp


Klauguns

Pergunta

10 respostass a esta questão

Posts Recomendados

  • 0

Galera preciso de uma action que quando o player passa por um teleporte adiciona 50% de xp e outro teleporte Que retira esses 50% de xp .

Bom dia,

Coloque esse script na pasta: Data/Movements/Scripts com o nome de exptp.lua.

Segue o script:

 

-- Teleporte que da EXP - By: Mateuso
local actionganhaexp = 9252
local actionperdeexp = 9253
function onStepIn(cid, item, position, fromPosition)
	if(item.actionid == actionganhaexp) then
		doPlayerSetExperienceRate(cid, 1.5)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você agora recebe 50% a mais de experiencia.")
	elseif(item.actionid == actionperdeexp) then
		doPlayerSetExperienceRate(cid, 1)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você agora recebe 50% a menos de experiencia.")
	end
end

Agora adicione essa TAG em movements.xml:

 

<movevent type="StepIn" actionid="9252;9253" event="script" value="exptp.lua"/>

Agora para fazer o sistema funcionar vá no seu Map Editor, no teleporte que você quer que ganhe a EXP, adicione o action id 9252 nele e no teleporte que você quer que perca a exp adicione o action id 9253.

Ai é só pisar e testar.

Abraço e aguardando respostas.

Se te ajudei, da um REP ai.

 

Esse sistema foi totalmente desenvolvido por mim, e está PROIBIDO a publicação do mesmo em algum outro lugar.

Editado por Mateusoo
Link para o comentário
Compartilhar em outros sites

  • 0

Em movements adicione um arquivo chamado expBonusTile.lua e ponha dentro:

--BY GSTAVOLIBER FOR XTIBIA
function onStepIn(cid, item, frompos, item2, topos)
local storage = 1000
         if(getPlayerStorageValue(uid, storage) == 1)then
            setPlayerStorageValue(uid, storage, 0)
            doPlayerSendTextMessage(cid, 22, 'Você perdeu seu bonus de exp! ')
            doPlayerSetExperienceRate(cid, getConfigValue("rateExperience"))
            else
            setPlayerStorageValue(uid, storage, 1)
                    doPlayerSendTextMessage(cid, 22, 'Agora ganha 2x mais experiencia!')
                    doPlayerSetExperienceRate(cid, getConfigValue("rateExperience")*0.2)
                    end
return true
end

Em movements.xml adicione:

<movevent type="StepIn" actionid="3135" event="script" value="expBonusTile.lua"/>

Config: Mude o actionID da linha a cima, e o numero da storage lá em cima.

 

Agora, poe o actionID no tile em baixo do seu teleport.

 

-GstavoLiber

Link para o comentário
Compartilhar em outros sites

  • 0

Galera obrigado por me responder pois ainda não tive tempo de testar . Mas assim que eu testar irei dar a resposta .. muito grato..

Boa noite,

Disponha, estamos aqui para ajudar :]

Qualquer problema, posta ai que a gente tenta resolver.

Se funcionar, peça para moverem o Tópico.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

@Mateusoo Amigo, para colocar um comentário em um código coloque "--" antes, para invalidar a linha. Se não, o ot vai tentar ler essa parte do código e vai dar erro.

 

E na sua TAG, vc deveria usar actionid="9252;9253" no lugar de itemid="1387"...

 

@GustavoLiber

A função getPlayerStorageValue precisa de um creature id... O correto seria usar getPlayerStorageValue(cid, storage)

 

Eu nunca vi esse getConfigValue("rateExperience"), gostei dele, vou dar uma pesquisada.

 

@Topic

Se corrigir esses erros, os dois scripts vão funcionar.

Link para o comentário
Compartilhar em outros sites

  • 0

@Mateusoo Amigo, para colocar um comentário em um código coloque "--" antes, para invalidar a linha. Se não, o ot vai tentar ler essa parte do código e vai dar erro.

 

E na sua TAG, vc deveria usar actionid="9252;9253" no lugar de itemid="1387"...

 

@GustavoLiber

A função getPlayerStorageValue precisa de um creature id... O correto seria usar getPlayerStorageValue(cid, storage)

 

Eu nunca vi esse getConfigValue("rateExperience"), gostei dele, vou dar uma pesquisada.

 

@Topic

Se corrigir esses erros, os dois scripts vão funcionar.

Olá,

Me passei por completo sobre o --, acabei esquecendo. Obrigado pelo aviso.

 

Me tira uma duvida, o itemid ele vai funcionar para todos os itens com o itemid definido. Como eu botei no script para checar se o item está com o actionid, também funcionaria certo? Eu testei aqui e funcionou perfeitamente :o

Se ambos os modos funcionam, por que usar um e por que usar outro? Gostaria de saber ;]

Abraço e boa noite.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá,

Me passei por completo sobre o --, acabei esquecendo. Obrigado pelo aviso.

 

Me tira uma duvida, o itemid ele vai funcionar para todos os itens com o itemid definido. Como eu botei no script para checar se o item está com o actionid, também funcionaria certo? Eu testei aqui e funcionou perfeitamente :o

Se ambos os modos funcionam, por que usar um e por que usar outro? Gostaria de saber ;]

Abraço e boa noite.

É assim amigo, quando você registra o itemid, sempre que alguem pisar num item com esse id o script vai ser executado. Mesmo tendo a checagem dentro do script ele é executado para realizar a checagem, o que não é bom pro servidor. Mas o mais importante é que quando se registra uma tag com itemid, não se pode registrar outra com o mesmo itemid. Sendo assim, nenhum outro script movement poderá usar esse item e, como o tp é um item muito usado, isso acaba sendo um problema.

Abraços.

Link para o comentário
Compartilhar em outros sites

  • 0

É assim amigo, quando você registra o itemid, sempre que alguem pisar num item com esse id o script vai ser executado. Mesmo tendo a checagem dentro do script ele é executado para realizar a checagem, o que não é bom pro servidor. Mas o mais importante é que quando se registra uma tag com itemid, não se pode registrar outra com o mesmo itemid. Sendo assim, nenhum outro script movement poderá usar esse item e, como o tp é um item muito usado, isso acaba sendo um problema.

Abraços.

Obrigado pela explicação, aprendido ;]

Vou modificar o script.

Abraços.

 

Obrigado mateusoo usei o 1° script que me mandou e funcionou de boa ...vlw

Por nada, irei fazer a modificação que o Killua indicou e você atualiza ai no seu sistema tambem, abraços.

Qualquer problema estamos aqui ;D

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...