Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 04/26/16 em %

  1. Auto-Backup Database

    Trunksontibia e um outro reagiu a Natanael Beckman por uma resposta no tópico

    2 pontos
    Galera esse script é um auto backup da sua database, quem gosta de prevenir vamos ao tutorial. Backup.sh Criei uma pasta em qualquer local no linux, no meu caso eu fiz uma pasta com o nome database que está localizada na pasta home. home/database/backup.sh Certo vamos configura o arquivo, dentro dele já vem tudo explicado mais vou dar um reforço, dentro do arquivo backup.sh contém: #!/bin/bash CAMINHO="/home/database/" <--- local onde vai ficar salvo os backups NOMEBACKUP="server-backup" <--- nome do backup USER="root" <--- não mexe SENHA="nitendo64" <--- senha da database BANCO="casa_blanca" <--- nome da database #Nao mexer daqui pra baixo TEMPO="$(date +'%d-%m-%Y-%H-%M')" ##### #Rodando o backup ##### if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi Certo configurado né, vamos fazer um teste: Acessa a pasta: cd /home/database Da permissão pros arquivos dentro dela, no caso o backup.sh: chmod 777 -R * Roda o script pra um teste: ./backup.sh Veja na imagem do meu teste, já aparece ali a database, então ta ok deu certo as configurações: Tudo bem, agora vamos configura pra ficar automático, pra todos os dias o script executar o backup em um certo horário: crontab -e Se aparecer algo tipo seleciona alguma opção, selecione Nano, que provavelmente seja numero 2... ---------------------------------------------------------------------------------- Se não aparecer vai direto pra isso: Digite isso dentro do nano, como você ver na imagem acima já tem adicionado: 0 6,21 * * * sh /home/database/backup.sh ctrl+x y da ENTER No meu caso botei pro script ser executado as 06:00hrs e 21:00hrs, então todo os dias nesse horário o script vai fazer o backup pra essa pasta que configurei, caso queria mudar o horário a logica do comado é clara né. Caso queria deixar de minutos em minutos abaixo observe um exemplo de 5 em 5 minutos: */5 * * * * sh /home/database/backup.sh Caso queria deixar de horas em horas abaixo observe um exemplo de 1 em 1 hora: 0 */1 * * * sh /home/database/backup.sh Qualquer duvida postem, clica em GOSTEI, valeu. Créditos total: Joffily Ferreira
  2. pbOT [8.6] Full

    Lardenna reagiu a BielZet por uma resposta no tópico

    1 ponto
    • Mapa pbOT (pbGO) 8.0 Editado • Supreme Vocation; • Quests: - Anihi; - Supreme Vocation - Crystal Arrow - 7 Mares - Golden Set - Trad or Die - Quest 500k eu modifiquei e deixei 1kk - Ridorana - Death Castle Entrance - Deep Mines of Hell, entrance. - One 4all Entrance. - "Entre outras todas as quests estão funcionando. algumas apenas sofre-o umas mudança mais ganhara os mesmos items.! ------- Arrumei as vocações - Hell Wizard - High Saintess - Force Archer - Titan Blader Adicionei Sistema de potion Por alavanca. Adicionei os Comandos !evento voce vai para o evento onde o GOD for fazer evento. Adicionei o Comando !Quest voce vai na quest que o GOD estiver fazendo evento adicionei o Sistema /invasao . Nasce bixos na cidade. exemplo ( /invasao 1 e em atemissias etc.!) Dp de artemissias. Cidade De Egeu (DP) Cidade de Styge (DP) Cidade de Horpus - Templo DP Cidade de Nissea. Templo! Famosa TP To Hell Final da quest TP TO HELL Tp To hell 2! A NOVA TP TO HELL FICA NO MESMO LUGAR DA ANTIGA SEGUE A IMAGEM A BAIXO! Final Da quest Asgard Server So esta Rodando com Site!. se for abrir com o site. ele nao da erro. caso nao abra com o site ele da muitos erros no distro!. Server ja vem com. Lunar staff - Donate/ Lunar Staff Free. G bow VIP/ G bow Free. Entre muitos items mais apenas se voce abrir com Site. Download - http://www.4shared.com/rar/w702u-dxba/otserver.html? Scan -> https://www.virustotal.com/pt/file/19f56087ec3f91d4dfdefcd9a41b1d6766b620b9062616c0a5d849b0fbb0ffaf/analysis/1417999032/ Download - dos DLLS - que possa faltar em algums Computadores DLLS - http://www.4shared.com/rar/_zLpYh7Tce/Dlls_-_pbOT.html? Pessoal Recomando tfs 0.4 rev 3777 vs 1.0.6 Senão vai dar BUG! Pessoal o Scan Detecto 5 Virus. os virus são do DLL'S. não prejudica o PC! Créditos Abaixo Gosto do Server ? Gostou do Mapa ? da um REP+ se alguem Abrir o Server Posta o IP! OU manda no PM . para mim poder ta entrando.! ------------------------------------------------------------------------------------------------------------------------ Logo Menos. eu irei Postar o pbOT com account manager. Eu ja estou Editando ele.!
  3. [8.54] Servidor + Client Naruto B&W [EXCLUSIVO]

    LoLos reagiu a Eytor por uma resposta no tópico

    1 ponto
    OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan). VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA. ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO. CHEGA DE BLABLA E VAMOS LÁ!! [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] DOWNLOAD [+] CREDITOS [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] Downloads Servidor Naruto B&W: Clique Aqui Client(descompilado): Clique Aqui [+] Creditos - Madara Rinnegan (servidor base) - [ADM] Johnata Editar Praticamente Todo o Servidor - Eu Por umas Besteiras q eu Coloquei e Por Postar GOSTOU DO SERVIDOR? DA UM REP++
  4. [Floresta Encantada] New Event - Exclusivo

    L3K0T reagiu a Absolute por uma resposta no tópico

    1 ponto
    Fala galera , trago hoje pra vocês do tibiaking um evento EXXXXXXXXXXCLUSIVO! É o evento [Floresta Encantada] Como funciona? - É aberto um teleport no templo do servidor (configurável). - O mesmo ficará aberto por 5 minutos (os jogadores permanecerão na sala de espera do evento) - Quando o evento começar os jogadores terão que andar pela floresta até chegar ao local da bandeira e dar use na mesma. - Observação: Há diversos atalhos que os jogadores podem chegar rapidamente ou voltar para o começo ( Eis a sorte ). - O Jogadores que chegar até a bandeira pós os atalhos e derrotar os monstros é o vencedor! - Obs: Para concluir basta clicar na bandeira. Vamos a instalação/scripts: Em data/actions/scripts crie um arquivo com o nome de flagabsolute.lua e adicione dentro: function onUse(cid, item) if getGlobalStorageValue(configExf.stats) == 1 then doTeleportThing(cid, configExf.templepos) doCloseExf() doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce ganhou o evento Floresta encantada, parabens receba seu premio") doBroadcastMessage(getPlayerName(cid) .. " foi o vencedor do Floresta Encantada.") doPlayerAddItem(cid, configExf.prize) else doPlayerSendCancel(cid, "Desculpe mas o evento encontra se fechado") end return true end Em data/actions/actions.xml adicione a seguinte linha: <action uniqueid="5312" event="script" value="flagabsolute.lua" /> Em data/movements/scripts você irá criar 2 arquivos. Primeiro crie o enterTp.lua e adicione dentro: function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(configExchantedForest.status == 0) then -- ativo addPlayerToExchantedForest(cid) end return true end Depois ainda na mesma pasta crie o magicTp.lua e dentro adicione: function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if isPlayer(cid) then if getGlobalStorageValue(configExf.stats) == 1 then doTeleportThing(cid, configExf.randpos[math.random(1, #configExf.randpos)]) doSendMagicEffect(getPlayerPosition(cid), 29) else doTeleportThing(cid, configExf.teleportPla) end end return true end Em data/movements/movements.xml adicione a linha: <movevent type="StepIn" actionid="5310" event="script" value="eforest/magicTp.lua"/> Em data/talkactions/scripts crie um arquivo com o nome de florestaabsolute.lua e adicione dentro: function onSay(cid, words, param) if param == "on" then if getGlobalStorageValue(configExf.stats) == -1 then doStartExf() else doPlayerSendCancel(cid, "O evento ja esta ocorrendo.") end elseif param == "off" then if getGlobalStorageValue(configExf.stats) ~= -1 then doCloseExf() doBroadcastMessage("Agora o evento Flroesta Encantada esta fechado.") else doPlayerSendCancel(cid, "O evento noo esta ocorrendo.") end end return true end Em data/talkactions/talkactions.xml adicione a seguinte linha: <talkaction log="yes" words="/eforest" access="3" event="script" value="florestaabsolute.lua"/> Em data/monster crie um arquivo com o nome de Fucking Florest.xml e dentro adicione: <?xml version="1.0" encoding="UTF-8"?> <monster name="Fucking Florest" nameDescription="a fucking flroest" race="blood" experience="0" speed="920" manacost="0"> <health now="60800" max="60800"/> <look type="229" corpse="9660"/> <targetchange interval="5000" chance="8"/> <strategy attack="100" defense="0"/> <flags> <flag summonable="0"/> <flag attackable="1"/> <flag hostile="1"/> <flag illusionable="0"/> <flag convinceable="0"/> <flag pushable="0"/> <flag canpushitems="1"/> <flag canpushcreatures="1"/> <flag targetdistance="1"/> <flag staticattack="90"/> <flag runonhealth="0"/> </flags> <attacks> <attack name="melee" interval="2000" min="-0" max="-500"/> <attack name="lifedrain" interval="1000" chance="20" range="1" min="-200" max="-600"> <attribute key="areaEffect" value="redshimmer"/> </attack> <attack name="physical" interval="2000" chance="8" range="7" min="-0" max="-550"> <attribute key="shootEffect" value="suddendeath"/> <attribute key="areaEffect" value="mortarea"/> </attack> <attack name="physical" interval="1000" chance="35" range="7" min="-200" max="-800"> <attribute key="shootEffect" value="energy"/> </attack> </attacks> <defenses armor="26" defense="23"/> <elements> <element energyPercent="10"/> <element earthPercent="80"/> <element icePercent="15"/> <element firePercent="-10"/> <element holyPercent="-25"/> </elements> <immunities> <immunity death="1"/> <immunity invisible="1"/> </immunities> <voices interval="4000" chance="100"> <voice sentence="I AM BOSSING OF FLOREST"/> <voice sentence="NAO PEGUE MINHA BANDEIRA."/> <voice sentence="MUAHAHAHAHA."/> <voice sentence="Absolute on TibiaKing."/> </voices> <loot> <item id="2160" countmax="1" chance="2000"/><!-- gold coin --> </item> </loot> </monster> E para finalizar crie um arquivo com o nome de florestaabsolute.lua em data/libs e dentro adicione: configExf = { teleportPos = {x = 32341,y = 32213, z = 7}, -- aonde aparecerá o teleport teleportPla = {x=32622, y=31699, z=7}, -- para onde o teleport levará stats = 201201180701, timetostart = 300, -- tempo para iniciar topleftPos = {x = 32589, y = 31662, z = 7}, -- canto esquerdo superior botrightPos = {x = 32631, y = 31693, z = 7}, -- canto direito inferior prize = 6571, -- recompensa templepos = {x=32369, y=32241, z=7}, -- posição do templo randpos = {{x=32625,y=31692,z=7},{x=32621,y=31692,z=7},{x=32617,y=31692,z=7},{x=32619,y=31687,z=7},{x=32624,y=31681,z=7},{x=32630,y=31668,z=7},{x=32627,y=31668,z=7},{x=32617,y=31672,z=7},{x=32613,y=31677,z=7},{x=32608,y=31665,z=7},{x=32610,y=31688,z=7},{x=32598,y=31684,z=7},{x=32596,y=31684,z=7},{x=32597,y=31668,z=7}} } -- O PAPAI ABSOLUTE EXPLICARÁ NAS IMAGENS ESSAS POSIÇÕES function doStartExf() doCreateTeleport(1387, configExf.teleportPla, configExf.teleportPos) setGlobalStorageValue(configExf.stats, 0) doBroadcastMessage("The Exchanted Forest event will open in " .. configExf.timetostart .. " seconds.") addEvent(doInitExf, configExf.timetostart*1000) end function doInitExf() if getGlobalStorageValue(configExf.stats) == 0 then doBroadcastMessage("The Exchanted Forest event is starting...") setGlobalStorageValue(configExf.stats, 1) end end function doCloseExf() setGlobalStorageValue(configExf.stats, -1) local item = getTileItemById(configExf.teleportPos, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end doRemovePlayersFromArea(configExf.topleftPos, configExf.botrightPos, configExf.templepos) end Configurando a LIB: teleportPos = {x = 32341,y = 32213, z = 7}, -- LUGAR DO SEU OT QUE IRÁ NASCER O TP teleportPla = {x=32622, y=31699, z=7}, -- LUGAR ONDE OS PLAYERS IRÃO SER TELEPORTADOS, COMO NA IMAGEM SERÁ AQUI: timetostart = 300, -- TEMPO EM SEGUNDOS PRA COMEÇAR O EVENTO topleftPos = {x = 32589, y = 31662, z = 7}, -- canto esquerdo superior = NO CASO SERIA ASSIM, ONDE CIRCULEI: botrightPos = {x = 32631, y = 31693, z = 7}, -- canto direito inferior (ONDE CIRCULEI): prize = 6571, -- ID DA RECOMPENSA PRO GANHADOR templepos = {x=32369, y=32241, z=7}, -- posição do templo do seu ot randpos = {{x=32625,y=31692,z=7},{x=32621,y=31692,z=7},{x=32617,y=31692,z=7},{x=32619,y=31687,z=7},{x=32624,y=31681,z=7},{x=32630,y=31668,z=7},{x=32627,y=31668,z=7},{x=32617,y=31672,z=7},{x=32613,y=31677,z=7},{x=32608,y=31665,z=7},{x=32610,y=31688,z=7},{x=32598,y=31684,z=7},{x=32596,y=31684,z=7},{x=32592,y=31672,z=7},{x=32594,y=31672,z=7},{x=32597,y=31668,z=7}} -- Como na imagem irá mostrar, são os SQMS CINZAS, os responsáveis pelos atalhos, portanto coloque a configuração de cada um certo (IMPORTANTE): -- END -- E por fim: Download do mapa: https://www.sendspace.com/file/ilhba3 Scan do mapa: Screen do mapa: TO END: SQM QUE VOCÊ COLOCARÁ O BOSS QUE CRIOU (FUCKING FLOREST): Observação: Os monstros vocês colocarão no mapa no caminho da floresta, podem variar de acordo com o servidor, apenas não esqueçam rs. Créditos: Absolute GlobalWAR Qualquer dúvida por favor poste aqui no tópico que irei ajudar a resolver Não tenha vergonha de perguntar, ninguém nasceu sabendo! Espero ajudar e ver esse evento em vários servidores. EXCLUUUUUUUUUSSIVO PRA VOCÊS Em breve mais eventos/sistemas Absolute.
  5. StreamTemple TFS 0.4 [8.60]

    Absolute reagiu a Natanael Beckman por uma resposta no tópico

    1 ponto
    Opa galera eu mais uma vez postando mais uma novidade na área de OTServer! StreamTemple é um sistema que proporciona uma visualização em tempo real da movimentação de characters em um determinado local do server, isso vai depender das suas configurações... Esse sistema foi criado por Gesior.pl para versão TFS 1.0 e migrado para a versão TFS 0.4 por Killua(90%) e Eu(Fix bug player move) Vamos la galera, em data/globalevents/scripts crie um arquivo .lua e nomeie para stream_temple.lua adicione dentro do mesmo este code: -- for linux default: '/var/www/streamtemple/stream.json' -- create folder 'streamtemple' in main folder of acc. maker! -- [LINUX] check that folder 'streamtemple' has rights to create new file by anyone local playerJsonInfoPath = '/var/www/streamtemple/stream.json' -- center position of your 'stream' - make sure you set valid left/top corner of image in PHP! -- stream show only players on same 'floor'/'level' local centerPosition = {x = 32349, y = 32222, z = 7} --[[ I RECOMMEND TO NOT SET WIDTH HIGHER THEN 20, BECAUSE IT MAY CAUSE LITTLE LAG ON SERVERS WITH 300-400 ONLINE! ]]-- -- viewWidth is not really width of stream, if viewWidth is '11': -- then stream shows players 11 tiles to the left and 11 tiles to the right from center positon, so real width is 23 tiles! local viewWidth = 11 -- viewHeight is not really height of stream, if viewHeight is '6': -- then stream shows players 6 tiles to the top and 6 tiles to the bottom from center positon, so real height is 13 tiles! local viewHeight = 6 function onThink() -- get players/monsters/npcs in area list local spectators = getSpectators(centerPosition, viewWidth, viewHeight, false) -- generate information local stream = "{" if(spectators) then for _, spectator in pairs(spectators) do local player = spectator if(player) then local playerPosition = getCreaturePosition(player) local playerOutfit = getCreatureOutfit(player) if(centerPosition.z == playerPosition.z) then stream = stream .. '"'..getCreatureName(player)..'":['.. playerPosition.x ..','.. playerPosition.y ..','.. playerPosition.z ..','.. playerOutfit.lookType ..','.. playerOutfit.lookAddons ..','.. playerOutfit.lookHead ..','.. playerOutfit.lookBody ..','.. playerOutfit.lookLegs ..','.. playerOutfit.lookFeet ..','.. getPositionByDirection(player) ..','.. getCreatureLookDirection(player) ..',' .. playerOutfit.lookTypeEx .. ','.. getCreatureSkullType(player) ..'],' end end end end stream = stream .. '}' -- save to file local streampath = io.open(playerJsonInfoPath, "w") streampath:write(stream) streampath:close() return true end No arquivo acima faça as seguintes alterações: Aqui altere pro local correto onde ficara localizada a pasta streamtemple na pasta do site. local playerJsonInfoPath = '/var/www/streamtemple/stream.json' Aqui você vai botar as coordenada central de acordo com a imagem que vai utilizar. local centerPosition = {x = 32349, y = 32222, z = 7} Em globalevents.xml registre esse code: <!-- Stream Temple --> <globalevent name="stream" interval="700" script="stream_temple.lua"/> No site você vai adicionar o arquivo .php chamado de streamtemple.php com esse code: <style type="text/css"> .alpha_wrapper { padding-top: 8px; float: left; position: relative; color: #fff; width: 96px; text-align: center; } .name { white-space: nowrap; color: rgb(0, 255, 0); font-size:10px; width: 50%; margin: 0px auto; padding-bottom: 2px; font-family: Verdana; text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black; } .skull { background: transparent url(images/skulls/redskull.gif) no-repeat; position: absolute; top: 31px; left: 57px; width: 11px; height: 11px; width: 50%; margin: 0px auto; } </style> <div style="float:center;text-align:center;margin: 0 auto;text-shadow:0 0 5px #fff;font-family:Georgia,serif;font-weight:strong;font-size:35px;"><img src=megastr.png></div> <!-- Your temple image must have tiles width/height 32px! --> <!-- There is 'streamtemple/temple.png', if you keep your temple image in other format or on other host, edit this. DO NOT FORGET TO EDIT THIS PART OF LINE BELOW: 'width:600px;height:380px', there must be width and height of your temple image! --> <div style="background-image:url('streamtemple/temple.png');width:600px;height:380px;box-shadow:0 0 20px #000;font-family:Arial, sans-serif;border:2px solid black;margin:5px auto;text-align:center;overflow:hidden;position:relative;" id="templeAnimationWindow"></div> <script type="text/javascript"> // -- CONFIG -- // url to stream file - it's NOT full path to that file like 'c:\xampp\...' var playerJsonInfoURL = 'streamtemple/stream.json'; // BEST VALUE IS SAME AS INTERVAL IN GLOBALEVENTS.XML var updateIntervalInSeconds = 1; // It's NOT same position as center of stream in LUA, this position depends on your temple image on www! // set it to position that is in game when you look at top-left corner of your temple image (+/- 1 after tests on www) // -- example: // HARD PART: If your image on www shows 16x8 tiles of 'game screen' and left-top corner positon is '1000,1000' then.. // What is center-position and width/height for LUA script config? [if it's on floor 7..] // YES! It's: Position(1008, 1004, 7), width: 8 (8*2+1 = 17, more then your image!), height: 4 (4*2+1 = 9, more ..!) // --- // but don't worry, if you set it to (32337,32220,7) and set width 15 and height 15 it will work too! (just use more CPU then it should) var leftTopCornetX = 32339; var leftTopCornetY = 32216; // adjust these values (from -32 to 32, it's value in pixels) to make your character stand at same position as in game // you must compare image on www and in game by yourself var imageCorrectionX = 2; var imageCorrectionY = 4; // images URL var itemImagesURL = 'http://item-images.ots.me/1030/'; // outfit generation script URL, you need your own outfit images host, how to create: // http://otland.net/threads/gesior2012-make-your-own-outfits-items-country-flags-hosting-recommended.210844/ var outfitImagesURL = 'outfit.php'; // -- END OF CONFIG -- function disableSelection(target) { if (typeof target.onselectstart!="undefined") { target.onselectstart=function(){return false} } else if (typeof target.style.MozUserSelect!="undefined") { target.style.MozUserSelect="none"; } else { target.onmousedown=function(){return false} } target.style.cursor = "default"; } disableSelection(document.body); var uid = Math.floor(Math.random()*(10000000-1))+10000000; function handler(data) { setTimeout(update, updateIntervalInSeconds * 1000); try { var obj = eval("(" + data + ")"); } catch(err) {} var s = ''; for (x in obj) { var k = obj[x]; s += '<div style="z-index:'+(k[1]-20)+';position:absolute;top:'+(((k[1]-leftTopCornetY)*32)+imageCorrectionY)+'px;left:'+(((k[0]-leftTopCornetX)*32)+imageCorrectionX)+'px;width:64px;height:64px;background:transparent url('; if(k[3] == 0) { s += itemImagesURL + k[11]+'.gif'; } else { var mountID = parseInt(k[9]); if(mountID > 0) { mountID += 65536; } s += outfitImagesURL + '?id='+k[3]+'&addons='+k[4]+'&head='+k[5]+'&body='+k[6]+'&legs='+k[7]+'&feet='+k[8]+'&direction='+(parseInt(k[10])+1); } s += ') no-repeat right bottom;">' + '<div class="alpha_wrapper">' + '<div class="name" style="margin: 5px 19px">'+x.replace(/(&nbsp)/g,' ')+'</div>' + '<div style="margin-left: 34px; margin-top: -7px; width: 25px; height: 2px; background-color: rgb(0, 191, 0); border: 1px solid black;"></div>'; if(k[12] >= 3) { // known problem: there is no white skull image in Gesior2012, if you got it, you can put it in your /images/skulls/ s += '<div class="skull" style="background-image:url(images/skulls/'+(k[12] == 3 ? 'white' : (k[12] == 4 ? 'red' : 'black')) + 'skull.gif);">&nbsp;</div>'; } s += '</div></div>'; } document.getElementById('templeAnimationWindow').innerHTML = s; } function update() { var xhr; try { xhr=new XMLHttpRequest(); } catch (e) { try { xhr=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xhr=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { alert("Your browser does not support AJAX!"); return false; } } } xhr.open("GET", playerJsonInfoURL + "?"+Math.random(), true); xhr.onreadystatechange=function() { // status 4 = query realized without problems if(xhr.readyState==4) { // if query failed for some reason, it will stop animation handler(xhr.responseText); } } xhr.send(null); } update(); </script> E o outfit.php. Certo aqui você baixe a pasta abaixo que já com o arquivo stream.json e uma imagem que utilizo no meu servidor. streamtemple E baixe essa pasta de outfits pro sistema funcionar perfeitamente: outfits Veja um exemplo do sistema:
  6. 1 ponto
    Galera é um script muito simples, porém pra mim é muito ÚTIL. Abra a pasta data/globalevents/scripts crie um arquivo .lua com o nome GlobalSave.lua, em seguida adicone o code: function prepareShutdown(minutes) if(minutes <= 0) then doSetGameState(GAMESTATE_SHUTDOWN) return false end if(minutes == 1) then doBroadcastMessage("Server is going down in " .. minutes .. " minute for global save, please log out now!") elseif(minutes <= 3) then doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save, please log out.") else doBroadcastMessage("Server is going down in " .. minutes .. " minutes for global save.") end shutdownEvent = addEvent(prepareShutdown, 60000, minutes - 1) return true end function onTime() return prepareShutdown(5) -- Quantos minutos pra executar o ServeSave. end Ajustes: Quando quiser modificar os minutos altere: -return prepareShutdown(5) - (5) = 5 minutos, eu recomendo no mínimo 5 minutos, em outras palavras não mexa. Em globalevents.xml adicione a tag seguinte: <globalevent name="GlobalSave" time="05:30" event="script" value="GlobalSave.lua"/> No meu ServeSave é feito as 05:30 da manhã, modifique pro horário desejado! Em config.lua verifique essa regra: Se tiver TRUE deixa, assim ele fecha o .exe se não tiver no seu config.lua não tem problema closeInstanceOnShutdown = true - - - Esse tutorial é só isso, clique em GOSTEI, e comente no tópico, muito obrigado! -------------------------------------------------------------------------------------------------------------------------------------------------------- AUTO RESTART -------------------------------------------------------------------------------------------------------------------------------------------------------- Pra você que utiliza Windows esse é perfeito: Dezon OT Admin [restarter] Pra você que utiliza Linux: Baixe esse arquivo, TFS.SH, bote dentro da pasta do seu OT. Esse arquivo está configurado pra abrir outro arquivo chamado tfs caso o seu seja outro nome mude pra esse, tfs. Sempre que for abrir seu OT execute esse comando ./tfs.sh& e assim toda vez que o OT cair ele renicia automaticamente.
  7. Projeto Hasiatic - RPG Inovador

    iHolloway reagiu a shakkur por uma resposta no tópico

    1 ponto
    Projeto Hasiatic Contexto Buscando trazer um modo diferente de se jogar, aplicando conceitos que se perderam nos últimos anos do OTServ, venho por meio deste apresentar um projeto que visa inovar na forma de se jogar Tibia. Quero que este não seja somente uma ideia, mas sim, o começo de uma mudança nos paradigmas dos OTServers. Cabe ressaltar que, o projeto ainda não possui membros em sua equipe, é apenas uma ideia no papel, porém pronta para ser discutida, amadurecida e desenvolvida. Espero que haja interesse verdadeiro por parte dos membros deste fórum, a fim de tornar possível que o projeto seja levado em frente. Bom, vamos ao que interessa.. Ideia Não sei se alguém aqui já jogou Rise of Nations, por tal irei dar uma briefing deste. RON é um jogo estilo Age of Empires, um Real Time Strategy (RTS) antigo, porém muito legal de se jogar. Ele possui como equipe jogáveis, nações que coexistem em tempos atuais, como Russia, Estados Unidos, China, e outras que, possuem raízes em alguns povos atuais, exemplo dos Persas (atualmente o Irã). Nesta ideia, amadureci a ideia de criar um servidor com as nações atuais, utilizando o mapa do mundo atual, porém sem termos 193 países (fonte: ONU), mas sim algumas das maiores nações do nosso mundo. Pode parecer irrealista, um mapa espelhado no mundo atual, porém isto não é irrealista se o projeto crescer e ter passos definidos de como este crescimento será sustentável. O maior responsável por fazer isto acontecer é o feedback dos jogadores e desenvolvedores. Continuando.. Falei do mapa, e voltarei a complementar posteriormente. Por ora, irei explicar a História para que tudo faça sentido. História Idade Média Alta, ano de 976 d.C, tempo de declínio de algumas das maiores nações que o mundo já teve conhecimento. O mundo se prepara para enfrentar um problema ainda maior, e não estamos falando de guerras religiosas e/ou políticas. Não estamos neste mundo como o topo da cadeia alimentar. Criaturas e Monstros agora não são mais parte de estórias. Eles existem, e teremos de enfrenta-los ou nos escondermos. Não existe uma explicação que permita explicar "o surgimento" deles, ou talvez exista? Quando o mundo teve de buscar alternativas de moradia após o colapso das nações, imediatamente a ideia de explorar terras não conhecidas foi uma solução obvia. Não esperávamos que, por traz de densas florestas, de terras imundadas ou montanhas monumentais, fossemos encontrar estas criaturas, que agora percebem um grande planeta para dominar. A partir de então, 1.040 anos se passaram. Fizemos muitos avanços científicos, mas nenhum que possibilitasse extinguirmos as criaturas e monstros que habitam nosso mundo, agora logo atras dos muros de nossas cidades. A magia, um de nossos maiores avanços, possibilitou enfrentarmos as criaturas mais maléficas, que antes destruíam cidades e devoravam exércitos. Agora, porém, construímos uma estabilidade que outrora não era possível. Nações poderosas, com exércitos aguerridos protegem os mais fracos habitantes, e de nossas fortalezas nenhum invasor irá adentrar. Mas por que escolhi a palavra "invasor"? Palavra um tanto vaga, muitos significados, certo? É ai que a brincadeira o projeto começa.. Sistemas e Complementos Como dito anteriormente, a ideia é mudar os paradigmas dos OTServers futuros. Para isto, é melhor termos um arsenal de ideias que traduzam em jogabilidade nossos mais sinceros desejos. Mapa: Citei anteriormente a ideia de um mapa de nosso mundo atual. Obviamente é muito grande, muitos detalhes, mas nada inalcançável. Proponho então, iniciarmos o andamento do projeto com o continente da Ásia, construindo 2 países e suas ilhas circundantes, a China e o Japão. Serão duas capitais, ou melhor, cidades principais, Xangai e Tóquio. Arquitetura em seu estilo semelhante, aplicando características de relevo e clima. As cidades, próximas ao mar, serão as únicas que possibilitam viajar por navio para outra. Porém, como sabemos da história, China e Japão não são aliados, e nem pretendem ser. A disputa geopolítica será posta a prática, e frequentemente, teremos acontecimentos reais implementados na jogabilidade. Agora que temos o ponto base, iremos aos sistemas (ainda idéias) que proponho. Apêndice 1: O mundo será implementado de tal forma que, as fronteiras da China com os outros países será bloqueada por terrenos intransponíveis, de forma que, ao final do processo de desenvolvimento de novos territórios, estes fiquem acessíveis através de missões em grupo, a fim de abrirem o caminho dos novos territórios. Pensem no quão legal deverá ser, juntar Chineses e Japoneses para abrir terreno em novos territórios Sistemas: Busco muita variedade de acontecimentos no jogo, torná-lo dinâmico, não ficar preso no marasmo de caçar e arrumar confusão para buscar guerras. Para isto, é necessário ingredientes que atraiam a atenção ao jogo. Como disse antes, China e Japão não são lá muito amigos, as relações bilaterais são puramente no sentido econômico e de boa vizinhança. Com isto, teremos cidadães Chineses e Japoneses, jogadores que escolheram viver em uma das terras. O divertido é que, quem formenta o relacionamento das duas nações é a guilda predominante no território. Podendo haver líderes que queiram guerras, invasões, enquanto poderá haver outros que queiram a paz, relações cordiais, ainda mais quando perceberem que não são só as duas nações no mundo. Em tempos de guerra, cidadãos de uma nação não poderão ir a outra nação, nem caçar em seu território, pois isto fará com que a guilda predominante e seus aliados busquem por estes aventureiros e os façam pagar por sua ousadia. Quer arriscar, arrisque, mas leve seu batalhão, ou faça aliança com as guildas menos favorecidas da outra nação, e force batalhas que sacrifiquem a predominância da guilda em sua própria nação, enfraquecendo-a para outra guilda tomar a posse do território (semelhante ao sistema político). As invasões são um ponto interessante, que deverá ser muito bem definido. Torres avançadas permitiram que os cidadãos da nação invadida tenha conhecimento prévio de invasão, e possam fechar a cidade, impedindo os inimigos de adentrar sua cidadela. Somente os mais bravos e preparados iram a batalha, com a benção de todos da nação. Inimigos poderão subornar certas pessoas da guilda predominante, a fim de que possam ingressar na outra nação, seja para espionar os guerreiros desta nação, seja para fins pacíficos, como caçar em suas terras. Pretendo que a jogabilidade seja puramente no sentido diversão, não será permitido bots muito menos multi client, a fim de tornar o jogo melhor para todos. Imagino que para este tipo de jogo, os exp rate devam ser deverás baixo, nada como o global, mas algo que permita um desenvolvimento adequado aos jogadores. Outras Informações Irei incrementar este tópico com novas informações e ideias, e sentirei-me grato caso tenham interesse em participar do projeto. Espero que, quem leu até aqui, possa complementar este tópico com novas ideias, e caso tenha interesse, publique seu nome e função pretendida no projeto. Não irei desclassificar ninguém, acredito que o comprometimento deverá ser igual a todos, e é isto que nos rege. Equipe No momento, não conto com ninguém na equipe, pretendo que isto mude nos próximos dias. Fiz uma lista básica das funções que considero primordiais ao projeto, mas sintam-se a vontade para oferecer suas habilidades no projeto. Conto com o feedback de vocês. - Mapper (2 vagas) - Scripter (2 vagas) - Designer (1 vaga) - Programador (1 vaga) - Historiador (1 vaga) Agradeço a todos que leram este tópico, e fico a disposição a todo e qualquer questionamento plausível. Críticas construtivas serão bem vindas, estou aberto a discussão. Atenciosamente, Marlon Ferreira
  8. (Resolvido)[PEDIDO]

    GuuhMaster reagiu a Bodak Reborn por uma resposta no tópico

    1 ponto
    Você está usando um teleport vazio (sem coordenadas)?
  9. [Boss Skill] Aegis of Immortal

    carlinhosvrb reagiu a xWhiteWolf por uma resposta no tópico

    1 ponto
    depende muito d como seu server interpreta a function onKill.. se ele executar pra todos q ajudaram a matar vc precisa editar o aegis.lua no creaturescript e troca onde tá cid por lasthit como fica : function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(lasthit,config.storagekill) local skill = getPlayerStorageValue(lasthit, config.storageaegis) if isMonster(target) and getCreatureName(target):lower() == 'aegis' then if killed < config.times then doCreatureSay(target, "I'll be back mortal...", 20) doSendMagicEffect(getThingPos(target), config.effect1) setPlayerStorageValue(lasthit, config.storagekill, killed+1) addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2) addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true) end if killed >= config.times then setPlayerStorageValue(lasthit, config.storagekill, 0) if skill < config.charges then doPlayerSendTextMessage(lasthit,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!") setPlayerStorageValue(lasthit, config.storageaegis, config.charges) end end end return true end (lembra q vc tem que fazer checagens pra verificar se o lasthit é player, se ele existe.. etc.) Não sei como funciona nos outros servers mas o meu chama o onKill só para o lasthit então o parametro cid ja é o lasthit e o parametro lasthit é um booleano. e como era function onKill(cid, target, lastHit) local killed = getPlayerStorageValue(cid,config.storagekill) local skill = getPlayerStorageValue(cid, config.storageaegis) if isMonster(target) and getCreatureName(target):lower() == 'aegis' then if killed < config.times then doCreatureSay(target, "I'll be back mortal...", 20) doSendMagicEffect(getThingPos(target), config.effect1) setPlayerStorageValue(cid, config.storagekill, killed+1) addEvent(doSendMagicEffect, 1000*config.tempo, getThingPos(target), config.effect2) addEvent(doCreateMonster, 1000*config.tempo, "Aegis", getCreaturePosition(target), true) end if killed >= config.times then setPlayerStorageValue(cid, config.storagekill, 0) if skill < config.charges then doPlayerSendTextMessage(cid,22,"Congratulations, you just killed "..getCreatureName(target).." and earned Aegis of Immortal skill!") setPlayerStorageValue(cid, config.storageaegis, config.charges) end end end return true end
  10. (Resolvido)[PEDIDO]

    GuuhMaster reagiu a Bodak Reborn por uma resposta no tópico

    1 ponto
    Ah, perdão. Esse script só funciona para sqms normais, não para TPs. Total desatenção minha. Vou fazer aqui e te mando. Pensei em um jeito mais fácil. Tenta assim, @GuuhMaster: Crie um portal sem coordenadas, sendo apenas a sprite. Depois, pegue as coordenadas de onde você quer que o player seja teleportado e coloque onde é indicado.
  11. Script The oracle (pedido)

    Igor Marusso reagiu a G3 Yuri por uma resposta no tópico

    1 ponto
    que bom ! precisar tamos no tk pra ajudar é ser ajudado !
  12. Removendo Account Salt

    BilauX reagiu a Yan Liima por uma resposta no tópico

    1 ponto
    Bom é no mesmo arquivo porém muda algumas partes. Acabei de resolver isso para um moleque de outro fórum. Sua TFS é 0.4rev3777? ou 3884? se for 3777 aqui está: Recomendo que delete a pasta OBJ, e deixe compilar tudo de novo para evitar bugs. iologindata.cpp
  13. World of Naruto Online v3.2 - .dat .spr .pic

    Rognaro reagiu a GBs por uma resposta no tópico

    1 ponto
    Hoje venho trazer o Cliente do WoNO v3.2 New, descompilado. Com varias sprites, personagens e effects novos. WoNO (World of Naruto Online) é uns dos melhores servidores de Naruto Tibia Polonês. Prints: Download (18.44MB): Scan's: credito's: Storm Night Gostou do Conteúdo? Me ajude com REP+ Obrigado!!
  14. [PEDIDO] Editar War System

    The New reagiu a Sekk por uma resposta no tópico

    1 ponto
    Ai cara, todos tem esse problema KKKKKK, eu consegui resolver com esse script war.lua aqui: Muitos também conseguiram com ele, mas alguns não... E.... Que link você está falando?
  15. [8.60] Aggrox OTX V2

    WollconGraccy reagiu a .HuRRiKaNe por uma resposta no tópico

    1 ponto
    Informações: Mapa próprio; Items Free / Donate; Novos Monstros; Teleportes; Dota Evento; WoE Evento; Zombie Event; Quests; Vip System; Trainers; Servidor 100% estável; Imagens: Download Server: Mediafire Mega Scan Server; Virustotal Créditos Fercho Gato Don Ramon OTX Team Outros SmoOkeR
  16. Casino Elfbot

    pedro2211 reagiu a s2dieginho por uma resposta no tópico

    1 ponto
    Manow o scrip é bom, mais tem alguns bug e erros quem podem ser adicionados para ser melhor, pelo menos aqui no meu pc é oque mostra. 1° quando o player joga outra coisa alem de dinheiro como um item, ao lado ou em cima do dp ele nao remove o item. 2°ele não esta rodando o dado. 3°ele nao esta usando a liry como enfeite. 4°não sei se quando o player ganha ele joga o dinheiro, porque ele não gira o dado para saber se ganha ou vence sempre o cara perde. 5° queria se possivel adicionar quando o player passa 60 segundos e nao jogar ele manda uma msg dizendo por ex:. já que você nao esta enteresado em jogar por favor de a vez a outro. obrigado. então mano e isso ai tenta resolver esses erros ai pramim para que eu possa usar se de certo ta reputado vlw ae responde logo ae.
  17. Free for use!

    DiigooMix reagiu a 3visan por uma resposta no tópico

    1 ponto
    Sua agua ficou muito bacana Nechros, Uma espada bem diferente que fiz a alguns dias .-.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo