Ir para conteúdo

Adilson Hacker

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Adilson Hacker deu reputação a grafit em [C++] Alterando BaseSpeed   
    Alterações nas sources para editar a BaseSpeed dos players.


    Vá em player.h e procure:
    void updateBaseSpeed() { if (!hasFlag(PlayerFlag_SetMaxSpeed)) { baseSpeed = vocation->getBaseSpeed() + (2 * (level - 1)); } else { baseSpeed = PLAYER_MAX_SPEED; } } A fórmula é (2 * (level - 1)

    2 * level do player - 1 = velocidade do player



     
  2. Gostei
    Adilson Hacker deu reputação a grafit em Correção Clonar items NPC usando ElfBot   
    Bem legal Gabriel =)

    Esse bug eu ACHO que realmente como o Matheus falou é até o 0.3.6, até porque no meu servidor eu uso o 0.4 REV 3884 e não encontrei esse bug..


    Mas mesmo assim é sempre bom ter um FIX =P
  3. Gostei
    Adilson Hacker deu reputação a grafit em [Função] getPlayersInArea   
    Função que retorna os players que estão numa área específica
     
    function getPlayersInArea(fromPos, toPos) -- function by amoeba13 playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x=x, y=y, z=z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end Exemplo de uso:
    function onSay(cid, words, param, channel) local area = getPlayersInArea({x = 153, y = 50, z = 7}, {x = 156, y = 53, z = 7}) if area then for i = 1, (#area) do doTeleportThing(area[i], {x = 160, y = 51, z = 7}, false) end end return true end Créditos: Killua
  4. Gostei
    Adilson Hacker deu reputação a grafit em [7.4, 7.6, 7.72] Tibia Classic Bot   
    Tibia Classic Bot
    Versões 7.4 , 7.6 e 7.72
     
    Esse é um dos poucos bots e o mais completo para estas versões mais antigas... Eu tenho acompanhado desde a versão 1.6.4 dele (atual 1.6.8). Segue abaixo algumas das hotkeys que podem ser usadas nele:
     


    Para que a hotkey fique "automática" ela deve ser adicionada na parte persistent , caso contrário a hotkey só será ativada uma vez.



    Download: 
    https://mega.co.nz/#!x41jxAqa!sqL7cfy3_p-4wjfOrPB1qpUq_UrHuUd46G1wBJVn9nI

    Scan:
    https://www.virustotal.com/pt/file/b86169815eeddbaef3808be3d60e523b8a73a18113056ee516f10efd61105207/analysis/1400633901/

    Créditos: Xavious
    O BOT também pode ser encontrado no seguinte link: http://tpforums.org/forum/threads/3889-7-4-7-6-7-72-ClassicBotter-1-6-8
  5. Gostei
    Adilson Hacker deu reputação a grafit em [Gesior Aac] Warots Layout   
    Download
    Scan


    Testado no Gesior
    https://github.com/gesior/Gesior2012/tree/TFS-1.0
     

    Créditos: emil1174
  6. Gostei
    Adilson Hacker deu reputação a grafit em [C++] doStartTrade(cid, target, item)   
    Bom dia!


    Há um certo tempo eu tive um servidor de Tibia que possuía um sistema bem interessante de tradevip. Funcionava da seguinte maneira, o player que possuísse premdays(ou VIP) usava o comando !tradevip [DIAS], [Nome do Jogador] e automaticamente gerava uma janela de trade com um item e assim poderiam ser vendidos dias de premium sem o perigo de ninguém ser roubado.

    Por padrão isso não é possível no Tibia, mas um usuário chamado Oneshot fez modificações nas sources para tornar isso possível.


    Segue agora as modificações que permitem funcionar esse sistema:
     
     
    Em luascript.h, adicione essa linha, abaixo das linhas parecidas. static int32_t luaDoStartTrade(lua_State* L); Em luascript.cpp, adicione isso perto das linhas parecidas. //doStartTrade(cid, target, item) lua_register(m_luaState, "doStartTrade", LuaInterface::luaDoStartTrade);   Ainda em luascript.cpp, adicione isso logo abaixo de alguma estrutura parecida. int32_t LuaInterface::luaDoStartTrade(lua_State* L) { ScriptEnviroment* env = getEnv(); Item* item = env->getItemByUID(popNumber(L)); if(!item) { errorEx(getError(LUA_ERROR_ITEM_NOT_FOUND)); lua_pushboolean(L, false); return 1; } Player* target = env->getPlayerByUID(popNumber(L)); Player* player = env->getPlayerByUID(popNumber(L)); if(!player || !target) { errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; } if(g_game.internalStartTrade(player, target, item)) { lua_pushboolean(L, true); return 1; } return 1; } Agora use sua imaginação para criar seus scripts.


    Créditos: Oneshot
  7. Gostei
    Adilson Hacker deu reputação a grafit em [C++] onDropLoot(cid, item)   
    Event droploot acontece quando um monstro ou player dropa 1 item.
     
     
    Em creatureevent.cpp procure:
    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->second->getEventType() == CREATURE_EVENT_LOGIN && !it->second->executeLogin(player) && result) result = false; } return result; Adicione abaixo:
    bool CreatureEvents::dropLoot(Creature* creature, Item* item) { bool result = true; for(CreatureEventList::iterator it = m_creatureEvents.begin(); it != m_creatureEvents.end(); ++it) { if(it->second->getEventType() == CREATURE_EVENT_DROPLOOT && !it->second->executeDropLoot(creature, item)) result = false; } return result; } Ainda em creatureevents.cpp procure:
    else if(tmpStr == "preparedeath") m_type = CREATURE_EVENT_PREPAREDEATH; Adicione abaixo:
    else if(tmpStr == "droploot") m_type = CREATURE_EVENT_DROPLOOT; Procure:
    case CREATURE_EVENT_PREPAREDEATH: return "onPrepareDeath"; Adicione abaixo:
    case CREATURE_EVENT_DROPLOOT: return "onDropLoot"; Procure:
    case CREATURE_EVENT_PREPAREDEATH: return "cid, deathList"; Adicione abaixo:
    case CREATURE_EVENT_DROPLOOT: return "cid, item"; Procure:
    uint32_t CreatureEvent::executeLogout(Player* player, bool forceLogout) { //onLogout(cid, forceLogout) 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; scriptstream << "local forceLogout = " << (forceLogout ? "true" : "false") << 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(player->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushboolean(L, forceLogout); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeLogout] Call stack overflow." << std::endl; return 0; } } Adicione abaixo:
    uint32_t CreatureEvent::executeDropLoot(Creature* creature, Item* item) { //onDropLoot(cid, item) if(m_interface->reserveEnv()) { ScriptEnviroment* env = m_interface->getEnv(); if(m_scripted == EVENT_SCRIPT_BUFFER) { env->setRealPos(creature->getPosition()); std::stringstream scriptstream; scriptstream << "local cid = " << env->addThing(creature) << std::endl; env->streamThing(scriptstream, "item", item, env->addThing(item)); 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(creature->getPosition()); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(creature)); LuaScriptInterface::pushThing(L, item, env->addThing(item)); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; } } else { std::cout << "[Error - CreatureEvent::executeDropLoot] Call stack overflow." << std::endl; return 0; } } Em creatureevent.h procure:
    CREATURE_EVENT_PREPAREDEATH, Adicione abaixo:
    CREATURE_EVENT_DROPLOOT Procure:
    uint32_t executeTarget(Creature* creature, Creature* target); Adicione abaixo:
    uint32_t executeDropLoot(Creature* creature, Item* item); Agora em player.h procure a função:
    void Player::dropLoot(Container* corpse) Troque por:
    void Player::dropLoot(Container* corpse) { if(!corpse || lootDrop != LOOT_DROP_FULL) return; uint32_t start = g_config.getNumber(ConfigManager::BLESS_REDUCTION_BASE), loss = lossPercent[LOSS_CONTAINERS], bless = getBlessings(); while(bless > 0 && loss > 0) { loss -= start; start -= g_config.getNumber(ConfigManager::BLESS_REDUCTION_DECREAMENT); bless--; } uint32_t itemLoss = (uint32_t)std::floor((5. + loss) * lossPercent[LOSS_ITEMS] / 1000.); for(int32_t i = SLOT_FIRST; i < SLOT_LAST; ++i) { Item* item = inventory[i]; if(!item) continue; Creature* creature = NULL; bool deny = false;item creature = g_game.getCreatureByID(getID()); CreatureEventList droploot = getCreatureEvents(CREATURE_EVENT_DROPLOOT); for(CreatureEventList::iterator it = droploot.begin(); it != droploot.end(); ++it) { if(!(*it)->executeDropLoot(this, item)) deny = true; } if(!deny) { uint32_t rand = random_range(1, 100); if(skull > SKULL_WHITE || (item->getContainer() && rand < loss) || (!item->getContainer() && rand < itemLoss)) { g_game.internalMoveItem(NULL, this, corpse, INDEX_WHEREEVER, item, item->getItemCount(), 0); sendRemoveInventoryItem((slots_t)i, inventory[(slots_t)i]); } } } } Em monster.cpp procure:
    void MonsterType::dropLoot(Container* corpse) { if(corpse && lootDrop == LOOT_DROP_FULL) mType->dropLoot(corpse); } Troque por:
    void MonsterType::dropLoot(Container* corpse) { Item* tmpItem = NULL; for(LootItems::const_iterator it = lootItems.begin(); it != lootItems.end() && !corpse->full(); ++it) { uint32_t owner = corpse->getCorpseOwner(); Creature* creature = g_game.getCreatureByID(owner); if((tmpItem = createLoot(*it)) && g_creatureEvents->dropLoot(creature, tmpItem)) { if(Container* container = tmpItem->getContainer()) { if(createChildLoot(container, (*it))) corpse->__internalAddThing(tmpItem); else delete container; } else corpse->__internalAddThing(tmpItem); } } corpse->__startDecaying(); uint32_t ownerId = corpse->getCorpseOwner(); if(!ownerId) return; Player* owner = g_game.getPlayerByID(ownerId); if(!owner) return; LootMessage_t message = lootMessage; if(message == LOOTMSG_IGNORE) message = (LootMessage_t)g_config.getNumber(ConfigManager::LOOT_MESSAGE); if(message < LOOTMSG_PLAYER) return; std::stringstream ss; ss << "Loot of " << nameDescription << ": " << corpse->getContentDescription() << "."; if(owner->getParty() && message > LOOTMSG_PLAYER) owner->getParty()->broadcastMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str()); else if(message == LOOTMSG_PLAYER || message == LOOTMSG_BOTH) owner->sendTextMessage((MessageClasses)g_config.getNumber(ConfigManager::LOOT_MESSAGE_TYPE), ss.str()); } Exemplo de uso da função:
    function onDropLoot(cid, item) local block = {2221, 1221, 2922} for i=1, #block do if item.itemid == block[i] then return false end end return true end Créditos: Caotic
  8. Gostei
    Adilson Hacker deu reputação a Vodkart em [PEDIDO] Low level protect   
    levelprotection.lua

    function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) local level = 50 if isPlayer(cid) and getPlayerLevel(cid) < level then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) doCreatureAddHealth(cid, getCreatureMaxHealth(cid), 65535, 256, true) doCreatureAddMana(cid, getCreatureMaxMana(cid)) doRemoveConditions(cid, false) return false end return true end TAG <event type="preparedeath" name="ProtectLevel" event="script" value="levelprotection.lua"/> caso não tenha registrado no login.lua adc registerCreatureEvent(cid, "ProtectLevel")
  9. Gostei
    Adilson Hacker deu reputação a Viny 13 em Topico Fechado !   
    É Poketibia 8.54

    Se alguem puder ajudar, Ainda vou dar os REP+

    UP !! Ajuda ae

    UP !!!

    UP -_- Ninguem pra ajudar?

    Gente, se não for possivel esse sistema, pelo menos um que seja assim :
     
    2 Players Vão ao Tal npc, ou um comando por talckaction ex :  !casar "nome do player que quer casar',
    e apos falar esse comando e a outra pessoa que você quer casar também vai ter que executar o mesmo comando para se aceito...
    E Apos ser aceito os 2 Players, que acabaram de ser casar ganha Informação adicional, ao qualquer outro Players dar Look nele,
     
    Ex : You see SkyFrozer (level 101). He is treinador. Casado com JulinhaaSZ
     
    Se Puderem me Ajudar dou 5 REP+
  10. Gostei
    Adilson Hacker deu reputação a Danihcv em [TUTORIAL] Resolvendo qualquer erro na data base   
    Opa, galerinha do TK, pro meu primeiro tutorial resolvi fazer uma solução de um problema que desde que cheguei no TK, vejo que ocorre com uma certa frequência. Os erros da data base.
     
    Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc.
     
    1°) NO SUCH TABLE
     
    Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro:

     
    No caso da imagem, está faltando a table: player_statements
    Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite,
    basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor:



     
    Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia.
     
    1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA
      Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! :   (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!)
     
     
    account_viplist



     
    Sqlite




     
    accounts



     
    Sqlite




     
    bans



     
    Sqlite




     
    environment_killers



     
    Sqlite




     
    global_storage



     
    Sqlite




     
    guild_invites



     
    Sqlite




     
    guild_kills



     
    Sqlite




     
    guild_ranks



     
    Sqlite




     
    guild_wars



     
    Sqlite




     
    guilds



     
    Sqlite




     
    house_auctions



     
    Sqlite




     
    house_data



     
    Sqlite




     
    house_lists



     
    Sqlite




     
    houses



     
    Sqlite




     
    killers



     
    Sqlite




     
    market_history



     
    Sqlite




     
    market_offers



     
    Sqlite




     
    player_deaths



     
    Sqlite




     
    player_depotitems



     
    Sqlite




     
    player_inboxitems



     
    Sqlite




     
    player_items



     
    Sqlite




     
    player_killers



     
    Sqlite




     
    player_namelocks



     
    Sqlite




     
    player_skills



     
    Sqlite




     
    player_spells



     
    Sqlite




     
    player_statements



     
    Sqlite




     
    player_storage



     
    Sqlite




     
    player_viplist



     
    Sqlite




     
    players



     
    Sqlite




     
    server_config



     
    Sqlite




     
    server_motd



     
    Sqlite




     
    server_record



     
    Sqlite




     
    server_reports



     
    Sqlite




     
    tile_items



     
    Sqlite




     
    tile_store



     
    Sqlite




     
    tiles



     
    Sqlite




     
    announcements



     
    Sqlite




     
    pagsegurotransacoes



     
    Sqlite




     
    player_advances



     
    Sqlite




     
    reports



     
    Sqlite




     
    thanks



     
    Sqlite




     
    z_bug_logs



     
    Sqlite




     
    z_featured_article



     
    Sqlite




     
    z_forum



     
    Sqlite




     
    z_helpdesk



     
    Sqlite




     
    z_monsters



     
    Sqlite




     
    z_network_box



     
    Sqlite




     
    z_news_tickers



     
    Sqlite




     
    z_ots_comunication



     
    Sqlite




     
    z_polls



     
    Sqlite




     
    z_polls_answers



     
    Sqlite




     
    z_poll_votes



     
    Sqlite




     
    z_shop_history_item



     
    Sqlite




     
    z_shop_history_pacc



     
    Sqlite




     
    z_shop_offer



     
    Sqlite




     
    z_spells



     
    Sqlite




     
    z_news_big



     
    Sqlite




     
     
    2°) No such column /  "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into
      Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem:

     
    No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando.
     
    ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO.
     
     
     
    Bom galera, é isso.
     
    SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS!
     
    SE ESTIVR FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!!
     
     
    Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabolhoso fazer este tutorial todo...
     
    ESTOU A DISPOSIÇÃO DE TODOS! Tanto por PM quanto por SKYPE, e até mesmo por aqui, pois vou checar este tópico regularmente!!
     
     
    Espero ter ajudado!!
    Abraços.
  11. Gostei
    Adilson Hacker recebeu reputação de leotibia em Bronson Server   
    Aqui amigo eu tinha esse projeto em outro fórum , sou novo aqui é já postei ele aqui :
     
    http://tibiaking.com/forum/topic/25932-bronson-server-by-adilsonhacker/
     
    Abraços!
  12. Gostei
    Adilson Hacker recebeu reputação de 157kolosso em [Ajuda com o COnfig.lua]   
    Amigo o site não consegue ler essas parte exemplo :
     
    -- Database -- NOTE: sqlFile is used only by sqlite database, and sqlKeepAlive by mysql database. -- To disable sqlKeepAlive such as mysqlReadTimeout use 0 value. Arrumei ela pra você tenta ai :
     
    ownerName = "" ownerEmail = "" url = "" location = ""   motd = "Welcome to the Global Server!" serverName = "Global" loginMessage = "Welcome to The Global Server by NvSo!" displayGamemastersWithOnlineCommand = false   sqlType = "sqlite" sqlHost = "" sqlPort = 3306 sqlUser = "root" sqlPass = "" sqlDatabase = "" sqlFile = "schemas/otxserver.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 mysqlReconnectionAttempts = 3 encryptionType = "sha1"   worldId = 0 ip = "kox.no-ip.biz" worldType = "open" bindOnlyGlobalAddress = false loginPort = 7171 gamePort = "7172" statusPort = 7171 loginOnlyWithLoginServer = false   accountManager = true namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 32369 newPlayerSpawnPosY = 32241 newPlayerSpawnPosZ = 7 newPlayerTownId = 3 newPlayerLevel = 8 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = true   fragsLimit = 24 * 60 * 60 fragsSecondLimit = 7 * 24 * 60 * 60 fragsThirdLimit = 30 * 24 * 60 * 60   fragsToRedSkull = 3 fragsSecondToRedSkull = 5 fragsThirdToRedSkull = 10 redSkullLength = 3 * 24 * 60 * 60   fragsToBlackSkull = 6 fragsSecondToBlackSkull = 10 fragsThirdToBlackSkull = 20 blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 blackSkullLength = 6 * 24 * 60 * 60 useBlackSkull = true   notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanLength = 1 * 24 * 60 * 60 fragsToBanishment = 7 fragsSecondToBanishment = 21 fragsThirdToBanishment = 41   protectionLevel = 1 pvpTileIgnoreLevelAndVocationProtection = true allowFightback = true pzLocked = 60 * 1000 huntingDuration = 60 * 1000 criticalHitMultiplier = 1 displayCriticalHitNotify = true removeWeaponAmmunition = true removeWeaponCharges = true removeRuneCharges = true whiteSkullTime = 15 * 60 * 1000 advancedFragList = true useFragHandler = true noDamageToSameLookfeet = false showHealthChange = true showManaChange = true showHealthChangeForMonsters = true showManaChangeForMonsters = true fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = true loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true recoverManaAfterDeathInPvPZone = true squareColor = 0   rsaPrime1 = "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113" rsaPrime2 = "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101" rsaPublic = "65537" rsaModulus = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413" rsaPrivate = "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073"   optionalWarAttackableAlly = true fistBaseAttack = 7 criticalHitChance = 7 noDamageToGuildMates = false noDamageToPartyMembers = false rookLevelTo = 5 rookLevelToLeaveRook = 8 rookTownId = 1 useRookSystem = true   paralyzeDelay = 1500   premiumDaysToAddByGui = 10   useCapacity = true defaultDepotSize = 500 defaultDepotSizePremium = 1000 enableProtectionQuestForGM = true cleanItemsInMap = false playerFollowExhaust = 2000   tibiaClassicSlots = true monsterSpawnWalkback = true allowBlockSpawn = true   NoShareExpSummonMonster = false   enableLootBagDisplay = false   loginTries = 20 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 200 displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = 0 statusTimeout = 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false premiumPlayerSkipWaitList = true packetsPerSecond = 50   deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 20 maxDeathRecords = 5 multipleNames = false externalGuildWarsManagement = false ingameGuildManagement = true levelToFormGuild = 20 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 buyableAndSellableHouses = true houseNeedPremium = true bedsRequirePremium = true levelToBuyHouse = 20 housesPerAccount = 1 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 1000 houseRentPeriod = "weekly" houseCleanOld = 8 * 24 * 60 * 60 guildHalls = true houseSkipInitialRent = true houseProtection = true   timeBetweenActions = 200 timeBetweenExActions = 1000 timeBetweenCustomActions = 500 checkCorpseOwner = true hotkeyAimbotEnabled = true maximumDoorLevel = 999 tradeLimit = 100 canOnlyRopePlayers = false   mapAuthor = "Komic" randomizeTiles = true houseDataStorage = "binary-tilebased" storeTrash = true cleanProtectedZones = true mapName = "nvsoreal.otbm"   mailMaxAttempts = 5 mailBlockPeriod = 30 * 60 * 1000 mailAttemptsFadeTime = 5 * 60 * 1000 mailboxDisabledTowns = "" -- Example disable rook depot (temple) "4" -- mailboxDisabledTowns = "4"   daemonize = false defaultPriority = "higher" niceLevel = 5 serviceThreads = 1 coresUsed = "-1" startupDatabaseOptimization = true removePremiumOnInit = true confirmOutdatedVersion = false skipItemsVersionCheck = false   maxMessageBuffer = 4   dataDirectory = "data/" logsDirectory = "data/logs/" disableOutfitsForPrivilegedPlayers = false bankSystem = true spellNameInsteadOfWords = false emoteSpells = true unifiedSpells = true promptExceptionTracerErrorBox = true storePlayerDirection = false savePlayerData = true monsterLootMessage = 3 monsterLootMessageType = 25 separateViplistPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100   allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true addonsOnlyPremium = true   ghostModeInvisibleEffect = false ghostModeSpellEffects = true idleWarningTime = 14 * 60 * 1000 idleKickTime = 15 * 60 * 1000 expireReportsAfterReads = 1 playerQueryDeepness = -1 protectionTileLimit = 10 houseTileLimit = 10 tileLimit = 7 freePremium = false premiumForPromotion = true updatePremiumStateAtStartup = true   blessings = true blessingOnlyPremium = true blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 useFairfightReduction = true pvpBlessingThreshold = 40 fairFightTimeRange = 60   experienceStages = false rateExperience = 5.0 rateExperienceFromPlayers = 0 rateSkill = 3.0 rateMagic = 3.0 rateLoot = 2.0 rateSpawnMin = 1 rateSpawnMax = 1 formulaLevel = 5.0 formulaMagic = 1.0 -- Monster rates rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0   minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true   experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000   globalSaveEnabled = false globalSaveHour = 8 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false closeInstanceOnShutdown = true   -- Spawns minRateSpawn = 1 maxRateSpawn = 3 deSpawnRange = 2 deSpawnRadius = 50   maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = true   disableLuaErrors = false adminLogs = true displayPlayersLogging = true prefixChannelLogs = "" runFile = "server/run.log" outputLog = "server/out.log" truncateLogOnStartup = false logPlayersStatements = true   managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1   adminPort = 7171 adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = ""   saveGlobalStorage = false bufferMutedOnSpellFailure = false
  13. Gostei
    Adilson Hacker deu reputação a Sammy em Duvida Sobre Domínio !   
    Sim você pode normalmente criar o ot e site em sua casa e pagar um dominio e colocar para redirecionar ao dns do seu IP.
    (:
  14. Gostei
    Adilson Hacker deu reputação a Sammy em Teleporte abre por comando   
    Segue o script:
     
    Na pasta talkactions/scripts/ crie um arquivo chamado eventoteleport.lua
     
    function onSay(cid, words, param) if words=="/eventoopen" then local create_pos = {x=1050 , y=1045 , z=6, stackpos=255} local tp_pos = {x=1028 , y=1040 , z=4} doCreateTeleport(1387, tp_pos , create_pos) doSendMagicEffect(create_pos , 10) doPlayerSendTextMessage(cid, 28 , "Portal para o Evento está aberto!") return TRUE end if words=="/eventoclose" then doRemoveItem(getTileItemById(create_pos,1387)) doPlayerSendTextMessage(cid, 28 , "Portal para o Evento fechou!") end return TRUE end Agora em talkactions.xml adicione
     
    <talkaction log="no" words="/eventoclose;/eventoopen" access="4" event="script" value="eventoteleport.lua"/> Abraços boa sorte.
  15. Gostei
    Adilson Hacker recebeu reputação de kaiinho em Bronson Server   
    Aqui amigo eu tinha esse projeto em outro fórum , sou novo aqui é já postei ele aqui :
     
    http://tibiaking.com/forum/topic/25932-bronson-server-by-adilsonhacker/
     
    Abraços!

Informação Importante

Confirmação de Termo