Jump to content
mjokreaxasa

C++ Error fast attack tfs 0.4

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Mor3nao
      Eu procurei aqui no TK um sistema pra vc "desativar" o proprio pvp, te impedindo de pegar pk e nao encontrei um bacana, os que encontrei nao serviram no meu server, entao tentei fazer um, e bom, eis o resultado:
       
      Como funciona: O jogador usa um comando(!pvp) e então, ele fica impossibilitado de causar dano à outro player, a não ser, que o outro player esteja com alguma skull(obs: isso não impede que ele seja atacado, só que pegue pz)
       
      Para adicionar: 
      Abra o seu Combat.cpp e procure por
          if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) {         return true;     }     return false;  
      e troque por:
          if (attacker->getSkull() == SKULL_BLACK && attacker->getSkullClient(target) == SKULL_NONE) {         return true;     }     int32_t value;     if (attacker->getStorageValue(77777412, value) && attacker->getSkullClient(target) == SKULL_NONE) {         if (value == 1) {             return RETURNVALUE_TURNSECUREMODETOATTACKUNMARKEDPLAYERS;         }     }     return false;  
      Então vá para seu /data/talkactions/talkactions.xml e adicione a tag:
       
      <talkaction words="!pvp" script="pvp.lua"/>  
      Aí no /data/talkactions/scripts/pvp.lua e coloque:
      function onSay(player)     local switch = player:getStorageValue(77777412) == -1 and 1 or -1     player:sendTextMessage(MESSAGE_INFO_DESCR, 'PVP: (' .. (switch == 1 and 'OFF' or 'ON') .. ')')     player:setStorageValue(77777412, switch) end  
      obs: Não sei em quais versões isso funciona, no meu caso, eu usei no otservbr-global 12.31 e dá certo.
       
      E bom, é isso, espero que gostem, façam bom proveito 😃
       
    • By Senju uchira
      e possivel usar como base esse script :
      pra em vez de ser critico ser mana drain e lifedrain para as weapons ?
       
    • By L3K0T
      Bom galera hoje vou ensinar a vocês como acelerar as Sprites do seu jogo pra ficar como do Tíbia Global, assista o vídeo abaixo que você vai entender.
       
       
       
      Primeiramente vá na source do seu OTClient 0.6.6 "otclient-0.6.6\src\client"ou superior e abre o game.cpp depois de aberto procure.
       
      if(version >= 1050) mude para 
      if(version <= 1050) Salve e Agora vá em const.h e procure.
       
      INVISIBLE_TICKS_PER_FRAME = 500, ITEM_TICKS_PER_FRAME = 500, mude para
      INVISIBLE_TICKS_PER_FRAME = 100, ITEM_TICKS_PER_FRAME = 100,  
      Feito isso salve e da Rebuild no compilador do otcliente que voce usa "recompilação limpa"
       

       
      Depois de compilar vá no seu Object Builder e compile seu cliente pra "Improved Animations"
       

       
      pronto, agora só usar  
       
       
      ATENÇÃO
      USE SOMENTE EM CASO DE ERROS DO OTCLIENT, CASO NÃO LER SEU CLIENTE;
       
      ache
      function load() local version = g_game.getClientVersion() em baixo coloca
       
      g_game.enableFeature(GameSpritesU32)  
    • By Yan Liima
      Salve meus queridos, tudo bom? Hoje decidi trazer uma pequena alteração na source. Vi que muita galera tem problemas com o limite do caracter da função doShowTextDialog, pois se excender o limite maximo de caractere da debug no client.
      Isso ocorre principalmente pra galera do derivado que costuma utilizar !spells/!tecnicas/!jutsu para checar os ataques disponiveis que existe pra tal personagem. 
      Se você é GOD, você consegue visualizar todas as spells do servidor , e se no servidor existir muitas, irá causar debug.
      Diferente do doPlayerPopupFYI, não há uma proteção de limite para TextDialog...
       
      Primeiramente, como que eu descobri?
      Seguinte, eu coloquei o máximo de spells possiveis, ou seja, o máximo de caracteres possiveis na caixinha de texto.
      Quando eu vi que começou dar debug no cliente, eu retirei alguns caracteres e fui testando.

      Até que consigui achar o valor máximo!
      Eu copiei tudo que estava na janela, e em um site online colei todo o conteúdo de lá para saber quantos caracteres existiam ali.
      E esse foi o resultado:

       
      8192, descobrimos o máximo de caracteres no doShowTextDialog.
      Após descobrir este valor, eu procurei nas sources e achei!
       
      ENTÃO VAMOOOS LÁ!
      TFS
       
      OTX
       
      Prontinho! Simples, não? haha
    • By L3K0T
      L3K0Ttfs 0.4
       
      Bom galera hoje vim trazer para aqueles que não tem em seu tfs a função DoSetCreatureLight, é uma função de LUZ, alguns tfs tem e outros não tem então resolvi compartilhar.
       
      abra seu luascript.cpp e procure por:
       
      lua_register(m_luaState, "getCreatureHealth", LuaInterface::luaGetCreatureHealth); em baixo add
      //doSetCreatureLight(cid, lightLevel, lightColor, time) lua_register(m_luaState, "doSetCreatureLight", LuaInterface::luaDoSetCreatureLight); Procure;;
      int32_t LuaInterface::luaGetThingFromPos(lua_State* L) { //getThingFromPos(pos[, displayError = true]) //Note: // stackpos = 255- top thing (movable item or creature) // stackpos = 254- magic field // stackpos = 253- top creature bool displayError = true; if(lua_gettop(L) > 1) displayError = popNumber(L); PositionEx pos; popPosition(L, pos); ScriptEnviroment* env = getEnv(); Thing* thing = NULL; if(Tile* tile = g_game.getMap()->getTile(pos)) { if(pos.stackpos == 255) { if(!(thing = tile->getTopCreature())) { Item* item = tile->getTopDownItem(); if(item && item->isMovable()) thing = item; } } else if(pos.stackpos == 254) thing = tile->getFieldItem(); else if(pos.stackpos == 253) thing = tile->getTopCreature(); else thing = tile->__getThing(pos.stackpos); if(thing) pushThing(L, thing, env->addThing(thing)); else pushThing(L, NULL, 0); return 1; } if(displayError) errorEx(getError(LUA_ERROR_TILE_NOT_FOUND)); pushThing(L, NULL, 0); return 1; } em baixo add;;
       
      int32_t LuaInterface::luaDoSetCreatureLight(lua_State* L) { //doSetCreatureLight(cid, lightLevel, lightColor, time) uint32_t time = popNumber(L); uint8_t color = (uint8_t)popNumber(L); uint8_t level = (uint8_t)popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getEnv(); Creature* creature = env->getCreatureByUID(cid); if(creature) { Condition* condition = Condition::createCondition(CONDITIONID_COMBAT, CONDITION_LIGHT, time, level | (color << 8)); creature->addCondition(condition); lua_pushboolean(L, true); } else { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); } return 1; }  
      Agora em Luascript.h procure por:;;
      static int32_t luaCanPlayerWearOutfit(lua_State* L); em baixo add;;
      static int32_t luaDoSetCreatureLight(lua_State *L);  
      salva tudo em compila no modo rebuild.
       
       
      Usando em Summons;;
      doSetCreatureLight(getCreatureSummons(cid)[1], 10, 215, 60*1000) Usando em players;;
      doSetCreatureLight(cid, 9, 65, 10*60*1000) usando em Equipe;;
      function onEquip(cid, item, slot) doSetCreatureLight(cid, 9, 65, 10*60*1000) end function onDeEquip(cid, item, slot) doSetCreatureLight(cid, 7, 215, 1*1000) end Espero que gostem  
  • Recently Browsing   0 members

    No registered users viewing this page.


Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

Tibia King Recomenda

DokeHost - Soluções em Hospedagem

VPS Windows
VPS Linux
Servidor VPS
×
×
  • Create New...