Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa tarde,

Estive pensando e quero uma opinião de vocês. 

Há um tempo venho olhando e não vejo Otserver enforced.. Provavelmente os antigos já jogaram Ot Enf com a list de jogadores famosos.

Times dividido por cores, logins 1/1, 2/2 etc....

Seria legal ter um ot assim? sem bot, sem navigation..

Variando as "arena", pega map de carlin, thais, deserto de ank etc... a cada tempo mudança.

 

Dando oportunidades de guilds do global ou otservers se enfrentarem em um duelo de igual para igual ...

 

Aguardo resposta.. 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Eu jogaria também, alguns anos atrás eu joguei alguns ots de war, aquele sisteminha que já vem o char lvl 100+ com itens e upa conforme mata players, tbm ganhava coins pra comprar addons, etc.

 

Eu acho muito bom, gostaria de ver servidores inovando nisso, quem sabe uns retro-pvp pra competir com a cipsoft hehe

Link para o post
Compartilhar em outros sites
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por FeeTads
      SALVE rapaziada do TK, esses dias vim pensando em novos scripts pro meu OT, e em um deles eu precisava que determinada area não contasse frag pro player que matasse outros, PORÉM eu precisava que os players que morressem nessa area ainda assim tivessem as penalidades da sua morte, procurei por ai, achei alguns scripts que apenas tiravam o SKULL e não realmente o FRAG do player.

      **script atualizado 22/10/2023** - melhorado e otimizado, levei o script pra puxar as infos por .lua / creatureScripts

      vou disponibilizar o code aqui, e o que fazer pra determinada area não contar frag.

      SOURCE OTX 2 / TFS 0.x, Funciona em TFS 1.x mudando as tags e ajeitando as sintaxes.

      vá em creatureevent.cpp

      procure por:
      else if(type == "preparedeath") _type = CREATURE_EVENT_PREPAREDEATH;
      Adiciona abaixo:
      else if(type == "nocountfrag") _type = CREATURE_EVENT_NOCOUNTFRAG;

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath";  
      Adicione abaixo: 
      case CREATURE_EVENT_NOCOUNTFRAG: return "noCountFragArea";

      procure por:
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList";
      Adicione abaixo:
      case CREATURE_EVENT_NOCOUNTFRAG: return "cid, target";

      agora no mesmo arquivo, vá até o final do arquivo e adicione essa função:
      uint32_t CreatureEvent::executeNoCountFragArea(Creature* creature, Creature* target) { //noCountFragArea(cid, target) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::ostringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; scriptstream << "local target = " << env->addThing(target) << std::endl; if(m_scriptData) scriptstream << *m_scriptData; bool result = true; if(m_interface->loadBuffer(scriptstream.str())) { lua_State* L = m_interface->getState(); result = m_interface->getGlobalBool(L, "_result", true); } m_interface->releaseEnv(); return result; } else { #ifdef __DEBUG_LUASCRIPTS__ std::ostringstream desc; desc << creature->getName(); env->setEvent(desc.str()); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); lua_pushnumber(L, env->addThing(target)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::noCountFragArea] Call stack overflow." << std::endl; return 0; } }

      agora vá em creatureevent.h

      procure por:
      CREATURE_EVENT_PREPAREDEATH
      adicione abaixo:
      CREATURE_EVENT_NOCOUNTFRAG

      procure por:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList);
      Adicione abaixo:
      uint32_t executeNoCountFragArea(Creature* creature, Creature* target);

      agora vá em player.cpp

      procure por:
      bool Player::onKilledCreature(Creature* target, DeathEntry& entry)
      abaixo de:
      War_t enemy; if(targetPlayer->getEnemy(this, enemy)) { if(entry.isLast()) IOGuild::getInstance()->updateWar(enemy); entry.setWar(enemy); }
      Adicione o seguinte código:
      if (targetPlayer){ CreatureEventList killEvents = getCreatureEvents(CREATURE_EVENT_NOCOUNTFRAG); for (const auto &event : killEvents) { if (!event->executeNoCountFragArea(this, target)) { return true; } } }

      //

      Feito isso, tudo completo na sua source, agora é necessário adicionar o creaturescript dentro do servidor

      vá até creaturescripts/scripts
      crie um arquivo chamado, "noCountFragInArea.lua"
      e dentro dele cole o código:
       
      --[[ script feito por feetads / TibiaKing ]]-- --[[ discord: feetads / FeeTads#0246 ]]-- -- Add positions here for which you do not want to count frags local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, -- from = area superior esquerda / to = area inferior direita (formando um quadrado) } local onlyKillerInArea = false -- only killer need to be in area? function noCountFragArea(cid, target) if not isCreature(cid) or not isCreature(target) then return true end local posKiller = getPlayerPosition(cid) local posTarget = getPlayerPosition(target) for i = 1, #areas do local area = areas[i] if isInArea(posKiller, area.from, area.to) then if onlyKillerInArea then return false elseif isInArea(posTarget, area.from, area.to) then return false end end end return true end
      agora em creaturescripts.xml
      <event type="nocountfrag" name="fragarea" event="script" value="noCountFragInArea.lua"/>
      agora em creaturescripts/scripts/login.lua
       procure por OU semelhante a esse:
      registerCreatureEvent(cid, "AdvanceSave")
      e abaixo adicione:
      registerCreatureEvent(cid, "fragarea")

      //


      Agora tudo certo, quando quiser adiciona uma area que não pega frag, vá até o script e apenas coloque a area, igual o demonstrado no script

      Exemplo:
      local areas = { [1] = {from = {x = 91, y = 122, z = 7}, to = {x = 98, y = 127, z = 7}}, [2] = {from = {x = 1000, y = 1000, z = 7}, to = {x = 1100, y = 1100, z = 7}}, }
      assim somente colocando a area no script e abrindo o server ou dando /reload, já funcionará a area como não pegar frag.
      Esse sistema pode ser bom pra areas de pvp ativo, onde você ainda quer que o player que morrer perca os atributos, como se fosse uma morte normal, porém não conta frag pra quem matar.
      Bom pra sistemas tipo castle 48h (guild war), onde há diversas mortes e risco de pegar red, atrapalhando a war.

      Façam bom proveito dos scripts, e deixem os créditos no script rsrs

      **Eu fiz as alterações e o simples código por isso vim disponibilizar, créditos meus**
    • Por Tungsx
      Boa noite a todos, poucos devem lembrar de mim, não por esse nick mas sim como Kevick. Algumas semanas atrás decidi pegar uma base antiga e voltar a mexer visando trazer um conteúdo para a comunidade, meu passado aqui foi meio obscuro com algumas tretas desnecessárias e falta de profissionalismo com a comunidade. a Base utilizada é a Dash Revolution do @Aberos e do @Valakinhas. Com o tempo aprendi mais sobre desenvolvimento e achei que era uma boa hora para botar a mão na massa, hoje eu não estarei liberando o download, peço que movam para a área correta mas assim que concluído o download será adicionado para vocês.
       
      O que foi feito até o momento?
       
      Como a base não tinha um código fonte liberado, peguei um TFS 0.3.6 limpo e comecei a fazer alguns sistemas no mesmo para que funcionasse 100%. Futuramente atualizarei os sistemas basicos como GO/BACK, SURF e FLY para que os mesmos se comuniquem no núcleo da engine. Sem enrolação vamos aos sistemas
       
      Catch System igual ao PDA - 100% Order system - 100% Pokebar - 90% (irei refazer o design da mesma no futuro antes de postar) Movebar - 100% (mantive a antiga movebar e adicionei uma mais atual, deixando a disposição ao gosto de vocês) Evoluções e boost por stone - 100% Spawn de Shiny aleatoriamente com porcentagem - 100% Nick System -  100% nas source com callback em lua - 100% Ditto System - 100% Sistema de CAP contando ball igual ao PDA EX: 1 pokémon na bag = 1 de cap, 5 pokémons na bag = 5 de cap na contagem - 100% Pokedex - 100% (pretendo adicionar a da masterx antes de postar) Sistema de ginásio do pda usando as funções doSetAttackGym, doSetGym, doSetMonsterGym em C++ - 100% Move system refeito para mais facilidade ao adicionar o mesmo - 100% Icon System - 90%, falta alguns pokémons  
      Segue logo abaixo as imagens, assim que possível tiro mais prints e atualizo o tópico:
       
      pokebar e movebar

       
      Codigo do npc de Duel

       
      Slot pokémon igual à pxg com contagem de ball / vida do pokémon sendo adicionada ainda
       

       
       
       
      remake nas sprites padrões
       

      Catch System com distance shoot

       
      Toda colaboração será bem-vinda, quem sabe não sai algo bacana ai. 
       
      https://github.com/Kevick/PokemonDashRevolution
       
    • Por Morg
      Olá galera do tk! Venho por meio desse tópico da oportunidade para vocês donos de servidores pedirem seus logos.
      Estou precisando de novas artes para portfolio então achei interessante ajudar a comunidade.
      Obs: Você pode pedir logo ou flyer de divulgação, lembrando que cada usuário só pode pedir uma opção.
       
       

      LOGO
       
      Prencha esse formulario se você quer um logo. Nome: Tematica do projeto: Textinho (Se você tem uma ideia de como quer seu logo escreve aqui uma breve explicação):  
       
      Flyer
       
      Prencha esse formulario se você quer um flyer Logo (Se tiver um logo coloque em anexo, se não tiver irei utilizar uma font aleatoria): Data de lançamento: Informações Adicionais: Ip/Dominio: Versão: Print (Prints do otserver, lembrando que deve ter uma qualidade boa):  
    • Por bkhere
      Atualizações sobre , encontrei um grande amigo aqui no forum , então vamos fechar junto com o novo projeto 
      Atulizado dia 10/09/2021
       
      www.real-age.online
       
       
       
       
       
       
      OLD POST
      salve meus queridos tibiakinganus
      venho apresentar meu projeto vou , dar continuidade num projeto de 8 anos trabalhados e 12 anos retocando , isso mesmo 12 anos , retocando o projeto 
       
      estou precisando de membros na equipe , quem estiver interessado , a base do servidor é 8.60 - porém ele é 95% antibot , e o não tem HOTKEYS usando a base do 7.4 
      Rookgaard full graficos 7.4 + customs 
       
      emfim projeto é top , quem estiver interessado me CHAMA ! estarei postando em breve fotos 
       
      ROOKGAARD BEFORE EDITS

       
      Bridge

       
      Open 

       
      Doublet BEFORE EDIT 

       
      ----
      Segunda EDIÇÃO DOUBLET

       
      Quest

       
       You see a enchanted doublet (Arm:3).
      It weighs 24.00 oz.

       
       
       
       
       
      SEGUNDA EDIÇÃO DO TEMPLO DE ROOK 

      TEST LEVEL 130 - ML 35 
      SD COMUN "ADORI GRAN MORT" pensando ainda se venderemos ela no npc 

       
       
      TEST LEVEL 130 - ML 35 - COM ML MAIOR DANO MAIOR, PORÉM TAMBÉM CONTA LVL
      SD ANTIGA DANO 7.4 "ADORI VITA VIS" NÃO VAI VENDER NO NPC SÓMENTE PLAYERS

       
       
    • Por fezeRa
      Eu queria saber se tem como diminuir o tempo de frags no server?
      Não é o tempo de red skull/white skull...
      É o tempo de frags mesmo, tipo se eu matar um cara agora, daqui 1 hora vai sair o frag dele, ou daqui 2 hora, etc, tem como mudar isso?
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo