Ir para conteúdo

Jamison Collins

Membro
  • Registro em

  • Última visita

Tudo que Jamison Collins postou

  1. Eu já fiz isso uma vez, só que o máximo era de 255 stacks. Isso envolve sourcers e também o client, pois o máximo que o client suporta é 255. Apenas te dei essas informações, para você saber o que é envolvido.
  2. Simples, Se tiver isso aqui no seu config.lua : "tibiaClassicSlots = true" troque por : "tibiaClassicSlots = false" E pronto
  3. Jamison Collins postou uma resposta no tópico em Códigos C++
    Olá pessoal do TibiaKing, Já estou de saco cheio, esse bando de humanos querendo tirar aproveito de coisas falsas e piratas, cobrando um valor altíssimo por códigos, ou seja, cobrando por meros combinações de códigos... O cara fez um trabalho legal? Sim, fez, porém, está usando coisas falsas para serem revendidas (pirataria), como por exemplo : War System (hoje não é mais vendido, já é gratuito) Cast System (estará sendo postado gratuitamente) TFS e Distros (Sem permissões do verdadeiro criado de Tibia) E muitos outros... Vem o que vem no conteúdo a seguir contem os seguintes items : Sourcers com o Cast System. Código MySQL para você por na sua database. Talkaction para o player poder executar o comando. Livestream.php, que é a página do Cast System com comandos e outros (não sei se suporta em Gesior, porém, sei que suporta em Modern). Link para download: Cast System TFS 0.4 8.6.rar Scan: Aqui! Bem, sei que nas sourcers modificadas tem essas marcações : //CA (Significa que há alterações relacionadas ao sistema do Cast) NÃO ESQUEÇA DE ADICIONAR ISSO NO CONFIG.LUA : enableCast = "true" (Obrigado Sammy) O auto do Script ? Créditos : Summ (Obrigado Fireelement). Bem, esse é apenas suporte para 8.6, em breve postarei a versão 9.6. Lembre-se: um bom scripter nunca deve tirar aproveito de alguém por dinheiro (vendendo script), principalmente revendendo.
  4. Bem, não há server 8.60 com premium scroll igual do global, pois não tem suporte para versão antiga. Eu encontrei aqui um global com os seguintes sistemas : "[8.6]Helysia.pl FUN&ORO Edit Real Map - Many Events, Free.Rep++" "Stages : 8 - 50 = x250 51 - 100 = x150 101 - 150 = x100 151 - 200 = x50 201 - 250 = x10 251+ = x3 Exp for players = x3 Skill: 30x Magic: 18x Loot: 2.5x PvP: 100 lvl Guild War: 100 lvl Buy House : 150lvl Frags on day : 20 Frags on week : 120 Frags on month : 400 White skull length : 5 min Client: 8.60 Map: Edited Real Map Own System Tasks RL Guild WAR with Shields Many Events and new Systems No lag, No errors and bugs on Ots Stable Site Uptime Enterprise, good security ! Added 7 New Islands Free elf bot + Crack Free PKT to point shop Addon Bonus System Metin Stone Event New Monsters Zombie Event Real Paralyze Quest log The server is located about 200 quests !!" Versão do distro suportada : TFS 0.4 r3884 Link para download : Aqui ! Scan : Aqui ! ​O autor desse server deve ser um Polonês. Créditos para ele.
  5. Olá pessoal, Estou fazendo esse tópico pois eu sou uma pessoa muito ativa em Suporte OTserv, tentando ajudar ao máximo aqueles que têm dúvidas sobre scripts, mapas, e outros. Eu não sei tudo sobre OTserv, ou seja, haverá dúvidas que eu não irei conseguir responder, mas sempre irei tentar. Bem, aqui vai as dicas para criar um tópico pedindo ajuda : Sempre tente adequar o seu português ao máximo, principalmente ao uso de vírgulas e pontos. Com uma frase mais adequada à língua padrão do português, é mais fácil para compreensão e interpretação das dúvidas. Não precisa ser 100%, mas quanto mais detalhada o texto for, mais fácil. (Todo mundo erra português, é normal, não há de se envergonhar). Se a dúvida for sobre algum sistema (VIP, War, WoE, Dota, Castelo, etc...), procure uma forma de você disponibilizar todos os arquivos pertencentes ao sistema, para que possamos ver de onde vem o erro. Detalhe sua dúvida o máximo possível, sendo com imagens ou até vídeos. Na maioria das vezes quando um script está com erro, ele é sinalizado pelo seu servidor (.exe ou distro), mostrando a linha na qual aparece o erro do script, e até nome e pasta de onde está o script. Cite também qual ação feita no seu servidor que faz com que o erro apareça. Paciência e cooperação com quem está tentando te ajudar. Nunca exija muito ou abuse da boa vontade de um voluntário ajudante. Dê todas as informações necessárias que ele pedir, pois com certeza, será usados como ferramenta para ajudar. Versões de distros (TFS 0.3 ; TFS 1.0 ; OTX, etc...) ou de sites (Gesior, Modern, Znote AAC) sempre é bom citá-las, pois, nem todo distro/sites suporta as mesmas funções Lua/PHP ou HTML. Há pessoas que fazem script acostumadas com distros diferentes, que talvez, não serão suportadas pela o seu distro. Seja educado com suas palavras, pois também, ninguém é obrigado a saber ou responder suas perguntas, ou seja, não venha falando que "ninguém quer ajudar" ou "arruma essa porra desse script pra mim agora ae tio". Antes de abrir um tópico para pedir ajuda com algum sistema, ou algum script bem popular ou conhecido, procure em Dúvidas Resolvidas, se há sua dúvida lá, pois, economizará tempo e não será preciso criar tópicos repetitivos. (Novo!) Sempre que sua dúvida for sanada ou alguém tentou te ajudar, agradeça ao ajudante, com ou sem REP+, pois isso demostra que você foi grato ao esforço dele e motivará ele a ajudar seus futuros tópicos de dúvidas. Com certeza, com essas dicas, suas dúvidas terão 50%+ chance de haver alguém de boa vontade para te ajudar. Bem, em mente só tenho essas dicas por enquanto, se vocês tiverem mais dicas, sejam bem-vindos à comentá-las. Obrigado!
  6. Qual é o sistema VIP que você está usando ? Me mostre o Link, para que eu possa ver uma função de verificação.
  7. Jamison Collins postou uma resposta no tópico em Suporte Tibia OTServer
    Bem, aqui no meu server o war system funciona normalmente, porém, não há nenhum arquivo chamado 'start.lua', e sim 'init.lua'... De qualquer forma eu vou te passar, e você tenta para ver se da certo... Aqui vai : Globalevent TAG XML : <globalevent name="init" type="startup" event="script" value="init.lua"/> init.lua : local config = { creationTime = 7 * 86400, checkTime = 7 * 86400, viceCount = 4, memberCount = 10 } function onStartup() local data, time, result = {}, os.time(), db.getResult("SELECT `id`, `ownerid`, `creationdata`, `checkdata` FROM `guilds` WHERE `world_id` = " .. getConfigValue('worldId') .. ";") if(result:getID() ~= -1) then repeat data[result:getDataInt("id")] = {result:getDataInt("ownerid"), result:getDataInt("creationdata"), result:getDataInt("checkdata")} until not(result:next()) result:free() end for id, v in ipairs(data) do local owner, created, check = v[1], v[2], v[3] if(created < (time - config.creationTime)) then result = db.getResult("SELECT `id`, `level` FROM `guild_ranks` WHERE `guild_id` = " .. id .. ";") if(result:getID() ~= -1) then local rank, ranks = 0, {} repeat ranks[result:getDataInt("id")] = result:getDataInt("level") if(result:getDataInt("level") == 1) then rank = result:getDataInt("id") end until not(result:next()) result:free() local members = {0, 0, 0, 0} for k, v in ipairs(ranks) do result = db.getResult("SELECT COUNT(`id`) AS `count` FROM `players` WHERE `rank_id` = " .. k .. ";") if(result:getID() ~= -1) then members[v] = members[v] + result:getDataInt("count") result:free() end if(v == 2) then result = db.getResult("SELECT `p`.`id` FROM `players` p LEFT JOIN `accounts` a ON `p`.`account_id` = `a`.`id` WHERE `p`.`rank_id` = " .. k .. " AND (`a`.`premdays` = 0 OR (`a`.`lastday` + (`a`.`premdays` * 86400) <= 0));") if(result:getID() ~= -1) then local demote = "" repeat demote = demote .. result:getDataInt("id") .. "," members[2] = members[2] - 1 members[1] = members[1] + 1 until not(result:next()) result:free() if(demote ~= "" and rank ~= 0) then db.executeQuery("UPDATE `players` SET `rank_id` = " .. rank .. " WHERE `id` IN (" .. demote:sub(1, -2) .. ");") end end end end for i = 1, 3 do members[4] = members[4] + members[i] end if(members[2] < config.viceCount or members[4] < config.memberCount) then if(check == 0) then db.executeQuery("UPDATE `guilds` SET `checkdata` = " .. (time + config.checkTime) .. " WHERE `id` = " .. id .. ";") elseif(check < time) then local tmp = "" for rank, _ in ipairs(ranks) do tmp = tmp .. rank .. "," end db.executeQuery("UPDATE `players` SET `rank_id` = 0, `guildnick` = '', `guildjoin` = 0 WHERE `rank_id` IN (" .. tmp:sub(1, -2) .. ");") db.executeQuery("DELETE FROM `guilds` WHERE `id` = " .. id .. ";") end end end end end db.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue('worldId') .. " AND `online` > 0;") db.executeQuery("UPDATE `bans` SET `active` = 0 WHERE `expires` <= " .. time .. " AND `expires` >= 0 AND `active` = 1") db.executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (time - 2 * 86400) .. ";") if(getConfigValue("sqlType") ~= "sqlite") then db.executeQuery("TRUNCATE TABLE `player_statements`;") else db.executeQuery("DELETE FROM `player_statements`;") end return true end function onGlobalSave() if(getGameState() ~= GAMESTATE_CLOSING) then return onStartup() end return true end E por via das dúvidas, aqui está meu war.lua e balance.lua (ambos fazem parte do war system). #Talkaction war.lua : function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local enemy = getGuildId(t[2]) if(not enemy) then doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end if(enemy == guild) then doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if(tmp:getID() ~= -1) then enemyName = tmp:getDataString("name") tmp:free() end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild if(t[1] == "cancel") then query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy end tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp:getID() == -1) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end if(t[1] == "accept") then local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment") _tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`end` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`end` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. tmp:getDataInt("id") if(t[1] == "accept") then doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD) doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY) end tmp:free() db.executeQuery(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return true end if(t[1] == "invite") then local str = "" tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp:getID() ~= -1) then if(tmp:getDataInt("status") == 0) then if(tmp:getDataInt("guild_id") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end tmp:free() end if(str ~= "") then doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.max(100000, math.min(1000000000, payment)) tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.executeQuery("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return true end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status) if(tmp:getID() ~= -1) then local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id") tmp:free() doGuildRemoveEnemy(guild, enemy) doGuildRemoveEnemy(enemy, guild) db.executeQuery(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end if(status == 4) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1") if(tmp:getID() ~= -1) then if(tmp:getDataInt("end") > 0) then tmp:free() doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id") tmp:free() db.executeQuery(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end balance.lua : local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(guild == 0) then return false end local t = string.explode(param, ' ', 1) if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then if(t[1] == 'pick') then local money = { tonumber(t[2]) } if(not isValidMoney(money[1])) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end money[2] = result:getDataLong('balance') result:free() if(money[1] > money[2]) then doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end if(not db.executeQuery('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) else doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end if(getPlayerMoney(cid) < money) then doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.executeQuery('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) else local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_HIGHLIGHT, CHANNEL_GUILD) result:free() end return true end Uma pergunta... Você tem a Table 'guild_wars' na sua database ?
  8. Jamison Collins postou uma resposta no tópico em Suporte Tibia OTServer
    Me passa seu start.lua para que eu possa dar uma verificada...
  9. Tem certeza que esse TFS foi que você baixou do tópico ?
  10. Bem, eu tenho um Baiak 100% personalizado por mim, então o meu era TFS 0.3 9.86. Então eu quis mudar para 10.10, tive que fazer uma readaptação para a versão ficar estável. Eu uso Windows 8 x64
  11. Você compilou o TFS 1.0 ou o TFS 0.3 ? Eu provavelmente não vou saber, pois eu uso Windows...
  12. Olha amigo, eu não conheço esse Dark Soft... Mas aqui vai as instruções para tentar descobrir o erro : 1º Tente abrir o server em Sqlite (com account manager) e veja se da o mesmo problema. 2º Verifique a versão do tibia. 3º Verifique seu IP Changer, e preste atenção no Port também. Verifique isso e me fala depois se você encontrou o problema... Após você ter baixado esse server, você fez algum tipo de alteração que não seja no config.lua ?
  13. Se encomodaria de compartilhar seu config.lua ?
  14. TFSs hoje em dia, não suportam mais o 'passwordtype' tipo 'plain', apenas 'sha1'... Qual é o TFS que você usa, e para qual versão de tibia ele é ?
  15. Sim Matheus, concordo com você, mas pense comigo... O que o atacador quer ? Ferrar o server, não concorda ? Ele tenta provocar por meios de ataques, porém, esses ataques não darão o resultado que ele gostaria, e com isso faz com que ele desista rapido, sem contar que tem gente que se atrapalha mais do que atrapalha o alvo com isso. (São apenas minhas opiniões e que aconteceu realmente, o atacador desistiu por não conseguir fazer com que queria) Gostei bastante do tópico, assunto bem polêmico.
  16. Isso é a combinação dos 4 primeiros bits (de traz para frente) do arquivo tibia.spr e tibia.dat. Para descobrir você pode usar o Hex Editor, ele abrirá o arquivo mostrando todos os bits dele. É um pouco difícil de explicar, mas assim que eu tiver tempo, eu criarei um tutorial disso.
  17. A versão compilada que eu botei para download não é TFS 1.0, e sim TFS 0.3. A versão 1.0 está com o link de download de sourcers (não compilado).
  18. Jamison Collins postou uma resposta no tópico em Suporte Tibia OTServer
    Caso esteja usando TFS, é simples... No map editor, você pega uma das portas que tem fechadura de chave e escolhe o lugar e posição desejada, logo após bote um Action ID na porta, por exemplo : 5342 (verifique se não há nenhum outro action ID usado com esse número para que não de conflito, caso tenha é só mudar). Após ter feito isso, no server você cria uma chave (qualquer uma que você quiser) bote-a no chão, e use o comando de frente para ela : /attr aid 5342 (ou outro Action ID que você tenha escolhido). E pronto, com essa chave você pode abrir e trancar a porta. (Funciona 100% com TFS 0.4 e TFS 0.3) Há várias maneiras para se fazer, como por exemplo : comprar chave no NPC com o mesmo Action ID da porta desejada, ou até quest de báu que dê a chave da porta desejada. Caso tenha mais dúvidas, me avise que eu tentarei ajuda-lo.
  19. Bem, não sei se é porque seu windows é XP, pois, ouvi rumores que não terá mais suporte para Windows XP... mas também, verifique se seu Windows é realmente x32 ou x64.
  20. Você já sofreu algum tipo de ataque DDoS? Sim, em um servidor que eu tinha, mapa global (o tipo de mapa que mais sofre com DDoS). O que você fez para solucionar seu problema? Criei um sistema que um pouco antes (antes da latência ficar critica) do server ficar sobrecarregado de ataques DDoS ele salvasse 1 vez só e não salvaria mais até que a latência fosse normalizada. Com isso, os players que "morriam" durante esse periodo de latência, eles eram apenas teleportado para templo, sem nenhuma perda. E esperava o dono do ataque parar com o ataque, tranquilamente, sem estresse. Moral do sistema... o ataque DDoS ocorre, porém, o server (os players) não perde nada.
  21. Estão dentro dos downloads. Na pasta nomeada como : "Src".
  22. Quando você diz "souls", você quer dizer "Sourcers", não é ? Bem, posso tentar te ajudar, porém, vou pedir dois arquivos do seu server... São eles : firstitems.lua (encontrado na pasta de scripts de creaturescript) vocation.xml (encontrado na pasta XML) Me mande que eu posso tentar te ajudar.
  23. Olá galera... Vou ensinar aqui como por o RME 10.10! É muito fácil, porém, precisa ser um pouco atencioso ! O mapa mostrado na imagem foi feito por : Peroxide Vamos começar com a modificação no arquivo clients.xml. Vá na pasta local do Remere Map Editor > Data ; logo após abra o clients.xml e faça as seguintes modificações : Procure por : <otb id="40" version="3" client="9.60"/> Em baixo, adicione : <otb client="10.10" version="3" id="50"/> Depois, procure por : <client data_directory="960" visible="true" otb="9.60" name="9.60" default="true"> <otbm version="3"/> <extensions from="8.20 - 8.31"/> <data spr="0x4FFA74F9" dat="0x4FFA74CC" sprversion="9.6" datversion="9.6"/> </client> Em baixo, adicione : <client name="10.10" default="true" visible="true" otb="10.10" data_directory="1010"> <otbm version="3"/> <extensions from="8.20 - 8.31"/> <data datversion="9.6" sprversion="9.6" dat="0x51E3F8C3" spr="0x51E3F8E9"/> </client> Depois de ter feito isso, na sua pasta "data" dentro da pasta do Remere map editor, você vai copiar e colar a pasta chamada "960" e renomear para "1010". Baixe esse arquivo : tibiaRME.rar Scan : Scan tibiaRME.rar Extraia o arquivo item.otb para a pasta "1010" que você criou... Crie outra pasta no lugar desejado (de preferencia no desktop [Área de trabalho]) e copie o arquivo tibia.spr da versão 10.10 para a pasta e extraia do download feito acima o tibia.dat e bote junto a pasta que está o tibia.spr... Agora é só abrir o Remere map editor, procurar a pasta que você criou com o tibia.spr e tibia.dat e pronto, os novos itens aparecerão em RAW > Others. (Nota* : item.otb é oficial do TFS, então não se preocupem, que não haverá erros quando vocês botarem o mapa online, eu já testei e funcionou direitinho) Novo ! Link de download do RME 10.10 pronto para o uso : Clique aqui ! (Você precisará apenas do tibia.dat/.spr que estão no link : tibiaRME.rar) Scan do Link RME 10.10 : Clique aqui ! Dúvidas ? Podem perguntar !

Informação Importante

Confirmação de Termo