Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Iae tibiaking!

 

Olha, estava configurando o config.lua para um OT server que vou abrir, e surgiu algumas dúvidas... Por favor, respondam mesmo se vocês souberem só UMA das linhas que já vai ser de grande ajuda! Darei Rep+ para quem ajudar, lógico!

 

Estou usando o TFS 0.4 Rev 3777 para Tibia 8.6 - link onde baixei:

 

Aqui estão as dúvidas:

 

Edit -- estou excluindo dessa lista os que já foram resolvidos

Aqui os que ainda estou em dúvida:

-- Battle
    fistBaseAttack = 7
 
-- Map
    randomizeTiles = true
    storeTrash = true
 
-- Spells
    unifiedSpells = true
 
-- Limits
    playerQueryDeepness = 2
 
-- Mailbox block
    mailMaxAttempts = 2
    mailBlockPeriod = 60 * 60 * 1000
    mailAttemptsFadeTime = 60 * 60 * 1000

--General
    allowedMaxSizedPackets = 3
    mysqlReconnectionAttempts = 3
    tibiaClassicSlots = true
    useMultiClient = false

É isso ae, bastante dúvida, né? kkkkk

Quero ter certeza de que o meu OT server vai estar funcionando tranquilo e do jeito que eu quero!

 

Valeu pessoal, mesmo se souberem somente um já ajuda!

 

Resolvidos até agora: - para uso de outras pessoas que precisarem destas informações também

-- Unjustified kills

    useFragHandler = true -- poder usar ou nao o comando !frags

    advancedFragList = false -- mostrar quantas horas faltam para o frag nao justificado sair

 

-- Banishments

   autoBanishUnknownBytes = false -- auto ban por quantidade de kills

 

-- Battle

    huntingDuration = 60 * 1000 -- Tempo do PZ (quando ataca alguem mas não mata). 60 * 1000 = 60 segundos.

    stairhopDelay = 2 * 1000 -- Quando o player descer ou subir uma escada o tanto de tempo que ele não poderá ser atacado.

    deathContainerId = 1987 -- Quando morrer sem aol, qual backpack ou bag irá aparecer no lugar dos containers depois que nascer no temple.

    noShareExpSummonMonster = false -- dividir xp com summon? false = dividir, true = nao dividir

    addManaSpentInPvPZone = true -- se o player usar uma magia (gastar mana) em uma zona de pvp (piso especiais que podem ser adicionados pelo map editor), ele vai treinar ML tambem.

 

 

-- Connection config

    forceSlowConnectionsToDisconnect = false -- Forçar players com conexões lentas a desconectar do server.

 

-- Stamina

    rateStaminaThresholdGain = 12 -- Não sei

    staminaRatingLimitTop = 40 * 60 -- Quanto de stamina que ainda fica "verdinha" ganhando uma porcentagem a mais de exp.
    staminaRatingLimitBottom = 14 * 60 -- Quanto de stamina para que fique vermelho.
    staminaLootLimit = 14 * 60 -- Quanto de stamina para deixar de ganhar loot.

 

-- General

    tradelimit = 100 -- Limite de itens para o Trade entre os players.

 

-- Connection config
    loginOnlyWithLoginServer = false -- se true, quando o server estiver online, somente o hoster podera fazer login no server

 

-- Spells
    formulaLevel = 5.0 -- a formula usada para determinar o dano do ataque = level do player * um numero (skill + arma, etc) * numero colocado (5 no caso). //RECOMENDA-SE NAO MUDAR
    formulaMagic = 1.0 -- mesmo que o de cima, mas ao inves do level, é o magic level. //RECOMENDA-SE NAO MUDAR

 

-- Blessing
    blessingReductionBase = 30 -- quantidade reduzida por ter promotion // IGUAL AO GLOBAL
    blessingReductionDecrement = 5 -- a quantidade de bless que voce pode pegar // IGUAL AO GLOBAL
    eachBlessReduction = 8 -- o quanto cada bless reduz // IGUAL AO GLOBAL

 
-- Stamina
    rateStaminaThresholdGain = 12 -- O tempo que o player precisa ficar offline para começar a ganhar stamina

 

-- General
    generateAccountSalt = false -- um tipo de criptografia para passwords no database // Recomendo deixar como false mesmo e usar o tipo de criptografia "sha1" no outro lugar
    enableProtectionQuestForGM = true -- Um GM no seu server nao vai poder fazer as quests, por exemplo, sair dando tp pra todo lado do mapa para pegar os itens das quests e dar pro lvl 8 dele. (lembrando que GMs nao podem usar o comando de criar itens)

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

