Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Eai galera

 

Instalei um Gesior compatível com minha distro, sem nenhum erro, mas o site fica online só pra mim, na casa dos meus amigos ele fica branco e da erro lá. Eu fui mexendo no meu config.lua e uma coisa mudou.

 

Eu mudei o ip

sqlHost = "127.0.0.1"

pelo ip do meu servidor que as pessoas conseguem entrar. E meio que funcionou, só que apareceu esse erro:

Citar

Impossível de conectar-se com o banco de dados, informe para o WebMaster do website.

 

Já me conectei pelo localhost/phpmyadmin e ta de boa, até me conectei na database pelo ipdomeupc/phpmyadmin mas mesmo assim o mesmo erro, o que eu preciso fazer?

Oi

Link para o post
Compartilhar em outros sites
1 hora atrás, NathanAmaro disse:

Eai galera

 

Instalei um Gesior compatível com minha distro, sem nenhum erro, mas o site fica online só pra mim, na casa dos meus amigos ele fica branco e da erro lá. Eu fui mexendo no meu config.lua e uma coisa mudou.

 

Eu mudei o ip


sqlHost = "127.0.0.1"

pelo ip do meu servidor que as pessoas conseguem entrar. E meio que funcionou, só que apareceu esse erro:

 

Já me conectei pelo localhost/phpmyadmin e ta de boa, até me conectei na database pelo ipdomeupc/phpmyadmin mas mesmo assim o mesmo erro, o que eu preciso fazer?

isso no caso é a porta do seu site , você já liberou todas as portas? se já liberou me manda o link do site para eu dar uma olhada

OuhEeY.png

Link para o post
Compartilhar em outros sites
59 minutos atrás, kualkerun disse:

isso no caso é a porta do seu site , você já liberou todas as portas? se já liberou me manda o link do site para eu dar uma olhada

Liberei a 80 - tcp, 8090 - tcp e 443 - tcp e pensei em liberar também a porta que diz no config.lua 3306 o site é: berserker.servegame.com

Oi

Link para o post
Compartilhar em outros sites
3 horas atrás, NathanAmaro disse:

Liberei a 80 - tcp, 8090 - tcp e 443 - tcp e pensei em liberar também a porta que diz no config.lua 3306 o site é: berserker.servegame.com

Tenta isso

 

1° - Acesse a pasta do XamPP/apache/conf e abra o arquivo httpd com o bloco de notas.

 

Procure por :

Listen 80

 

E por :

ServerName localhost:80

 

Substitua todos os 80 por 8090.

 

2° - Dentro da pasta conf, abra a pasta extra, e em seguida abra httpd-ssl e procure por :

 

 

Listen 443

 

E por:

<virtualhost _default_:443="">

 

Substitua esses 443 por 4499.

OuhEeY.png

Link para o post
Compartilhar em outros sites
1 hora atrás, kualkerun disse:

Tenta isso

 

1° - Acesse a pasta do XamPP/apache/conf e abra o arquivo httpd com o bloco de notas.

 

Procure por :

Listen 80

 

E por :

ServerName localhost:80

 

Substitua todos os 80 por 8090.

 

2° - Dentro da pasta conf, abra a pasta extra, e em seguida abra httpd-ssl e procure por :

 

 

Listen 443

 

E por:

<virtualhost _default_:443="">

 

Substitua esses 443 por 4499.

 

Fiz, agora você pode testar? Agora precisa colocar :8090 na frente do ip

Editado por NathanAmaro (veja o histórico de edições)

Oi

Link para o post
Compartilhar em outros sites
27 minutos atrás, NathanAmaro disse:

 

Fiz, agora você pode testar? Agora precisa colocar :8090 na frente do ip

 

 

 

Funcionando , se puder curtir minha pagina de um projeto que estou começando iria me ajudar tb https://www.facebook.com/nightwolfweb/

até a proxima

feito.png

OuhEeY.png

Link para o post
Compartilhar em outros sites
Agora, kualkerun disse:

Funcionando , se puder curtir minha pagina de um projeto que estou começando iria me ajudar tb https://www.facebook.com/nightwolfweb/

até a proxima

feito.png

 

QUE? FUNCIONOU? NÃO ACREDITO!!!!! Cara muito obrigado!! Devidamente reputado e curtido lá.

Oi

Link para o post
Compartilhar em outros sites
  • 1 month later...
Em 12/05/2016 at 21:33, rhyann rycardo disse:

manooo poderia mim ajudar tipo estou com o mesmo problema ja q o seu foi resolvidor poderia mim ajudar pfv !!!

o que está dando no seu?

OuhEeY.png

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por WODBO Ragnarok
      Wodbo Ragnarok
      Estágio: Alpha
      Próximo Estágio: Beta

      Temos 63 Vocações disponíveis: Goku, Vegeta, Piccolo, C17, Gohan, Trunks, Cell, Freeza, Majin Boo, Broly, C18, Uub, Goten, Chibi Trunks, Cooler, Dende, Tsuful, Bardock, Kuririn, Pan, Kaio, Videl, Janemba, Tenshinhan, Jenk, Raditz, C16, Turles, Bulma, Shenron, Vegetto, Tapion, Kame, King Vegeta, Kagome, Zaiko, Chilled, Bills, Wiss, Goku God, Bills Evolution, Yamcha, Evolution Freeza, C13, Xicor, C20, Paikuhan, Mr Satan, C8, Divindade Cooler, Frost, Vados, Dabura, Goku Jr, Gogeta, Hitto, Champa, Botamo, Dark Goku, Chi-Chi, Caba, Minako e Zamasu.
       
      Transformações, técnicas e habilidades exclusivas para cada vocação.
       
      Upe se divertindo pelo mapa, aprenda técnicas e transformações exclusivas escondidas pelo mapa.
       
      Mapa
      Mapa exclusivo que terá atualizações periódicas
       
      Áreas até o momento: Earth, Sand City, M2, Tsufur, Zelta, Planeta Vegeta, Old Namek, Lude, Premia, Boar's Island, Ruudo, City 17, Boss City, Gardia, Bills Island, Mordor, Kanasa, Arabian City, Ice Kong City, Flasher City, Vehemence City, Stream City, Kazhel, Divindade City, Dabura Island, Frozen Island, Doragon City, Monaka Island e Planet Namek
       
      Sistemas
       
      Sistema de Reborn: Entre o Lv200~Lv1000 você poderá buscar as 7 esferas do dragão para poder fazer seu Reborn, fazendo ficar mais forte e com novas transformações.
      Sistema de Reset: Quanto mais resets tiver, mais forte seu personagem será.
      Sistema de Guilds: Crie ou entre em uma guild e divirta-se com seus amigos
      Sistema de Raridade: Os itens podem ser dropados com raridade dividida em 4 tipos, sendo elas: Normal, Uncommon, Rare e Legendary. Cada raridade deixa o item muito melhor em comparação com a raridade anterior.
      Sistema de Qualidade: Os itens podem ser dropados em 3 qualidades: Human, Warrior Z e Divine. Cada qualidade irá adicionar atributos ao personagem (ataque, defesa, armor, velocidade de ataque e etc) e com porcentagens de bônus dependendo da qualidade dropada.
      Sistema de Aprimoramento: Você pode aumentar o poder de sua arma, deixando ela +1, +2, +3, +4... e assim ficando mais forte com o tempo
      Sistema de Skin: Um sistema de skin onde você poderá customizar certas skins, dando uma personalidade única para seu personagem
      Sistema de Cooldown: As spells possuem cooldown, abrindo um leque quase que infinito de combos que podem ser feitos, mudando completamente as estratégias de combate 
      Sistema de Forja: Melhor seus itens de qualidade (Comum > Uncommon > Rare > Legendary)
      Sistema de Mineração: Minere e colete materiais para melhorar seus itens
      Sistema de Lvl Limite: Os jogadores possuem limite de level até o 1000, porém uma quest de level 1000 poderá ser feita e desbloquear seu potencial!
      Sistema de NoDropMonster: Ao morrer para monstros você não irá dropar nada, nem perder skills ou experiência.
      Sistema de Skills Diferentes: As skills atualmente são; Aura Power, Martial Arts, Exotic Weapon, Light Weapon, Heavy Weapon, Ki Control, Protect e Agility. 
      Aura Power: A aura power é a skill responsável por seu dano em técnicas, suas curas e demais efeitos diretamente ligados a suas técnicas.  Martial Arts: Martial Arts engloba seu condicionamento físico. Quanto maior sua Martial Arts forem, mais rápido você irá bater, além de que também vai aumentar sua chance de critico e de dano critico de seus ataques no geral. Exotic Weapon: A skill de Exotic Weapon é usada para armas que não se encaixa em um padrão conhecido (espada, machado e etc). As Exotic Weapon é como uma arma que não deveria existir, mas que por algum motivo ela foi feita. São extremamente difíceis de serem conseguidas esse tipo de armamento. Light Weapon: Light Weapon é a skill utilizada em armas leves e rápidas, que não possuem muito poder de ataque, mas compensa na velocidade de ataque concedida. Geralmente são armas que se podem usar uma em cada mão. Heavy Weapon: Essa skill é para armas pesadas e que são lentas de certa forma, mas o poder de ataque é um dos maiores entre as outras armas que existem.  Ki Control: A skill de Ki Control é responsável por auxiliar seu uso com cajados, ki blast e armas que são de longo alcance.  Protect: Sua defesa bem resumidamente. Ter um Protect bom que dizer que você irá tomar menos dano de alvos inimigos, de armadilhas e demais efeitos nocivos. Agility: Sua Agility é a skill responsável por aumentar sua evasão de golpes no geral, futuramente também irá aumentar sua velocidade de movimento.   
      Quests
       
      Temos várias Quests disponíveis e várias outras em desenvolvimento
       
      Jogo utiliza base de DBO old e algumas inspirações de outros DBO conhecidos!
       
      Jogue e ajude a manter o servidor aberto até o lançamento da versão final!
       
      OBS: De acordo que eu for atualizando o projeto, também irei atualizar esse post!
       
      Itens com Raridades

       
      Nova Área do Karin

       
      Entrada da Capsule Corp

       
      Skills

       
      Reborn

       
       

      https://discord.gg/P6hfwTbguB
    • Por L3K0T
      TUTORIAL BY L3K0T PT~EN
       
      Olá pessoal, trago a vocês uma atualização que fiz no sistema, contendo 3 novas funcionalidades de movimentação de itens e uma proteção contra Elf Bot. Estas adições foram cuidadosamente implementadas para aperfeiçoar a experiência de jogo e manter a integridade do seu servidor.
      As novas funcionalidades têm a função vital de impedir que jogadores deixem itens indesejados em locais inapropriados, como na entrada de sua casa, em cima de seus depósitos ou em teleportes. Agora, apenas proprietários, subproprietários e convidados têm permissão para manipular itens nesses locais.
      Este pacote de atualização foi meticulosamente revisado para evitar abusos por parte de jogadores mal-intencionados e garantir um ambiente de jogo justo e equilibrado para todos os usuários.
       
       
       
      Iniciando o Tutorial
      1Abra o arquivo "creatureevents.cpp" com o editor de sua preferência. Eu pessoalmente recomendo o Notepad++. 
       
       
      Em creatureevents.cpp:
      return "onPrepareDeath"; Adicione abaixo:
      case CREATURE_EVENT_MOVEITEM: return "onMoveItem"; case CREATURE_EVENT_MOVEITEM2: return "onMoveItem2";  
      Em:
      return "cid, deathList"; Adicione abaixo:
      case CREATURE_EVENT_MOVEITEM: return "moveItem, frompos, topos, cid"; case CREATURE_EVENT_MOVEITEM2: return "cid, item, count, toContainer, fromContainer, fromPos, toPos";  
      Em:
      m_type = CREATURE_EVENT_PREPAREDEATH; Adicione abaixo:
      else if(tmpStr == "moveitem") m_type = CREATURE_EVENT_MOVEITEM; else if(tmpStr == "moveitem2") m_type = CREATURE_EVENT_MOVEITEM2;  
      Procure por:
      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; } Adicione abaixo:
      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)->getEventType() == CREATURE_EVENT_MOVEITEM) { if(!(*it)->executeMoveItem(actor, item, frompos, pos)) return 0; } } return 1; }  
      Em:
      bool CreatureEvents::playerLogin(Player* player) { //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_LOGIN && (*it)->isLoaded() && !(*it)->executeLogin(player) && result) result = false; } if (result) { for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { CreatureEvent* event = *it; if(event->isLoaded() && ( event->getRegister() == "player" || event->getRegister() == "all") ) player->registerCreatureEvent(event->getName()); } } return result; } Adicione Abaixo:
      uint32_t CreatureEvent::executeMoveItem(Creature* actor, Item* item, const Position& frompos, const Position& pos) { //onMoveItem(moveItem, frompos, position, cid) 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; } } uint32_t CreatureEvent::executeMoveItem2(Player* player, Item* item, uint8_t count, const Position& fromPos, const Position& toPos, Item* toContainer, Item* fromContainer, int16_t fstack) { //onMoveItem2(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); //lua_pushnumber(L, env->addThing(actor)); bool result = m_interface->callFunction(7); m_interface->releaseEnv(); return result; } } else { std::clog << "[Error - CreatureEvent::executeMoveItem] Call stack overflow." << std::endl; return 0; } }  
       
       
      Agora em em creatureevents.h:
      CREATURE_EVENT_PREPAREDEATH, Adicione abaixo:
      CREATURE_EVENT_MOVEITEM, CREATURE_EVENT_MOVEITEM2  
      Em:
      uint32_t executePrepareDeath(Creature* creature, DeathList deathList); Adicione abaixo:
      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);  
      Em:
      bool playerLogout(Player* player, bool forceLogout); Abaixo adicone também
      uint32_t executeMoveItems(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);  
       
      Agora em em game.cpp:
      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; } Altere para:
      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_config.getBool(ConfigManager::ANTI_PUSH)) { 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); if (Condition* condition = Condition::createCondition(CONDITIONID_DEFAULT, CONDITION_EXHAUST, delay, 0, false, 1)) player->addCondition(condition); if (!g_creatureEvents->executeMoveItems(player, item, mapFromPos, mapToPos)) return false; ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL); if (ret != RET_NOERROR) { player->sendCancelMessage(ret); return false; } player->setNextAction(OTSYS_TIME() + g_config.getNumber(ConfigManager::ACTIONS_DELAY_INTERVAL) - 10); return true; }  
      Agora em configmanager.h
      ADMIN_ENCRYPTION_DATA Adicione abaixo:
      ANTI_PUSH_ITEMS,  
      em:
      STAMINA_DESTROY_LOOT, Adicione abaixo:
      ANTI_PUSH_DELAY,  
      em:
      ADDONS_PREMIUM, Adicione abaixo:
      ANTI_PUSH  
      Agora você pode compilar a Source.
       
       
      Configurando no servidor:
       
      Abra seu config.lua do servidor e adicione isso dentro qualquer lugar:
      -- Anti-Push useAntiPush = true antiPushItems = "2148,2152,2160,3976" antiPushDelay = 500  
       
      Navegue até o diretório 'creaturescripts' e localize o arquivo 'login.lua'.
      em resgistros de eventos adicione:
      login.lua
      registerCreatureEvent(cid, "MoveItem") registerCreatureEvent(cid, "MoveItem2")  
      Agora abra o aquivo creaturescript .xml
      <event type="moveitem" name="MoveItem" event="script" value="houseprotecao.lua"/> <event type="moveitem2" name="MoveItem2" event="script" value="moveitem2.lua"/>  
      Crie um novo arquivo lua em scripts com o nome houseprotecao.lua e adicione isso:
      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  
      Crie um novo arquivo lua em scripts com o nome moveitem2.lua e adicione isso abaixo:
      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  
      ajudei?? REP+
      CRÉDITOS:
      @L3K0T
      Fir3element
      Summ
      Wise
      GOD Wille
      Yan Lima
       
       
       
       
    • Por L3K0T
      Não jogar itens pelo teleportes C++
       

       

       
       
      Bom.. o nome já diz, qualquer um que jogar itens nos teleportes do seu otserv, o mesmo será removido, como aquelas lixeiras, porem esse sistema é pela source, descartando scripts .LUA.
       
       
      Em teleporte.cpp ache:
       
      void Teleport::__addThing(Creature* actor, int32_t, Thing* thing) { if(!thing || thing->isRemoved()) return; Tile* destTile = g_game.getTile(destination); if(!destTile) return; if(Creature* creature = thing->getCreature()) { g_game.addMagicEffect(creature->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); creature->getTile()->moveCreature(actor, creature, destTile); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); } else if(Item* item = thing->getItem()) { g_game.addMagicEffect(item->getPosition(), MAGIC_EFFECT_TELEPORT); g_game.internalMoveItem(actor, item->getTile(), destTile, INDEX_WHEREEVER, item, item->getItemCount(), NULL); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT); } }  
      Altere ele todo para:
       
      void Teleport::__addThing(Creature* actor, int32_t, Thing* thing) { if (!thing || thing->isRemoved()) return; Tile* destTile = g_game.getTile(destination); if (!destTile) return; if (Creature* creature = thing->getCreature()) { g_game.addMagicEffect(creature->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); creature->getTile()->moveCreature(actor, creature, destTile); g_game.addMagicEffect(destTile->getPosition(), MAGIC_EFFECT_TELEPORT, creature->isGhost()); } else { Player* player = dynamic_cast<Player*>(actor); if (player) { player->sendTextMessage(MSG_STATUS_SMALL, "You cannot teleport items."); // Remover o item Item* item = dynamic_cast<Item*>(thing); if (item) { g_game.internalRemoveItem(actor, item); } } return; } } agora é só compilar no modo Rebuilder e ligar o servidor, créditos a mim L3K0T pela alterações.
    • Por Qwizer
      MercadoPago Checkout Transparente (CC)
       
      Abaixo Segue código PHP de pagamento via cartão de credito pelo mercado pago com retorno automático para quem quiser adaptar em seus sites ter uma direção de onde ir 
      testado em Znote e MyAcc.
       

       
       
      https://mega.nz/folder/m4QkWBLS#PIvJ_scVm7w8-5FLlStTHg  
    • Por Argona2509
      Boa tarde venho por aqui pedir ajuda estou com um problema no gesior para criar conta nao aparece vocacao e o nome Nadega Sample
       
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo