Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

  • 0
ZoR

[C++] Erro Sourcer

Question

eae galera se alguém puder ajudar com esse erro?

 

image.png.2bbb3065f675355eb5a1ab0a68a03553.png

 

iodata link :

Please login or register to see this link.


luafunctions link :

Please login or register to see this link.

 

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

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

Guest
Answer this question...

×   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 Black Tall
      Ola queria saber um servidor de pokemon pra comerçar como base de um projeto pra por online um servidor de pokemon com sourcer. rep+ pra quem me ajuda obrigado
    • By nociam
      Boa noite.
      Estou com um problema de loop na minha lista e realmente não sei qual erro estou cometendo.
      Faço o loop na lista se não tiver esse player na área ele exclui porem quanto tenho 2 player na área um deles sai dessa área o sistema entra em loop nesse trecho do código.
       
      bool achou = false; for (Creature* creature : this->blockRespawList) { SpectatorHashSet listAux; g_game.map.getSpectators(listAux, this->position, false, true); for (Creature* creatureAux : listAux) { if (creatureAux == creature) { achou = true; } } if (!achou) { this->removeBlockRespawList(creature); this->setBlockRespaw(RESPAWN_NONE); } } removeBlockRespawList
      auto it = std::find(blockRespawList.begin(), blockRespawList.end(), creature); if (it != blockRespawList.end()) { creature->decrementReferenceCounter(); blockRespawList.erase(it); }  
      Resolvido pode fechar.
      bool achou = false; auto it = blockRespawList.begin(), end = blockRespawList.end(); while (it != end) { Creature* creature = *it; SpectatorHashSet listAux; g_game.map.getSpectators(listAux, this->position, false, true); for (Creature* creatureAux : listAux) { if (creatureAux == creature) { achou = true; } } if (!achou) { this->removeBlockRespawList(creature); this->setBlockRespaw(RESPAWN_NONE); } ++it; }  
    • By underewarr
      Em ioaccountsql.cpp nós mudamos.
      Procure por  .
      Account IOAccountSQL::loadAccount(uint32_t accno) E Substitua toda a função por essa (OBS LEMBRE-SE DE CONFIGURAR OS MUNDOS.).
      Account IOAccountSQL::loadAccount(uint32_t accno) { Account acc; Database* mysql = Database::instance(); DBQuery query; DBResult result; query << "SELECT id,password FROM accounts WHERE id=" << accno; if(mysql->connect() && mysql->storeQuery(query, result)){ acc.accnumber = result.getDataInt("id"); acc.password = result.getDataString("password"); #ifndef __ROGIER_MULTIWORLD__ query << "SELECT name FROM players WHERE account_id=" << accno; #else //__ROGIER_MULTIWORLD__ query << "SELECT name,worldid FROM players WHERE account_id=" << accno; #endif //__ROGIER_MULTIWORLD__ if(mysql->storeQuery(query, result)){ for(uint32_t i = 0; i < result.getNumRows(); ++i){ std::string ss = result.getDataString("name", i); #ifndef __ROGIER_MULTIWORLD__ acc.charList.push_back(ss.c_str()); #else //__ROGIER_MULTIWORLD__ int worldid = result.getDataInt("worldid", i); query.reset(); result.clear(); query << "SELECT * FROM worlds WHERE worldid=" << worldid; mysql->storeQuery(query, result); struct CharInfo info; info.worldName = result.getDataString("worldname", i); info.worldIp = result.getDataString("worldip", i); info.worldPort = result.getDataInt("worldport", i); acc.charList[ss] = info; #endif //__ROGIER_MULTIWORLD__ } #ifndef __ROGIER_MULTIWORLD__ acc.charList.sort(); #endif //__ROGIER_MULTIWORLD__ } } return acc; } Agora no protocollogin.cpp na função parsefirstpacket nós mudamos.
      Procure por.
      std::list<std::string>::iterator it; for(it = account.charList.begin(); it != account.charList.end(); it++){ output->AddString((*it)); output->AddString(g_config.getString(ConfigManager::WORLD _NAME)); output->AddU32(serverip); output->AddU16(g_config.getNumber(ConfigManager::PORT)) ; } Substitua por.
      #ifndef __ROGIER_MULTIWORLD__ std::list<std::string>::iterator it; for(it = account.charList.begin(); it != account.charList.end(); it++){ output->AddString((*it)); output->AddString(g_config.getString(ConfigManager::WORLD _NAME)); output->AddU32(serverip); output->AddU16(g_config.getNumber(ConfigManager::PORT)) ; } #else //__ROGIER_MULTIWORLD__ std::map<std::string, CharInfo>::iterator it; for(it = account.charList.begin(); it != account.charList.end(); it++){ output->AddString(it->first); output->AddString(it->second.worldName); output->AddU32(inet_addr(it->second.worldIp.c_str())); output->AddU16(it->second.worldPort); } #endif //__ROGIER_MULTIWORLD__ Agora Em account.h.
      procure.
      class Account adicione logo a baixo.
      #ifdef __ROGIER_MULTIWORLD__ #include <map> struct CharInfo { std::string worldIp; std::string worldName; short worldPort; }; #endif //__ROGIER_MULTIWORLD__ Novamente em account.h nós mudamos:
      Procure
      std::list<std::string> charList; Substitua
      #ifdef __ROGIER_MULTIWORLD__ std::list<std::string> charList; #else //__ROGIER_MULTIWORLD__ std::map<std::string, CharInfo> charList; #endif //__ROGIER_MULTIWORLD__ Adicione como parametro o seguinte seguimento para que a compilação encontre todas as alterações a cima
      -D__ROGIER_MULTIWORLD_
      (Igual o mysql/sqlite,console,gui é adicionado)
       
      E AGORA OQUE EU FAÇO?
      Please login or register to see this spoiler.
    • By underewarr
      Um código simples para fazer o global server save, e logo após reiniciar o servidor.
      Windows
      Adicione no Config.Lua
      Please login or register to see this spoiler.
      Creditos: Underewar
    • By Yan Liima
      #Introdução
      Bom hoje estarei trazendo aqui o sistema de Ping feito pelo Mock, com uma pequena adaptação feita por mim para funcionar em TFS 0.4(talvez podendo funcionar em outras)
      Pois o que ele disponibilizou foi apenas para TFS 0.3.6 e nem foi muito utilizado pela comunidade. Muitos servidores daqui para download tem script no talk mas a lib está totalmente errada e não tem o code nas sources.
      Esse sistema tem varias utilizades, podendo usar o comando !ping para verificar seu ms ou até mesmo você por para kikar jogadores com ms muito alto...
      Se você não sabe o cliente já tem um sistema de ping, e getOtsystime é como os.time () + os.clock (), você tem ano, mês, dia, hora, minutos, segundos, milisegundos...
      Enfim chega de enrolação e vamos lá!
      Code para TFS 0.4 e OTX:
      Please login or register to see this spoiler.
       
      Prontinho, agora seu servidor está pronto para utilizar as funções de Ping. Seja criativo!
      Ahh você é daqueles que quer tudo na mão né? Aqui vai um talkactions para ver o ping.
       
      Em talkactions/scripts crie um arquivo chamado playerping.lua, cole isto dentro:
      -- Script by Yan Liima(Night for xtibia.com) function onSay(cid, words, param, channel) local ms = ping.CheckPing(cid) doPlayerSendTextMessage(cid,22,"Ping aproximado --> ["..ms.."].") return true end Em talkactions.xml
      <talkaction words="!ping" event="script" value="playerping.lua"/>  
×
×
  • Create New...