Venha conhecer o Xtibia!

Bem Vindo ao XTibia - Sua comunidade de Otserv e Tibia

Registre-se para utilizar nossas ferramentas e baixar conteúdos. Quando registrado e logado em sua conta, lhe garantimos uma experiência incrível em nossa comunidade!

Marce Loko

Patrocinado
  • Conteúdo

    40
  • Registrado

  • Última visita

Sobre Marce Loko

Perfil

  • Gênero Masculino

Informações

  • Forma que conheci o Xtibia Outros Sites
  • Sou OT-Admin

Últimos Visitantes

895 visualizações
  1. sobre o que? Gostei do tema, já pensei sobre isso mas é uma aposta arriscada e trabalhosa. Qual seu projeto, vai colocar online com donates e tal? De onde são as sprites? é benino ou benina?
  2. programar

    além de responder algumas dúvidas, eu lia muitos tópicos já respondidos também
  3. programar

    Bacana todas as dicas aqui. Só acrescento que no meu caso, exercícios de programação sempre engrossaram minha programação. Crie exercícios também e faça alguns códigos só por curiosidade do resultado.
  4. 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.
  5. Falae, entrei em contato com o Skulls um tempo atrás mas acabei tendo imprevistos e não consegui me comunicar. Gostaria de contribuir para o projeto de vocês, me considero spriter amador.

     

    Se tiver interesse: marcelo.marinho.colchete é meu skype para nos comunicarmos! Abraço!


    •  
  6. Pode pedir conta de amigos e criar novas contas?? Essa competição não tem regras, mas acho que bom senso deve imperar em uma comunidade séria.
  7. sim, como o meu mapa é pequeno, dá certinho eu não cheguei a profilar, mas me disseram que considerável porcentagem do processamento é relativo ao map description
  8. Em breve termino a fase alfa, jogos já poderão ser feitos, apesar de faltar alguns mecanismos. Eu só entendo de DOTA então não tenho como fugir dele... mas a ideia é criar o nosso próprio conceito. Mas devido à inatividade do Lucas, isso não vai acontecer por enquanto.
  9. eu já sugeri ter muito cuidado pra usar essa função... se fosse uma implementação Lua, eu então diria pra nem usá-la! hahhahahahha Infelizmente eu não sou designer de framework, apenas desenvolvo conteúdo em cima da plataforma. Então eu parto do pressuposto de que o servidor cumpre com maestria o que eu preciso. Afinal, nunca vi um OT que o gargalo seja o processamento. Em um OT que atingiu 2 mil jogadores, o computador não chegou a bater 50% de processamento... e nem era um dedicado tão possante. Além disso tudo, o meu projeto possui características que pode alterar como funciona o mapa, posso bufferizar todo o mapa no cliente. No que eu tenho conhecimento, essa parte do mapa é um dos grandes vilões do processamento.
  10. 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 LuaScriptInterface::luaCreatureMoveTo(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); std::forward_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 Creature::setFollowCreature(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; std::forward_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 Monster::getNextStep(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 Creature::getNextStep(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 = Creature::getNextStep(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 = Spells::getCasterPosition(this, dir); Tile* tile = g_game.map.getTile(pos); if (tile) { if (canPushItems()) { Monster::pushItems(tile); } if (canPushCreatures()) { Monster::pushCreatures(tile); } } } return result; } Aproveitem! Abraço.
  11. Dez anos atrás eu ia dormir todo dia com o jogo na cabeça kkkk Fora isso, tinha 11 anos, já pirava nas gatas e praticava muito esporte.
  12. Eai tudo bem?

    Pode me add no skype?

     

    "marceloko."

    1. drigobo

      drigobo

      Opa, tudo bom.
      blz

      tem muita gente com teu nome, add eu Drigobo

  13. Boa noite. Não consigo enviar mensagem privada pois o campo mensagem NÃO APARECE. Não consigo enviar mensagem pelo perfil pois o campo da mensagem não escreve. Obrigado.
  14. open pvp

    Jogarei Site ficou show.
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

Anuncie no Xtibia!

Anuncie para obter mais acessos em seu servidor, entre em contato conosco: [email protected].