Clique na imagem para visitar meu showoff ~(:

[REMAKE] Sematico's Styller

64dtg1.jpg

Link para o post
Compartilhar em outros sites

Olá, boa tarde..

cara.. nao entendi, qual é sua duvida???

 

autoBanishUnknownBytes = false (auto ban por quantidade de kills)

huntingDuration = 60 * 1000     (tempo de pz apos matar X bicho)

noShareExpSummonMonster = false (divisao de xp com seu summon)

formulaLevel = 5.0  (formula do gain lvl)

formulaMagic = 1.0  (formula do gain mp)

rateStaminaThresholdGain = 12 (ganho te stamina)

generateAccountSalt = false (gerar acc automaticamente)

 

(me descupe se postei algo errado, mais é o'q a logica diz..)

Link para o post
Compartilhar em outros sites

Aqui estão os significados de algumas que eu sei :

 

-- Unjustified kills

    useFragHandler = true -- Não sei.

    advancedFragList = false -- Acho que é para ter uma flag list mais detalhada.

 

-- Banishments

    autoBanishUnknownBytes = false -- Tornar ban automatico (não sei como funciona)

 

-- Battle

    huntingDuration = 60 * 1000 -- Tempo do PZ (quando ataca alguem mas não mata). 60 * 1000 = 60 segundos.

    stairhopDelay = 2 * 1000 -- Quando o player descer ou subir uma escada o tanto de tempo que ele não poderá ser atacado.

    deathContainerId = 1987 -- Quando morrer sem aol, qual backpack irá aparecer.

    addManaSpentInPvPZone = true -- Não sei.

    fistBaseAttack = 7 -- Pelo jeito é a base do ataque basico.

    noShareExpSummonMonster = false -- Não sei.

 

-- Connection config

    forceSlowConnectionsToDisconnect = false -- Forçar conexões lentar a desconectar do server.
    loginOnlyWithLoginServer = false -- Não sei.

 

-- Map

    randomizeTiles = true -- Não sei.
    storeTrash = true -- Não sei.

 

-- Spells
    formulaLevel = 5.0 -- Aconcelho não mecher.
    formulaMagic = 1.0 -- Aconcelho não mecher.

    unifiedSpells = true -- Aconcelho não mecher.

 

-- Limits

    playerQueryDeepness = 2 -- Não sei.

 

-- Blessing

    blessingReductionBase = 30 -- Não sei.
    blessingReductionDecrement = 5 -- Não sei.
    eachBlessReduction = 8 -- Não sei.

 

-- Stamina

    rateStaminaThresholdGain = 12 -- Não sei

    staminaRatingLimitTop = 40 * 60 -- Acho que é quanto de stamina que ainda fica "verdinha" ganhando uma porcentagem a mais de exp.
    staminaRatingLimitBottom = 14 * 60 -- Acho que é quanto de stamina que fica vermelho.
    staminaLootLimit = 14 * 60 -- Quanto de stamina vai deixar de ganhar loot.

 

-- Mailbox block

    mailMaxAttempts = 2 -- Não sei.
    mailBlockPeriod = 60 * 60 * 1000 -- Não sei.
    mailAttemptsFadeTime = 60 * 60 * 1000 -- Não sei.

 

-- General

    generateAccountSalt = false -- Não Sei.

    allowedMaxSizedPackets = 3 -- Não sei.

    mysqlReconnectionAttempts = 3 Não sei.

    tradelimit = 100 -- Limite de itens para o Trade.

    tibiaClassicSlots = true -- Usar ou não o slot classíco do tibia.

    useMultiClient = false -- Usar ou não Multi Client.

    enableProtectionQuestForGM = true -- Acho que é quests protegidas para GM's não fazerem

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 Imperius
      O propósito é criar uma nova função em creaturescripts que será acionada toda vez que um novo report (CTRL + R) for aberto.
       
      Eu implementei para enviar uma notificação no grupo do Telegram, contendo os dados do report.
       
      Isso garantirá que os GMs tenham acesso aos reports dos jogadores mesmo quando não estiverem logados, e também evitará que algum report seja perdido caso o jogador saia do servidor.
      A parte do Telegram é apenas um exemplo. Você pode ajustar o script para executar outras ações desejadas.
       
      creatureevent.cpp:
      Dentro deste arquivo, localize a função:
       
      uint32_t CreatureEvent::executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap)  
      abaixo dela, adicione:
       
      uint32_t CreatureEvent::executeOpenRuleViolation(Player* player, std::string message) { if (!m_interface->reserveEnv()) { std::clog << "[Error - CreatureEvent::executeOpenRuleViolation] Call stack overflow." << std::endl; return 0; } ScriptEnviroment* env = m_interface->getEnv(); env->setScriptId(m_scriptId, m_interface); lua_State* L = m_interface->getState(); m_interface->pushFunction(m_scriptId); lua_pushnumber(L, env->addThing(player)); lua_pushstring(L, message.c_str()); bool result = m_interface->callFunction(2); m_interface->releaseEnv(); return result; }  
      Após, procure por:
       
      std::string CreatureEvent::getScriptEventName() const  
      abaixo de:
       
      case CREATURE_EVENT_CHANNEL_LEAVE: return "onLeaveChannel";  
      adicione:
       
      case CREATURE_EVENT_OPEN_RULE_VIOLATION: return "onOpenRuleViolation";  
      Agora, procure por:
       
      std::string CreatureEvent::getScriptEventParams() const  
      abaixo de:
       
      case CREATURE_EVENT_CHANNEL_LEAVE: return "cid, channel, users";  
      adicione:
       
      case CREATURE_EVENT_OPEN_RULE_VIOLATION: return "cid, message";  
      Procure por:
       
      bool CreatureEvent::configureEvent(xmlNodePtr p)  
      abaixo de:
       
      else if(tmpStr == "leavechannel") m_type = CREATURE_EVENT_CHANNEL_LEAVE;  
      adicione:
       
      else if(tmpStr == "openruleviolation") m_type = CREATURE_EVENT_OPEN_RULE_VIOLATION;  
       
      creatureevent.h:
      Dentro deste arquivo, localize:
       
      enum CreatureEventType_t  
      adicione "CREATURE_EVENT_OPEN_RULE_VIOLATION" como o último item de enum CreatureEventType_t
       
      Exemplo:
       
      enum CreatureEventType_t { // ... CREATURE_EVENT_OPEN_RULE_VIOLATION };  
      Agora, procure por:
       
      uint32_t executeChannelLeave(Player* player, uint16_t channelId, UsersMap usersMap);  
      abaixo dela, adicione:
       
      uint32_t executeOpenRuleViolation(Player* player, std::string message);  
      game.cpp:
      Dentro deste arquivo, localize:
       
      bool Game::playerReportRuleViolation(Player* player, const std::string& text)  
      e substitua por:
       
      bool Game::playerReportRuleViolation(Player* player, const std::string& text) { //Do not allow reports on multiclones worlds since reports are name-based if(g_config.getNumber(ConfigManager::ALLOW_CLONES)) { player->sendTextMessage(MSG_INFO_DESCR, "Rule violation reports are disabled."); return false; } cancelRuleViolation(player); boost::shared_ptr<RuleViolation> rvr(new RuleViolation(player, text, time(NULL))); ruleViolations[player->getID()] = rvr; ChatChannel* channel = g_chat.getChannelById(CHANNEL_RVR); if(!channel) return false; for(UsersMap::const_iterator it = channel->getUsers().begin(); it != channel->getUsers().end(); ++it) it->second->sendToChannel(player, SPEAK_RVR_CHANNEL, text, CHANNEL_RVR, rvr->time); CreatureEventList joinEvents = player->getCreatureEvents(CREATURE_EVENT_OPEN_RULE_VIOLATION); for(CreatureEventList::iterator it = joinEvents.begin(); it != joinEvents.end(); ++it) (*it)->executeOpenRuleViolation(player, text); return true; }  
      Agora é só compilar a source.
       
      depois em "data > creaturescripts > creaturescripts.xml", adicione:
       
      <event type="login" name="loginNotifyRuleViolation" script="notifyRuleViolation.lua"/> <event type="openruleviolation" name="openNotifyRuleViolation" script="notifyRuleViolation.lua"/>  
      em "data > creaturescripts > scripts", crie um arquivo notifyRuleViolation.lua e adicione:
       
      function onOpenRuleViolation(cid, message) local config = { token = "", -- Token do seu BOT no Telegram chatId = "" -- ID do chat do Telegram que será enviado a notificação. } local message = "Player: "..getCreatureName(cid).."\n\nReport:\n"..message.."" message = string.gsub(message, "\n", "%%0A") local url = "https://api.telegram.org/bot"..config.token.."/sendMessage" local data = "chat_id="..config.chatId.."&text="..message.."" local curl = io.popen('curl -d "'..data..'" "'..url..'"'):read("*a") return true end function onLogin(cid) registerCreatureEvent(cid, "openNotifyRuleViolation") return true end  
       
      Demonstração:
      1. Jogador abre um novo report (CTRL + R)

      2. notifyRuleViolation.lua, definido em creaturescripts.xml, é acionado para enviar uma notificação ao grupo do Telegram.
       

       
    • Por cloudrun2023
      CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
      Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
       
      Recursos Exclusivos - Proteção DDoS Avançada:
      Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
       
      Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
       
      Armazenamento NVMe de Alta Velocidade:
      Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
       
      Uplink de até 1GB:
      Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
       
      Suporte 24 Horas:
      Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
       
      Fácil e Rápido de Começar:
      Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
       
      Entre em Contato Agora!
      Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
      Email: [email protected]
      Telefone: (47) 99902-5147

      Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
       
      https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
       
      CloudRun - Onde a Velocidade Encontra a Confiabilidade!
       

    • Por 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?

    • Por Erimyth
      Fala galerinha eu estava e um amigo meu me pediu um script de health e mana por talkaction por MSN, fiz ele e resolvi postar-lo aqui no TK para a galera usar-lo.

      Vá em data > talkactions > talkactions.xml e adicione a seguinte tag:

      <talkaction words="!buyhealth;!buymana" event="script" value="buylife.lua">
      Agora vá até a pasta scripts dentro de talkactions, crie um arquivo chamado buylife.lua com isto dentro:
      -- [( Script created by Matheus for TibiaKing.com )] -- function onSay(cid, words, param) local health = 1000 -- Vida que será adicionada ao player após ele usar o comando! local mana = 1000 -- Mana que será adicionada ao player após ele usar o comando! local cost = 10000 -- Preço para você comprar mana ou health! if (words == "!buymana") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddMana(cid, mana) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") return TRUE end elseif (words == "!buyhealth") then if (doPlayerRemoveMoney(cid, cost) == TRUE) then doCreatureAddHealth(cid, health) doSendMagicEffect(getCreaturePosition(cid), 12) else doPlayerSendCancel(cid, "Sorry, you need "..cost.." gold coins to buy mana.") end return TRUE end end
      Prontinho, espero que gostem, é um script bem simples mas pode ser útil para alguns.  
        Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!? Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também!  
    • Por Leu
      Usando o script do Cjaker como base (e a descrição do tópico dele, na cara dura mesmo!), otimizei as operações no banco de dados (tava muito zuado) e adicionei um range de accounts protegidas pra evitar apagar os gms/samples/contas de spoofers do otservlist/etc... ;
      Salve galera, mais um script para quem está precisando dar aquela limpada no banco de dados e otimizar o Servidor.
       
      -- Especificações --
      TFS 1.1+ Objetivo é limpar as contas inativas/vazias e os players Inativos assim removendo os usuários que estão inativos e ocupando espaço no banco de dados.
        -- Instruções --
       
      Em globalevents.xml insira essa linha <globalevent type="startup" name="CleanDatabases" script="cleandatabase.lua" />  
      Crie um script chamado cleandatabase.lua na pasta globalevents/scripts e cole isso dentro dele. --- --- Generated by EmmyLua(https://github.com/EmmyLua) --- Created by leu. --- DateTime: 04/04/18 18:42 --- --[[ Clean Database by Cjaker | Refactor and SQL Optimizations by Leu ]]-- local inactiveMonths = 1 --> Quantos meses o player ficou inativo local createdMonths = 1 --> Quantos meses a conta foi criada e não possui character criado. local protectedAccIdEnd = 20 --ignorar accounts com id <= 20 local function clearInactivePlayers() local inactiveTimestamp = os.time() - (86400 * (inactiveMonths*30)) local totalClear=0 local fromClause = "`players` WHERE `account_id` > ".. protectedAccIdEnd .." AND lastlogin <= "..inactiveTimestamp local resultId = db.storeQuery("SELECT COUNT(*) as num_inativos FROM "..fromClause) if resultId ~= false then totalClear = result.getDataInt(resultId, 'num_inativos') result.free(resultId) if totalClear > 0 then db.query("DELETE FROM "..fromClause) end end return totalClear end local function clearEmptyAccounts() local totalClear = 0 local createdTimestamp = os.time() - (86400 * (createdMonths*30)) local fromClause = "`accounts` ACCS WHERE `id` > ".. protectedAccIdEnd .." AND `creation` <= "..createdTimestamp.." AND (SELECT COUNT(*) from `players` WHERE `account_id` = ACCS.`id`) > 0" local resultId = db.storeQuery("SELECT COUNT(*) as num_inativas FROM "..fromClause) if resultId~= false then totalClear = result.getDataInt(resultId,'num_inativas') result.free(resultId) if totalClear > 0 then db.query("DELETE ACCS FROM "..fromClause) end end return totalClear end function onStartup() print('>> ' ..clearInactivePlayers().. " players inativos deletados.") print('>> ' ..clearEmptyAccounts().. " contas vazias deletadas.") end  
       
      é isso senhores, paganois, flw!
       
      EDIT 24-04-2018: correção DELETE accs QUERY
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo