Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/24/12 em todas áreas
-
Olá XTibianos, hoje trazendo todos os meus trabalhos. Casa de NPC para task Cave para task da imagem acima Atividade da escolinha Acampamento Elf Escolinha do TIo Anyur Acampamento nomad's Último Mapa Taberna Espero que gostem Tópico atualizado sempre2 pontos
-
continuação, quero comentários http://3.imgland.net/rOALpb.png2 pontos
-
Baiak Galaxy By Mayron Com Donate
Alvarovictor reagiu a Mayronfla por um tópico no fórum
Eae Galera Vim Aki hj postar meu 2º tópico Estava sem nada pa fazer e resolvi editar o baiak original by Baiak Lula. Oq Fiz? Novos Itens set de paladin, knight e mages. Donate e Itens Vip Com efeitos e muito bom. Eu Add system de montaria por item: Montaria Visual do templo totalmente modificado todo ice e muito bom para pvp. Eu add comandos: !bless, !aol. Puis tbm coandos para ver as guilds do server: !glist >> vc ve as guilds do ot !glist nome da guild exemplo (!glist The Killers) ve os membros desta guild xD. Bugs Totalmente Removidos... Nova Quest na area vip dando 6kk. Nova Arena Para pvp Area de Eventos Treiners novos muito melhores n Morrem Bichos n dropam nenhum item bom do ot. Potions Melhoradas healando bem mais É isso ae gente vamos as fotos Templo Teleports Treiner Novo Staffs Montaria Area Donate Evento Arena Cidade Vip Bom Galerinha é isso ae espero q gostem do Meu Baiak. Todos os bugs q acharem falem aki. Quem n kiser os itens galaxy e kiserem ele no npc avisa ae xD. Download DO Mapa Pelo 4 Shared: http://www.4shared.com/rar/swVLk7Ys/baiak_Galaxy.html? Pode Baixar Tranquilo n tem virus. Me Desculpem mas não sei fazer scan quem puder postar ae agradeço! Comentem ae pois este foi meu 2º Mapa aki no xtibia. Espero q vcs gostem. Conta do GOD: god/god Créditos: Baiak Lula Pelo Mapa 10% e [ADM] Mayron (EU) Pelo Novo Servidor e Scripts 90% Obrigado a todos.1 ponto -
[Advanced Reset System 2.0]
SkyTheKing reagiu a MarcelloMendes por um tópico no fórum
-= Advanced Reset System 2.0 =- By: MarcelloMkez Fala galerinha, to aqui dinovo , mas agora e com a versão 2.0 do meu 'Advanced Reset System'. E como prometido, trazendo algumas novidades: _________________________________________________________________________________________________________________________________ - Resets agora armazenados diretamente na 'DataBase', acabando com o sistema de Storages, e com o problema dos resets atrasados no look; - Opções para Abilitar e Desabilitar Condições como por exemplo: 'look = true' , [true,false] configurando como achar melhor; - E agora '[sTAGES]', para 'premmy' (Premium Account) e 'free' (Free Account); - Instala o System e cria a Tabela de Resets com o comando "/installreset"; OBS: Sistema testado em 'Mysql' não tenho certeza si funciona em 'sql'; e Testando em: 8.50 (TFS 0.3.6) e 8.6 (TFS 0.4.0) __________________________________________________________________________________________________________________________________ Vá em data/Talkactions, e crie um arquivo .lua e nomeie para advancedResetSystem.lua e Adicione Isso: --[[ <(Advanced Reset System 2.0)> Autor: MarcelloMkez. Contato: (marcello_dirt@hotmail.com) Versão: 2.0 Testado em: 8.50 e 8.60 TFS: 0.3.6 and 0.4.0 Fórum: http://www.xtibia.com/forum/topic/142463-advanced-reset-system-20/ -=[Características]=- ~( Versão 2.0 )~ - Resets agora Armazenados na DataBase; (Sem Valor de Storage) - Instala o System e cria a Tabela de Resets com o comando "/installreset"; - Resets no Look do jogador ex: 22:10 You see Marcello [Reset 2] (Level 8). He is an elder druid.; - [sTAGES] para "Premium Account" e "Free Account"; ]] --=[Functions]=-- -- installReset()' [instala o Sistema.] -- tableResetInstall()' [Verifica Se o Sistema ja foi instaladao.] -- nowReseting()' [Verifica, retorna o erro ou reseta.] -- getPlayerReset(cid)' [Pega numero de resets do player.] -- checLevelStageReset(cid)' [Verifica o Level para Resetar.] -- newReset(cid)' [Verifica todas as Condições de Reset.] -- addValue(value)' [Adiciona numero de resets.] --=[Comandos de Jogadores]=-- -- "/installreset" -- Só será usado uma vez, para instalar o sistema. -- "!resetar" -- Para Resetar. function onSay(cid, words, param) if words =="!resetar" then --[ Condições de Reset ] -- local coNdConf = { needPz = true, -- Precisa estar em Pz pra resetar? [true, false] needPa = false, -- Precisa ser Premium Account Pra resetar? [true, false] withe = false, -- Players com Pk Withe podem resetar? [true, false] red = false, -- Players com Pk Red pode resetar? [true, false] battle = false, -- Players precisão estar sem battle pra resetar? [true, false] teleport = true, -- Teleportar Player para o templo após resetar? [true, false] look = false, -- Aparecer Resets no Look do Player? [true, false] pid = getPlayerGUID(cid), -- Não Mexer. --[ Configurações do Reset ] -- resetConf = { Level = 350, -- Level Necessário para Resetar. [Valor] backLvl = 8, -- Level que voltará após o Reset. [Valor] time = 5, -- Tempo para o Player deslogar ao resetar, em segundos. [Valor] }, } --[[>> STAGES <<]]-- x=true;X=true -- Não Mexer. local stage = {Abilitar = {x}, Desabilitar = {}, --<< Abilitar Stages?? >>-- [{x};{}] -- [RESETS] | [PREMMY] | [FREE] stage1= {resets= 4, premmy= 330, free= 350}, stage2= {resets= 9, premmy= 340, free= 355}, -- EXPLICANDO e Configurando stages. (Se estiver Abilitado [Abilitar = {x}]) stage3= {resets= 14, premmy= 355, free= 360}, -- resets = Número de resets para o Stage; stage4= {resets= 19, premmy= 360, free= 365}, -- premmy = Level necessário para Premium Accounts; stage5= {resets= 24, premmy= 370, free= 380}, -- free = Level necessário para Free Accounts; stage6= {resets= 29, premmy= 380, free= 390}, -- Coloque em Ordem... stage7= {resets= 35, premmy= 400, free= 410}, -- [OBS: MARQUE UM "X" PARA ABILITAR OU DESABILITAR OS STAGES] stage8= {resets= 40, premmy= 410, free= 440}, -- EX: para desabilitar mude: Abilitar = {}, Desabilitar = {x} stage9= {resets= 45, premmy= 450, free= 450}, stage10={resets= 50, premmy= 465, free= 465}, } --[[>> FIM STAGES <<]]-- --=[Pega Valor de Resets]=-- function getPlayerReset(cid) local qr = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";") rss = qr:getDataInt("reset", coNdConf.pid) if rss < 0 then rss = 0 end return rss end local success = " ~~ Sucesso! ~~ \nVocê tem agora "..(getPlayerReset(cid)+1).." resets. \nVocê será deslogado em "..coNdConf.resetConf.time.." segundos." ;err = doPlayerSendTextMessage local qrt = db.getResult("SELECT `reset` FROM `players` WHERE `id`= "..coNdConf.pid..";");rss_db = qrt:getDataInt("reset", coNdConf.pid) local lvl_query = "UPDATE `players` SET `level` = "..(coNdConf.resetConf.backLvl)..", `experience` = 0 WHERE `id`= " .. coNdConf.pid .. ";" local reset_query = "UPDATE `players` SET `reset` = "..(getPlayerReset(cid)+(1)).." WHERE `id`= " .. coNdConf.pid .. ";" local nolook_query = "UPDATE `players` SET `description` = '' WHERE `players`.`id`= " .. coNdConf.pid .. ";" local look_query = "UPDATE `players` SET `description` = ' [Reset "..(getPlayerReset(cid)+(1)).."]' WHERE `players`.`id`= " .. coNdConf.pid .. ";" --=[Reseta]=-- function addValue(value) if coNdConf.look == false then doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(nolook_query) else doRemoveCreature(cid) db.executeQuery(lvl_query);db.executeQuery(reset_query);db.executeQuery(look_query) return LUA_NO_ERROR end end function nowReseting() if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return true end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) addEvent(addValue, coNdConf.resetConf.time*1000, value) return true end end --[sTAGES Nao mexer em nada.]-- function checkLevelStageReset(cid) local stages = { {resets= stage.stage1.resets, premmy= stage.stage1.premmy, free= stage.stage1.free}, {resets= stage.stage2.resets, premmy= stage.stage2.premmy, free= stage.stage2.free}, {resets= stage.stage3.resets, premmy= stage.stage3.premmy, free= stage.stage3.free}, {resets= stage.stage4.resets, premmy= stage.stage4.premmy, free= stage.stage4.free}, {resets= stage.stage5.resets, premmy= stage.stage5.premmy, free= stage.stage5.free}, {resets= stage.stage6.resets, premmy= stage.stage6.premmy, free= stage.stage6.free}, {resets= stage.stage7.resets, premmy= stage.stage7.premmy, free= stage.stage7.free}, {resets= stage.stage8.resets, premmy= stage.stage8.premmy, free= stage.stage8.free}, {resets= stage.stage9.resets, premmy= stage.stage9.premmy, free= stage.stage9.free}, {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, } local resets = getPlayerReset(cid) for i, tab in ipairs(stages) do if resets <= tab.resets then coNdConf.resetConf.Level = isPremium(cid) and tab.premmy or tab.free break end end if (getPlayerLevel(cid) < coNdConf.resetConf.Level) then err(cid, MESSAGE_STATUS_CONSOLE_BLUE, "- Level Necessário Para o Reset ["..coNdConf.resetConf.Level.."]. Faltam "..coNdConf.resetConf.Level-getPlayerLevel(cid).." level's para você Resetar. -") return TRUE end if getPlayerLevel(cid) >= coNdConf.resetConf.Level and (coNdConf.teleport == false) then doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) else doPlayerPopupFYI(cid, success) addEvent(addValue, coNdConf.resetConf.time*1000, value) addEvent(doTeleportThing, coNdConf.resetConf.time*900, cid, getTownTemplePosition(getPlayerTown(cid))) return true end end function newReset(cid) if(coNdConf.needPz == true) and (getTilePzInfo(getCreaturePosition(cid)) == LUA_ERROR) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar em Protection Zone Para Resetar. -") return TRUE end if(coNdConf.needPa == true) and not isPremium(cid) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa ser Premium Account para Resetar. -") return TRUE end if(coNdConf.withe == false) and (getCreatureSkullType(cid) == 3) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Withe. -") return TRUE end if(coNdConf.red == false) and (getCreatureSkullType(cid) == 4) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você não pode resetar em condições de PK Red. -") return TRUE end if(coNdConf.battle == true) and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then err(cid,MESSAGE_STATUS_CONSOLE_BLUE,"- Você Precisa estar sem Battle para Resetar. -") return TRUE end local xy = {true,false} table.insert(stage.Abilitar, false) table.insert(stage.Desabilitar, false) if stage.Abilitar[1] == xy[1] and stage.Desabilitar[1] == xy[2] then checkLevelStageReset(cid) elseif stage.Abilitar[1] == xy[2] and stage.Desabilitar[1] == xy[1] then nowReseting() else doPlayerPopupFYI(cid, "LUA_ERROR; Configure corretamente o Sistema de STAGES!") end return true end function tableResetInstall() print(not rss_db and LUA_ERROR or "Tabela de Resets: Instalada ... [success] ") addEvent(newReset, 1000, cid) return false end if tableResetInstall() then end end --=[install System]=-- function installReset() if db.executeQuery("ALTER TABLE `players` ADD reset INT(11) NOT NULL DEFAULT 0;") then print("[MarcelloMkez] -= Advanced Reset System 2.0 por DataBase =- Instalado com sucesso!") return TRUE end print('[Advanced Reset System/MarcelloMkez] Não foi possível instalar o Sistema.') return FALSE end local tt = { "Preparando Instalação...", "Instalando: TableReset Db...", "Instalando: getPlayerReset()...", "Instalando: addValue()...", "Instalando: checkLevelStageReset()...", "Instalando: newReset() and nowReseting()...", "Finalizando Instalação...", "...", success = { "Iniciando...", "function: TableReset Db... [success]", "function: getPlayerReset()... [success]", "function: addValue(value)... [success]", "function: checkLevelStageReset()... [success]", "function: newReset() and nowReseting()... [success]", "Fim da Instalação. ", "by: ~~ MarcelloMkez ~~ \nContato: marcello_dirt@hotmail.com", inst = {"MarcelloMkez","Advanced Reset System 2.0 por DataBase" }, }, } if words == "/installreset" and getPlayerAccess(cid) >= 3 then function install() if installReset() then print(""..tt.success[7].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,""..tt.success[8].."") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] -="..tt.success.inst[2].."=- Instalado com sucesso!") else print("["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "["..tt.success.inst[1].."] FALHA NA INSTALAÇÃO! [O sistema ja foi instalado].") end return 1 end function concl(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[7].."") print(""..tt[8].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[7].."") doPlayerSendTextMessage(cid, typetx,""..tt[8].."") addEvent(install, 1000,cid) end function finall(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[6].."") print(""..tt[7].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[6].."") doPlayerSendTextMessage(cid, typetx,""..tt[7].."") addEvent(concl, 3000,cid) end function installDd(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[5].."") print(""..tt[6].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[5].."") doPlayerSendTextMessage(cid, typetx,""..tt[6].."") addEvent(finall, 1000,cid) end function installCc(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[4].."") print(""..tt[5].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[4].."") doPlayerSendTextMessage(cid, typetx,""..tt[5].."") addEvent(installDd, 1000,cid) end function installBb(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[3].."") print(""..tt[4].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[3].."") doPlayerSendTextMessage(cid, typetx,""..tt[4].."") addEvent(installCc, 1000,cid) end function installAa(cid) local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[2].."") print(""..tt[3].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[2].."") doPlayerSendTextMessage(cid, typetx,""..tt[3].."") addEvent(installBb, 1000,cid) end function toInstall() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt.success[1].."") print(""..tt[2].."") doPlayerSendTextMessage(cid, typetx,""..tt.success[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[2].."") addEvent(installAa, 1000,cid) end function preparation() local typetx = MESSAGE_STATUS_CONSOLE_BLUE print(""..tt[1].."") doPlayerSendTextMessage(cid, typetx,""..tt[1].."") addEvent(toInstall, 3000,cid) end if preparation() then end end return 1 end --=[by: MarcelloMkez]=-- E em Talkactions.xml adicione isso: <talkaction words="!resetar;/installreset" event="script" value="advancedResetSystem.lua"/> Instalando o Sistema - Após adicionar o script em TalkActions e em Talkactions.xml Use o comando "/installreset" em jogo, OBS: o System so pode ser Instalado pelo GOD! A a instalação será mostrada no default, e no Distro! Apos isso, Sistema Instalado! 'Explicando stages: Stage 1: stage1= {resets= 4, premmy= 330, free= 350}, resets: ---- Quantidade de Resets para o stage. premmy: ---- Level que Premmium Accounts podera Resetar. (no caso ate 4 resets) free: ------ Level que Free Accounts podera Resetar. (no caso ate 4 resets) --- Bom como vcs pode ver, vai ate o 'Stage 10': stage10={resets= 50, premmy= 465, free= 465}, --- Intao irei explicar, caso queiram adicionar mais stages... Use 'Ctrl + G' com o script aberto, e digite 71, e aperte enter, logo ira direcionar para linha 71 que no caso é esta: stage10={resets= 50, premmy= 465, free= 465}, - Abaixo dela adicione uma exatamente igual, so modificando o numero do stage ficando assim: stage10={resets= 50, premmy= 465, free= 465}, stage11={resets= 55, premmy= 465, free= 465}, Agora na linha 134 vai ta esta: {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, Voce faz a mesma coisa adicionando embaixo da linha 134 porem mudando os numeros, ficando assim: {resets=stage.stage10.resets, premmy=stage.stage10.premmy, free=stage.stage10.free}, {resets=stage.stage11.resets, premmy=stage.stage11.premmy, free=stage.stage11.free}, Pronto, Ja esta adicionado o 'Stage 11' xD, Assim voce pode adicionar quantos stages quiser, basta configurar corretamente... Mais duvidas postem aqui. Aqui termino o post! espero que gostem, grato: ~~MarcelloMkez~~1 ponto -
Bom alguns duvidaram, mais ta ai, flw ai gustavo :* OBS: SE ALGUEM FALAR QUE NÃO É O MESMO DA OT-SOFT É SÓ ABRIR NO RME E DAR UMA OLHADINHA NO TEMPLO E COMPRAR COM A DO SITE. SERVIDOR RODANDO EM MYSQL, NÃO DOU SUPORTE NELE. #Novidades: -Sistema de cooldown das magias 100% funcionando (SEM BUG DO COMBO). -Mount System 100%. -Taming System 97%. -Novos items 9.60. -Market System 100%. -Monstros adicionados. OBS*Este Mapa Possui Gray Island e Quirefang (100% Sem Bugs) #O que possui? -Peso do mapa: 140MB. - War of Emperium (Evento) - Battlefield (Evento) - Raids Automáticas (Script) - Zombie (Evento) - Database completa + Shop Pronto (DB FULL) - Wrath of Emperor com todas as missões (Mapa-quest) - Zao e New Banuta Piece (Mapa) - TFS 0.4 (Distro: Anti-Divulgação, War System, No-otbm check e sem "compite to 64bits") - War System com escudos (Script) - Mais de 30 Ilhas VIPS (Exclusivas OtSoft) - 15+ items VIPS (Script) - 9 cidades VIPS (Mapa) Download servidor completo Download DataBase Scan Pasta Data : https://www.virustot...sis/1349664734/ Scan Dlls + Distro : https://www.virustot...sis/1349665264/ Credito: OTmaker e ot-soft Anne Prevails!1 ponto
-
Eu e meu companheiro de mapping Left4dead, resolvemos abrir uma escolinha de mapping e estas são as apostilas que nós já elaboramos e gostariamos de compartilhar com vocês do Ek's. A. Tutoriais para iniciantes Equipamentos para mappear (By: vital900) Aprendendo a usar o RME (By: left) Nature Básico (By: vital900) Bordas (By: left) Telhados (by: left) B. Apostilas da escolinha para DL (nível intermediário): 1. Nature. (By: left) 2. Construções. Parte 1 (By: vital900) 3. Construções. Parte 2 (By: vital900) 4. Construções. Parte 3 (By: vital900) 5. Contruindo ruas. Parte 1 (By: left) 6. Construindo piramides. Parte 1 (By: vital900) Lembrando que em algumas destas nós usamos o material do xtibia. Caso a aceitação seja boa, irei sempre que possível atualizar este tópico1 ponto
-
[ Tutorial ] Area Vip ( Premmium Tile )
jacklecler reagiu a lelelord por um tópico no fórum
Primeiro tutorial meu Premmium Tile 1º - Vá a pasta data\movements\scripts, crie um arquivo que chame premium tile.lua Insira: Laranja = Lugar para onde o player sera teletransportado se ele nao for premmium ( Mude para a possição, que vc quiser colocar X,Y,Z) Azul Escuro = Mensagem que aparecerá para o player caso ele nao seja premmium Vermelho = Unique ID do piso ( Inventa qual quer um do 1000 ao 65324 ) Se ele for premmium ele passa de boa! 2º - Vá em movements.xml Insira: Vermelho = Unique ID do piso ( Coloque o mesmo da que vc coloco no script de cima ) Fiz o mais simples possivel pra todo mundo entender! Galera não esqueca o REP+ Porfavor!1 ponto -
[Atualizado 04/11] Escolinha Do Left & Vital.
deathstar007 reagiu a vital900 por um tópico no fórum
Salve, salve rapaziada! Venho propor aos novatos, a entrar na escolinha de mapping. Esta ideia a muito fora elaborada, mas não colocada em prática. A ideia é simples, uma equipe de 'tutores' ensinarão a quem se submeter á aulas diárias, a mappear de uma forma mais bem detalhada. Quem quiser ser aluno desta escola diferente, basta se manifestar neste tópico. A. Equipe de professores: Vital900 Left4Dead Quer se tornar um aluno? basta você postar o seu MSN. B. Tutoriais para iniciantes Equipamentos para mappear (By: vital900) Aprendendo a usar o RME (By: left) Nature Básico (By: vital900) Bordas (By: left) Telhados (by: left) C. Apostilas da escolinha para DL (nível intermediário): 1. Nature. (By: left) 2. Construções. Parte 1 (By: vital900) 3. Construções. Parte 2 (By: vital900) 4. Construções. Parte 3 (By: vital900) 5. Construindo ruas. Parte 1 (By: left) 6. Construindo piramides. Parte 1 (By: vital900) Lembrando que em algumas destas nós usamos o material do xtibia. Deseja ver o trabalho de nossos alunos?? Deseja acompanhar o campeonato??1 ponto -
Sprite Editor
TcharlesGM666 reagiu a EdMignari por um tópico no fórum
1 ponto -
Regicide Event
mkbrabsolute reagiu a LuckOake por um tópico no fórum
Olá galere do mal. Trouxe para vocês um sistema inovador, que muitos vão gostar. Do que se trata? Quem já jogou Age of Empires 2 Age of Kings e já batalhou no modo Regicídio deve saber mais ou menos como funciona. Explicação: São dois times. Um tem um rei e deve protegê-lo, o outro deve matar esse rei. O primeiro time (Protectors) deve matar todos do outro time para vencer, e o segundo time (Killers) devem matar o rei, como já dito antes. (Bônus) Função exclusiva: Se você for um Protector e dar Attack no King, ele passa a seguir você até você dar Attack nele novamente. Script: Instalando: Para controlar o evento, use os comandos: /regicide open -- Para abrir /regicide force -- Para iniciar o evento mesmo se não tiver o número maximo de players /regicide reset -- Para fechar o evento, caso dê algum problema. Caso alguém queira disponibilizar um vídeo ou o download de uma área (de preferência, de um castelo grande que incentive a war), por favor, faça isso, será retribuído. Créditos para Demonbholder, Skymagnum e Vodkart, que me ajudaram em algumas funções.1 ponto -
Eaaew Xtibianos!! Finalmente mapa foi atualizado, desculpas pelo atráso, mas meu pc deu problems o/. Oque mudou nessa versão? *Houses Ativas 98% [se alguma n estiver funcionando,avise-me] *Subsolos *Novas Hunts *Alguns Respaws *Bugs retirados *Alguns pontos do mapa, foram totalmente editados *Imagem do mapa Geral: *Download 2.0 *Scan Mapa 2.0 Gostou? Rep+ ou clique na seta para cima de cor verde. *Lembre-se poste erros em geral para que eu possa arrumar nas próximas versões e também farei novas ilhas e o Mapa da região Johto.1 ponto
-
~NARUTO OPEN WINGS~ Features: Map RPG. organizações.(akatsuki, anbu, sannin, shippuden, etc...) 15 vocações.(Naruto, Sasuke, Sakura, Gaara, Temari, Kankuro, Neji, Lee, Tenten, Haku, Kimimaro, Kurosuki, Kiba, Hinata & Shino) Muitos Jutsus. 3 Villas.(konoha, suna y mist) Sistema MySql Apenas. Y muito mais. Descargas: Creditos: Tfs Team ~ 50% Uffox Otfusion ~ 35% Wono-Cj & OtsBR ~ 15% Qualquer Duvida o resolvido em este assunto. ^^1 ponto
-
Retirando Erros Do Server
alisson1911 reagiu a SkyDangerous por um tópico no fórum
Tutorial:Retirando erros comuns na hora de abrir seu OTSERV Nivél do Tutorial: Super Facil Benefícios: Com a retirada dos erros , seu OTSERV abrirá mais rapido e concerteza livre de lags ou seja seu servidor rodará perferitamente ------------------------------------------------------------------------------ 1º O primeiro BUG comum em todos os otserv é o duplicate Uniqueid , ou seja existe mais de um ID no mapa. Imagem do ERRO: Resolvendo: ------------------------------------------------------------------------------ 2º O segundo BUG comum é o tão famoso Connot Find "Monster" , o erro acontece pelo simples fato de existir o MONSTRO no mapa Porém não existir na pasta MONSTERS do seu OTSERV Resolvendo: 1º OPÇÃO. Considera a mais chata de todas 2 OPÇÃO. Para os Preguiçosos 3º OPÇÃO. Complexa e chata 4º OPÇÃO. Utilizando a 3º Opção ------------------------------------------------------------------------------ Em Breve Mais Tutoriais Retirando os Bugs Tem BUG no seu Executavél , mande que eu faço um Tutorial Gostou dos Tutoriais? Não Custa nada Reputar1 ponto -
Olá galera, hoje vou postar mais um script para pokemon dash advanced. Bem legal e acho que também é um dos mais procurados... Vamos a ele. Nome: Duel System por Action O que faz? Faz com que dois players duelem com limites de pokemons, escolhido no inicio das configurações da batalha. Primeiro vamos à actions/scripts e criaremos um arquivo chamado duelSystem.lua e dentro vamos colar o código abaixo: Agora vamos a tag, em actions.XML cole a seguinte tag: <action itemid="id do item que vai o player vai usar para o duel" event="script" value="duelSystem.lua"/> Pronto. Vamos a pasta xml/channels.xml e crie as seguintes janelas: <channel id="id decorrente da sua channel" name="1 Pokemon"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="2 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="3 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="4 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="5 Pokemons"> <vocation id="51"/> </channel> <channel id=" id decorrente da sua channel " name="6 Pokemons"> <vocation id="51"/> </channel> Depois disso, não mude mais nada. Vamos agora em vocations.xml e vamos colar a seguinte tag dentro: <vocation id="51" name="Duel" description="pokemon trainer" needpremium="0" gaincap="0" gainhp="55" gainmana="0" gainhpticks="0" gainhpamount="0" gainmanaticks="0" gainmanaamount="0" manamultiplier="1.1" attackspeed="-1" soulmax="251" gainsoulticks="-1" fromvoc="1" lessloss="0"> <formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/> <skill fist="2" club="2" sword="2" axe="2" distance="2" shielding="2" fishing="2" experience="1.1"/> </vocation> Obs: Não mude nada nela... Feito isso, vamos a pasta creaturescripts/scripts e vamos criar um arquivo chamado duelSystemChannel.lua e colaremos o código a seguir dentro: Agora vamos colocar duas tags, uma em login.lua e a outra em creaturescripts.xml: CreatureScript.xml: <event type="joinchannel" name="DuelSystemChannel" event="script" value="duelSystemChannel.lua"/> Login.lua registerCreatureEvent(cid, "DuelSystemChannel") Feito isso, vamos a talkactions/scripts e criaremos um arquivo chamado acceptDuel.lua e dentro cole o código abaixo: Agora vamos á talkactions.XML e colaremos as tag a seguir: <talkaction words="yes" event="script" value="duel.lua"/> <talkaction words="sim" event="script" value="duel.lua"/> Agora vamos em lib/ e criaremos um arquivo chamado duelLibSystem.lua e colaremos o seguinte código dentro: Vamos para actions/scripts/goback.lua e vamos procurar por está linha: if item.itemid == usando then Abaixo disso cole isso: doBackPokeballsInDuel(cid) Aindan no mesmo script procure por: elseif item.itemid == pokeballs[btype].on then E abaixo dele cole isso: checkPokeballsInDuel(cid) Vamos agora em creaturescripts/scripts/goback.lua e antes do utimo apague tudo e cole isto dentro: Obs: O script falta duas funções para funcionar perfeitamente. A primeira é para não deixar o player usar o item em cima dele mesmo. A segunda e para não deixar o player deslogar enquanto está no duel. Tentei e tentei mas não consegui... Caso alguém possa ajudar fico muito grato. Como funciona? Você da use em cima do player que quer batalhar, escolhe quantos pokemons querem usar. O outro player fala (“yes” ou “sim”) e começam a duelar. Eu deixei uma função para deixar um player attackar o outro se ele estiver sem pokemon. Porem não perdera nada se morrer. É isso galera espero que gostem. Lembrando vou atualizar este sistema para melhora-lo. Só deixei ele para teste. Caso gostem termino ele.1 ponto
-
--Entrevista com Alisson (Alissow)-- VictorFT: Qual Seu nome? Alisson: Alisson Bispo VictorFT: Quantos anos você tem? 18 né? Alisson: Sim VictorFT: Quando você começou a Jogar Tibia? Alisson:Essa desgraça entrou na minha vida faz muito tempo , na versão 7.6 (eu acho) , quando começei a jogar perdi contato com amigos, familia.Emagreci vários quilos , mas hoje o que importa é que hoje estou curado. VictorFT: Ok então... Porque decidiu ser mapper? Sabendo que você é muito respeitado e um excelente mapper Alisson: Um dia, conheci o otserver.Não entedia, como aquele mundo era diferente do que,era um yurots 7.92,depois descobri que os usuários eram quem faziam seus próprios mapas e comecei támbem VictorFT: Bacana (: você sentiu diferença ? Você achava dificil fazer os trabalhos? Alisson: UHAUHAUHAUH eu era horrivel,vai em qualquer fórum, e veja o tópico do pior mapper de lá! VictorFT: E você tentou desistir ? Ou sabia que algum dia ia conseguir ser oque você é hoje um grande Mapper. Alisson: Desisti muitas vezes, ficava irritado, algumas vezes mapeava por pura falta do que fazer, antes de pegar o gosto. VictorFT: Porque você criou o mapa Alissow? Alisson: Eu não criei ele totalmente ele original era um Dorion, feito pelo Xedegux, na versão 7.8 se não me engano, daí eu peguei, aprimorei, adicionei e editei a maioria das cidades, pouca coisa lá ainda é original. VictorFT: Você sabia que , Alissow ja foi bastante usado para otserver's , mas agora não é muito usado, oque você acha com isso? Alisson: Quando lançamos, acho que fez bastante sucesso por ser um mapa diferente e bem feito, diferente dos yurots (não que o yurots não seja bem feito) daquela época, com teleports e as hunts todas iguais.agora, acho que o pessoal cansou. paramos de atualizar acho que já a mais de 2 anos. VictorFT: Mesmo sabendo que vocês ficaram meio parado,como se sente voltando a Editar esse belo mapa, reformulando tudo (está ficando fantástico).Como você Se sente? Alisson: me sinto entediado UHAHUAHUAHUA . Ultimamente não tenho tido o mesmo prazer pra mapear do que antes, por isso penso em parar. acho que vou lançar só mais essa versão e, quem sabe, passar a bola pra alguém continuar o trabalho. VictorFT: Oque você acha do Alissow 5.0? Desse novo alissow. Alisson: é o melhor, com certeza o comedinha faz um ótimo trabalho mantendo sempre atualizado e adicionando novos recursos tem muita coisa que vocês nunca viram num servidor. VictorFT: Que tipo de coisas? XD Alisson: ahh, não quero estragar a surpresa! VictorFT: Ok então, vamos para proxima pergunta. Alisson: VictorFT: Como ja te mostrei trabalhos de pessoas que utilizam o mapa Alissow , oque você acha que fizeram com seu mapa?Uma Boa Escolha ou não? Editaram bem ou não? Qual sua opinião ? Alisson: não querendo ser filhadaputa mas já sendo todos os que eu vi ficaram uma porcaria mas não tem problema, a gente libera o servidor pra qualquer um fazer o que quiser esse é o objetivo do opensource. VictorFT: Só mais o meu que deu 60 players em 1 dia IAEUHAEIU. Continuando. Você demorou quanto tempo para mappear como hoje? Qual sua opinião sobre os mapas atuais? Alisson: Quanto ao tempo, foi desde a versão 7.92, não sei quantos anos tem, sobre os mapas, na ultima vez que vi nenhum me agradou. eram todos yurots cheios de portais e hunts iguais.Saudades da época do thyrania, aquele sim foi o melhor mapa já criado. VictorFT: Saindo do rumo de Map , oque você mais gosta de fazer? Alisson: gosto de fazer coisas nerds em geral. computadores, séries, jogos (jogos de verdade, não tibia UHAHUAUHA), filmes, livros e minha outra ocupação favorita são os treinos de musculação. VictorFT: Qual Jogo você joga , quais séries assite , que estilo de filme gosta e que estilo ou livro gosta de ler? Alisson: jogo todos os lançamentos pra PC, atualmente jogando Dishonored . Minhas séries preferidas são Battlestar Galacitca, Six feet under, Breaking Bad, Dexter e The wire. Não tenho preferencia quanto a filme, desde que seja bom. Pode ser desde romântico aos totalmente testosterona, o mesmo vale pra livros VictorFT: Ultima pergunta. Oque você acha do Xtibia?Seja bem esclarecedor porfavor . Oque acha da equipe , do estilo do site e tals. Acha que eles fazem um bom trabalho , ou poderia melhorar? Alisson: Po, o xtibia é minha casa, mas ultimamente não tenho acessado muito por lá não posso opinar sobre a equipe atual. VictorFT: Obrigadão Alissow , você é o melhor ! Valeu mesmo por ter feito essa entrevista (: Brigado !! Alisson: Não sou o melhor . Mas eu que agradeço, nunca achei que fosse tão importante a ponto de ser entrevistado UHAUHAUHA VictorFT: Você é o melhor pra mim (: jogo só ot alissow mas agora to parado.Me inspirei em você desdo 8.42 Alisson: VictorFT: Começei a mappear porque adorei o mapa Alissow,adorei o seu estilo , você é muito gente boa,nunca achei que iria falar com você XD Parabéns pelos mapas aguardo esse novo Alissow. Alisson: Então terminou aqui entrevista, Muito Obrigado Alisson devo os Parabéns a toda equipe que está montando este novo Projeto, todos nos aguardamos um Alissow Inovado.Mas porfavor Alisson sei que é cansativo Mappear mas não desista e nem dê o seu cargo no mapa Alissow para ninguém , porque você é o melhor pra mim. Não desista , continua assim você é o MELHOR!Abração Amigão. Entrevista com: Alisson Bispo (Alissow) Entrevistador: Victor Fernandes Torres (VictorFT) Obrigado a Todos. Att. Victor Foto do Alisson (Alissow) PS:Não rebaixe seu mapa a nenhum , outros são avançados você pode estar aprendendo ,se leu a entrevista o Alisson tambem como disse teve dificuldades quando começou.Pessoal que mapeia a mais tempo ajude os outros criando tutorial , vamo muda esse mundo dos Mapper's. Ajude quem está começando ,pois mesmo quem está começando pode ser ruim , mas no futuro eu sei que pode ficar bom. Não Sabe onde acompanhar as Atualizações do novo Alissow? Acesse já : http://sotserv.blogspot.com.br/ "Mesmo o Sol com toda sua grandeza se põe para a Lua ter uma chance de brilhar"1 ponto
-
[Encerrado] Como Funcionar Esse Negocio De Dedicado?como Faço Para Usar Ele Para Deixar Meu Poketibia On 24 Hrs?
josegremista reagiu a zerefshirou por um tópico no fórum
Como funciona os Dedicados? É tipo um "pc alugado" Como faço para utilizar ele para deixar meu poketibia on 24 horas por dia ? Se paga por ele e talz, ai vao disponibilizar o IP do dedicado e talz, ai você usa um programa la para acessar ele e talz, e la tu baixa serve edita, faz oq quiser Um site para comprar o dedicado bom que tenha menos possivel lag? Sei não Como usar ele ? Escrito ali encima e.e Para o que ele server completamente só para deixar server on ? É como se fosse um pc normal. Obs: Dedicado é oq eu disse, é como se fosse um pc normal, só que eles são 24h por dia e talz, tem q pagar e você pode escolher os componentes ou algo assim, é oque eu sei, se gostou NÃO de rep+1 ponto -
http://pt.wikipedia.org/wiki/Paradoxo_do_aniversário mais de 85% provavelmente1 ponto
-
[Tópico Oficial] Dúvidas Escolares
Skymagnum reagiu a Gabriel Couto por um tópico no fórum
Acho que é 1/12(elevado a 40) =)1 ponto -
Erro No Website Woe
Khullendo reagiu a Piabeta Kun por uma questão
execute essa queries e veja se resolve! CREATE TABLE IF NOT EXISTS `tmpwoe` ( `started` int(11) NOT NULL, `guild` int(11) NOT NULL, `breaker` int(111) NOT NULL, `time` int(1) NOT NULL, `indexer` int(11) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; CREATE TABLE IF NOT EXISTS `woe` ( `id` int(11) NOT NULL AUTO_INCREMENT, `started` int(11) NOT NULL, `guild` int(11) NOT NULL, `breaker` int(11) NOT NULL, `time` int(11) NOT NULL, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; Errado ele não achou as tabelas, eu peguei as tabelas da minha db que são relacionada a woe!1 ponto -
[Tópico Oficial] Dúvidas Escolares
masquente reagiu a DiogoTemporario por um tópico no fórum
Cara, se eu tentar de novo amanhã talvez até resolva, mas depois de 1h tentando, cansei... Aqui umas infos a mais que podem te ajudar... logk(xy)= logk(x)+logk(y)= 49, logk(x)=49-logk(y) logk(x/y)= logk(x)-logk(z)= 44, logk(x)=44+logk(z) Divide as equações 1=[49-logk(y)]/[44+logk(z)] 44+logk(z)=49-logk(y) logk(z)=5-logk(y) 5=logk(zy), pois logk(z)=logk(z)+logk(y)-logk(y) Tu pode então montar os sistemas: logk(x)=49-logk(y) logk(x)=44+logk(z) logk(y)=5-logk(z) logk(y)=49-logk(x) logk(z)=5-logk(y) logk(z)=logk(x)-44 logk(xy)=49 logk(x/z)=44 logk(zy)=5 E, por consequência: logk(x)+logk(y)=49 logk(x)-logk(z)=44 logk(z)+logk(y)=51 ponto -
[Encerrado] Erro , Vocação Mudando Sosinho !?
guisfe reagiu a Yan Oliveira por um tópico no fórum
1º Poste seu Vocation.xml. 2º Aparece algum erro no Forgotten durante a mudança?1 ponto -
[Encerrado] Como colocar o sistema /i dead?
HisashiitYamaguti reagiu a SkyLigh por um tópico no fórum
título irregular reportado para um superior1 ponto -
[Encerrado] Sobre /t
Gabasudario reagiu a SkyLigh por um tópico no fórum
seu templo nao existe. va no seu rme / map / edit towns / e clicke em add e poem o nome da city e dps a pos do templo .1 ponto -
[Encerrado] Duvida Hitmonlee Não Solta Passive
Session Start reagiu a Slicer por um tópico no fórum
mano oq faz ele soltar a passiva eh o .xml dele... no configuration.lua eh a força da passiva e a % chance... e a skill Rollout NAO ta aumentando velo... se quiser fazer isso eh soh adicionar mais velo aos pokes na spell.. -lembrando q todas as spells ficam em lib/pokemon moves.lua-1 ponto -
Não vou passar tags/aonde instalar, somente o script. function onPrepareDeath(cid, deathList) if isPlayer(cid) then doSendMagicEffect(getThingPos(cid), 66) end return true end1 ponto
-
[GESIOR] VictorWEBMaster 2019v
maper1 reagiu a VictorWEBMaster por um tópico no fórum
Cara, pelo que vi aqui.. Este sistema é suportável pelo meu website.. Instale o site e tente comprar VIP... Caso de algum tipo de erro, me envie uma print, isto facilita muito.1 ponto -
Olha depende do seu nível de experiência com o sistema que vai escolher, todo mundo fala linux mais se você não souber manuseá-lo não vai adiantar muito. O sistema operacional do dedicado/vps não precisa ser igual ao seu.1 ponto
-
[Encerrado] Perdendo Muita Experiencia. Pda
rodrigoorgirdor reagiu a Session Start por um tópico no fórum
Sim, da uma testada ai, morre e vê quanto vai perder '-'1 ponto -
Mapa Global 9.60 - Ajuda Rapido! +Rep!
EarthofSky reagiu a SkyLigh por uma questão
com cast system . http://www.xtibia.com/forum/topic/196100-global-full-960-cast-system-100-trainer-offline-100/1 ponto -
então é a área que está mal declarada mesmo... experimenta trocar essa linha: local areas = {teste1, teste2, teste3, teste4, teste5} por essa aqui: local areas = {destruct1}1 ponto
-
Veja esse http://www.xtibia.com/forum/topic/189017-anti-account-manager-mage-bomb-crash/1 ponto
-
[Lista] Mega Tutoriais Mapping 5.0
Yan Oliveira reagiu a Stigal por um tópico no fórum
Obrigado, a V 1.0 ja estava boa, na 2.0 so enclementei algumas coisas ;D Denada, espero que tenha ajudado. Aviso: dia 27/10 vo pro hopi hari, entao dia 29(Segunda) atualiso dnv a lista. Abraço1 ponto -
Pronto . accountManager = yes namelockManager = true newPlayerChooseVoc = true newPlayerSpawnPosX = 160 newPlayerSpawnPosY = 54 newPlayerSpawnPosZ = 7 newPlayerTownId = 1 newPlayerLevel = 10 newPlayerMagicLevel = 0 generateAccountNumber = false generateAccountSalt = false paralyzeDelay = 1400 reportExhausted = 30 * 60 useFragHandler = true redSkullLength = 1 * 24 * 60 * 60 blackSkullLength = 2 * 24 * 60 * 60 dailyFragsToRedSkull = 36 weeklyFragsToRedSkull = 72 monthlyFragsToRedSkull = 108 dailyFragsToBlackSkull = 66 weeklyFragsToBlackSkull = 132 monthlyFragsToBlackSkull = 198 dailyFragsToBanishment = dailyFragsToRedSkull weeklyFragsToBanishment = weeklyFragsToRedSkull monthlyFragsToBanishment = monthlyFragsToRedSkull blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true advancedFragList = false notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanishmentLength = 1 * 24 * 60 * 60 broadcastBanishments = true maxViolationCommentSize = 200 violationNameReportActionType = 2 autoBanishUnknownBytes = false worldType = "open" protectionLevel = 50 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 25 * 85 huntingDuration = 60 * 500 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = false removeWeaponCharges = true removeRuneCharges = false whiteSkullTime = 5 * 60 * 1000 noDamageToSameLookfeet = false showHealingDamage = false showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false loginProtectionPeriod = 10 * 1000 deathLostPercent = 10 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true fistBaseAttack = 7 worldId = 0 ip = "segredo" bindOnlyGlobalAddress = false loginPort = 7171 gamePort = 7172 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 1000 motd = "Welcome to Fortress baiak Ot !" displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = true allowClones = false serverName = "Fortress" loginMessage = "Welcome to Fortress baiak !" statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = false rsaPrime1 = "14299623962416399520070177382898895550795403345466153217470516082934737582776038882967213386204600674145392845853859217990626450972452084065728686565928113" rsaPrime2 = "7630979195970404721891201847792002125535401292779123937207447574596692788513647179235335529307251350570728407373705564708871762033017096809910315212884101" rsaPublic = "65537" rsaModulus = "109120132967399429278860960508995541528237502902798129123468757937266291492576446330739696001110603907230888610072655818825358503429057592827629436413108566029093628212635953836686562675849720620786279431090218017681061521755056710823876476444260558147179707119674283982419152118103759076030616683978566631413" rsaPrivate = "46730330223584118622160180015036832148732986808519344675210555262940258739805766860224610646919605860206328024326703361630109888417839241959507572247284807035235569619173792292786907845791904955103601652822519121908367187885509270025388641700821735345222087940578381210879116823013776808975766851829020659073" sqlType = "segredo" sqlHost = "segredo" sqlPort = segredo sqlUser = "segredo" sqlPass = "segredo" sqlDatabase = "segredo" sqlFile = "segredo" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "plain" deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 ingameGuildManagement = true levelToFormGuild = 150 premiumDaysToFormGuild = 0 guildNameMinLength = 4 guildNameMaxLength = 20 highscoreDisplayPlayers = 15 updateHighscoresAfterMinutes = 60 buyableAndSellableHouses = true houseNeedPremium = false bedsRequirePremium = false levelToBuyHouse = 150 housesPerAccount = 0 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 1000 houseRentPeriod = "never" houseCleanOld = 0 guildHalls = false timeBetweenActions = 200 timeBetweenExActions = 1000 hotkeyAimbotEnabled = true mapName = "Baiak Yurots.otbm" mapAuthor = "Equipe Fortress" randomizeTiles = true storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "" defaultPriority = "high" niceLevel = 5 coresUsed = "-1" startupDatabaseOptimization = false updatePremiumStateAtStartup = true confirmOutdatedVersion = false formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false unifiedSpells = true allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = false dataDirectory = "data/" logsDirectory = "data/logs/" bankSystem = true displaySkillLevelOnAdvance = true promptExceptionTracerErrorBox = true maximumDoorLevel = 500 maxMessageBuffer = 4 tradeLimit = 100 separateVipListPerCharacter = false vipListDefaultLimit = 20 vipListDefaultPremiumLimit = 100 saveGlobalStorage = true useHouseDataStorage = false storePlayerDirection = false checkCorpseOwner = true monsterLootMessage = 3 monsterLootMessageType = 25 ghostModeInvisibleEffect = false ghostModeSpellEffects = true idleWarningTime = 200 * 200 * 1000 idleKickTime = 200 * 200 * 1000 reportsExpirationAfterReads = 1 playerQueryDeepness = 2 tileLimit = 0 protectionTileLimit = 0 houseTileLimit = 0 freePremium = false premiumForPromotion = false blessings = true blessingOnlyPremium = false blessingReductionBase = 30 blessingReductionDecrement = 5 eachBlessReduction = 8 experienceStages = true rateExperience = 350 rateExperienceFromPlayers = 0 rateSkill = 100 rateMagic = 80 rateLoot = 3 rateSpawn = 1 rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = false experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 5 experienceShareActivity = 2 * 60 * 1000 globalSaveEnabled = false globalSaveHour = 8 globalSaveMinute = 0 shutdownAtGlobalSave = true cleanMapAtGlobalSave = false deSpawnRange = 2 deSpawnRadius = 50 maxPlayerSummons = 2 teleportAllSummons = false teleportPlayerSummons = false statusPort = 7171 ownerName = "Fortress" ownerEmail = "" url = "" location = "Brasil" displayGamemastersWithOnlineCommand = false displayPlayersLogging = true prefixChannelLogs = "" runFile = "" outputLog = "" truncateLogOnStartup = false managerPort = 7171 managerLogs = true managerPassword = "" managerLocalhostOnly = true managerConnectionsLimit = 1 adminPort = 7171 adminLogs = true adminPassword = "" adminLocalhostOnly = true adminConnectionsLimit = 1 adminRequireLogin = true adminEncryption = "" adminEncryptionData = ""1 ponto
-
Instalar Csf Firewall
milbradt reagiu a hellcoreot por um tópico no fórum
CSF Firewall é um firewall muito popular, baseado no iptables para sistemas GNU/Linux, Nasce-o para integrar-se com o popular cPanel/WHM, porem seu exito foi tao grande que seus desenvolvedores implementaram uma versão genérica que funciona hoje nas distribuições mais populares dos sistemas operacionais GNU/Linux. Antes de iniciar, se você tem o APF firewall, primeiro devera remove-lo executando o comando: sh /etc/csf/remove_apf_bfd.sh Para instalar o CSF Firewall bastá executar os seguintes comandos: mkdir /root/temp cd /root/temp rm -fv csf.tgz wget http://www.configserver.com/free/csf.tgz tar -xzf csf.tgz cd csf sh install.generic.sh Por padrão já é configurado as portas que foram detectada durante a instalação, ou seja que estão abertas. Esta configuração fica em modo teste, sendo que as regras do CSF Firewall se auto-apagarão em 5 minutos. Logo que tenha terminado os procedimentos edit o arquivo csf.conf comando: nano /etc/csf/csf.conf Troque a variável abaixo: "TESTING = "1" por TESTING = "0" Após editar o texto (ctrl + x) S para sim depois enter, agora já esta salvo seu arquivo. Com isto iremos reiniciar o CSF Firewall e já esta pronto para uso: csf -r Agora teste para ver se está tudo ok. perl /etc/csf/csftest.pl Notas importantes Comandos As funções mais poderosas do CSF estão na sua interface de linha de comando, cujas opções mais relevantes são as seguintes: Uso: /usr/sbin/csf [opção] [valor] Opção / Significado -h, –help / Mostra a ajuda -l, –status / Lista/Mostra a configuração do iptables -s, –start / Inicia regras do firewall -f, –stop / Limpa/Interrompe regras do firewall (Nota: lfd pode reiniciar o csf) -r, –restart / Recarrega regras do firewall -q, –startq / Reinicialização rápida (csf reiniciado pelo lfd) -a, –add ip / Libera um IP e adiciona-o em /etc/csf.allow -ar, –addrm ip / Remove um IP de /etc/csf.allow e deleta a regra -d, –deny ip / Bloqueia um IP e adiciona-o em /etc/csf.deny -dr, –denyrm ip / Desbloqueia um IP e remove-o de /etc/csf.deny -df, –denyf / Remove e libera todos os IPs em /etc/csf.deny -g, –grep ip / Procura nas regras do iptables por um IP (incl. CIDR) -t, –temp / Mostra a lista atual de IPs bloqueados temporariamente e o tempo até o desbloqueio -tr, –temprm ip / Remove um IP do bloqueio e liberação temporários -td, –tempdeny ip ttl [-p porta] [-d direção] / Adiciona um IP a lista de de bloqueio temporário. ttl é quanto tempo o bloqueio dura (default:segundos, pode usar um sufixo de h/m/d). Porta opcional. Direção opcional do bloqueio pode ser uma das seguintes: in, out ou inout (default:in) -ta, –tempallow ip ttl [-p porta] [-d direção] / Adiciona um IP à lista de permissão temporária (default:inout) -tf, –tempf / Limpa todos os IPs da lista de IPs temporários -c, –check / Verifica se existem atualizações do csf mas não atualiza -u, –update / Verifica se existem atualizações do csf e atualiza se possível -uf / Força a atualização do csf -x, –disable / Desabilita csf e lfd -e, –enable / Habilita csf e lfd se desabilitados anteriormente -v, –version / Mostra a versão do csf Essas opções permitem a utilização e configuração rápida do csf, pela linha de comando, cobrindo a maior parte das necessidades diárias da administração de um servidor. O csf utiliza alguns arquivos para configuração: csf.conf - Arquivo de configuração principal, tem explicações detalhadas sobre as opções. csf.allow - Uma lista de IPs e endereços CIDR que são sempre liberados pelo firewall. csf.deny - Uma lista de IPs e endereços CIDR que são sempre bloqueados pelo firewall. csf.ignore - Uma lista de IPs e endereços CIDR que o lfd deve ignorar e não devem ser bloqueados quando detectados. csf.*ignore - Vários arquivos ignore que listam arquivos, usuários e IPs que devem ser ignorados pelo lfd. Veja cada arquivo para saber seu propósito específico. Todos esses arquivos estão situados em /etc/csf, e toda vez que forem alterados o csf deverá ser reiniciado para carregar as novas configurações. O csf é extremamente versátil, suportando uma variedade muito grande de configurações diferentes. As seguintes opções (todas em /etc/csf/csf.conf) causam (ou resolvem) a maioria dos problemas em ambientes de produção: TCP_IN, TCP_OUT, UDP_IN, UDP_OUT: Essas opções controlam as portas TCP e UDP abertas pelo firewall, divididos por protocolo e entrada ou saída. As portas podem ser abertas individualmente, ou por intervalo. SMTP_BLOCK, SMTP_ALLOWLOCAL: A opção SMTP_BLOCK, bloqueia todo o tráfego de saída na porta 25, exceto para os usuários root, exim e mailman (outras exceções podem ser adicionadas usando as opções SMTP_ALLOWUSER e SMTP_ALLOWGROUP esta é uma opção altamente recomendada, mas que pode atrapalhar o funcionamento de webmails. Para evitar isto, existe a opção SMTP_ALLOWLOCAL que permite as conexões de saída na porta 25 pela interface de loopback. CT_LIMIT e relacionados: O csf tem a funcionalidade de monitoramento de conexões, que verifica se um único IP realizou uma quantidade de conexões maior do que o especificado em CT_LIMIT, durante um intervalo de tempo especificado em CT_INTERVAL. Por padrão, esse bloqueio é temporário, falaremos mais sobre bloqueios temporários mais adiante. LF_TRIGGER e relacionados: O lfd monitora todas as tentativas de login aos serviços e caso um mesmo IP faça uma quantidade de logins falhos maior que LF_TRIGGER, o mesmo será bloqueado. Existem opções que permitem variar esta configuração por serviço, atribuindo se por exemplo, o limite de 10 tentativas para o IMAP e de 5 para o SSH. O csf pode ser configurado ( e em alguns casos é o default) para bloquear IPs apenas temporariamente. Esta funcionalidade é controlada pelas opções LF_TRIGGER_PERM, LF_SSHD_PERM, LF_FTPD_PERM e relacionadas, que estipulam o tempo que irá durar este bloqueio temporário do IP transgressor. Os bloqueios temporários são logados em /var/log/lfd.log, o arquivo de log do LFD. É sempre importante verificar este arquivo em caso de bloqueios “inexplicáveis” acontecendo em seu servidor. Qualquer dúvidas só postar.1 ponto -
Outra Idéia Vindo da Otland novidade Créditos : Fetus. Créditos : Fetus Créditos : Xadrian Carros de Corida e 1 Lancha Créditos : Xadrian Fonte Congelada Créditos : Fetus Créditos : Macedoon Créditos : Kurd3n's Gostou ? Dê rep+ Outro Dia Trago Mais1 ponto
-
[Mapping] Mostre suas Idéias
Gabriel Couto reagiu a darklight por um tópico no fórum
Uma ideia para se usar em walls: Radeon(otland) Uma ideia bem diferente, pode ser usada em vilas de pescadores: Bogalza(otland)1 ponto -
1 ponto
-
Iae galera hoje eu venho trazer um script que as vezes e muito necessário em ot's Como , Funciona Quase Todos Sabem O Que E A Stamina Mais Para Os Que Não Sabe Irei Explicar : Stamina E Uma Forma De Definir A Experiência Do Personagem Ou Player Que Faz Com Que Eles Upem Mais Rápido Ou Mais Devagar Quanto Mais Cheia Estiver A Stamina Significa Que E Rápido E Se Tiver Baixa E Devagar Então Vamos La Va Em Data / Talkaction / Scripts / Renome Algum Arquivo Para Stamina E Adicione function onSay(cid, words, param) local config = { stamina = 10, -- Quantos Minutos O Player Vai Ter De Stamina price = 10000, -- Quanto Vai Ser A Stamina s = 11548, -- Nao Mexa exhau = 600 -- Quantos Segundos Para Usar O Comando Denovo } if getPlayerStorageValue(cid, config.s) <= os.time() then doPlayerSendTextMessage(cid,22,"Desculpe Espere 90 Minutos Para Usar O Comando Novamente") return true elseif not doPlayerRemoveMoney(cid, config.price) then doPlayerSendTextMessage(cid,22,"Você Não Tem Dinheiro Suficiente") return true end doPlayerAddStamina(cid, config.stamina) setPlayerStorageValue(cid, config.s,os.time()+config.exhau) doPlayerSendTextMessage(cid,22,"Você Comprou Stamina Por 10 Minutos") return true end Em Talkactions.xml <talkaction words="!stamina" script="stamina.lua"/> Créditos Skyligh 100 % (Postagem E Criação)1 ponto
-
[Action] Alavanca Potions E Items
leozinhoac reagiu a MatheusGlad por um tópico no fórum
Aaaa ja existem milhares de scripts sobre isso e talz mas eu tava fazendo um pedido me enrolei entendi errado e fiz merda entao eu vou postar somente porque ele tem um negocio de cap que precisa pra comprar e nao cair no chao e talz. data/actions/scripts/Alavancas.lua: function getItemCap(itemid, quant) -- function by MatheusMkalo return getItemInfo(itemid).weight*(quant or 1) end function onUse(cid, item, fromPosition, itemEx, toPosition) local configs = { [45690] = {itemid = 2160, quantperslot = 10, cost = 5, backpackid = 2002}, [45691] = {itemid = 2268, quantperslot = 50, cost = 2, backpackid = 2003}, } local coinid = 9971 -- Use o id da gold coin (2148) se voce quizer usar o sistema de dinheiro mesmo. (Caso o itemid for 2148 o cost sera de gps ou seja 30 = 30 gps) if configs[item.actionid] then if getPlayerFreeCap(cid) >= math.ceil((getItemCap(configs[item.actionid].itemid, configs[item.actionid].quantperslot)*20)+getItemCap(configs[item.actionid].backpackid)) then if coinid ~= 2148 and getPlayerItemCount(cid, coinid) >= configs[item.actionid].cost or doPlayerRemoveMoney(cid, configs[item.actionid].cost) then local backpack = doPlayerAddItem(cid, configs[item.actionid].backpackid) for i = 1, 20 do doAddContainerItem(backpack, configs[item.actionid].itemid, configs[item.actionid].quantperslot) end doPlayerRemoveItem(cid, coinid == 2148 and 0000 or coinid, configs[item.actionid].cost) else return doPlayerSendCancel(cid, ("You need " .. configs[item.actionid].cost) .. (coinid == 2148 and " gold coins" or (" " .. getItemPluralNameById(coinid):lower())) .. " to buy this item.") end else return doPlayerSendCancel(cid, "You need " .. math.ceil((getItemCap(configs[item.actionid].itemid, configs[item.actionid].quantperslot)*20)+getItemCap(configs[item.actionid].backpackid)) .. " cap for buy that.") end end return TRUE end data/actions/actions.xml (Adicione essa linha): <action actionid="45690;45691" event="script" value="Alavancas.lua"/> Configuraçao bem facil, mas como ainda tem gente que nao consegue intender entao: Negrito - Action Ids das alavancas que vao dar tals itens. (Eles devem estar na linha que voce adicionou no xml separados por ; "ponto e virgula", NAO VIRGULA, NAO PONTO, E SIM PONTO E VIRGULA O resto eu usei ingles entao acho que da pra ve, se nao souber vai testando ate consiguir champz.1 ponto -
Loops
Mattziin reagiu a Tprocheira por um tópico no fórum
Fala galerinha do XTibia.com! Como tenho visto poucos tutoriais de nível avançado na nossa sessão de scripting, decidi fazer este tutorial completo sobre loops em LUA. Basicamente, existem 3 tipos de loops que podem ser usados, os quais são: repeat ... until, while e for. Recomendações: -Conhecimento completo sobre Arrays; -Conhecimento intermediário sobre LUA OFF-OpenTibia Repeat Loop Este é raro de se ver, já que ele tem uma sintaxe maior e faz a mesma coisa que o while. A sua sintaxe é a seguinte: Este tipo de loop funciona da seguinte maneira: Você tem uma variável para a qual você atribui o valor 0. Então, você da o comando repeat, o qual irá repetir o código. Para que o loop não seja infinito, você terá que adicionar a linha until var == valor, e antes disso, algo que aumente o valor da variável, no nosso caso, foi usado var = var+1, o que, após o script ter sido executado, irá aumentar o valor da variável var em um. Um exemplo de OpenTibia: local var = 0function onUse(cid, item)local rand = math.random(1, 10)repeatdoPlayerSay(cid, rand, 2)var = var+1until var == 5return trueend Isso fará com que o player fale um número qualquer (randomizado pelo math.random) até que a variável var tenha valor 5. Como pôde perceber, esse tipo de loop é um pouco complicado, já que você tem que aumentar a variável e para se fechar o loop você precisa colocar uma 'função' (until var == 5) para que ele termine. While Loop Esse, mesmo que pouco usado, ainda é usado atualmente. Ele funciona quase da mesma maneira que o repeat, a não ser pelo fato de que não existe o until var == valor. A sua sintaxe é a seguinte: Neste caso, você terá que adicionar um end no lugar do until, mas percebam que ainda é preciso usar o var == var+1. Um exemplo de OpenTibia: local var = 0function onUse(cid, item)while var < 5 dodoPlayerSay(cid, "I'm crazy!", 2)var == var+1endend Este script fará com que o player fale I'm Crazy 5 vezes (ou até a varíavel var estar com o mesmo valor citado no início do loop). Você pode usar ele para criar um script após o final do while. Por exemplo, depois que ele falar as 5 vezes, ele morrerá de cansaço. For Loop Este, na minha opinião pessoal, é o melhor e mais flexível tipo de loop em LUA, porém não funciona com nenhuma condição (ele simplesmente vai repetir até o valor estipulado). Com ele, você consegue checar cada item de uma tabela, podendo ser nomes, posições, ou qualquer outra coisa. A sua sintaxe é uma das mais fáceis: Você pode substituir a palavra index por qualquer outra coisa. Para determinar o valor inicial e o valor máximo à ser usado, você troca a letra a pelo valor mínimo e b pelo valor máximo. Caso você queira checar cada item de uma tabela, você fará da seguinte maneira: Isso vai exibir na tela do usuário as seguintes palavras: Você pode usá-lo para repetir algum código. Por exemplo, caso você queira esvaziar a sua array sem ter que 'chutar' quantos valores ela vai ter e sem repetir o código, o que você pode fazer, é usar o loop! local names = {"Me", "You", "He"}function Bla()for i = 1, #names dotable.remove(names, i)endend Isso irá remover todos os nomes da tabela, sem ter que repetir o código! Um exemplo de OpenTibia: 20 Itens dentro de uma backpack! Você também pode parar o loop após ele ter efetuado a sua ação, tudo que você tem à fazer, é adicionar o comando break (quebrar) após o seu código. Um exemplo muito interessante (não é de minha autoria, e sim de Colandus), é um script que checa uma área e atribui um valor à uma variável se estiver (o tile) vazio ou com algum player. local position = {fromx = 584, fromy = 371, tox = 595, toy = 381, z = 7}local area = ""function onUse(cid, item, frompos, item2, topos)area = "Creatures at area:\n"for i = position.fromy, position.toy dofor j = position.fromx, position.tox dolocal pos = {x = j, y = i, z = position.z, stackpos = 253}local getThing = getThingfromPos(pos).uidif isCreature(getThing) == 1 thenarea = area .. "1 "elsearea = area .. "0 "endendarea = area .. "\n"enddoPlayerSendTextMessage(cid, 17, area)return 1end Você também pode usar Iterators com um loop for. Para isso, farei um tutorial mais tarde! \\1 ponto -
Casa Para Gods
caotic reagiu a zerefsiclker por um tópico no fórum
Cara pense que você esta mesmo fazendo uma casa de god onde a varias coisas ,quase que tudo perfeito-1 pontos -
[Tópico Oficial] Dúvidas Escolares
DiogoTemporario reagiu a PostadorHunter por um tópico no fórum
Alguém manda uns exercícios(matemática) para mim fazer ?-1 pontos