Welcome to xTibia - Sua comunidade de Otserv e Tibia

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Marce Loko

Membro
  • 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

908 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.