Jump to content

C++ Deixando as Sprites mais Rápida no OTclient


Recommended Posts

  • Assistente
Agora, Nolis disse:

Vlw pelo conteúdo @L3K0T

muito boa sua iniciativa de trazer video-tutoriais, espero ver mais deles por aqui, obrigado mesmo!

pode deixar ^^ 

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
  • Assistente
11 horas atrás, unknownbeats disse:

O meu ficou com tela preta e bugada pode ajudar?

 

Screenshot_4.png

recompila usando a opção REBUILD

 

rebuilde.jpg.59888695cc9f80083e3020dc86c77ca2.jpg

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
Em 19/05/2020 em 07:43, L3K0T disse:

recompila usando a opção REBUILD

 

rebuilde.jpg.59888695cc9f80083e3020dc86c77ca2.jpg

Pode me passar suas libs? ao que parece compilou tudo certo pelo codeblocks mas não criou o executável

 

Link to post
Share on other sites
  • Assistente
6 horas atrás, unknownbeats disse:

Pode me passar suas libs? ao que parece compilou tudo certo pelo codeblocks mas não criou o executável

 

vo passar o meu minGW ai se troca o seu, pelo meu a pasta do disco C

https://www.mediafire.com/file/oc6w2t6cf40vhcd/MinGW.rar/file

 

scan: https://www.virustotal.com/gui/file/42e501946ac775387e6a7491ac7f3ae6c72b1a5e4ef742d55637b0476a1e5ad2/detection

Edited by L3K0T (see edit history)

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
Em 20/05/2020 em 13:20, L3K0T disse:

Consegui mano, valeu!!

 

Link to post
Share on other sites
  • Assistente
7 minutos atrás, unknownbeats disse:

Consegui mano, valeu!!

 

de nada ^^ 

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
  • 2 weeks later...
  • Assistente
8 minutos atrás, Yamborghini disse:

não consegui dar login

testei em otc 0.6.6 :/ tente recompilar amigo o tutorial que foi colocado é testado e uso. "OTClient 0.6.6" ou superior 

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
1 minuto atrás, L3K0T disse:

testei em otc 0.6.6 :/ tente recompilar amigo o tutorial que foi colocado é testado e uso. "OTClient 0.6.6" ou superior 

desculpa, erro meu. Funcionou certinho!

para diminuir a velocidade é em:

INVISIBLE_TICKS_PER_FRAME = 100,
ITEM_TICKS_PER_FRAME = 100,

?

tumblr_o70wteR8521r9n6kzo1_400.gif

Link to post
Share on other sites
  • Assistente
3 minutos atrás, Yamborghini disse:

desculpa, erro meu. Funcionou certinho!

para diminuir a velocidade é em:


INVISIBLE_TICKS_PER_FRAME = 100,
ITEM_TICKS_PER_FRAME = 100,

?

100 milésimos então se diminuir mais rápido fica e pra aumentar é 500+ pra lento.

 

100 pra rápido

500 pra lento

 

100 = rápido

100 = rápido

 

1000 lerdo

1000 lerdo

 

500 = padrão

500 = padrão

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
  • 4 weeks later...
Link to post
Share on other sites
  • 3 weeks later...
  • 2 weeks later...
  • Assistente

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites
  • 1 month later...
Já compilei o otc, mas ao entrar em um servidor ele me lança o seguinte problema

imagen error :

Spoiler

http://imgfz.com/i/PdgzUT5.png

 

Link to post
Share on other sites
  • Assistente
15 minutos atrás, poncex disse:

Já compilei o otc, mas ao entrar em um servidor ele me lança o seguinte problema

imagen error :

 

tem que compilar o cliente como manda, segue o tutorial certinho fazendo favor.

 

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)

 

COMPILA O CLIENTE MODO ESTENDIDO

APOIE NOSSAS CAUSAS - IBEACIBEAC

SEJA UM APOIADOR E AJUDE ALGUÉM

Se você acha que meu trabalho merece uma ajuda nessa quarentena, então seja um apoiador fiel doehttps://streamlabs.com/l3k0t1

 

 CANAL YOUTUBE: https://www.youtube.com/channel/UCMP25Br519j7dD1FFEMzPgA?view_as=subscriber

Meu grupo no Discord: https://discord.gg/qMS5pm9

"Você tem um sonho? Não deixe os outros te derrubarem e lute por aquilo que você acredita" by L3K0T  

 

GENTILEZA GERA GENTILEZA

 

 

Link to post
Share on other sites

eu modifiquei o arquivo e já o compilei, mas ainda diz o mesmo

https://ibb.co/VJvLMTH 

 

