Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/23/18 em todas áreas

  1. 1 ponto
    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
  2. Erro no Guild Shop, e Cast System

    aldenes reagiu a tetheuscunha por uma resposta no tópico

    1 ponto
    Neste tópico você encontra toda as colunas que você precisa.
  3. Nuker

    Apache reagiu a LeoTK por uma resposta no tópico

    1 ponto
    @victor4312 dei uma atualizada /\ usa esse novo que editei
  4. Nuker

    Apache reagiu a LeoTK por uma resposta no tópico

    1 ponto
    @victor4312 iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 120 --hitcount 5 -j DROP --dport 80 << número da porta que vai adicionar a regra --seconds 120 << ao dar ban vai ficar 120 segundos sem poder se conectar na vps (ip do atacante) --hitcount 5 << número de conexões simultâneas para dar ban no (ip atacante)
  5. NPC DE TELEPORTE POR ITEM

    Azareft reagiu a DdJs por uma resposta no tópico

    1 ponto
    https://tibiaking.com/forums/topic/46030-pedido-npc-que-teleporta-player-por-itens/
  6. Mapper King 2018

    vital900 reagiu a Africano por uma resposta no tópico

    1 ponto
    Obrigado meu primeiro prof kkk
  7. [Link Quebrado] Pokemon Evolution [DxP]

    Sommer reagiu a Kanekiohbr por uma resposta no tópico

    1 ponto
    ae quem quer usar sem site vai no cong lua é muda essas parte que vou por aqui . accountManager = true sqlType = "sqlite" deixe esses dois assim. é pega uma distrito que o dead pool deixou la no xt é só usar
  8. @trojjan brow, use a caixa de spolier para adicionar os scripts, é o botão em formato de um olho no canto superior esquerdo da tabela de edição do tópico. Não mexo com gesior, mais em uma ou duas experiencias que tive com gesior, me deparei com o segundo erro, a do world type, para resolve-la basta ir em: createaccount.lua procure por plain_world_box e mude para sha1_world_box e então seja feliz! xD
  9. [Pedido] Enchanted System

    LeoTK reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    -- [( Script edited by DoidinMapper )] -- function onUse(cid, item, fromPosition, item2, toPosition) local gems = {2146, 2147, 2149, 2150} local egems = {7759, 7760, 7761, 7762} local altars = {{7508, 7509, 7510, 7511}, {7504, 7505, 7506, 7507}, {7516, 7517, 7518, 7519}, {7512, 7513, 7514, 7515}} local weapons = {2383, 7384, 7389, 7406, 7402, 2429, 2430, 2435, 7380, 2454, 2423, 2445, 7415, 7392, 2391, 2544, 8905} local eweapons = {{7763, 7744, 7854, 7869}, {7765, 7746, 7856, 7871}, {7770, 7751, 7861, 7876}, {7766, 7747, 7857, 7872}, {7767, 7748, 7858, 7873}, {7768, 7749, 7859, 7874}, {7769, 7750, 7860, 7875}, {7770, 7751, 7861, 7876}, {7771, 7752, 7862, 7877}, {7772, 7753, 7863, 7878}, {7773, 7754, 7864, 7879}, {7774, 7755, 7865, 7880}, {7775, 7756, 7866, 7881}, {7776, 7757, 7867, 7882}, {7777, 7758, 7868, 7883}, {7839, 7840, 7838, 7850}, {8907, 8906, 8909, 8908}} local type = item.type == 0 and 1 or item.type local mana = -300 * type local soul = -2 * type if isInArray(gems, item.itemid) then for aa=1, #gems do if item.itemid == gems[aa] then a=aa end end if isInArray(altars[a], item2.itemid) then if getPlayerMana(cid) >= mana and getPlayerSoul(cid) >= soul then doTransformItem(item.uid,egems[a]) doPlayerAddMana(cid,mana) doPlayerAddSoul(cid,soul) doSendMagicEffect(fromPosition,39) else doPlayerSendCancel(cid,"You dont have mana or soul points.") end else return 2 end elseif isInArray(egems, item.itemid)== TRUE then for bb = 1, #egems do if item.itemid == egems[bb] then b = bb end end if isInArray(weapons, item2.itemid)== TRUE then for cc=1, #weapons do if item2.itemid == weapons[cc] then c=cc end end doTransformItem(item2.uid,eweapons[c][b],1000) doSendMagicEffect(fromPosition,39) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid,"You can't enchanted this.") end else return 0 end return 1 end Créditos: DoidinMapper
  10. Nuker

    Apache reagiu a DukeeH por uma resposta no tópico

    0 pontos
    Na verdade você deve estar confundido. Se for DoS (é um único atacante) o ban ip que o @Brunds falou, vai funcionar. Se for DDoS (distrubuido) seria iptables.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo