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 .
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.
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
Galera obrigado por me responder pois ainda não tive tempo de testar . Mas assim que eu testar irei dar a resposta .. muito grato..
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.
@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.
Alguns dos meus trabalhos no fórum
Projeto Tutores de Scripting (encerrado)
Evento Blood Castle Automático
Killua Task System
Killua Automatic Raids System
Função AccountStorageValue
Player Pull Action (puxar jogador)
NPC Trocador - Troca itens por outros (SIMPLIFICADO)
Teleportar Membros Da Guild Para Seu Lado
Itens Ganhando Exp e Upando (Upgrade System)
Como usar addEvent - Tutorial
Sistema de Cultivo (Plantação)
Cart System (Andar de carrinho)
@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
Se ambos os modos funcionam, por que usar um e por que usar outro? Gostaria de saber ;]
Abraço e boa noite.
Obrigado mateusoo usei o 1° script que me mandou e funcionou de boa ...vlw
Tópico movido para Pedidos e dúvidas resolvidos.
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
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.
Alguns dos meus trabalhos no fórum
Projeto Tutores de Scripting (encerrado)
Evento Blood Castle Automático
Killua Task System
Killua Automatic Raids System
Função AccountStorageValue
Player Pull Action (puxar jogador)
NPC Trocador - Troca itens por outros (SIMPLIFICADO)
Teleportar Membros Da Guild Para Seu Lado
Itens Ganhando Exp e Upando (Upgrade System)
Como usar addEvent - Tutorial
Sistema de Cultivo (Plantação)
Cart System (Andar de carrinho)
É 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