Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 04/19/15 em todas áreas
-
Daniel Sprites (free)
webermaats e 2 outros reagiu a Administrador por um tópico no fórum
Resultados dos meus treinos hihi Fiquem a vontade para usar!3 pontos -
Olá Ek tibianos, como vão vocês? Tudo correndo as mil maravilhas? Apresentando: Bom hoje vim apresenta-lhes o UFW, conhecem? Se a resposta for não, saibam que o UFW ou Uncomplicated Firewall nada mais é que o Firewall do Linux Ubuntu. Esse Firewall é um software de segurança pré instalado no sistema operacional Linux Ubuntu que restringe as portas de entrada e saída de dados do computador permitindo apenas conexões que estejam dentro das regras estabelecidas dentro das configurações do mesmo, essas regras podem ser modificadas de acordo com o uso do usuário, visando um maior ou menor acesso de outros computadores. Vejam a explicação na imagem a seguir: Supondo que você queira abrir um servidor de Tibia no Linux Ubuntu: Sendo assim você teria que abrir a porta 7171 no firewall, criando uma brecha para as conexões, e se você quisesse bloquear a conexão ao site, você teria que fechar a porta 8080 do Firewall. Por padrão esse software, vem ativado, porém com todas as suas portas abertas, sendo assim ele não restringe nenhuma conexão externa, ou seja, sua ação é nula. Como quase tudo no Linux Ubuntu, as configurações do firewall são via terminal, não que seja impossível a utilização gráfica, mas para isso seriam necessários upgrades no sistema. Sendo assim explicarei os comandos para configuração apenas via terminal. ufw status Verifica se o Firewall está ativo no sistema. Caso ele esteja ativo, mostrará também as regras de conexões configuradas. ufw default allow Altera o padrão que ao ativar o Firewall todas as portas venham abertas(porém não remove as regras criadas). ufw default deny Altera o padrão que ao ativar o Firewall todas as portas venham fechadas (porém não remove as regras criadas). ufw enable Ativa o Firewall. ufw disable Desativa o Firewall. Para configurar é simples, você pode Adicionar ou remover regras de acordo com o seu uso. Veja: Ao digitarmos o comando "ufw status" com o Firewall ativo, serão mostradas todas as regras ativas, e são elas que vão determinar o comportamento do Firewall para determinadas portas e conexões. To porta de conexão da regra Action Permissão de conexão(Permitida ou negada) From: conexão tem a permissão. Nesta parte podemos ver que pela regra A porta 80 (to) está aberta (allow) para a todas as conexões (Anywhere) Adicionando regras para conexões: Para adicionarmos utilizaremos o seguinte padrão no comando: ufw permisão from para quem -- Quando for para todas as portas ufw permisão from para quem any port porta -- Quando for para uma porta especifica Exemplos: 1º Neste exemplo permitir a conexão por qualquer porta para o ip 192.168.1.3: ufw allow from 192.168.1.3 Caso quisesse negar utilizaria o comando ufw deny from 192.168.1.3 2º Já neste iremos permitir a conexão apenas pela porta 22 ao ip 192.168.1.3 ufw allow from 192.168.1.3 to any port 22 Caso quisesse negar utilizaria ufw deny from 192.168.1.3 to any port 22 Removendo regras para conexões: Para adicionarmos utilizaremos o seguinte padrão no comando: ufw delete permisão from para quem -- Quando a regra seja de todas as portas ufw delete allow 80 permisão from para quem any port porta -- Quando a regra tiver uma porta especifica Exemplos: 1º Supondo que desejemos remover esta regra. Utilizaremos o comando: ufw delete allow 80 2º Neste outro exemplo, deletaremos agora esta regra: Para isso utilizaremos o comando: ufw delete allow from 192.168.1.3 Bom então é isso. Gostaram? Aprenderam? espero que esse tutorial sirva de base para entenderem um pouco melhor o grande sistema que é o Linux Ubuntu!. Um grande abraço Att ~~ Krono - Xtibia Créditos: Krono2 pontos
-
xTibia, o RETORNO!
duasrodas e um outro reagiu a Oneshot por um tópico no fórum
Faço das palavras do Tonynh as minhas. Agradeço aos responsáveis pela volta do XTibia.com, é a única comunidade que possui todos meus conteúdos, outras têm apenas uma fração ínfima. Abraço.2 pontos -
[Pedido] Faça seu pedido!
Administrador e um outro reagiu a Tony por uma questão
Sem pratica com as paradinha2 pontos -
Pokémon Online
jeanflamengo reagiu a Tony Araujo por um tópico no fórum
Salve galera do Eks, hoje eu venho apresentar a vocês por meio deste tópico o Pokemon Online (new era), o mais novo projeto de pokémon, cujo a principal ideia é sair da mesmice de todos os servidores existentes de hoje em dia. Nosso projeto, tem como base o primeiro, unico e melhor servidor já existente no mundo de OTServers. Quem não lembra do glorioso Pokémon Online, criado pela equipe SVKE? Haha. Servidor sendo feito totalmente do 0, sem usar base alguma. O mapa será criado tendo em mente o mapa do SVKE, tentaremos ao máximo trazer os incriveis mapas e sistemas, novamente. Andamento do servidor Caught System: 100% Go-Back System: 100% Portrait System: 100% Evolution System: 100% NPC Nurse System: 100% Paint System: 100% Pokedex System: 100% Ghost System: 100% Wild Pokemon Passive: 100% Moves System: 100% Limite de 6 Pokemons: 100% Party System (Pelo Private Channel): 100% Effective System (Vantagem e Desvantagem): 100% Duel System (Pela Party) 100% Tv / Cam System 100% Próximos sistemas Order System (Com todas as habilidades [Fly, Surf, Ride, Blink, Cut, Light, Transform, Control Mind, Dig, Move]) All Pokemon Spells Boat System (Vermilion - Cinnabar) Gym System NPC's de batalha espalhados pelo mapa. Imagens Vídeos - New Pokédex | Pokémon LifeBar Página no Facebook: Pokémon Online Equipe Oficial - OrochiElf - TioSan Colaboradores - GabrielTXU1 ponto -
[10.37 até 10.41] Global completo [O MELHOR]
Administrador reagiu a Mudrock por um tópico no fórum
trago hoje a vocês um dos globais que vim trabalhando a alguns dias na base do printer da otland, e então por decisão própria vim postar para vocês abrirem seu servidor com ele. Este servidor é mapa Global 10.41 com todas as features da versão, mapa perfeito e sem bugs! Repito, abram na confiança, sem bugs, uptime garantido! Chega de mimimi e vamos ao que interessa, primeiro as principais coisas depois as imagens =) Coisas principais: Full Roshamuul 10.41 Warzones 1; 2; 3 com Crystal para entrar Monstros 100% Mapa 100% Npcs 100% Quests 100% Zao Market System integrado 100% Gray Beach City completa Taming System Treiners Offline New AB Todas as montarias da versão Templo modificado Depot modificado Bank System NPC Yalahar Full Wrath of Emperor Quest War System COM ESCUDINHOS Demais coisas que você poderá conferir fazendo o download =p Thais & Depot 2 andar: Sub-solo Thais Depot: Pedaço de Roshamuul completa: Gray Beach Hunt completa: São mais de 40 montarias! (Incluindo as novas) Segue abaixo o download do servidor, scan, site e database recomendada. Download servidor e distros/sources 10.37 até 10.41: https://www.sendspace.com/file/e4grzv Scan: https://www.virustotal.com/pt/url/ddbd899d125fc116edbca950231402273a86603c359c8c73b4c81c96006cae6e/analysis/1403451406/ Database 10.41 compatível: https://www.sendspace.com/file/n613im Gesior compatível e recomendado: http://www.4shared.c...Master_008.html Você também pode optar por Znote ACC. Atenção: Caso o servidor não rode com a distro atual, use esta nova compilada e disponibilizada pelo Jobsonmb. Faça o download e coloque na pasta do seu servidor: http://www.mediafire...BY JOBSONMB.rar O Servidor está pronto e preparado para ficar online, portanto aproveite, faça sucesso =) Créditos: Absolute (Edições e adaptações) Printer (Real Map base) AnaPaula (sources) Jobsom (compilação windows)1 ponto -
•• Asuna •• •• Ace •• •• Yamato •• •• Random •• •• Halo •• •• Predator ••1 ponto
-
Eae pessoal bom eu aqui mais uma vez vou ensinar Protejer seu site seja o qual for contra listagem das suas pasta do Diretório, é uma coisa muito simples mas nem todos sabem só os mais avançados em Web Designer já devem saber, agora é sua vez de aprender! [Resumo] Sabe quando você digita www.seusite.com/index.php/templates ou outra pasta sem proteção ? no caso vai listar todo seus arquivos da quela pasta e acessível para qualquer pessoa baixar correto ? Aqui vou ensinar como se prevenir disso para ninguém pegar seus arquivos de seu site. *Primeiramente vamos criar um arquivo index.php dentro de uma pasta eu vou criar em Templates "c:/xampp/htdocs/templates" se quiser você também pode criar assim, copia um Arquivo Index.PHP ou index.HTM o que chama o seu site na página inicial, dentro da cópia Index.PHP ou Index.HTM coloca o seguinte HTML. Pronto agora vamos acessar a pasta template www.seusite.com/index.php/templates se o erro foi igual da imagem abaixo está correto ai é só por nas d+ pasta do seu site, as que contém a Index você pode pular! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR...l1-strict.dtd"> <text><strong><h1><center> Error 404 </center></h1><strong></text> <br> <title>Error by Alexy brocanello e Quilante Otserv</title> <script type="text/javascript"> function click() { if (event.button==2||event.button==3) { oncontextmenu='return false'; } } document.onmousedown=click document.oncontextmenu = new Function("return false;") </script> <script language='JavaScript'> function clique() {if (event.button==2||event.button==3) {oncontextmenu='return false';}} document.onmousedown=clique document.oncontextmenu = new Function("return false;") </script> <html xmlns="http://www.w3.org/1999/xhtml"xml:lang="en" lang="en"> <head> <meta name="Description" content="PokemonDBR o maior MMORPG de pokemon online do Brasil, chame seus amigos e venha nessa aventura." /> <meta name="Keywords" content="pokemon, pokemonbr, pokemon dbr, tibia, naruto, naruto online, otpokemon, pxg, pokemon online, poketibia, pokepro, pokemon rpg, poke on, otserv, tibia king, xtibia, facebook, jogos online, nintendo, rpg, mmorpg, jogar pokemon" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="Distribution" content="Global" /> <meta name="author" content="Error by Alexy brocanello amd Quilante Otserv" /> <meta name="Robots" content="index,follow" /> </head> <center><a href="http://www.planalto....leis/l9610.htm"target="_blank"><img src="http://hpobrasil.com/pokemondbr/error.png"/></a></center><center>Você está tentando acessar um lugar proibido, isso é plágio isso é crime!</center><center><br><a href="http://www.planalto.gov.br/ccivil_03/leis/l9610.htm" target="_blank"> lei 9.610 de 19 de fevereiro de 1998</center> </body> </html> Todos que acessar seu diretório não atorizado www.seusite.com/index.php/templates um aviso será mostrado e serve pra todos os site! até a próxima Créditos : Alex1 ponto
-
[Tamanho*]: 300x300px. [Tema*] : Lorem Ipsum. [Tipografia*]: Lorem Ipsum. [Tipo*]: Background. [Outros]: Caso houver um detalhe que o designer possa colocar. [Cores preferenciais]: Vermelho,Azul,Verde.... [*] : OBRIGATÓRIO CASO OS CAMPOS OBRIGATÁRIOS NÃO ESTIVEREM TODOS PREENCHIDOS ENVIAREI UMA MENSAGEM PARA O CRIADOR DO PEDIDO , SE EM 24 HORAS ELE NÃO ALTERAR IREI APAGAR O POST PARA EVITAR POLUIÇÃO NO TÓPICO.1 ponto
-
Druid Protection usando soul
RigBy reagiu a Administrador por um tópico no fórum
Druid Protection (Soul) O que o script faz: Um druid, qualquer level, está morrendo, mas sua mana acabou e suas potions se esgotaram. Ele pode usar a proteção dos antigos druidas para encher sua vida, lhe custando 100 de alma (soul.) Se outra vocação pedir a proteção dos druidas, a mesma será punida. Créditos: Daaniel (Luan me ajudou com 2 funções) Obs: É meu primeiro script, como estou aprendendo, gostaria da sugestão de alguém que sabe. Após o druid usar o comando !druidprotection: Caso o player não for druid, acontecerá: SCRIPT Em data/talkactions/scripts, copie um arquivo, renomeie para druidprotection e adicione o script (PasteBin): function onSay(cid, words, param, channel) if isDruid(cid) then if getPlayerSoul(cid) >= 100 then local maxh = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, maxh) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) doPlayerAddSoul(cid, -100) doPlayerSendTextMessage(cid, 22, 'You used your soul successfully!') else doPlayerSendCancel(cid, "You dont have 100 soul.") end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_POFF) doPlayerSendTextMessage(cid, 21, 'You are not druid, as punishment, the ancient gods will punish you removing you life.') doPlayerSendTextMessage(cid, 21, 'Dont try this again!') doCreatureAddHealth(cid, -5) end return true end Em data/talkactions/talkactions.xml adicione a tag: <talkaction words="!druidprotection" event="script" value="druidprotection.lua"/> Em forma de spell por: Emersonssss function onCastSpell(cid, var) if isDruid(cid) then if getPlayerSoul(cid) >= 100 then local maxh = getCreatureMaxHealth(cid) doCreatureAddHealth(cid, maxh) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_RED) doPlayerAddSoul(cid, -100) doPlayerSendTextMessage(cid, 22, 'You used your soul successfully!') else doPlayerSendCancel(cid, "You dont have 100 soul.") end else doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_POFF) doPlayerSendTextMessage(cid, 21, 'You are not druid, as punishment, the ancient gods will punish you removing you life.') doPlayerSendTextMessage(cid, 21, 'Dont try this again!') doCreatureAddHealth(cid, -5) end return true end1 ponto -
Olá meu amigos Xtibianos. Tudo bem com vocês? Vim hoje trazer para você um excelente tutorial, que tem a finalidade de instalar uma interface gráfica no seu Vps Linux, o tão amado desktop, onde intuitivamente a maioria de nós deu os seus primeiros passos no mundo da Computação. Com esse metodo você poderá acessar seu vps como se estivese em frente a sua tela, assim como fazemos nas Vps Windows. ATENÇÃO: É recomendado o uso Ubuntu 12.04 (LTS) . Vamos lá Acesse o terminal SSH e instale o pacote ubuntu-desktop: sudo apt-get install ubuntu-desktop Após instalar o ubuntu-desktop, instale o pacote gdm: sudo apt-get install gdm sudo /etc/init.d/gdm start sudo dpkg-reconfigure xserver-xorg Agora vamos instalar o VNC ( TightVNC): sudo apt-get install tightvncserver Após instalar configure um senha com no máximo 7 caracteres usando o comando: vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565 Desligue o VNC com o comando: vncserver -kill :1 Edite o arquivo .vnc/xstartup: sudo nano ~/.vnc/xstartup E adicione ao final do mesmo a linha: gnome-session & Reinicie o servidor: sudo reboot Para acessar o VNC use: SEU IP:1 ou SEU IP:5901 Alguns comandos para uso do VNC: - Para iniciar o VNC: vncserver :1 -geometry 1024x768 -depth 16 -pixelformat rgb565 - Para alterar a senha do VNC (pode ser usado caso você esqueça a senha): vncpasswd Espero ajudar, até o proximo tutorial. Downloads Uteis Putty SSH clientSite http://www.putty.org/ Download TightVNC for Windows Installer for Windows (64-bit) (2,367,488 bytes) Installer for Windows (32-bit) (2,105,344 bytes)1 ponto
-
1 ponto
-
!saga
Xtudomuito reagiu a Dbko por um tópico no fórum
sistema !saga, ele define em qual missão vocês está fiquei chato já 3 vezes deu bug quando postei. vamos lá isso server pra quem tem servidor com graduações ninja. e o povo não sabe como é que funciona, ai vai em data/talkactions/scripter/ copie um arquivo.lua, e renomeie, para sagamissao.lua e apague tudo dentro e coloque seguinte scripter local saga = { [0] = {msg = "Você não tem nenhuma saga"}, [1] = {msg = "Vá até o mizuki e fale com ele!", storage = 19881}, [2] = {msg = "Vá para a floresta proibida e fale com o mizuki!", storage = 19896}, [3] = {msg = "Vá até o construtor que fica ao oeste de konoha ", storage = 89745}, [4] = {msg = "!", storage = 19897}, [5] = {msg = "!", storage = 19898}, [6] = {msg = "!", storage = 19899}, [7] = {msg = "!", storage = 19895} } function onSay(cid, words, param) if getPlayerStorageValue(cid, saga[7].storage) == 1 then doPlayerPopupFYI(cid, saga[7].msg) elseif getPlayerStorageValue(cid, saga[6].storage) == 1 then doPlayerPopupFYI(cid, saga[6].msg) elseif getPlayerStorageValue(cid, saga[5].storage) == 1 then doPlayerPopupFYI(cid, saga[5].msg) elseif getPlayerStorageValue(cid, saga[4].storage) == 1 then doPlayerPopupFYI(cid, saga[4].msg) elseif getPlayerStorageValue(cid, saga[3].storage) == 1 then doPlayerPopupFYI(cid, saga[3].msg) elseif getPlayerStorageValue(cid, saga[2].storage) == 1 then doPlayerPopupFYI(cid, saga[2].msg) elseif getPlayerStorageValue(cid, saga[1].storage) == 1 then doPlayerPopupFYI(cid, saga[1].msg) else doPlayerPopupFYI(cid, saga[0].msg) end return true end em talkactions.xml adicione a seguinte tag. <talkaction words="!saga" script="sagamissao.lua"/> desculpa tentei editar o tópico 3 vezes cansei1 ponto -
Eis a hora em que escolhemos nosso destino; Estamos caindo; Caindo na profunda escuridão; E eles estão por todas as partes. Das sombras surge a forja da ganância; Estamos caindo; Caindo perto do sossego do inimigo; E eles estão por todas as partes. Iremos para perto dos velhos amigos; Estamos caindo; Caindo um pelo outro neste deserto; E eles estão por todas as partes. Aqui nascemos e aqui morreremos; Estamos caindo; De mãos dadas ao último por do sol; E eles estão por todas as partes. O último respiro arrepia nossos corações; Estamos caindo; Caindo em lagrimas de desespero; E eles estão por todas as partes. Mas eles não vencerão desta vez; Estamos caindo; Caindo pela vitória; Pois eles estão por todas as partes.1 ponto
-
[Tutorial] Básico Sobre CreatureScripts
Kobrakt reagiu a JuniorPavani por um tópico no fórum
Tutorial Básico sobre CreatureScripts CreatureScripts = São scripts que serão ativados após uma determinada ação criada pelo monstro ou personagem. Essas ações são determinadas como funções. Existem varias funções utilizadas para a criação de creaturescripts e estas são: onDeath(cid, corpse, killer)-- que é executada ao morrer. onPrepareDeath(cid, lastHitKiller, mostDamageKiller) -- semelhante a onDeath. onAttack(cid, target) -- executa ao atacar. onCombat(cid, target) -- semelhante ao onAttack. onLogin(cid) -- executa ao logar. onLook(cid, thing, position, lookDistance) -- executa ao dar look. onAdvance(cid, skill, oldLevel, newLevel) -- executa ao upar skills/levels. onStatsChange(cid, attacker, type, combat, value) -- executa ao perder ou ganhar life/mana/condições. onLogout(cid) -- executa ao deslogar. onKill(cid, target, lastHit) -- executa ao matar. onThink(cid, interval) -- executa em determinado tempo. onJoinChannel(cid, channelId, users) -- executa ao entrar em um chat. onReceiveMail(cid, sender, item, openBox) -- executa ao receber um parcel/carta. onReportBug(cid, comment) -- executa ao reportar bug. Para criar esse tipo de script, primeiramente vai na pasta data/creaturescripts/scripts e duplica um arquivo e salve com "nomedesejado"; Agora você vai determinar que função você vai precisar para criação do seu script. Para exemplo vou usar a função "onAdvance"(ao upar). Neste exemplo, quando o player upar level 100 ele irá ganhar 1kk: 1 function onAdvance(cid, skill, oldLevel, newLevel) 2 if getPlayerLevel(cid) >= 100 and getPlayerStorageValue(cid, 1234) < 1 then -- checa level e storage 3 doPlayerAddItem(cid, 2160, 100) -- entraga a premiação 4 setPlayerStorageValue(cid, 1234, 1) -- define a storage para 1, para evitar entregar o premio mais de uma vez 5 doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabéns, você ganhou 1kk por atingir level 100!") 6 doSendMagicEffect(getCreaturePosition(cid), 30) 7 end 8 return true 9 end Numerei as linhas para melhor entendimento, nos seus scripts vocês não devem numerar. linha 1 = Inicio da função onAdvance, essa linha recebe algumas informações do player que upou, como seu cid, seus skills o velho level e o novo level. Obs: cid = creature id, numero de identificação do player/monstro. linha 2 = Inicia-se um if onde verifica se o level do player é igual a 100 e verifica a storage do player . Se for verdadeiro, o script executa as linhas 3,4 e 5, senão pula direto a linha 6. linha 3 = Adiciona 100 itens com o id 2160 ao player. linha 4 = define a storage do player para que não pegue o premio duas vezes linha 5 = Manda uma mensagem parabenizando o player linha 6 = Solta o efeito de numero 30, na posição em que o player esta. linha 7 = Finaliza a verificação do if. linha 8 = Retorna verdadeiro. Obs: sempre é necessario ela linha no final de seu código. linha 9 = Finaliza a função onAdvance. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Por fim para funcionamento do seu script é necessario adicionar 2 tags: 1º- No "data/creaturescripts/creaturescripts.xml" 2º- No arquivo "data/creaturescripts/scripts/login.lua", Obs: se o script que você for fazer for de função onLogin, não precisa adicionar a segunda tag. 1º Tag: Vai em data/creaturescripts/creaturescripts.xml e cole a tag: <event type="advance" name="QualquerNome" event="script" value="nomedesejado.lua"/> O type="" , será o nome da função de seu script após a palavra "on" e sempre tudo em minusculo. O name="", use qualquer nome porem esse nome vai ser usado para registrar no script onLogin na tag2. O value="", é o nome com qual você salvou seu script. Agora em data/creaturescripts/scripts/login.lua, sempre antes do último return true: registerCreatureEvent(cid, "QualquerNome") QualquerNome é o name que você adicionou na tag1 do creaturescripts.xml. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Acho que é isso aew, espero ter ajudado a galera que esta iniciando. Dica para criação de scripts: Para melhor edição e organização use Notepad++: http://www.baixaki.c...ad/notepad-.htm E sempre pesquise por scripts prontos e tutoriais para ter uma base. CREDITOS: JHON pelo tutorial completo!1 ponto -
Bom galera dessa vez trago pra vcs um tutorial simples de como editar (formatar) textos em suas páginas PHP. 1°) Negrito Para deixar um texto em negrito basta definir esse texto com <b> (no inicio) e </b> (no final). Então o seguinte código: <b>Essa frase esta em negrito!</b> Teria esse efeito: Essa frase esta em negrito! 1.1°) Modo alternativo Outro modo de escrever em negrito é usando <strong> e </strong> Apesar do strong não ser destinado à isso tem o mesmo efeito de negrito. 2°) Sublinhado Para deixar um texto sublinhado basta definir esse texto com <u> (no inicio) e </u> (no final). Então o seguinte código: <u>Essa frase esta sublinhada!</u> Teria esse efeito: Essa frase esta sublinhada! 3°) Itálico Para deixar um texto em itálico basta definir esse texto com <i> (no inicio) e </i> (no final). Então o seguinte código: <i>Essa frase esta em italico!</i> Teria esse efeito: Essa frase esta em italico! 3.1°) Modo alternativo Outro modo de escrever em itálico é usando <em> e </em> 4°) Riscado Para deixar um texto riscado basta definir esse texto com <s> (no inicio) e </s> (no final). Então o seguinte código: <s>Essa frase esta riscada!</s> Teria esse efeito: Essa frase esta riscada! 5°) Mudando a fonte do texto Para mudar a fonte basta colocar <font face='FONTE QUE VC DESEJA'> (preste atenção aqui, pois o nome da fonte deve estar entre aspas simples!) no inicio e </font> no final da frase. Então o seguinte código: <font face='Times New Roman'> Fonte massa! </font> Teria esse efeito: Fonte massa! 6°) Mudando a cor do texto Para mudar a cor basta colocar <font color='COR (EM INGLES) QUE VC DESEJA ou código html'> (preste atenção aqui, pois a cor deve estar escrita em inglês e entre aspas simples! O mesmo serve para o código html, deve estar entre aspas simples!) no inicio e </font> no final da frase. Então o seguinte código: <font color='red'>Ta vermelho!</font> <font='blue'>Ta azul!</font> Teria esse efeito: Ta vermelho! Ta azul! 6.1°) Tabela de cores em html Aqui tem um link onde vc pode pegar o código html das cores de sua preferência para usar no código acima: http://www.flextool.com.br/tabela_cores.html 7°) Mudando o tamanho do texto Bom aqui tem uma diferença da formatação de texto normal. Existem 7 tamanhos de fonte em php: O tamanho 2 é o tamanho padrão dos textos. Para mudar o tamanho da fonte basta usar o código <font size='TAMANHO QUE VC DESEJA (de 1 a 7)'> (preste atenção aqui, pois o tamanho deve estar escrito entre aspas simples!) no inicio e </font> no final da frase. Então o seguinte código: <font size='5'>Tamanho 5!</font> Teria esse efeito: Tamanho 5 8°) Textos especiais (subscrito e sobrescrito) Para deixar um texto subscrito basta usar <sub> (no inicio) e </sub> (no final). Então o seguinte código: X<sub>5</sub> Teria o seguinte efeito: X5 (OBS: não ficaria em negrito! Eu apenas coloquei negrito para chamar atenção!) Para deixar um texto sobrescrito basta usar <sup> (no inicio) e </sup> (no final). Então o seguinte código: X<sup>3</sup> Teria o seguinte efeito: X3 (OBS: não ficaria em negrito! Eu apenas coloquei negrito para chamar atenção!) 9°) Iniciando uma nova linha Para iniciar uma nova linha basta usar <br> no inicio da frase que inicia a nova linha. Então o seguinte código: <br>Se liga, linha 1 <br> <br> <br>Agora linha 4 Teria o seguinte efeito: Obs.: Não necessita fechar esse comando usando </br> pois ao declarar um <br> ele já inicia outra linha mesmo que a anterior "não tenha sido fechada". 10°) Juntando os efeitos Você pode usar os comandos de size, color e face (fonte) em um só comando <font> da seguinte maneira: Ou seja, o seguinte código: <br><font face='times new roman' color='#0000FF' size='5'> Olha que loko! </font> Teria o seguinte efeito: Olha que loko! Vc pode concatenar todos os efeitos acima da forma que vc quiser, basta ter atenção! Por exemplo, o seguinte código: Aqui ta sem nada! <b>A partir daqui ta tudo em negrito... <font face='times new roman' color='##D2691E' size='6'>A partir daqui ta em negrito, azul, outra fonte, outro tamanho e em outra cor... </font> <i>A partir daqui ta em italico </i>Agora ta sem italico... </b>Agora ta sem negrito... </font>Agora ta da forma padrão! Teria o seguinte efeito: Aqui ta sem nada! [/size]A partir daqui ta tudo em negrito... A partir daqui ta em negrito, azul, outra fonte, outro tamanho e em outra cor... A partir daqui ta em italico Agora ta sem italico... Agora ta sem negrito... Agora ta da forma padrão![/size] _____________________________________________________________________________________ --------------------------------------------------------------------------------------------------------------------------- AGORA É A SUA VEZ!!! Poste aqui um texto de sua autoria e editado da forma ensinada do jeito que vc quiser! Eu darei REP+ a todo post que estiver editado de forma correta! ^^ E isso é tudo pessoal! ^^ _____________________________________________________________________________________ --------------------------------------------------------------------------------------------------------------------------- Créditos Eu (@Danihcv)1 ponto
-
[Encerrado] Server 10.10
Kluivert reagiu a Fir3element por um tópico no fórum
http://www.xtibia.com/forum/topic/219944-1010-the-forgotten-server-037/1 ponto -
Bom galera, dessa vez venho trazer um tutorial bem simples sobre tabelas e como criá-las em suas paginas PHP. Então vamos ao que interessa. ___________________________________________________________________________________ Para definir o que estará dentro da tabela usamos <table> no inicio e </table> no final. Para definirmos o que estará entro de uma linha da tabela usamos <tr> no inicio e </tr> no final. *A linha por sua vez estará dentro da tabela, então primeiro declaramos o inicio da table e dps declaramos o inicio da linha. Para definirmos o que estará dentro de uma coluna usamos <td> no inicio e </td> no final. *A coluna por sua vez estará dentro da linha, que por sua vez estará dentro da tabela. Então primeiro declaramos o inicio da linha e dps declaramos o inicio da coluna. *Antes de começar uma nova coluna, finalize a anterior, para que não gere nenhum "bug". Para colocarmos um título às colunas devemos delimitar o mesmo usando <th> no inicio e </th> no final. *O titulo da coluna segue a mesma logica da coluna, ou seja, vc deve declarar uma linha para colocar os títulos dentro da mesma. *A diferença to th para o td é que o th coloca o seu texto em negrito. E no caso das paginas de sites de tibia, também coloca um fundo cinza escuro e altera a cor da letra para branco. Então vamos ver uma tabela de exemplo: <table> <tr> <th>Titulo-Coluna-1</th> <th>Titulo-Coluna-2</th> <th>Titulo-Coluna-3</th> <tr> <td>Coluna-1,linha-1</td> <td>Coluna-2,linha-1</td> </tr> <tr> <td>Coluna-1,linha-2</td> </table> E esse seria o resultado: Titulo-Coluna-1 Titulo-Coluna-2 Titulo-Coluna-3 Coluna-1,linha-1 Coluna 2,linha-1 Coluna-1,linha-2 *Como pode-se ver, podem haver espaços vazios, os seja, uma linha pode ter mais colunas que outras. Dessa forma a coluna não terá valor algum nas demais linhas. Agora vamos colocar as bordas da nossa tabela. Para isso devemos adicionar as especificações da borda após decalararmos o inicio da table e colocamos tais especificações dentro do "comando" que usamos para dar o inicio à table. Obrserve: "Mas quais são as especificações da borda?" Bom, elas são basicamente 3: a espessura, o espaçamento e a cor. Códigos para os respectivos parametros: *Espessura: border="1" (nesse caso, a espessura da borda seria de 1 pixel) *Espaçamento: cellspacing="0" (nesse caso, não haverá espaçamento de uma borda pra outra entre 2 linhas/colunas. Assim fazemos uma borda simples, pois sem isso a borda da tabela ficaria com 2 linhas separadas, deixando um aspecto inusitado.) *Cor: bordercolor="#000000" (nesse caso a borda seria preta. Para ver o código da cor que vc deseja colocar, visite essa pagina de cores HTML e copie o código HTML da cor que vc qr e coloque dentro das aspas.) Então vamos ver um exemplo de uma tabela com bordas simples: <table [b]border="1" [b]cellspacing="0[/b]" [b]bordercolor="[url=null]#248685[/url]"[/b][/b]> <tr> <th>Titulo-Coluna-1</th> <th>Titulo-Coluna-2</th> <th>Titulo-Coluna-3</th> <tr> <td>Coluna-1,linha-1</td> <td>Coluna-2,linha-1</td> </tr> <tr> <td>Coluna-1,linha-2</td> </table> Esse seria o resultado (estou usando uma pagina do Gesior para mostrar o resultado): Porém se vc fizer o teste aí com frases maiores dentro das colunas e etc. Verá que todo o conteúdo de dentro da tabela (e inclusive a própria tabela) estarão concentrados no canto das colunas (e no caso da tabela, a mesma estará concentrada no canto esquerdo da pagina). Então digamos que vc queira colocar a tabela no centro da pagina e que vc queira centralizar todo o conteúdo da tabela no centro de suas respectivas colunas. Vc teria que usar um "comando" que centraliza o conteúdo. E esse comando é <div align="center"> (onde tem center vc pode esolher entre left (esquerda), right (direita) e claro center (centro)) aí logo em seguida vc coloca o conteúdo a ser centralizado e fecha o mesmo com </div> Atenção! Para usar o div align para centralizar uma tabela vc deve primeiro declarar ele e em seguida declarar o inicio da tabela e então após declarar o fim da tabela vc deve logo em seguida declarar o fim do div. Exemplo para centralizar a tabela no centro da pagina: <div align="center"> <table> <tr> <th>Titulo-Coluna-1</th> <th>Titulo-Coluna-2</th> <th>Titulo-Coluna-3</th> <tr> <td>Coluna-1,linha-1</td> <td>Coluna-2,linha-1</td> </tr> <tr> <td>Coluna-1,linha-2</td> </table> </div> Caso vc queira centralizar o conteúdo de uma coluna, vc deve declarar o div align após declarar o inicio da coluna. Exemplo de coluna com conteúdo centralizado no centro da mesma: <th> <div align="center"> Testando </div> </th> _____________________________________________________________________________________________ Caso vc queira fazer edições no conteúdo da tabela, aqui tem um tutorial sobre edição de textos em HTML: http://www.xtibia.com/forum/topic/233324-tutorial-formatando-textos-em-php/ ___________________________________________________________________________________________ E isso é tudo, pessoal! Espero que tenha dado para entender tudo de forma correta e simples. ^^ ___________________________________________________________________________________________ Créditos Eu (@Danihcv)1 ponto
-
[X] Resource Pack #2
Administrador reagiu a Benny por um tópico no fórum
Fala seus puto <3 Como prometido, eu trago a segunda edição do "X Resource Pack". Nessa edição, a novidade é que eu adicionei Renders no pack e pretendo adicionar stocks no proximo :3 Bem, vamos lá Preview : Informações : Tamanho : 362MB Formato : Rar/JPG/PNG Total : 573 C4Ds / 92 Renders Download : Mediafire Grato santo google <31 ponto -
1 ponto
-
xTibia, o RETORNO!
Administrador reagiu a Smaug Wolf por um tópico no fórum
Maior e melhor fórum de OTserv do brasil! HAIL!1 ponto -
Samehada - Absorb Chakra
ZiKaNiGhTh reagiu a Dbko por um tópico no fórum
olá galera olha eu de volta, tem muitas pessoas que tentou por pra funcionar o scripter da semahada, pra funciona o que é samehada, é uma sword de Kisame que ela suga chakra. no jogo ela vai só vai bate do chakra e rouba mana, oky então vamos lá vá em sua pasta do servidor Creaturescripts/scripts/ copie um arquivo.lua e renomeie para, samehada.lua e apague tudo e cole seguinte scripter ainda no creaturescriptes/scripter/login.lua adicione a seguinte tag registerCreatureEvent(cid, "samehada") em creaturescripts.xml abra como blocos de notas ou algum editor. e adicione a seguinte tag <event type="attack" name="samehada" event="script" value="samehada.lua"/> não lembro quem, a fez o sistema, mas vou por créditos desconhecido não sei o nome, mas quem souber avisa para eu por o crédito créditos: Autor Desconhecido.1 ponto -
[PDA] Adicionar limite de level para usar o item.
Drk Shadow reagiu a zipter98 por uma questão
local level = 250 function onUse(cid, item, frompos, item2, topos) if (item2.itemid == 13860 or item2.itemid == 13810) and (getPlayerGroupId(cid) < 4 or getPlayerGroupId(cid) > 6) then doRemoveItem(item2.uid) return true end if getPlayerStorageValue(cid, 990) >= 1 then doPlayerSendCancel(cid, "You can't use revive during gym battles.") return true elseif getPlayerStorageValue(cid, 52481) >= 1 then doPlayerSendCancel(cid, "You can't do that while a duel.") --alterado v1.6 return true elseif isPlayer(item2.uid) then doPlayerSendCancel(cid, "Please, use revive only on pokeballs.") return true elseif getPlayerLevel(cid) > level then return doPlayerSendCancel(cid, "You can't use this item at this level.") end if item2.uid ~= getPlayerSlotItem(cid, 8).uid then return true end if item2.uid ~= getPlayerSlotItem(cid, 8).uid and not isInArray(getPokeballsInContainer(getPlayerSlotItem(cid, 3).uid), item2.uid) then return true end for a, b in pairs (pokeballs) do if not item2.itemid == b.on or not item2.itemid == b.off then doPlayerSendCancel(cid, "Please, use revive only on pokeballs.") return true end end local pokeball = getPlayerSlotItem(cid, 8) for a, b in pairs (pokeballs) do if item2.itemid == b.on or item2.itemid == b.off then --edited deixei igual ao do PXG doTransformItem(item2.uid, b.on) doSetItemAttribute(item2.uid, "hp", 1) for c = 1, 15 do local str = "move"..c setCD(item2.uid, str, 0) end setCD(item2.uid, "control", 0) setCD(item2.uid, "blink", 0) --alterado v1.6 doSendMagicEffect(getThingPos(cid), 13) doRemoveItem(item.uid, 1) doCureBallStatus(getPlayerSlotItem(cid, 8).uid, "all") doCureStatus(cid, "all", true) cleanBuffs2(item2.uid) --alterado v1.5 --[[if getPlayerStorageValue(cid, storage) > 0 then setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage)-1) end--]] return true end end return true end1 ponto -
Quest Simples
narutomaniacos reagiu a zipter98 por uma questão
Action: local config = { time = 10, --Tempo para fazer a quest, em minutos. toPosition = {x = x, y = y, z = z}, --Para onde os jogadores serão teleportados. positions = { {x = x, y = y, z = z}, --Posições que os jogadores devem ficar. {x = x, y = y, z = z}, {x = x, y = y, z = z}, {x = x, y = y, z = z}, }, level = 100, --Level mínimo para fazer a quest. storages = {8605, 8606}, } function onUse(cid) local pid = {} if getPlayerStorageValue(cid, config.storages[2]) > -1 then return doPlayerSendCancel(cid, "You already completed that quest.") end for _, online in pairs(getPlayersOnline()) do if getPlayerStorageValue(online, config.storages[1]) > -1 then return doPlayerSendCancel(cid, "Someone is at the quest right now.") end end for i, position in pairs(config.positions) do local p = getTopCreature(position).uid if p < 1 or not isPlayer(p) then return doPlayerSendCancel(cid, "Not enough players to start the quest.") elseif getPlayerLevel(p) < config.level then return doPlayerSendCancel(cid, "Some player is at a level below "..config.level..".") end pid[#pid + 1] = p end for _, player in pairs(pid) do doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_ORANGE, "Good luck at the quest!\nTime: "..config.time.." minutes.") doTeleportThing(player, getClosestFreeTile(player, config.toPosition)) setPlayerStorageValue(player, config.storages[1], 1) end addEvent(function() for _, player in pairs(pid) do if isPlayer(player) and getPlayerStorageValue(player, config.storages[1]) > -1 then doPlayerSendTextMessage(player, 27, "Oh, timeout. Sorry. :/") setPlayerStorageValue(player, config.storages[1], -1) doTeleportThing(player, getTownTemplePosition(getPlayerTown(player))) end end end, config.time * 60 * 1000) return true end Tag: <action actionid="xxx" event="script" value="nome_do_arquivo.lua"/> Troque xxx pelo actionid. Creaturescript: function onLogout(cid) if getPlayerStorageValue(cid, 8605) > -1 then return doPlayerSendCancel(cid, "You can't logout on the quest.") and false end return true end function onLogin(cid) if getPlayerStorageValue(cid, 8605) > -1 then setPlayerStorageValue(cid, 8605, -1) end return true end Tags: <event type="logout" name="questLogout" event="script" value="nome_do_arquivo.lua"/> <event type="login" name="questLogin" event="script" value="nome_do_arquivo.lua"/> Em data/creaturescripts/scripts, abra o arquivo exp2.0.lua. Acima de: if getPlayerStorageValue(cid, 6598754) >= 1 or getPlayerStorageValue(cid, 6598755) >= 1 then Coloque: if getPlayerStorageValue(cid, 8605) > -1 then for _, pid in pairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 8605) > -1 then doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) doPlayerSendTextMessage(pid, 27, "Someone died and you lost the quest. Better luck on the next time!") setPlayerStorageValue(pid, 8605, -1) end end doCreatureAddHealth(cid, getCreatureMaxHealth(cid)) return false end No código de premiação da quest, coloque as seguintes linhas: setPlayerStorageValue(cid, 8605, -1) setPlayerStorageValue(cid, 8606, 1)1 ponto -
Bom, primeiramente temos que ler e entender o script. Oq ele faz? Quando o player usa as palavras "ninja" ou "promotion" e depois "yes" com esse NPC, o script checa o level e a vocação do player. Se o player tiver vocação diferente de 2 e level maior ou igual 8, sua vocação passará a ser 2. Para adicionar mais opções, você deverá dar ao player a possibilidade de usar outras palavras (Exemplo: "ninja", "chunin", "jounin") e fazer o script atuar baseado nessas palavras. Para fazer isso de forma mais curta e bonita, nós usariamos um loop. Mas vamos fazer o jeito mais simples mesmo, que é assim: Para facilitar, crie uma tabela para encurtar o script, exemplo: local tabela = {"chunin", "jounin", "hokage", "senin", "sanin"} Depois, você irá fazer várias checagens com if e elseif, exemplo: if msgcontains(msg, "chunin") then doPlayerSetVocation(cid, x) elseif msgcontains(msg, "jounin") then doPlayerSetVocatio(cid, y) E ir continuando.Vou deixar aqui o início do código para você Para fazer um NPC do 0, digamos que existe um molde: O início do seu script deve conter isso no início: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid E isso no final: npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Existem também outros moldes, mas pode usar sempre esse. Depois basta construir um script normalmente usando if msgcontains(msg, "blablabla") para checar oq o player fala e talkState para ajudar na organização (ordem em que as palavras devem ser ditas pelo player). Como usar o talkState? Basicamente, você pode pensar que ele é uma variável global à qual pode-se atribuir qualquer valor. Vou usar seu NPC como exemplo de uso do talkUser: if (msgcontains(msg, 'promotion')) then talkState[talkUser] = 1 selfSay('Wich vocation do you choose? chunin, jounin, hokage, sanin or senin?', cid) end Essa parte faz o seguinte: Se o jogador disser "promotion" ao NPC, talkState[talkUser] ganhará valor 1. if msgcontains(msg, 'chunin') and talkState[talkUser] == 1 then Essa parte vai checar duas coisas: Se a palavra dita foi "chunin" e se o valor de talkState[talkUser] é 1. Se o valor não for 1, não adiantará nada dizer a palavra certa e vice-versa. É basicamente isso, vc pode ir dando os valores para talkState[talkUser] conforme vc quer que seja a ordem das falas. Espero que tenha dado para entender, ainda não sou muito bom explicando =S1 ponto
-
Bom, para quem não me conhece, meu nick é iuniX. Sou programador faz uns 2 anos. Minha linguagem principal é Lua, porem domino algumas outras. Ok, agora vamos para a aula. O que é Lua? Lua é uma linguagem interpretada e comparada a outras linguagens interpretadas, ela é bem leve e versátil. Lua tem uma sintaxe bem simples de entender e ela é MUITO útil. Ela também é uma linguagem TOTALMENTE brasileira, feita na PUC-Rio. Mas por que usar Lua? Como eu disse acima, Lua é uma linguagem simples e poderosa. Isso a torna perfeita para aplicativos que requerem edições constantes (Como nosso Open Tibia). E também pelo fato de Lua ter um manual realmente completo e bem explicado. Sem contar que Lua é uma linguagem livre (Pode ser usada para qualquer coisa ou pessoa) O que é uma linguagem interpretada? Linguagens interpretadas, são linguagens de programação que precisam de um interpretador, também conhecidas como linguagem de scripting. Algo que "traduza" ela para a máquina (No nosso caso, usamos o distro do Open Tibia). Elas não precisam ser compiladas, isso geralmente as tornam mais eficientes para pequenas e rápidas edições. Onde arrumar um interpretador para Lua? O próprio site da linguagem tem um pequeno interpretador: http://www.lua.org/demo.html, mas para algo mais "sério", eu aconselho vocês a usarem o Scite (postarei o link abaixo). Finalização Queria agradecer a todos que leram tudo. E espero que com esse tópico eu desperte interesse em alguns, fazer essa grande linguagem que eu gosto tanto crescer. Gostaria que vocês me ajudassem com um feedback, dicas e que postem duvidas para eu responder. Download Scite: http://sourceforge.n...=ufpr&download=1 ponto