Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/08/16 em todas áreas

  1. Marce Loko

    creature:moveTo(pos)

    Bom dia! Esse código faz a creature (NPC, monster ou player) andar até a posição desejada. Notas: Não use para longas distâncias. Crie um sistema de waypoints para isso. A creature não para exatamente na posição desejada. (caso alguém se interesse em corrigir, eu anexarei ao tópico) Utiliza grande poder de processamento. Use de forma sábia. Testado apenas em TFS 1.2 Coloque em luascript.cpp registerMethod("Creature", "moveTo", LuaScriptInterface::luaCreatureMoveTo); int32_t LuaScriptInterfaceluaCreatureMoveTo(lua_State* L){ //creature:moveTo(pos) Creature* creature = getUserdata<Creature>(L, 1); if (!creature) { lua_pushnil(L); return 1; } const Position& position = getPosition(L, 2); FindPathParams fpp; fpp.minTargetDist = getNumber<int32_t>(L, 3, 0); fpp.maxTargetDist = getNumber<int32_t>(L, 4, 1); fpp.fullPathSearch = getBoolean(L, 5, fpp.fullPathSearch); fpp.clearSight = getBoolean(L, 6, fpp.clearSight); fpp.maxSearchDist = getNumber<int32_t>(L, 7, 150); stdforward_list<Direction> dirList; if (creature->getPathTo(position, dirList, fpp)) { creature->hasFollowPath = true; creature->startAutoWalk(dirList); pushBoolean(L, true); } else { pushBoolean(L, false); } return 1;} Coloque em luascript.h static int luaCreatureMoveTo(lua_State* L); Substitua a função original em creature.cpp bool CreaturesetFollowCreature(Creature* creature){ if (creature) { if (followCreature == creature) { return true; } const Position& creaturePos = creature->getPosition(); FindPathParams fpp; fpp.minTargetDist = 0; fpp.maxTargetDist = 1; fpp.fullPathSearch = true; fpp.clearSight = true; fpp.maxSearchDist = 150; stdforward_list<Direction> dirList; if (creaturePos.z != getPosition().z || !canSee(creaturePos) || !getPathTo(creaturePos, dirList, fpp)) { followCreature = nullptr; return false; } if (!listWalkDir.empty()) { listWalkDir.clear(); onWalkAborted(); } hasFollowPath = false; forceUpdateFollowPath = false; followCreature = creature; isUpdatingPath = true; } else { isUpdatingPath = false; followCreature = nullptr; } onFollowCreature(creature); return true;} Substitua a função original em monster.cpp bool MonstergetNextStep(Direction& dir, uint32_t& flags){ if (getHealth() <= 0) { //we dont have anyone watching might aswell stop walking eventWalk = 0; return false; } bool result = false; if (hasFollowPath) return CreaturegetNextStep(dir, flags); else if ((!followCreature || !hasFollowPath) && !isSummon()) { if ((followCreature || getTimeSinceLastMove() > 1000) && !hasFollowPath && !isIdle) { //choose a random direction result = getRandomStep(getPosition(), dir); } } else if (isSummon() || followCreature) { result = CreaturegetNextStep(dir, flags); if (result) { flags |= FLAG_PATHFINDING; } else { //target dancing if (attackedCreature && attackedCreature == followCreature) { if (isFleeing()) { result = getDanceStep(getPosition(), dir, false, false); } else if (mType->staticAttackChance < static_cast<uint32_t>(uniform_random(1, 100))) { result = getDanceStep(getPosition(), dir); } } } } if (result && (canPushItems() || canPushCreatures())) { const Position& pos = SpellsgetCasterPosition(this, dir); Tile* tile = g_game.map.getTile(pos); if (tile) { if (canPushItems()) { MonsterpushItems(tile); } if (canPushCreatures()) { MonsterpushCreatures(tile); } } } return result;} Aproveitem! Abraço.
    2 pontos
  2. Str00per

    Maratona de Projetos - Votação!

    O que torna o projeto que você escolher digno de receber o 1º lugar? Escolhi ele por quebrar todo padrão tibia! Faz uma mudança de modo de jogo, não contem aquela mesmice de Pokémon/Naruto e contem coisas que ninguém ate hoje fez!
    2 pontos
  3. Night Wolf

    [0.36~0.4] Slot Cassino

    Olá pessoas, hoje vim trazer pra vocês um script que inicialmente fiz prum trabalho mas acabei gostando muito dele e decidi postar. To meio que indo dormir porque daqui a pouquinho tenho aula então vai ser tudo bem rapido e se vcs tiverem alguma dúvida comentem aqui. Primeiramente façam uma sala parecida com essa aqui: Não precisa ser necessariamente assim, mas ela deve ter as 3 bolas, uma alavanca e um local pra botar o dinheiro pras apostas. O sistema é baseado naqueles jogos de slot nos cassinos onde você aposta uma quantidade de dinheiro e se tirar 3 peças iguais você recebe o dobro do dinheiro apostado. em actions/scripts crie um arquivo chamado cassino.lua e adicione o seguinte dentro dele: Agora em data/actions/actions.xml adicione: <action actionid="16541" script="cassino.lua"/> Agora só botar a actionid na lever e configurar tudo de acordo com seu sv (as posições ali em pieces são as posições de cada peça, ou cada bola, se preferir.) se quiser fazer várias salas é só copiar o código pra um cassino2.lua e registrar outra tag <action actionid="16542" script="cassino2.lua"/>; Tá tudo comentado no código então acho que dispensa uma explicação formal de como editar, espero que vocês gostem e se alguém quiser/puder grave um gif/video do sistema e me manda que eu edito o tópico. Abraços do Lobo!
    1 ponto
  4. Hail Xtibianos! É hora de votar, diga-nos qual projeto lhe interessou mais, e porque? O que torna o projeto que você escolher digno de receber o 1º lugar? A votação vai ficar aberta até 15~17/10, postaremos o resultado. Parabéns aos projetos que participaram! PROJETOS PARTICIPANTES 1 POKÉMON GLOBAL Apresentação: Contribuição 2 HEROES VALLEY Apresentação: Contribuição 3 POKÉMON LIGHT Apresentação: Contribuição 4 ATTACK Apresentação: Contribuição
    1 ponto
  5. Marce Loko

    Maratona de Projetos - Votação!

    Bom eu sou suspeito pra votar. Mas se posso, então: O que torna o projeto que você escolheu digno de receber o 1º lugar? Tendo em vista que o evento não definiu critérios de avaliação, o julgamento é livre para quem o faz. Meu critério é inovação. E julgo que Attack! é o projeto mais inovador. RPGs e Pokemons temos vários. MOBA até o momento, nenhum.
    1 ponto
  6. Farathor

    Utilitários no Ubuntu

    Existe RME para linux tbm https://remeresmapeditor.com/marklar.php
    1 ponto
  7. Eae pessoal, no meu projeto de dragon ball como poucos conhecem, eu estou tentando utilizar o estilo de spells com troca de outfit, como mostra o gif abaixo. Acham que vale a pena?
    1 ponto
  8. Aberos

    Maratona de Projetos - Votação!

    O que torna o projeto que você escolher digno de receber o 1º lugar? O projeto que escolhi e digno de receber o primeiro lugar pelo fato de nao estar na mesmice de poketibia, e de conter vários sistemas revolucionários no mundo dos ot derrubando as barreiras de limitações do tíbia, além de ser bem promissor. OBS: escolhi o ATTACK.
    1 ponto
  9. Luga03

    [Download] Pokémon Light (Com level)

    Não, é um pouco parecido, mas não é totalmente igual. Possivelmente irei postar o tutorial também, quando tiver mais tempo.
    1 ponto
  10. Furabio

    Maratona de Projetos - Votação!

    Parabéns aos desenvolvedores dos 4 projetos apresentados, cada um tem sua peculiaridade que o torna diferente do outro, mas vale ressaltar que nem tudo que é diferente é bom, e nem tudo que é bom é diferente. Dos 4 apresentados 2 se sobressaíram em cima dos demais ao meu ver, então decidi escolher o que eu jogaria.
    1 ponto
  11. drigobo

    Maratona de Projetos - Votação!

    O que torna o projeto que você escolher digno de receber o 1º lugar? Apesar de todos terem suas razões para ficar em primeiro, eu escolhi esse por estar em falta um projeto voltado para o rpg de uma forma que possa aproveitar toda a riqueza que existe para historias no conteúdo que temos hoje, mas que sempre é ignorado
    1 ponto
  12. Luga03

    Maratona de Projetos - Votação!

    O que torna o projeto que você escolher digno de receber o 1º lugar? Bom, não é por que é meu projeto que estou dizendo isso não, mas para min a chave para um projeto ser bem sucedido é ser diferente dos demais. Mas por que eu acho isso? Por que se eu quisesse jogar um jogo igual a outro, era apenas baixar o primeiro que encontrar pela frente que seria basicamente QUASE a mesma coisa... Não que os outros projetos sejam ruims, pelo contrário, são ótimos... Mas eu prefiro poketibia totalmente diferente de algo que existe ou já existiu... Bom fica aí a minha dica para desenvolvedores Espero que o melhor projeto ganhe, mesmo todos sendo bons!
    1 ponto
  13. Yakutche

    Maratona de Projetos - Votação!

    Votei no heroes valleu pelo seguinte motivo, ao meu ver é um projeto totalmente novo, existem diver poketibia, narutibia, global (não significa que os desenvolvedores devam parar), mas o heroes valley é algo totalmente novo, algo não explorado até agora, e que pode se tornar um grande sucesso. Boa sorte a todos, que o melhor projeto vença.
    1 ponto
  14. Cada um teve algo próprio na sua essência e que me chamou a atenção mas enfim, que vença o melhor e que todos lancem o/
    1 ponto
  15. A contribuição de cada um desses também tá show. O que torna o projeto que você escolher digno de receber o 1º lugar? Como o amigo @Kttallan acima disse, a grande maioria terá boas chances no mercado do Open Tibia, o que é de certa forma errado em minha visão, o caminho que o OpenTibia seguiu tornou-o um gigantesco mercado, o que deveria ser mais voltado à paixão pelo jogo, tornou-se apenas uma forma de se ganhar dinheiro. Meu voto vai para o que menos visualizo essa motivação a ser apenas um "leech" de dinheiro na comunidade. E que também sei que traz certa inovação comparado aos servidores ativos de hoje em dia.
    1 ponto
  16. Esta maratona está realmente difícil de escolher o primeiro lugar. O que torna o projeto que você escolher digno de receber o 1º lugar? O projeto de primeiro lugar, deve-se caber dentro da sua categoria com os sistemas e jogabilidade avançados e saindo da mesmice dos já existentes. Eu escolhi o meu próprio projeto, Pokémon Global, por ser o único projeto de OLDPoke e que ainda sim consegue inovar bastante e apresentar ao público o que nunca foi visto antes, mesmo com esses 6 anos que o Poketibia surgiu. Nossos sistemas são quase que exclusivos, pois os únicos que tiveram verdadeiramente foi o Pokémon SvkE, a atual PokexGames. Também inovando com o OLDClient, abrindo seus novos horizontes e trazendo o que jamais existiu. Estamos mostrando todo nosso empenho e desenvolvendo algo realmente jogável, que não haja bugs, pois nosso TFS está sendo totalmente reconstruído, removendo todo o código inútil e recriando os códigos úteis de forma mais rápida e leve. Que o melhor projeto vença a maratona. Boa sorte a todos!
    1 ponto
  17. kttallan

    Maratona de Projetos - Votação!

    Essa maratona de projetos realmente está recheada, creio que a grande maioria terá boas chances no mercado do Open Tibia juntos com suas inovações. O que torna o projeto que você escolher digno de receber o 1º lugar? Bom o projeto que realmente me surpreendeu foi o Attack's creio que esses porém como sou fã de servidores derivados do Poketibia e estou no fórum a anos tentando ver algum projeto de diferente. Oquê me atraiu nesse quesito de inovação do mundo Poketibiano foi o servidor Pokémon Light a qual ultrapassou a mesmice dos servidores 0.3.6 e foi para o 0.4 e depois de muitas discussões mudaram para o 1.2 que é um marco para os servidores derivados, creio que seja um dos projeto mais elaborado onde visa a inovação evitando a velha e tradicional, Cópia da PxG.
    1 ponto
  18. Storm Night

    Maratona de Projetos - Attack

    Projeto Muito Bom... Parabéns!!
    1 ponto
  19. Hisoka Fail2

    Desbugar Duel Pokémon

    Eae povo joia?,eu junto com um amigo ''criamos'' uma script bem simples mesmo,porém muito util... e o que essa script faz?,simples ela retira o bug do duel.Vou explicar:Em alguns servidores (no meu inclusive) as vezes depois do duel o player não consegue sair(é raro acontecer,mas acontece),mesmo dando order nele mesmo,morendo etc.. o que imposibilita ele de trocar de pokemons,bater revive etc.Com essa script é só usar o comando /desbug nick do player que o ''bug'' sai.Bom sem mais delongas ai está: Cria um arquivo .lua em \data\talkactions\scripts e dentro coloque isso: Em talkactions.xml coloque essa tag: OPS:Meu primeiro tópico nesse estilo.. não sei se fiz certo.. creio que esse script irá ajudar muita gente,pois eu mesmo sofri bastante com esse ''bug'' e não achava nada em foruns... (Eu e um amigo que tivemos que aprender resolver essa treta)
    1 ponto
  20. Sim, irei criar outro topico. A proposito, @Skulls sumiu :Z, eu gosto dos seus trabalhos!
    1 ponto
  21. Oneshot

    Bateu uma vontade de voltar com Open Tibia :-)

    Bateu uma vontade de voltar com Open Tibia :-)
    1 ponto
  22. Deadpool

    Dúvidas Do Combat Formula

    setCombatFormula(combat, formulaType, min_a, min_b, max_a, max_b, min_lvl, max_lvl, min_mlvl, max_mlvl, min_dmg, max_dmg) Combat é o objeto combate em questão, normalmente ele é instanciado no inicio dos arquivos de spells como local combat = createCombatObject(). É esse objeto que controla, a partir de seus parâmetros, toda a dinâmica das spells: efeitos, dano, área, etc. Min_a e Max_a são múltiplicadores das fórmulas de dano máximo e mínimo Min_b e Max_b são números base das fórmulas de dano máximo e mínimo Min_lvl e Max_lvl são ponderadores do level na fórmula de dano máximo e mínimo baseado em ML, dividem o lvl do player. Min_mlvl e Max_mlvl são ponderadores do magic level na fórmula de dano máximo e mínimo baseado em ML, multiplicam o ml do player. Min_dmg e Max_dmg são os limites do dano máximo e mínimo, o menor dano possível é min_dmg e o maior dano possível é max_dmg. formulaType são os diferentes tipos de fórmulas que podem ser usados, isso é, formas diferentes de como os parâmetros de dano que foram passado serão utilizados. Existem três tipos relevantes de fórmulas, existe um quarto chamado undefined ou 0. Porém nele todos os parâmetros são zero. São eles: COMBAT_FORMULA_LEVELMAGIC ou 1 Essa é a fórmula mais completa das três, utiliza de todos os parâmetros para definir o dano máximo e mínimo. Basicamente, a fórmula de dano é Dano mínimo = ((player_level / min_lvl + player_mlvl) * min_mlvl) * min_a + min_b) Dano máximo = ((player_level / max_lvl + player_mlvl * max_mlvl) * max_a + max_b) Se dano mínimo > min_dmg, então dano mínimo = min_dmg Se dano máximo > max_dmg, então dano máximo = max_dmg Considerações importantes, o valor final de dano máximo e dano mínimo deve ser negativo, o mesmo vale para os valores de min_dmg e max_dmg. Portanto, para evitar confusão vai uma dica simples: Sempre coloque min_a, min_b, max_a, max_b, min_dmg e max_dmg negativos e o restante positivo. COMBAT_FORMULA_SKILL ou 2 Mais simples que o anterior, só utiliza em seu cálculo os parâmetros min_b, max_a e max_b. Leva em consideração, como veremos, level, arma e skill (referente à arma que ele estiver empunhando) do player. Min_dmg não serve para esse caso, mas max_dmg ainda vale como no anterior. Dano mínimo = min_b Dano máximo = Dano_Calculado * max_a + max_b Se dano máximo > max_dmg, então dano máximo = max_dmg Aqui Dano_Calculado é o calculo do seu dano com a sua arma, levando em conta seu level e skills. Novamente, o valor final dos danos deve ser negativo. Aqui, use todes os valores negativos e não terá problemas. COMBAT_FORMULA_DAMAGE ou 3 A mais simples das três, leva em consideração somente min_b, que será o dano mínimo e max_b, que será o dano máximo. Para não ter problemas, use valores negativos. A respeito das fórmulas é isso. São as três fórmulas pré-definidas e seus funcionamentos. Caso queira ler e entender sobre Formulas e Callbacks das spells, veja este artigo feito por o @Skulls Formulas e Callbacks das spells créditos: @Skulls
    1 ponto
  23. IvanAppel

    Tibia client 10.81 LINUX

    Olá, você pode compilar no linux com o este tutorial, usando a versão 10.82 deste link.
    1 ponto
  24. Ae galera estou compartilhando com vocês o código para quem for aumentar o limite de magic effects no servidor é trabalhoso então para ajudar a galera a não ficar horas fazendo resolvi trazer os códigos prontos xD const.h Tools.cpp 000-constant.lua Espero que ajude alguém xD
    1 ponto
  25. Tinha umas proteções na source e nos modulos q impedia fazer o login.
    1 ponto
  26. Como prometido, client e source - otclient funcionando 100%. Dentro tem uma pasta chamada Server que contem o config.lua e a database em sqlite funcionando com Account Manager ou se for usar site e mysql irá funcionar tbm. Link - https://mega.nz/#!3YVFhZSb!62hSeDKFdfImTt_9Svy4zljA8MqlIaTRWBFGx27jScg
    1 ponto
  27. L3K0T

    Aumentando o ShootEffect /x

    CONTEÚDO REMOVIDO: AGORA VOCÊ VAI TER QUE TER CRIATIVIDADE OU SE PENDURAR-SE NAS COSTA DE ALGUÉM, MENOS NA MINHA - BOA SORTE! error 404 - I do not serve the forum I retired.
    1 ponto
Líderes está configurado para São Paulo/GMT-03:00
×
×
  • Criar Novo...