Quanto à parte do object builder, ao fornecê-la para melhorar a animação, me lança o seguinte error

https://ibb.co/CP0pPFw

Link to post
Share on other sites

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.

  • Recently Browsing   0 members

    No registered users viewing this page.


  • Similar Content

    • By paulophx
      🌟💎🌟BEM VINDOS AO POKE UNITED!🌟💎🌟
      🌀Servidor aberto recentemente
      💎Base Shiny e Megas
      🌀XP e Catch Medios e por persistência 
      💎Autoloot total e funcionando
      🌀Sistema de Recompensas por nível
      💎Sistema de Helds T1 A T7 (incluindo Luck)
      🌀Sistema de Ditto/Shiny Ditto
      ❬🔒❭ Staff Dedicada
      🎁Eventos Diarios
      💻 Site: pokeunited. ddns. net (retirar espaços)
      📥 Cliente :https://www.mediafire.com/file/9nn1dxjmzugfyrg/Pok%25C3%25A9mon_United_1.0.rar/file?
      💎 Trello: https://trello.com/b/HY55OoK8/pokeunited
      🔋 Grupo WhatsApp : https://chat.whatsapp.com/KbaZwqfQWhI30834HtglDa
      💎 DISCORD > https://discord.gg/JzjrRHf5
      ------------------------------------------
      🍾ATUALIZAÇÕES RECENTES
      -🥂 Correções de Bugs 
      -🥂 Balançeamento dos Pokemons
      ------------------------------------------
      😎 by:  [Tutor Blessed One]













    • By paulophx
      🌟💎🌟BEM VINDOS AO POKE UNITED!🌟💎🌟
      🌀Servidor aberto recentemente
      💎Base Shiny e Megas
      🌀XP e Catch Medios e por persistência 
      💎Autoloot total e funcionando
      🌀Sistema de Recompensas por nível
      💎Sistema de Helds T1 A T7 (incluindo Luck)
      🌀Sistema de Ditto/Shiny Ditto
      ❬🔒❭ Staff Dedicada
      🎁Eventos Diarios
      💻 Site: pokeunited. ddns. net (retirar espaços)
      📥 Cliente :https://www.mediafire.com/file/9nn1dxjmzugfyrg/Pok%25C3%25A9mon_United_1.0.rar/file?
      💎 Trello: https://trello.com/b/HY55OoK8/pokeunited
      🔋 Grupo WhatsApp : https://chat.whatsapp.com/KbaZwqfQWhI30834HtglDa
      💎 DISCORD > https://discord.gg/JzjrRHf5
      ------------------------------------------
      🍾ATUALIZAÇÕES RECENTES
      -🥂 Correções de Bugs 
      -🥂 Balançeamento dos Pokemons
      ------------------------------------------
      🍾EM BREVE
      -🥂 Novas ilhas dos Alolan !!!
      -🥂 Novas Quests !!!
      ------------------------------------------
      😎 by:  [Tutor Blessed One]
       
    • By L3K0T
      TUTORIAL BY L3K0T
       
      EXPLICAÇÃO/RESUMO:
      Bom galera esse sistema foi fixado por mim e resolvi trazer pra vocês o UPDATE contendo 2 moveitem pra funcionar perfeitamente ao seu jogo, esses sistemas tem a obrigação de parar players que jogam lixo na porta da sua casa, em cima do seu depot, em teleportes, e aonde você não queira. "somente dono, sub, e convidados podem jogar lixo ou mover items da sua casa" é um pacotão completo e revisado que vai evitar engraçadinhos bugar seu server.
       
      lixo no dp vídeo spoiler;;
       
      lixo house vídeo  spoiler;;
       
       
      Tutorial:
      1° abra seu creatureevents.cpp com o editor de sua preferencia. "eu uso notepad++"
       
      Ache o TERCEIRO CREATURE_EVENT_PREPAREDEATH; 
      case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; em baixo coloca:
      case CREATURE_EVENT_MOVEITEM: return "moveItem, frompos, topos, cid"; case CREATURE_EVENT_MOVEITEM2: return "cid, item, count, toContainer, fromContainer, fromPos, toPos"; ache o SEGUNDO CREATURE_EVENT_PREPAREDEATH:
      case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; em baixo coloca:
      case CREATURE_EVENT_MOVEITEM: return "onMoveItem"; case CREATURE_EVENT_MOVEITEM2: return "onMoveItem2"; ache o PRIMEIRO CREATURE_EVENT_PREPAREDEATH:
      else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; em baixo coloca:
      else if(tmpStr == "moveitem") m_type = CREATURE_EVENT_MOVEITEM; else if(tmpStr == "moveitem2") m_type = CREATURE_EVENT_MOVEITEM2; ache:
      bool CreatureEvents::playerLogout(Player* player, bool forceLogout) { //fire global event if is registered bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if((*it)->getEventType() == CREATURE_EVENT_LOGOUT && (*it)->isLoaded() && !(*it)->executeLogout(player, forceLogout) && result) result = false; } return result; } em baixo coloca: ATENÇÃO PRA TFS 0.4 USE ESSE ABAIXO
      uint32_t CreatureEvent::executeMoveItem2(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack) { //onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(player->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; env->streamThing(scriptstream, "item", item, env->addThing(item)); scriptstream << "local count = " << count << std::endl; env->streamThing(scriptstream, "toContainer", toContainer, env->addThing(toContainer)); env->streamThing(scriptstream, "fromContainer", fromContainer, env->addThing(fromContainer)); env->streamPosition(scriptstream, "fromPos", fromPos, fstack); env->streamPosition(scriptstream, "toPos", toPos, 0); 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__ char desc[30]; sprintf(desc, "%s", player->getName().c_str()); env->setEvent(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(player->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); LuaInterface::pushThing(L, item, env->addThing(item)); lua_pushnumber(L, count); LuaInterface::pushThing(L, toContainer, env->addThing(toContainer)); LuaInterface::pushThing(L, fromContainer, env->addThing(fromContainer)); LuaInterface::pushPosition(L, fromPos, fstack); LuaInterface::pushPosition(L, toPos, 0); bool result = m_interface->callFunction(7); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } } uint32_t CreatureEvents::executeMoveItems(Creature* actor, Item* item, const Position& frompos, const Position& pos) { for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if((*it)->getEventType() == CREATURE_EVENT_MOVEITEM) { if(!(*it)->executeMoveItem(actor, item, frompos, pos)) return 0; } } return 1; } uint32_t CreatureEvent::executeMoveItem(Creature* actor, Item* item, const Position& frompos, const Position& pos) { if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(pos); std::stringstream scriptstream; env->streamThing(scriptstream, "moveItem", item, env->addThing(item)); env->streamPosition(scriptstream, "position", frompos, 0); env->streamPosition(scriptstream, "position", pos, 0); scriptstream << "local cid = " << env->addThing(actor) << std::endl; 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__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(pos); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); LuaInterface::pushThing(L, item, env->addThing(item)); LuaInterface::pushPosition(L, frompos, 0); LuaInterface::pushPosition(L, pos, 0); lua_pushnumber(L, env->addThing(actor)); bool result = m_interface->callFunction(4); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } }  
       
      ATENÇÃO PRA TFS 0.3.6 USE ESSE ABAIXO
      uint32_t CreatureEvent::executeMoveItem2(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack) { //onMoveItem(cid, item, count, toContainer, fromContainer, fromPos, toPos) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(player->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(player) << std::endl; env->streamThing(scriptstream, "item", item, env->addThing(item)); scriptstream << "local count = " << count << std::endl; env->streamThing(scriptstream, "toContainer", toContainer, env->addThing(toContainer)); env->streamThing(scriptstream, "fromContainer", fromContainer, env->addThing(fromContainer)); env->streamPosition(scriptstream, "fromPos", fromPos, fstack); env->streamPosition(scriptstream, "toPos", toPos, 0); 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__ char desc[30]; sprintf(desc, "%s", player->getName().c_str()); env->setEvent(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(player->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); LuaScriptInterface::pushThing(L, item, env->addThing(item)); lua_pushnumber(L, count); LuaScriptInterface::pushThing(L, toContainer, env->addThing(toContainer)); LuaScriptInterface::pushThing(L, fromContainer, env->addThing(fromContainer)); LuaScriptInterface::pushPosition(L, fromPos, fstack); LuaScriptInterface::pushPosition(L, toPos, 0); bool result = m_interface->callFunction(7); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } } uint32_t CreatureEvents::executeMoveItems(Creature* actor, Item* item, const Position& frompos, const Position& pos) { // fire global event if is registered for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if(it->second->getEventType() == CREATURE_EVENT_MOVEITEM){ if(!it->second->executeMoveItem(actor,item,frompos,pos)) return 0; } } return 1; } uint32_t CreatureEvent::executeMoveItem(Creature* actor, Item* item, const Position& frompos, const Position& pos) { if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(pos); std::stringstream scriptstream; env->streamThing(scriptstream, "moveItem", item, env->addThing(item)); env->streamPosition(scriptstream, "position", frompos, 0); env->streamPosition(scriptstream, "position", pos, 0); scriptstream << "local cid = " << env->addThing(actor) << std::endl; 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__ char desc[35]; sprintf(desc, "%s", player->getName().c_str()); env->setEventDesc(desc); #endif env->setScriptId(m_scriptId, m_interface); env->setRealPos(pos); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); LuaScriptInterface::pushThing(L, item, env->addThing(item)); LuaScriptInterface::pushPosition(L, frompos, 0); LuaScriptInterface::pushPosition(L, pos, 0); lua_pushnumber(L, env->addThing(actor)); bool result = m_interface->callFunction(4); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } } 2°  agora em creatureevetns.h
       
      Ache:
      CREATURE_EVENT_PREPAREDEATH, em baixo coloca:
      CREATURE_EVENT_MOVEITEM, CREATURE_EVENT_MOVEITEM2, ache:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList); em baixo coloca:
      uint32_t executeMoveItem(Creature* actor, Item* item, const Position& frompos, const Position& pos); uint32_t executeMoveItem2(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack); ache:
      bool playerLogout(Player* player, bool forceLogout); em baixo coloca:
      uint32_t executeMoveItems(Creature* actor, Item* item, const Position& frompos, const Position& pos);  
      3° agora em game.cpp
       
      ache:
      if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL); if(ret == RET_NOERROR) return true; player->sendCancelMessage(ret); return false; } troque por:
      if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } bool success = true; CreatureEventList moveitemEvents = player->getCreatureEvents(CREATURE_EVENT_MOVEITEM2); for(CreatureEventList::iterator it = moveitemEvents.begin(); it != moveitemEvents.end(); ++it) { Item* toContainer = toCylinder->getItem(); Item* fromContainer = fromCylinder->getItem(); if(!(*it)->executeMoveItem2(player, item, count, fromPos, toPos, (toContainer ? toContainer : 0), (fromContainer ? fromContainer : 0), fromStackpos) && success) success = false; } if(!success) return false; if(!g_creatureEvents->executeMoveItems(player, item, mapFromPos, mapToPos)) return false; ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL); if(ret == RET_NOERROR) return true; player->sendCancelMessage(ret); return false; } Feito isso é só compilar sua source no modo REDUILD pra que as funções funcione.
       
       
      NO SERVIDOR:
       
      Agora no seu otserv vai em creturescripts, vai no arquivo login.lua e registra e event:
      registerCreatureEvent(cid, "MoveItem") registerCreatureEvent(cid, "MoveItem2") em creaturescript .xml
      <event type="moveitem" name="MoveItem" event="script" value="houseprotecao.lua"/> <event type="moveitem2" name="MoveItem2" event="script" value="moveitem2.lua"/> script do houseprotecao.lua "move item1
       
      function onMoveItem(moveItem, frompos, position, cid) if position.x == CONTAINER_POSITION then return true end local house = getHouseFromPos(frompos) or getHouseFromPos(position) --correção 100% if type(house) == "number" then local owner = getHouseOwner(house) if owner == 0 then return false, doPlayerSendCancel(cid, "Isso não é Possível.") end if owner ~= getPlayerGUID(cid) then local sub = getHouseAccessList(house, 0x101):explode("\n") local guest = getHouseAccessList(house, 0x100):explode("\n") local isInvited = false if (#sub > 0) and isInArray(sub, getCreatureName(cid)) then isInvited = true end if (#guest > 0) and isInArray(guest, getCreatureName(cid)) then isInvited = true end if not isInvited then return false, doPlayerSendCancel(cid, "Desculpe, você não está invitado.") end end end return true end script do moveitem2.lua "moveitem2
      local depottiles = {} --piso pra n jogar local depots = {2589} --id dos dps local group = 3 --id dos group 6 é todos. local function checkIfThrow(pos,topos) if topos.x == 0xffff then return false end local thing = getThingFromPos(pos) if isInArray(depottiles,thing.itemid) then if not isInArea(topos,{x=pos.x-1,y=pos.y-1,z=pos.z},{x=pos.x+1,y=pos.y+1, z=pos.z}) then return true end else for i = 1, #depots do if depots[i] == getTileItemById(topos,depots[i]).itemid or getTileInfo(topos).actionid == 7483 then return true end end end return false end function onMoveItem2(cid, item, count, toContainer, fromContainer, fromPos, toPos) if isPlayer(cid) then local pos = getThingPos(cid) if getPlayerGroupId(cid) > group then return true end if checkIfThrow({x=pos.x,y=pos.y,z=pos.z,stackpos=0},toPos) then doPlayerSendCancel(cid,"Não jogue item ai!!") doSendMagicEffect(getThingPos(cid),CONST_ME_POFF) return false end end return true end  
      OUTROS:
      bloquear item usando moveitem2
      if moveItem.itemid == IDDOITEM then doPlayerSendTextMessage(cid,25,'você bloqueou um item para não move no jogo!') return false end  
      ajudei?? REP+
       
      CRÉDITOS:
      @L3K0T
      Fir3element
      Summ
      Wise
      GOD Wille
       
       
      BUGs mesmo adicionado está jogando item em cima do depot, solta o puff de efeito mais não barra, bom isso pode ocorrer por questão de ter coisas adicionadas no game.cpp como o "push delay item" por exemplo e para resolver isso, tive que deixar assim.
       
       
      if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } // Anti-Push feature Prevention System by Xampy // /* Corrigido ElfBot Anti-Push (Anti-Crash) */ if(g_config.getBool(ConfigManager::ANTI_PUSH)){ //included by Yan Liima std::string antiPushItems = g_config.getString(ConfigManager::ANTI_PUSH_ITEMS); IntegerVec tmpVec = vectorAtoi(explodeString(antiPushItems, ",")); if(tmpVec[0] != 0){ for(IntegerVec::iterator it = tmpVec.begin(); it != tmpVec.end(); ++it){ if(item->getID() == uint32_t(*it) && player->hasCondition(CONDITION_EXHAUST, 1)){ player->sendTextMessage(MSG_STATUS_SMALL, "Please wait a few seconds to move this item."); return false; } } } } int32_t delay = g_config.getNumber(ConfigManager::ANTI_PUSH_DELAY); //by Yan Liima if(Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_EXHAUST, delay, 0, false, 1)) player->addCondition(condition); /* end */ bool success = true; CreatureEventList moveitemEvents = player->getCreatureEvents(CREATURE_EVENT_MOVEITEM2); for(CreatureEventList::iterator it = moveitemEvents.begin(); it != moveitemEvents.end(); ++it) { Item* toContainer = toCylinder->getItem(); Item* fromContainer = fromCylinder->getItem(); if(!(*it)->executeMoveItem2(player, item, count, fromPos, toPos, (toContainer ? toContainer : 0), (fromContainer ? fromContainer : 0), fromStackpos) && success) success = false; } if(!success) return false; if(!g_creatureEvents->executeMoveItems(player, item, mapFromPos, mapToPos)) return false; ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL); if(ret == RET_NOERROR) return true; player->setNextAction(OTSYS_TIME() + g_config.getNumber(ConfigManager::ACTIONS_DELAY_INTERVAL) - 10); return true; player->sendCancelMessage(ret); return false; } // Anti-Push feature Prevention System by Xampy //  
    • By Sacanitibiano
      Tibia Project está seguindo um caminho diferente do Tibia Oficial em alguns aspectos, já outros mantivemos exatamente igual, trazendo uma experiência moderna e unica de um Tibia 7.4.
      Segue a lista de algumas coisas que estamos trabalhando:
      Barcos e navios deixaram de ser áreas protegidas; Cidades a partir de Liberty Bay desativadas temporariamente (serão adicionadas como update) Sistema de soul points desativado; Ferramenta anti-luring desativada; Wands e rods removidas do jogo(por enquanto); Magias e runas com fórmulas antigas; Penalidade de morte como antigamente; Adição de Gamemasters no jogo(Staff ativa dando suporte a comunidade); Apenas um único cooldown para magias e runas(como nas versões old); Sistema de treino offline removido; Burst arrow com fórmula de dano antiga(Mages se benificiarão por seu mlevel maior); Sistema de quick looting removido do jogo; Sistema Anti-Mc ~ Anti - Fazenda de makers(Permitido 3 personagens online por ip); Velocidade do personagem com a fórmula antiga; Proibido CaveBot e Bot 100% Afk(Punição com banimento); Remodelagem de algumas áreas de caça freeAccount; Exp base de 1.5x; Tibia Project é um servidor de Tibia com inspiração na versão de Tibia 7.4, porém muito mais moderno e fluído. Nosso objetivo é trazer toda a experiência de antigamente para os dias atuais, com muito conteúdo e desafios!
       
      Website: https://tibiaproject.com/
      IP: 130.185.238.102
      Port: 7171
      Version: 12.92
       
       
    • By ibieel
      eai galera, estou com um problema ao abrir o mapa 12.91 no remeres.
      já coloquei o Tibia .DAT e .SPR dentro da pasta do remeres e mesmo assim as sprites aparecem erradas.
      estou achando que é por que o remeres só vai até a versão 12.61 (no clients.xml)
      como eu adiciono a versão 12.91?

×
×
  • Create New...

Important Information

Confirmação de Termo