Postado Junho 3, 2017 8 anos @xWhiteWolf eu consegui resolver o problema. Não sei dizer o porque acontece isso, mas no map editor quando você está muito pra cima no mapa, ou muito pra baixo, ele buga e da problema, em tudo, não só em scripts. Então eu recomendo um espaço de pelo menos uns 50 sqm para todas as direções quando for fazer qualquer coisa em um mapa, pois fica mais centralizado e funciona tudo. Sobre o sistema Pela OTland eu vi alguns scripts parecidos. Mas nesses scripts você precisa ficar limitando quantos slots de trainers vão ter, e cada tile no mapa editor vai com uma UniqId diferente e em sequencia. No seu script não, você cria apenas uma sala de trainer e vai dando ctrl+c e ctrl+v e vai colocando a quantidade de salas conforme a sua necessidade. Depois disso só informa no script as distancias e quantidades. Isso torna o script mais simples e rápido para quem configura e o torna o melhor sistema de trainers da atualidade. Sem contar que você faz um trainer room pequeno e fácil e tem uma área eficiente e bonita sem ficar se preocupando em mapear uma sala de trainer toda bonitona.. De qualquer forma, obrigado pela contribuição disponibilizando o sistema e pelo suporte em que tentou me ajudar. Rep+ Editado Junho 3, 2017 8 anos por DiegoRulez (veja o histórico de edições)
Postado Junho 4, 2017 8 anos Estou com duvida nesta parte do script Spoiler local config = { eff = 12, -- efeito que sai food = 100, -- quanto de food vai dar (use 100 no maximo) timespin = 10 -- tempo pra dar uma volta (quanto menor mais checagens a função vai fazer e mais pesado vai ficar o sistema) } function helpTrainer(uid, pos) if not isPlayer(uid) then return false end look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) doSendMagicEffect(pos, config.eff) if getPlayerFood(uid) < config.food then doPlayerFeed(uid, config.food) doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER) end addEvent(function() if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then helpTrainer(uid, pos) end end, config.timespin * 1000) return true end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) helpTrainer(cid, position) return true end +Food, ele da food ao player ou ele da efeito ao player como se tivesse comido 100 food?...Não entendi direito! O Sistema está funcionando perfeitamente, obrigado por compartilhar, recomendo! REP+
Postado Junho 5, 2017 8 anos Autor On 6/3/2017 at 0:24 AM, Heyron said: A ideia é genial @xWhiteWolf, parabéns pela criatividade. Com esse sistema os jogadores serão poupados de ter que andar de forma arcaica procurando por "salas" vazias, no qual é algo repetitivo demais, e evidentemente desagradável. Há um tempo atrás eu tive uma ideia bacana também, e que talvez outras pessoas também tiveram. No qual, se trata de um local de treino contendo uma só sala de treino para o servidor inteiro. E esse local seria o mesmo para todos os jogadores que o acessarem, porem um jogador não vê o outro que também estiver lá, e os dois Monk aparecem meio que individualmente para cada jogador que estiver nesse mesmo local. É algo meio confuso de se entender, eu sei kkk.. Um dos benefícios desse sistema seria de poupar o mapper de ter que fazer 500, 1000, 2000 salas de treino, no qual é algo muito chato e cansativo, mesmo pra quem manja. isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa fazer as salas manualmente, porém é só fazer uma e dar ctrl c e ctrl v até formar uma linha e depois dar ctrl c e ctrl v na linha inteira de salas e fazer as colunas. Se fosse pra criar a sala via script vc tornaria o sistema muito pesado :~ On 6/3/2017 at 0:51 AM, Radamanthys Wov said: Não funciona em 1.0 ? o algoritmo é o mesmo, o que vc vai ter que mudar é as funções do TFS. A lógica é universal, as funções que mudam com as versões. Pega as versões correspondentes e substitui que vai funcionar. On 6/3/2017 at 0:59 AM, DiegoRulez said: @xWhiteWolf eu consegui resolver o problema. Não sei dizer o porque acontece isso, mas no map editor quando você está muito pra cima no mapa, ou muito pra baixo, ele buga e da problema, em tudo, não só em scripts. Então eu recomendo um espaço de pelo menos uns 50 sqm para todas as direções quando for fazer qualquer coisa em um mapa, pois fica mais centralizado e funciona tudo. Sobre o sistema Pela OTland eu vi alguns scripts parecidos. Mas nesses scripts você precisa ficar limitando quantos slots de trainers vão ter, e cada tile no mapa editor vai com uma UniqId diferente e em sequencia. No seu script não, você cria apenas uma sala de trainer e vai dando ctrl+c e ctrl+v e vai colocando a quantidade de salas conforme a sua necessidade. Depois disso só informa no script as distancias e quantidades. Isso torna o script mais simples e rápido para quem configura e o torna o melhor sistema de trainers da atualidade. Sem contar que você faz um trainer room pequeno e fácil e tem uma área eficiente e bonita sem ficar se preocupando em mapear uma sala de trainer toda bonitona.. De qualquer forma, obrigado pela contribuição disponibilizando o sistema e pelo suporte em que tentou me ajudar. Rep+ não sabia desse bug, eu dificilmente mapeio pros meus scripts então nem imaginava que poderia dar algo assim. Mas agradeço por ter me explicado como resolveu, se outros tiverem esse problema eu já sei que isso pode ser uma sugestão de resolução eficaz. No mais, fico feliz que você tenha gostado do script porém devo avisar que ao criar novas salas você deve sempre manter a proporção entre linhas e entre colunas.Exemplos válidos: x = 3, y = 4 o o o o o o o o o o o o x = 2, y = 6 o o o o o o o o o o o o x = 4, y = 1 o o o oExemplos inválidos: x = 3, y = 4 o o o o o u o o o u o o Considera o = sala e u = sem sala Se você tentar deixar alguns lugares sem sala e aumentar apenas uma ao invés da linha/coluna inteira ele vai considerar os lugares u como salas válidas e então vai transportar players pra lá e bugar o player On 6/3/2017 at 9:17 PM, Digoshow said: Estou com duvida nesta parte do script Hide contents local config = { eff = 12, -- efeito que sai food = 100, -- quanto de food vai dar (use 100 no maximo) timespin = 10 -- tempo pra dar uma volta (quanto menor mais checagens a função vai fazer e mais pesado vai ficar o sistema) } function helpTrainer(uid, pos) if not isPlayer(uid) then return false end look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) doSendMagicEffect(pos, config.eff) if getPlayerFood(uid) < config.food then doPlayerFeed(uid, config.food) doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER) end addEvent(function() if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then helpTrainer(uid, pos) end end, config.timespin * 1000) return true end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) helpTrainer(cid, position) return true end +Food, ele da food ao player ou ele da efeito ao player como se tivesse comido 100 food?...Não entendi direito! O Sistema está funcionando perfeitamente, obrigado por compartilhar, recomendo! REP+ ele dá o efeito de ter comido 100 food. Se só adicionasse vc teria que usar bot pra comer as foods e a idéia é fazer algo livre de bot pro povo só ir e largar lá no trainer. Bots spamam ações no jogo e acabam deixando ele lento. Tudo que você puder fazer no seu servidor pra evitar o uso de bots dos players você deve fazer. Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá! "Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda (obg ao @Beeny por fazer essa linda sign <3)
Postado Junho 5, 2017 8 anos Muito boom, gostei do Anti Idle também que simula o bot, assim é mais facil para ao player, e da um desempenho melhor para todos! Parabéns e obrigado pelo script novamente! ehehe
Postado Junho 5, 2017 8 anos 16 horas atrás, xWhiteWolf disse: isso que vc quer é exatamente o que é o sistema. Se você separar bem as salas os players sempre vão achar que estão na mesma sala isolados dos outros. A diferença é que nesse aqui vc ainda precisa fazer as salas manualmente, porém é só fazer uma e dar ctrl c e ctrl v até formar uma linha e depois dar ctrl c e ctrl v na linha inteira de salas e fazer as colunas. Se fosse pra criar a sala via script vc tornaria o sistema muito pesado :~ o algoritmo é o mesmo, o que vc vai ter que mudar é as funções do TFS. A lógica é universal, as funções que mudam com as versões. Pega as versões correspondentes e substitui que vai funcionar. não sabia desse bug, eu dificilmente mapeio pros meus scripts então nem imaginava que poderia dar algo assim. Mas agradeço por ter me explicado como resolveu, se outros tiverem esse problema eu já sei que isso pode ser uma sugestão de resolução eficaz. No mais, fico feliz que você tenha gostado do script porém devo avisar que ao criar novas salas você deve sempre manter a proporção entre linhas e entre colunas.Exemplos válidos: x = 3, y = 4 o o o o o o o o o o o o x = 2, y = 6 o o o o o o o o o o o o x = 4, y = 1 o o o oExemplos inválidos: x = 3, y = 4 o o o o o u o o o u o o Considera o = sala e u = sem sala Se você tentar deixar alguns lugares sem sala e aumentar apenas uma ao invés da linha/coluna inteira ele vai considerar os lugares u como salas válidas e então vai transportar players pra lá e bugar o player ele dá o efeito de ter comido 100 food. Se só adicionasse vc teria que usar bot pra comer as foods e a idéia é fazer algo livre de bot pro povo só ir e largar lá no trainer. Bots spamam ações no jogo e acabam deixando ele lento. Tudo que você puder fazer no seu servidor pra evitar o uso de bots dos players você deve fazer. Realmente, parece está funcinal agora aqui.
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.