Ir para conteúdo

Adriano SwaTT

Membro
  • Registro em

  • Última visita

Tudo que Adriano SwaTT postou

  1. Mas é da pasta movements e não globalevents. O da globalevents tem que ficar o primeiro que te mandei. Veja o que postou: Evento onTime not found (data/globalevents/scripts/teleports_progs.lua) Está colocando errado, abra a pasta movements e pegue o script que te mandei.
  2. Então precisa primeiro arrumar o sistema, depois arrumar este outro. Crie outro tópico para consertar o Dodge e depois criamos o script auxiliar. Abraços e boa sorte.
  3. Well, seria o MaxWellDeN? Anne? AnneMotta? Ahh, se for pra desgraçar que seja uma desgraça completa. Poouts, como que se lembra disso? :'(
  4. Não é para substituir o arquivo LUA do globalevents, e sim o do movements. "Teleports_Progs.lua". É o segundo script.
  5. Adriano SwaTT postou uma resposta no tópico em Suporte & Pedidos
    Gostei bastante, sou bem crítico quanto à projetos e tals... Mas sinceramente, este tem futuro, gostei muito do projeto e das sprites. Só acho que o efeito do Go Back está fora da perspectiva, mas considerando o trabalho para desenhá-lo e o efeito que dá ao ser executado, ficou muito bom mesmo. Caso tenha algum problema e não consiga solucionar (script, design, web, etc), contate-me, pois se souber como fazê-lo, terei o maior prazer em ajudar. Abraços e boa sorte.
  6. Calma, espere só eu digerir este nome de tópico. :S
  7. Tente substituir o movements por este: -------- Script by: Adriano Swatt' ------- local gstrg_control = 12129 -- Não precisa mexer (Global Storage de Controle de Acesso) local tp_exe = 11111 -- ID da ActionID do Teleport Exclusivo (Necessita 5 storages) local stors = {11111, 22222, 33333, 44444, 55555} -- Storages o player precisa para o teleport exclusivo local tp_acts = { [11111] = {{x=000, y=000, z=0}}, -- ActionID de cada teleport e coordenada pra onde o player irá (Tem que ser a mesma do outro script) [22222] = {{x=000, y=000, z=0}}, -- teleport 2 [33333] = {{x=000, y=000, z=0}}, -- teleport 3 [44444] = {{x=000, y=000, z=0}}, -- teleport 4 [55555] = {{x=000, y=000, z=0}}, -- teleport 5 [66666] = {{x=000, y=000, z=0}} -- teleport 6 } local msgs = { "Você não tem todas as quests necessárias.", -- Mensagem quando não tiver todas storages "Você já entrou em um dos teleportes bônus hoje.", -- Mensagem quando já tiver acessado um dos teleportes "Parabéns, você entrou no teleporte bônus." -- Mensagem ao entrar em algum teleporte } -- Mensagens ----------- FIM DAS CONFIGURAÇÕES --------- function onStepIn(cid, item, position, fromPosition) local tp_check = tp_acts[item.actionid] local gstrg = getGlobalStorageValue(gstrg_control) local getSto = getPlayerStorageValue if item.actionid ~= tp_exe then if tp_check then doPlayerSendCancel(cid, msgs[3]) doTeleportThing(cid, tp_check[1]) end else if getSto(cid, gstrg_control) < (gstrg) then if getSto(cid, stors[1]) >= 1 and getSto(cid, stors[2]) >= 1 and getSto(cid, stors[3]) >= 1 and getSto(cid, stors[4]) >= 1 and getSto(cid, stors[5]) >= 1 then doPlayerSendCancel(cid, msgs[3]) doTeleportThing(cid, tp_check[1]) setPlayerStorageValue(cid, gstrg_control, (getGlobalStorageValue(gstrg_control))) else doPlayerSendCancel(cid, msgs[1]) doTeleportThing(cid, fromPosition) end else doPlayerSendCancel(cid, msgs[2]) doTeleportThing(cid, fromPosition) end end return true end Boa sorte.
  8. Boa noite. Criei e testei o script, as funções básicas que precisa consegui executar com sucesso. 1. Ele cria os teleportes, cada um com uma ActionID diferente para que você possa criar um script para cada teleporte e assim configurar os requisitos para poder entrar. 2. Ele cria os teleportes no horário programado no GlobalEvents.xml, e a data fica configurada dentro do próprio script. 3. Ele remove os teleportes depois do tempo programado. 4. Ele bloqueia players que já acessaram um dos teleportes, já configurado para liberar a cada evento. Vamos em GlobalEvents.xml e adicionar a tag abaixo: <globalevent name="Teleports" time="12:00" event="script" value="teleports_progs.lua"/> Agora na pasta scripts da referida, criaremos o arquivo "teleports_progs.lua" e adicionaremos o script abaixo: --------- Script by: Adriano Swatt' ------ local dia = '1' -- qual dia do mês local horas = 12 -- hora do evento & horas para remover os tps local tp_id = 5023 -- ID do Teleport (Pode ser outro item, se desejar) local gstrg_control = 12129 -- Não precisa mexer (Global Storage de Controle de Acesso) local tp_pos = {{x=000, y=000, z=0}, {x=000, y=000, z=0}, {x=000, y=000, z=0}, {x=000, y=000, z=0}, {x=000, y=000, z=0}, {x=000, y=000, z=0}} -- Coordenada Onde Nascerá os TPs local tp_acts = {11111, 22222, 33333, 44444, 55555, 66666} -- ActionID para Cada TP (Terá que registrar em movements.xml as memas que colocar aqui) ----------- FIM DAS CONFIGURAÇÕES --------- function onTimer() local checkday = os.date("%d") if checkday == dia then for x = 1, #tp_pos do doItemSetAttribute(doCreateItem(tp_id, 1, tp_pos[x]), "aid", tp_acts[x]) end -- FOR addEvent(RemoveTps, horas * 60 * 60 * 1000) doBroadcastMessage("Hoje é dia "..checkday.." e são exatamente "..horas..":00 horas, os teleportes de bonus foram abertos e permanecerão por "..horas.." horas.") if getGlobalStorageValue(gstrg_control) <= 0 then setGlobalStorageValue(gstrg_control, 1) else setGlobalStorageValue(gstrg_control, (getGlobalStorageValue(gstrg_control) + 1)) end return true else doBroadcastMessage("Lembrem-se: Todo dia "..checkday.." às "..horas.." horas terá o evento dos teleportes.") end return true end function RemoveTps() for y = 1, #tp_pos do doRemoveItem(getTileItemById(tp_pos[y], tp_id).uid, 1) end -- FOR doBroadcastMessage("Os teleportes foram removidos, o evento abrirá novamente no próximo dia "..dia.." exatamente às "..horas..":00 horas.") return true end Agora em Movements.xml adicionaremos a tag, como abaixo: (Substitua os números de acordo com que configurou o script anterior/acima) <movevent type="StepIn" actionid="11111;22222;33333;44444;55555;66666" event="script" value="Teleports_Progs.lua"/> E em scripts, criaremos o arquivo "Teleports_Progs.lua" e adicionaremos o código abaixo: -------- Script by: Adriano Swatt' ------- local gstrg_control = 12129 -- Não precisa mexer (Global Storage de Controle de Acesso) local tp_exe = 11111 -- ID da ActionID do Teleport Exclusivo (Necessita 5 storages) local stors = {11111, 22222, 33333, 44444, 55555} -- Storages o player precisa para o teleport exclusivo local tp_acts = { [11111] = {{x=000, y=000, z=0}}, -- ActionID de cada teleport e coordenada pra onde o player irá (Tem que ser a mesma do outro script) [22222] = {{x=000, y=000, z=0}}, -- teleport 2 [33333] = {{x=000, y=000, z=0}}, -- teleport 3 [44444] = {{x=000, y=000, z=0}}, -- teleport 4 [55555] = {{x=000, y=000, z=0}}, -- teleport 5 [66666] = {{x=000, y=000, z=0}} -- teleport 6 } local msgs = { "Você não tem todas as quests necessárias.", -- Mensagem quando não tiver todas storages "Você já entrou em um dos teleportes bônus hoje.", -- Mensagem quando já tiver acessado um dos teleportes "Parabéns, você entrou no teleporte bônus." -- Mensagem ao entrar em algum teleporte } -- Mensagens ----------- FIM DAS CONFIGURAÇÕES --------- function onStepIn(cid, item, position, fromPosition) local tp_check = tp_acts[item.actionid] local gstrg = getGlobalStorageValue(gstrg_control) local getSto = getPlayerStorageValue if item.actionid ~= tp_exe then if tp_check then if getSto(cid, gstrg_control) < (gstrg) then doPlayerSendCancel(cid, msgs[3]) doTeleportThing(cid, tp_check[1]) setPlayerStorageValue(cid, gstrg_control, (getGlobalStorageValue(gstrg_control))) else doPlayerSendCancel(cid, msgs[2]) doTeleportThing(cid, fromPosition) end end else if getSto(cid, gstrg_control) < (gstrg) then if getSto(cid, stors[1]) >= 1 and getSto(cid, stors[2]) >= 1 and getSto(cid, stors[3]) >= 1 and getSto(cid, stors[4]) >= 1 and getSto(cid, stors[5]) >= 1 then doPlayerSendCancel(cid, msgs[3]) doTeleportThing(cid, tp_check[1]) setPlayerStorageValue(cid, gstrg_control, (getGlobalStorageValue(gstrg_control))) else doPlayerSendCancel(cid, msgs[1]) doTeleportThing(cid, fromPosition) end else doPlayerSendCancel(cid, msgs[2]) doTeleportThing(cid, fromPosition) end end return true end Testei e funcionou perfeitamente. Boa sorte. Caso ocorra algum erro, ou até mesmo para agradecer, dê um FeedBack. Abraços.
  9. Acusou algum erro? Conferiu se o player perdeu algum ponto de Dodge ao morrer?
  10. O programa para testar se as portas estão devidamente abertas é este: PortChecker Nos meus tutoriais tem o link do site oficial, porém tem sido bem burocrático baixar diretamente no site. #Por acaso, qual operadora da sua internet?
  11. Estou criando um script aqui e já lhe ensino como abrir. Vou postar o programa que precisará para testar se foi aberta com êxito.
  12. Vejamos, acesse este link e veja se é este modelo de modem.
  13. Mas InGame ao dar LOOK a quantidade de ML configurada no script não está sendo adicionado ao item?
  14. Alguma das funções testadas acima, chegou a adicionar a quantidade de ML no item? que pôde ser vista ao dar LOOK. Porque dependendo do item que adicionar, não irá adicionar o ML ao player ao equipar se não tiver registrado em movements. Responda a pergunta e vamos eliminando os erros para chegar à solução. Boa sorte.
  15. Registre a função onPrepareDeath em CreatureScripts.xml: <event type="preparedeath" name="LostDodge" event="script" value="lost_dodge.lua"/> Agora em login.lua, adicione a tag abaixo junto com as do gênero: registerCreatureEvent(cid, "LostDodge") E o arquivo lost_dodge.lua deve conter o script a seguir: local storagedodge = 98798644 -- Storage do Dodge function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if getPlayerStorageValue(cid, storagedodge) >= 1 then setPlayerStorageValue(cid, storagedodge, (getPlayerStorageValue(cid, storagedodge) - 1)) return true end return true end Boa sorte.
  16. Daqui a pouco vejo se consigo um tempinho pra te ajudar.
  17. Vou dar uma analisada nas possibilidades e vejo se consigo fazer pra você.
  18. Adriano SwaTT postou uma resposta no tópico em Suporte Tibia OTServer
    Teste assim: local tempo = 10 -- em segundos local strg = 12980 -- Storage onde salvará o tempo (Não Mexa) function onSay(cid, words, param) if exhaustion.check(cid, strg) then doPlayerSendCancel(cid, "Voce precisa aguardar "..exhaustion.get(cid, strg).." segundos para usar novamente.") return true end if doPlayerRemoveItem(cid, 2160, 10) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce Desbugou!") doSendMagicEffect(getPlayerPosition(cid), 12) exhaustion.set(cid, strg, tempo) addLevel(cid, 1) else doPlayerSendCancel(cid, "Precisa de 10 Gold Para Desbugar!") doSendMagicEffect(getPlayerPosition(cid), 2) end return true end Abraços, boa sorte.
  19. Obrigado, peço apenas que seleciona como Melhor Resposta para que o tópico fique como Resolvido.
  20. Tentou adicionar a storage em questão em um player normal (sem ser conta do GOD) usando o GOD e os comandos que citei? Se não testou, teste e poste o resultado.
  21. Exatamente o erro que tinha quando adicionei esta função. Infelizmente não consegui solucionar no meu servidor também.
  22. Nossa, na verdade seria isso mesmo, setar para 1 e bloquear se tiver maior ou igual... No caso foi erro no getPlayerStorage, mas já foi corrigido. Obrigado pela observação.
  23. Quer o script ou saber como faz para não poder abrir ambos? Dúvida: Os sets de Pally e Kina são iguais? Para bloquear após escolha: Simples, basta adicionar uma storage ao player após escolher um, e que o baú bloqueie players que possuam esta storage. Caso não saiba, peça e tento lhe ajudar. Boa sorte. #EDIT: Tomei a liberdade de criar um esboço, creio que lhe ajudará. -------- CONFIGURAÇÕES -------- local items = {ID_HELMET, ID_ARMOR, ID_LEGS, ID_BOOTS} -- ID dos items que ganhará local strg = 12128 -- Storage (NÃO MEXA) ---- FIM DAS CONFIGURAÇÕES ---- function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, strg) < 1 then setPlayerStorageValue(cid, strg, 1) doPlayerSendTextMessage(cid, 22, "Voce acabou de conseguir os seus primeiros items!") for x = 1, #items do local bag = doPlayerAddItem(cid, 2000, 1) doAddContainerItem(bag, items[x], 1) end else doPlayerSendCancel(cid, "Você já fez sua escolha.") end return true end Boa sorte.
  24. Boa tarde. Acabei de testar o script e funcionou perfeitamente aqui. Creio que esteja fazendo alguma coisa errada. Observações: 1. Lembre-se de não testar o script com a conta de ADM ou GM (nem em players comuns da conta que tenha ADM ou GM), pois estes possuem o Logout forçado que mesmo com battle não há o que impeça o logout. 2. Faça assim, entre em duas contas, com o GOD e um player comum, adicione uma das storage do script no player comum com o Comando do GOD e tente logar para testar. O comando de adicionar storage é: /storage nome_do_char, storage, valor Ex: /storage Baloth, 12120, 1 Logo em seguida, para testar execute o comando sem o último dígito, para aparecer qual valor de storage o player está atualmente, seria assim: /storage Baloth, 12120 Exibirá uma mensagem dizendo qual o valor da storage que ele está. Assim saberemos se o script está funcionando em seu servidor e se a storage dos surfs, ride, etc... estão corretas. Boa sorte, aguardo resposta.
  25. Exatamente o que acho também, porém, tenta desativar o script que criamos e testar se o erro persiste. Mas provavelmente seu vocations.xml foi alterado. Boa sorte.

Informação Importante

Confirmação de Termo