Ir para conteúdo

oktober15

Artesão
  • Total de itens

    134
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    oktober15 recebeu reputação de Nerival em Ice Islands - Folda, Senja, Vega   
    Ice Islands
     
    versao: 8.60
    Ice islands completas, com raspaw, casas, npcs etc..
    com Folda, Senja e Vege
    As Ice Islands são dois conjuntos de ilhas localizadas ao norte do Continente Principal de Tibia, no Oceano Nórdico. Por causa da baixa temperatura das ilhas, elas são permanentemente cobertas de neve e gelo.
    Adicionadas ao jogo no Update de 2007.
    sao velhas, mais pelo que tenho visto mts mapas globais nao tem ela, e algumas pessoas estavao pedindo intao aqui esta..
    http://www.tibiawiki.com.br/Ice_Islands
     
    Downloads:
    Ice islands: http://www.4shared.com/rar/lCEw1mN4/ice_islands.html?
    Npcs: http://www.4shared.com/rar/N7HZ4GE5/npc_ice_island.html?
     
    Scan:
    https://www.virustotal.com/file/a2075b2331be7811a2751cd8b378f6d4a85f351a9c75b3aca4f496e1184c108e/analysis/
     
    https://www.virustotal.com/file/641ef9ffcaab9f7bce95024f8c00b2bff1fe71036ac49d9797d3c21c4c594cc4/analysis/
     
    ajudei +rep (:
     

  2. Upvote
    oktober15 deu reputação a caotic em Sistema de TV Em Lua   
    Ola galera xtibiaaana!.
     
    Então meus amigos resolvi fazer um TV system aquele famoso sistema que o player cria uma channel(canal) e outros players poderão ver ele batalhando.
    Estou retirando o máximo de bugs possíveis se você viu um bug não deixe de falar.
     

    Vamos as explicações:
     
    Primeiro o player cria uma channel usando o comando /tv(nome da channel) depois outro player ve sua channel na lista usando o comando /channel(list) logo ele quer entrar em sua channel então ele fala /channel(nome da channel).
    Logo apos ele falar ele entra e começa a assistir mais depois ele quer sair então ele "desloga" e ele volta ao tempo.
     
     
    Vamos a instalação.
     

     
    Execute este comandos na sua database:
     

    CREATE TABLE "tv" ( "name" Text NOT NULL, "player" INT NOT NULL, "conec" INT NOT NULL )
     

     
    Vá em lib e crie um arquivo lua chamado de tv e coloque isto:

    function createTv(cid, name) db.executeQuery("INSERT INTO `tv` (`name`, `player`, `conec`, `watch`) VALUES ('" .. name .. "', " .. getPlayerGUID(cid) .. ", 1, 0);") setPlayerStorageValue(cid, 23423, 1) doPlayerSave(cid) end function isTv(name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") return tv:getID() ~= -1 and true or false end function getChannelPlayer(cid) return getPlayerStorageValue(cid, 23423) == 1 and true or getPlayerStorageValue(cid, 23423) == -1 and false end function getWatchingNameChannel(cid) return getPlayerStorageValue(cid, 44670) end local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local conditi = createConditionObject(CONDITION_MUTED) setConditionParam(conditi, CONDITION_PARAM_TICKS, 10000*10000) local condition = createConditionObject(CONDITION_INVISIBLE) setConditionParam(condition, CONDITION_PARAM_TICKS, 200000) function enterInTv(cid, name) local function comparePos(pos, post) local pos = getThingPos(pos) local post = getThingPos(post) return pos.x == pos.x or pos.y == pos.y or pos.z == pos.z and false or true end local function fallowPlayer(cid, player) if not isPlayer(cid) or getPlayerStorageValue(cid, 44670) == -1 then return true end if comparePos(cid, player) then doTeleportThing(cid, getThingPos(player)) doAddCondition(cid, condition) doAddCondition(cid, conditi) setCombatCondition(combat, condition) end return addEvent(fallowPlayer, 1800, cid, player) and doPlayerSave(cid) end setPlayerStorageValue(cid, 44670, name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") local guid = tv:getDataInt("player") local player = getPlayerByNameWildcard(getPlayerNameByGUID(guid)) return fallowPlayer(cid, player) end function exitChannel(cid) doRemoveCondition(cid, CONDITION_INVISIBLE) doRemoveCondition(cid, CONDITION_MUTED) doRemoveCondition(cid, COMBAT_PARAM_AGGRESSIVE) doTeleportThing(cid, getPlayerMasterPos(cid)) setPlayerStorageValue(cid, 44670, -1) doPlayerSave(cid) end function doShowListChannel(cid) local tv = db.getResult("SELECT * FROM `tv` WHERE `player` ORDER BY `conec`") str = "Channel Disponiveis:\n\n" if tv:getID() == -1 then doShowTextDialog(cid, 1387, "Não ha channel disponiveis") return true end while true do local conect = tv:getDataInt("conec") local player = tv:getDataInt("player") local channel = tv:getDataString("name") local players = getPlayerNameByGUID(player) str = str .. channel .. " -("..players..")\n\n" if not tv:next() then doShowTextDialog(cid, 1397, str) break end end end function getConectTv(name) local tv = db.getResult("SELECT * FROM `tv` WHERE `name` = '".. name .."';") return tv:getDataInt("conec") == 1 and true or tv:getDataInt("conec") == 0 and false end function setStatusTv(cid, on) if on == "on" then return db.executeQuery("UPDATE `tv` SET `conec` = 1 WHERE `player` = "..getPlayerGUID(cid)) end if on == "off" or on ~= "on" then local tv = db.getResult("SELECT * FROM `tv` WHERE `player` = '".. getPlayerGUID(cid) .."';") local channel = tv:getDataString("name") db.executeQuery("UPDATE `tv` SET `conec` = 0 WHERE `player` = "..getPlayerGUID(cid)) for i =1, #getPlayersOnline() do if getWatchingNameChannel(getPlayersOnline()[i]) == channel and getPlayersOnline()[i] ~= cid then exitChannel(getPlayersOnline()[i]) doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "A channel foi desligada") end end end end
     

     
    Vá em talkactions crie um arquivo Lua chamado de tv coloque isto:

    function onSay(cid, words, param, channel) local item = 1949 ----Item que você precisa local bloqued = {"sair", "list", "on", "off"} ----- Nomes de channel que não pode ser usado if param == "" or param == " " then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga o nome da channel que você quer") and false end if param == "on" or param == "off" then return setStatusTv(cid, param) end for i = 1, #bloqued do str = "Nomes não podem ser ultlizados" str = ""..str.."\n"..bloqued[i].."" if param == bloqued[i] then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Este nome não pode ser ultilizado porque e um comando do sistema") and false end end if #param <= 4 and #param >= 10 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O nome da sua channel deve ser maior que 4 caracteres e menor que 10 caracters") and false end if getPlayerItemCount(cid, item) < 1 then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de um "..getItemNameById(item).."") and false end if getChannelPlayer(cid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você ja tem uma channel") and false end createTv(cid, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns sua channel "..param.." foi criada") return true end
     

     
    Vá em talkactions e crie um arquivo lua chamado de channel e coloque isto:
     

    function onSay(cid, words, param, channel) if param == "" or param == " " then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga /channel(nome da channel para se conectar)\n/channel(list) Lista das channels\n/channel(sair para sair da channel)") and false end if param ~= "list" and param ~= "sair" then if not isTv(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Não existe esta channel") and false end if not (getTilePzInfo(getCreaturePosition(cid))) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você so pode entrar em uma channel quando estiver em pz") return true end if getChannelPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode entrar uma tv porque você ja tem uma") return true end if getWatchingNameChannel(cid) ~= -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você esta conectado a uma channel") return true end if not getConectTv(param) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Esta channel esta desativada") and false end enterInTv(cid, param) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você esta assitindo a channel "..param.."") return true end if param == "list" then return doShowListChannel(cid) end if param == "sair" then if getChannelPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode sair de sua propria tv use o comando /tv off para desativar sua channel") return true end if getWatchingNameChannel(cid) == -1 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não esta conectado a uma channel") return true end exitChannel(cid) return true end return true end
     

     
    Vá em talkactions.xml e coloque estas tags:
     
     
     
     

     
    Vá em creaturescripts e crie um arquivo lua chamado tv e coloque isto:

    function onLogout(cid) if getChannelPlayer(cid) then local tv = db.getResult("SELECT * FROM `tv` WHERE `player` = '".. getPlayerGUID(cid) .."';") local channel = tv:getDataString("name") db.executeQuery("UPDATE `tv` SET `conec` = 0 WHERE `player` = "..getPlayerGUID(cid)) for i =1, #getPlayersOnline() do if getWatchingNameChannel(getPlayersOnline()[i]) == channel and getPlayersOnline()[i] ~= cid then exitChannel(getPlayersOnline()[i]) doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "A channel foi desligada") end end doPlayerSendTextMessage(getPlayersOnline()[i], MESSAGE_INFO_DESCR, "Sua channel foi desativado ao você logar religue dizendo /tv on") return true end if getWatchingNameChannel(cid) ~= -1 then exitChannel(cid) return true end return true end function onAttack(cid, target) if getWatchingNameChannel(cid) ~= 1 then return false end return true end
     
    Registre o evento colocando isto antes do ultimo return true:
     
     
     
     

     
    Coloque esta tags em creaturescripts.xml:
     
     
     
     


     
    Configurações
     
     

    Midia:

     
     
    Ajude o tv system dizendo ideias e bugs para o sistema.
    Estarei optimizando o sistema e retirandos bugs.
  3. Upvote
    oktober15 recebeu reputação de warriorfrog em Mapa World of Warcraft   
    download do mapa: https://www.mediafire.com/?zxeb356x63toqd1
    scan: https://www.virustotal.com/pt/file/e64a02d04f5741e79a91a17ad2fd8df24d8e4fceee207aad3336a5b44e33965c/analysis/1392185663/
     
    créditos: ? não sei quem criou esse mapa
     
    eu só tenho o mapa, nao tenho nenhum script de quests e npcs que tem nele, vo fica devendo..
    mapa muito bacana faça bom uso dele rs.. e dsclp a demora
  4. Upvote
    oktober15 recebeu reputação de chateadoagr em [8.6] World of warcraft mapa para OTserver   
    Galera venho aqui postar o mapa para otserver baseado no mapa do World of Warcraft..
    O mapa é bem bacana, bem detalhado e parece ter uma boa jogabilidade
    esta no meu pc a muito, MUITO tempo.
    obs: só possui o mapa, sem nenhum script de quests ou npcs que tem nele
    Versão: 8.60
     

     
    download do mapa: https://www.mediafire.com/?zxeb356x63toqd1
     
    scan: https://www.virustotal.com/pt/file/e64a02d04f5741e79a91a17ad2fd8df24d8e4fceee207aad3336a5b44e33965c/analysis/1392185663/
     
    créditos: (?) não sei quem criou esse mapa, se alguém souber me fala que ponho aqui
  5. Upvote
    oktober15 recebeu reputação de chateadoagr em Mapa World of Warcraft   
    download do mapa: https://www.mediafire.com/?zxeb356x63toqd1
    scan: https://www.virustotal.com/pt/file/e64a02d04f5741e79a91a17ad2fd8df24d8e4fceee207aad3336a5b44e33965c/analysis/1392185663/
     
    créditos: ? não sei quem criou esse mapa
     
    eu só tenho o mapa, nao tenho nenhum script de quests e npcs que tem nele, vo fica devendo..
    mapa muito bacana faça bom uso dele rs.. e dsclp a demora
  6. Upvote
    oktober15 recebeu reputação de Desnecessario em Mapa World of Warcraft   
    amigo achei esse mapa la no fundo do meu hd rs..
    ta aqui faz mt tempo nao sei se é esse msm que vc ta procurando..
    se for eu upo ele pra vc blz
     

  7. Upvote
    oktober15 deu reputação a VictorWEBMaster em [GESIOR] VictorWEBMaster 2019v   
    REMOVIDO
  8. Upvote
    oktober15 recebeu reputação de AsLima em Preciso De Um Npc Que Der Pra Viajar   
    em data/npc copie e cole algum arquivo.xml, renomeie para NOMEDONPC e coloque isso dentro:

    <?xml version="1.0" encoding="UTF-8"?> <npc name="NOMEDONPC" script="data/npc/scripts/NOMEDONPC.lua" walkinterval="2000" floorchange="0"> <health now="185" max="185"/> <look type="151" head="78" body="68" legs="39" feet="76" addons="3"/> <voices> <voice text="Ask me for a passage..." interval2="100" margin="1" yell="no"/> </voices> <parameters> <parameter key="message_farewell" value="Good bye." /> <parameter key="message_walkaway" value="Good bye then." /> <parameter key="module_keywords" value="1" /> <parameter key="keywords" value="passage;" /> <parameter key="keyword_reply1" value="Do you want me take you to {cidade1} or {cidade2}?" /> <parameter key="message_greet" value="Welcome, |PLAYERNAME|! I sell {passage}."/> </parameters> </npc>
     
    agora em data/npc/scrips copie e cole algum arquivo.lua e renomeie para o NOMEDONPC e coloque isso dentro:

    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) -- OTServ event handling functions start function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- OTServ event handling functions end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! local travelNode = keywordHandler:addKeyword({'cidade1'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to go to cidade1 for free?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = true, level = 0, cost = 0, destination = {x=POsX, y=POsY, z=POsZ} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Then not.'}) local travelNode = keywordHandler:addKeyword({'cidade2'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to go to cidade2 for free?'}) travelNode:addChildKeyword({'yes'}, StdModule.travel, {npcHandler = npcHandler, premium = false, level = 0, cost = 0, destination = {x=POsX, y=POsY, z=POsZ} }) travelNode:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, reset = true, text = 'Then not.'}) keywordHandler:addKeyword({'job'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Yes, I\'m the captain of this ship.'}) keywordHandler:addKeyword({'captain'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Yes, I\'m the captain of this ship.'}) npcHandler:addModule(FocusModule:new())
     

    x=POsX, y=POsY, z=POsZ = coloque aqui as cordenadas para onde o player sera teleportado cidade1, cidade2 = Nomes das cidades ou lugares que o player deve falar para o npc NOMEDONPC = nome que voce quiser dar ao seu npc tem mais algumas opçoes nesse script, só edite se vc quiser (:
  9. Upvote
    oktober15 deu reputação a Lordfire em Aula 3 - Tabelas, linhas e células, legendas   
    Confira também as duas primeiras aulas para não ficar perdido: http://www.xtibia.com/forum/topic/205838-aula-2-listas-ordenadas-listas-nao-ordenadas-listas-de-definicao/
     
    Nesta terceira aula vou ensinar tabelas.
     

    Tabelas


    Tabelas são conjuntos de células, divididas em colunas e linhas, e servem para mostrar dados tabulados. Embora muitos ditos "desenvolvedores" usem tabelas pra fazer layouts dos sites, isso NÃO é recomendado e eu vou ensinar isso usando divs e CSS.
     
    Tabelas são definidas pela tag <table> e possuem vários elementos internos para organizar. Como exemplo, vamos construir uma tabelinha com os stages de um servidor.
     
    Dentro da tag table, nós usamos as tags <tr> (table row) para definir uma linha e, dentro dessa linha, <td> (table data) para definir uma célula. Também podemos usar o atributo "border" para definir a espessura da borda, em pixels, mas em breve vamos mudar isso. Assim:

    <table border="1"> <tr> <td>Level mínimo</td> <td>Level máximo</td> <td>Stage</td> </tr> <tr> <td>~~</td> <td>50</td> <td>100x</td> </tr> <tr> <td>100</td> <td>200</td> <td>50x</td> </tr> <tr> <td>200</td> <td>~~</td> <td>10x</td> </tr> </table>



     
    Bem básico né? Mas essa primeira linha não ficou legal... que tal se a gente dividir a tabela em uma linha de cabeçalho? Também é possível! As tabelas podem usar as tags <thead> (table head), <tfoot> (table footer) e <tbody> (table body) (NESTA ORDEM) para separar cabeçalhos, rodapés e corpo da tabela. Dentro do thead, usamos a tag <th> (table header) ao invés de tr para destacar o cabeçalho. Por exemplo:

    <table border="1"> <thead> <tr> <td>Level mínimo</td> <td>Level máximo</td> <td>Stage</td> </tr> </thead> <tbody> <tr> <td>~~</td> <td>50</td> <td>100x</td> </tr> <tr> <td>100</td> <td>200</td> <td>50x</td> </tr> <tr> <td>200</td> <td>~~</td> <td>10x</td> </tr> </tbody> </table>



     
    Além disso, nós também podemos usar a tag <caption> para definir a legenda/título de uma tabela! Ao invés de usar um heading fora da tabela, isso facilita nosso trabalho

    <table border="1"> <caption>Stages do servidor</caption> <thead> <tr> <th>Level mínimo</th> <th>Level máximo</th> <th>Stage</th> </tr> </thead> <tbody> <tr> <td>~~</td> <td>50</td> <td>100x</td> </tr> <tr> <td>100</td> <td>200</td> <td>50x</td> </tr> <tr> <td>200</td> <td>~~</td> <td>10x</td> </tr> </tbody> </table>



     
    É importante saber usar todos estes elementos na hora de fazer seu site. Embora haja pouca diferença visual, por exemplo, ao colocar o th, na prática isso é bom para ferramentas de pesquisa e é um bom costume.
     
    A tarefa da vez vai usar esta aula e a anterior: imagine um servidor fictício, e faça uma página com o título, uma lista com as skill rates e uma tabela com os stages (como nos exemplos acima). Se quiser, use imagens, links e os outros elementos da primeira aula também.
  10. Upvote
    oktober15 recebeu reputação de mariennds em Ice Islands - Folda, Senja, Vega   
    Ice Islands
     
    versao: 8.60
    Ice islands completas, com raspaw, casas, npcs etc..
    com Folda, Senja e Vege
    As Ice Islands são dois conjuntos de ilhas localizadas ao norte do Continente Principal de Tibia, no Oceano Nórdico. Por causa da baixa temperatura das ilhas, elas são permanentemente cobertas de neve e gelo.
    Adicionadas ao jogo no Update de 2007.
    sao velhas, mais pelo que tenho visto mts mapas globais nao tem ela, e algumas pessoas estavao pedindo intao aqui esta..
    http://www.tibiawiki.com.br/Ice_Islands
     
    Downloads:
    Ice islands: http://www.4shared.com/rar/lCEw1mN4/ice_islands.html?
    Npcs: http://www.4shared.com/rar/N7HZ4GE5/npc_ice_island.html?
     
    Scan:
    https://www.virustotal.com/file/a2075b2331be7811a2751cd8b378f6d4a85f351a9c75b3aca4f496e1184c108e/analysis/
     
    https://www.virustotal.com/file/641ef9ffcaab9f7bce95024f8c00b2bff1fe71036ac49d9797d3c21c4c594cc4/analysis/
     
    ajudei +rep (:
     

  11. Upvote
    oktober15 deu reputação a Vodkart em Battlefield Event!   
    Mapa feito por AnneMotta:
     
    Mapa Battlefield.rar
     
    scan: https://www.virustot...sis/1346548669/
     
    Imagens do mapa:
     
     
     
     
    Descrição:
     
    - O evento é automático e acontece em determinado dia e hora da semana
    - Logo após é aberto um teleport então apenar um número limitado de players entra no evento
    - São formados por dois times, os "Black Assassins" e os "Red Barbarians"
    - Os times são balanceados automaticamente, quando o último jogador entra, esse teleport é fechado e depois de 5 minutos o evento começa, os 5 minutos são para os players ter tempo de planejar um ataque.
    - O sistema tem por finalidade matar todos do time inimigo, e os players que sobreviverem recebem um prêmio.
     
    Bônus:
     
    - Durante o evento é mostrado na tela somente dos jogadores que estão no evento um placar de times.

    - Até o último player entrar no evento, ficam mandando broadcast dizendo quanto players faltam para dar inicio ao jogo.

    - Se o evento abrir e não atingir a meta de players colocada, o evento é finalizado e os players voltam para o templo.

     
     
     
    Lembre-se:
     
    - De colocar Pvp Tool na área
    - De colocar área NoLogout
     
     
    Imagens:
     
     
     
     
     
    Instalação:
     
     
    Data/Lib
     
     
     
    Data/CreatureScript
     
     
     
    Data/Globalevents
     
     
     
    Data/Movements
     
     
     
     
    Como configurar:
     
    Configuração dos Times:
     
     
     
    Configurar Datas do evento:
     
     
     
     
    Configuração Paredes:
     
     
  12. Upvote
    oktober15 recebeu reputação de MarceloCouto em [Encerrado] [DÚVIDA] Minha dúvida é simples sobre semi-dedicados   
    uso lgv a muito tempo e garanto que é muito bom
    suporte rapido nota 10.
    os vps deles sao um pouco de lag, mais com um poke server com 100 players aguenta sim muito bem
     
    hostingjogos nunca usei e nunca ouvi fala intao nao posso falar
  13. Upvote
    oktober15 deu reputação a Oneshot em Open Tibia Data Cleaner   
    Open Tibia Data Cleaner





     
    Fala aí, pessoal.
     
    Sabe quando você baixa aquele servidor muito daora e vai dar uma olhada na pasta 'data' dele e está aquela baderna? Por exemplo, na pasta actions, milhares de scripts sem utilidade, que nem registrados no actions.xml estão, jogados por todas as pastas?
     
    Seus problemas acabaram.
     
    Este é um aplicativo desenvolvido para limpar a pasta 'data' do seu servidor, procurando por scripts .lua que não estão registrados nos XMLs de cada pasta.
     
    Essa é a versão Alpha do aplicativo e gostaria de receber um feedback dos usuários para saber como aprimorar ainda mais ele.
    Por enquanto ele ainda está limitado a limpeza de scripts .lua em arquivos XML principais, ou seja, ele não irá limpar as pastas npc e monster do seu servidor.
     
    Para utilizar, basta colocar o aplicativo e a dll na pasta raiz do seu servidor.
     
    Qualquer bug encontrado, por favor, poste aqui no tópico.
     
    Abraços
     

     



     
     
    Download
    otdc.tar.gz
  14. Upvote
    oktober15 deu reputação a Vodkart em [Mod] Automatic Raids [Dia E Hora Marcada]   
    Automatic Raids.xml

    <?xml version="1.0" encoding="UTF-8"?> <mod name="Automatic Raids" version="1.0" author="Vodkart And xotservx" contact="xtibia.com" enabled="yes"> <config name="raids_func"><![CDATA[ days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 15}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 20} }, ["Sunday"] = { ["10:08"] = {nome = "Demon", pos = {fromPosition = {x=202, y=11, z=7},toPosition = {x=204, y=12, z=7}}, m = {"1 Demon"}, Time = 15}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 20} } } ]]></config> <globalevent name="AutomaticRaids" interval="60" event="script"><![CDATA[ domodlib('raids_func') function onThink(interval, lastExecution) if days[os.date("%A")] then hours = tostring(os.date("%X")):sub(1, 5) tb = days[os.date("%A")][hours] if tb then function removeCreature(tb) for x = ((tb.pos.fromPosition.x)-10), ((tb.pos.toPosition.x)+10) do for y = ((tb.pos.fromPosition.y)-10), ((tb.pos.toPosition.y)+10) do local m = getTopCreature({x=x, y=y, z= tb.pos.fromPosition.z}).uid if m ~= 0 and isMonster(m) then doRemoveCreature(m) end end end end doBroadcastMessage("The invasion of " .. tb.nome .. " started") for _,x in pairs(tb.m) do for s = 1, tonumber(x:match("%d+")) do pos = {x = math.random(tb.pos.fromPosition.x, tb.pos.toPosition.x), y = math.random(tb.pos.fromPosition.y, tb.pos.toPosition.y), z = tb.pos.fromPosition.z} doSummonCreature(x:match("%s(.+)"), pos) end end addEvent(removeCreature, tb.Time*60*1000, tb) end end return true end ]]></globalevent> </mod>
     
     
    Configuração:
     

    days = { ["Monday"] = { ["21:30"] = {nome = "Orshabaal", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}},m = {"5 Fire Devil", "2 Orshabaal"}, Time = 1}, ["21:33"] = {nome = "Dragon", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}},m = {"100 Dragon"}, Time = 2} }, ["Tuesday"] = { ["10:44"] = {nome = "Demon", pos = {fromPosition = {x=184, y=55, z=7},toPosition = {x=188, y=58, z=7}}, m = {"5 Demon", "8 Fire Devil"}, Time = 1}, ["10:46"] = {nome = "Hydra", pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}, m = {"7 Hydra", "4 Cyclops"}, Time = 2} } }
     

    ["DIA"] = { ["HORA DA INVASÃO"] = {nome = "NOME DA INVASÃO", pos = {começo e final da área}, monster = {"MONSTROS"}, Time = para remover os monstro} }
     
    O dia da invasão é colocada entre " " e somente dia em inglês e a primeira letra maiúscula, exemplo:

    "Saturday"
     
     
    Depois são as hora da invasão, que é colocada entre " " e somente a hora e minuto, segundos não precisa exemplo:

    "15:00"
     
     
    As Posições estão entre { } adicionando as posições x, y e z, é o começo e final da área exemplo:
     

    pos = {fromPosition = {x=197, y=57, z=7},toPosition = {x=203, y=60, z=7}}
     
    fromPosition -- começo da área onde vai acontecer a raid
    toPosition -- final da área onde vai acontecer a raid
     
    Os monters tem um modo especial de configurar, vc coloca entre { }, e cada monstro entre " ", e entre as " " vc adiciona "QUANTIDADE MONSTRO", e para adicionar mais tipos de monstro se separa por virgulas, exemplo:

    {"40 Water Elemental", "5 Cyclops"}
     
    Time é uma função extra, é para caso ninguém participe do evento os monstros não fiquem pelo mapa, e é em minutos, exemplo:
     

    Time = 15
  15. Upvote
    oktober15 recebeu reputação de flagoa em Problemas Com Script Da Inquisition + Deslogar Player Com Batle   
    o script da inquisition use esse, troca em movements..
     
     
    pra colocar pra nao usa mount em pz muda no config.lua
     
    true para nao usar a mount em pz.
     
    sobre deslogar mesmo com battle é no distro, mais isso é normal no 9.60, o player pode deslogar mesmo com battle porem só em area pz.
  16. Upvote
    oktober15 deu reputação a Eskylo em Global Server Save 2X Ao Dia   
    function onTimer() local delay = 5*60 --Após quantos segs o servidor irá fechar local avisos = {5*60,3*60,30} --Avisos faltando quantos segundos for i = 1, #avisos do local time = avisos[i] if time < 60 then str = os.date("%S segundo(s)", time) elseif math.fmod(time, 60) == 0 then str = os.date("%M minuto(s)", time) else str = os.date("%M minuto(s) e %S segundo(s)", time) end addEvent(broadcastMessage, (delay-time)*1000, "[Global server save] O server será desligado em "..str..".", 25) end addEvent(doSaveServer, delay*1000) --Apague esta linha caso seu server já salve o server com o doShutdown addEvent(doShutdown, delay*1000) return true end
  17. Upvote
    oktober15 deu reputação a blumaster em Distro 9.60   
    Ta aew:
     
    http://www.4shared.com/rar/NXGDMOKX/source.html?
  18. Upvote
    oktober15 deu reputação a esfomeado em Distro 9.60   
    Podes baixar aqui:
    http://code.google.com/p/otservdata/source/browse/#svn%2Fbranches%2F0.3%2Fpath_960
     
    É baseado nas sources do tfs
  19. Upvote
    oktober15 deu reputação a Leoxtibia em Teleport Por Storage   
    Com o do Vilden, substitua por esse e configure de acordo com suas coordenadas:
     

    function onStepIn(cid, item, position, fromPosition) local cfg = { pos = {x=1, y=2, z=7}, -- local do monstro que será sumonado newpos = {x=10, y=1, z=7}, -- local que o teleport vai levar stg = 4124, -- storage que o player precisará ter name = "Demon" -- monstro que será sumonado } if getPlayerStorageValue(cid,cfg.stg) == 1 then setPlayerStorageValue(cid,cfg.stg,2) doSummonCreature(cfg.name,cfg.pos) doTeleportThing(cid,cfg.newpos) doSendMagicEffect(getPlayerPosition(cid),10) else doPlayerSendTextMessage(cid,25,"Você não pode entrar ou já entrou aqui uma vez.") doTeleportThing(cid,fromPosition) end end
     
    Vlw, espero ter ajudado.
  20. Upvote
    oktober15 deu reputação a Beeki em Acesso E Compilaçao De Otserver Em Linux   
    1: Você usa o SSH Cliente.
    2: Você usa o FileZilla cliente.
    3: você usa o comando ./autogen.sh depois ./configure --enable-mysq, e depois digita make.
    4: para fechar seu servidor, digite o comando ps - aux, depois procure pelo processo do seu tfs e de acordo com o numero do mesmo, digite kill -9 22464
    5: para transferir a database, é só por ela numa pasta de sua escolha no dedicado e digitar o seguinte comando. mysql -uroot -p NOME DA DB < local/nome.sql
  21. Upvote
    oktober15 deu reputação a Natanael Beckman em [C++] Compilando Um Otserv   
    Boa galera andei olhando e vi alguns tópicos até meio parecidos com o que estou fazendo agora, mais, eu não acho eles completos por tanto aqui vamos nois.
     
    1° Vamos fazer todos os downloads necessários.
    Vamos usar um source TFS pra versão de Tibia 8.60
     
    - Source
    - Stians Dev-Cpp <> 32bits
    - Stians Dev-Cpp <> 64bits
     
    2° Abra o Dev-cpp:

     
    3° Clique em Tools > Check For Updates/Packages:

     
    4° Clique em Check For Updates and Upstairs select devpacks.org:

     
    5° Seleciona OpenSSL 0.9.8a e clique em Dowload:


     
    6° Em seguida irá aparecer automaticamente um processo de instalação:


     
    Agora seu Dev-cpp está no ponto pra compilar.
     
    7° Use ctrl + o pra abri o .dev:

     
    8° Ele vai estar dentro da pasta da sua source:



     
    9° Então depois que abrir todos os arquivos:

     
    10° Use alt + p logo após aparecerá uma janela ae clique em parameters e adicione, {-D__CONSOLE__} e depois OK:

     
    11° Agora é so compilar ctrl + f9:

     
    12º O seu executavél vai está na pasta da sua source:



     
    Pronto galera compilação concluida.
     
    Creditos:
    nwtr
    Nando Web
    Natan Beckman
  22. Upvote
    oktober15 deu reputação a Beeki em The Forgotten Server R5663   
    Oi amigos.
     
    Estou aqui liberando para você a versão mais atual do TheForgottenServer, estou sujeito a tomar ban por isso na OTland, mais eu sempre tomo que que tem né? rsrs
     
    Sources:
     

    http://www.mediafire.com/?hknr7as2lzs47nv
     
    Distro Compilado:
     

    http://www.mediafire.com/?42nib293iecgy1j
     
    Scans:
     
    https://www.virustot...sis/1338095474/
     
    https://www.virustot...sis/1338095729/
     
     
    Créditos:
     
    OTLand e TheForgottenServer Developers.
  23. Upvote
    oktober15 recebeu reputação de rodrygosos em [Resolvido] Bug Inquisition (Global 9.52)   
    facil, é um bug no "doCreatureSay"
    coloque esse script no lugar desse ai:

    local config = { bosses={---aid of portal, position where it sends, value it sets, text it shows [1001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [1002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"}, [1003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"}, [1004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"}, [1005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"}, [1006] = {pos={x=33111, y=31682, z=12, stackpos=1}, value=6, text="Entering The Shadow Nexus"} }, mainroom={---aid, position, lowest value that can use this portal, text [2001] = {pos={x=33069, y=31783, z=13, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [2002] = {pos={x=33371, y=31613, z=14, stackpos=1}, value=2, text="Entering The Blood Halls"}, [2003] = {pos={x=33153, y=31781, z=12, stackpos=1}, value=3, text="Entering The Vats"}, [2004] = {pos={x=33038, y=31753, z=15, stackpos=1}, value=4, text="Entering The Arcanum"}, [2005] = {pos={x=33199, y=31686, z=12, stackpos=1}, value=5, text="Entering The Hive"} }, portals={---aid, position, text [3000] = {pos={x=33163, y=31708, z=14}, text="Entering Inquisition Portals Room"}, [3001] = {pos={x=33158, y=31728, z=11}, text="Entering The Ward of Ushuriel"}, [3002] = {pos={x=33169, y=31755, z=13}, text="Entering The Undersea Kingdom"}, [3003] = {pos={x=33124, y=31692, z=11}, text="Entering The Ward of Zugurosh"}, [3004] = {pos={x=33356, y=31590, z=11}, text="Entering The Foundry"}, [3005] = {pos={x=33197, y=31767, z=11}, text="Entering The Ward of Madareth"}, [3006] = {pos={x=33250, y=31632, z=13}, text="Entering The Battlefield"}, [3007] = {pos={x=33232, y=31733, z=11}, text="Entering The Ward of The Demon Twins"}, [3008] = {pos={x=33094, y=31575, z=11}, text="Entering The Soul Wells"}, [3009] = {pos={x=33197, y=31703, z=11}, text="Entering The Ward of Annihilon"}, [3010] = {pos={x=33105, y=31734, z=11}, text="Entering The Ward of Hellgorak"} }, storage=56123,---storage used in boss and mainroom portals e={} }----dunno whats this but have to be like this to make doCreatureSayWithDelay working, DON'T TOUCH} function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == TRUE then if(config.bosses[item.actionid]) then local t= config.bosses[item.actionid] if getPlayerStorageValue(cid, config.storage)< t.value then setPlayerStorageValue(cid, config.storage, t.value) end doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) elseif(config.mainroom[item.actionid]) then local t= config.mainroom[item.actionid] if getPlayerStorageValue(cid, config.storage)>=t.value then doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) else doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePosition(cid),10) doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1) end elseif(config.portals[item.actionid]) then local t= config.portals[item.actionid] doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) end end end
    certamente ira funcionar..
     
    o bug da poi, talves seja poruqe vc tem qe passar em cima do trono 2x
    passe 2x em cima de cada trono, e me fala se funciona (:
    ajudei rep++ ae (:
  24. Upvote
    oktober15 deu reputação a Zmovir em Item Que Teleporta Devolta Ao Templo   
  25. Upvote
    oktober15 recebeu reputação de mysticChem em Ice Islands - Folda, Senja, Vega   
    Ice Islands
     
    versao: 8.60
    Ice islands completas, com raspaw, casas, npcs etc..
    com Folda, Senja e Vege
    As Ice Islands são dois conjuntos de ilhas localizadas ao norte do Continente Principal de Tibia, no Oceano Nórdico. Por causa da baixa temperatura das ilhas, elas são permanentemente cobertas de neve e gelo.
    Adicionadas ao jogo no Update de 2007.
    sao velhas, mais pelo que tenho visto mts mapas globais nao tem ela, e algumas pessoas estavao pedindo intao aqui esta..
    http://www.tibiawiki.com.br/Ice_Islands
     
    Downloads:
    Ice islands: http://www.4shared.com/rar/lCEw1mN4/ice_islands.html?
    Npcs: http://www.4shared.com/rar/N7HZ4GE5/npc_ice_island.html?
     
    Scan:
    https://www.virustotal.com/file/a2075b2331be7811a2751cd8b378f6d4a85f351a9c75b3aca4f496e1184c108e/analysis/
     
    https://www.virustotal.com/file/641ef9ffcaab9f7bce95024f8c00b2bff1fe71036ac49d9797d3c21c4c594cc4/analysis/
     
    ajudei +rep (:
     

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...