Klauguns 2 Postado Abril 15, 2014 Share Postado Abril 15, 2014 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 . Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateusoo 15 Postado Abril 15, 2014 Share Postado Abril 15, 2014 (editado) 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 Abril 17, 2014 por Mateusoo Link para o comentário Compartilhar em outros sites More sharing options...
0 GstvoLiber 19 Postado Abril 15, 2014 Share Postado Abril 15, 2014 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 More sharing options...
0 Klauguns 2 Postado Abril 16, 2014 Autor Share Postado Abril 16, 2014 Galera obrigado por me responder pois ainda não tive tempo de testar . Mas assim que eu testar irei dar a resposta .. muito grato.. Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateusoo 15 Postado Abril 17, 2014 Share Postado Abril 17, 2014 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 More sharing options...
0 Killua 389 Postado Abril 17, 2014 Share Postado Abril 17, 2014 @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 More sharing options...
0 Mateusoo 15 Postado Abril 17, 2014 Share Postado Abril 17, 2014 @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. Link para o comentário Compartilhar em outros sites More sharing options...
0 Klauguns 2 Postado Abril 17, 2014 Autor Share Postado Abril 17, 2014 Obrigado mateusoo usei o 1° script que me mandou e funcionou de boa ...vlw Link para o comentário Compartilhar em outros sites More sharing options...
0 DuuhCarvalho 327 Postado Abril 17, 2014 Share Postado Abril 17, 2014 Tópico movido para Pedidos e dúvidas resolvidos. Link para o comentário Compartilhar em outros sites More sharing options...
0 Killua 389 Postado Abril 17, 2014 Share Postado Abril 17, 2014 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. Link para o comentário Compartilhar em outros sites More sharing options...
0 Mateusoo 15 Postado Abril 17, 2014 Share Postado Abril 17, 2014 É 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 More sharing options...
Pergunta
Klauguns 2
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 .
Link para o comentário
Compartilhar em outros sites
10 respostass a esta questão
Posts Recomendados