Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''Normal', 'como instalar ot no linux ubuntu', 'php 5', 'mysql', 'phpmyadmin', 'global 8.6', 'otserv', 'ot', 'otserver', 'vps', '14.04', '12.04', 'ubuntu', 'linux', '8.6', 'gesior', 'otx' ou 'compilar''.



Mais opções de pesquisa

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • Projetos Open Source
    • Canary
    • OTServBR-Global
    • Mehah OTClient
    • MyAAC
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
  • Outros
    • Design

Encontrado 204 registros

  1. O que você busca em um OTserv?

    Na hora de procurar um OTserv (isso é, se você já não desistiu como eu), o que tem mais importância para você?
  2. Olá galera! Vim aqui falar que finalizamos ás dobras de terra, ao toldo contamos com 17 dobras deste elemento, sendo 6 de suporte, 4 de ataque e 7 de ataque/suporte. Esse será o elemento mais balanceado no jogo, contendo dobras de excelente suporte, ao mesmo tempo de excelente dano. Ele vai conseguir jogar o inimigo pra longe, correr como o vento com ajuda de mini-deslizes de terra, etcetc. Claro que neste video não vamos mostrar TODAS dobras, apenas algumas para dar um gostinho de quero mais, ...., além de todas essas dobras que eu citei acima, teremos inúmeras dobras secretas, ou modificações dessas dobras atravéz de missões, treinamento e etc. Gostou do video? De alguma dobra? Não esqueça de dar joinha no video e CURTIR nossa página no facebook -> facebook.com/avatarLegendsATS, para acompanhar o andamento do projeto de perto.Cada curtida é muito importante para nós, a SUA curtida muito mais, então não deixe de nos ajudar, abraços!
  3. AvatarLegends! Queremos você.

    Olá amigos da OTBR, venho através desse desse tópico lhes apresentar o projeto Avatar Legends. Servidor vem sendo desenvolvido á mais ou menos 6 meses, toda sua jogabilidade é feita em cima do anime AVATAR. O objetivo central do jogo é escolher entre 4 elementos (fire, water, air ou earth) e começar sua jornada, desbloqueando novas dobras, fazendo novas missões para se tornar um grande mestre avatar. O servidor será baseado no tibia 8.6, o sistema de NPC será o antigo, ou seja, ele não terá aquele NPC channel, trade window e etc, cada dobra (mágia) terá cold down individual. Só dei uma breve apresentada á vocês como será o servidor, caso deseja saber mais sobre a equpe e etc, você pode acessar os links que se encontram em minha assinatura, aqui vai alguns videos: http://www.youtube.com/watch?feature=player_embedded&v=DmUEcbrrvIc E aqui algumas prints, sem legenda fica meio dificil entender, mais todas essas imagens já foram postadas em nossa página do facebook, e la você pode encontrar á legenda, o link se encontra no final da pagina, ai vai: Desculpem pela má formatação, resolvi postar assim porque uma imagem fala mais que mil palavras rs, em nossa página oficial do facebook, tem um álbum com várias fotos da cidade principal, um álbum com TODAS dobras de Terra, com seus respectivos CD's e Level, também tem diversas imagens de sistemas em andamento. http://facebook.com/avatarLegendsATS <- Curta nossa página e acompanhe nosso servidor de perto, cada curtida nos ajuda muito e a sua curtida é muito importante para nós, abraços, esperamos vocês lá! (Assim que chegarmos á 200 curtidas vamos liberar o vídeo referente a dobra de FOGO, que já está prontinho)
  4. Fala pessoal, beleza? Estou com uma ideia de fazer um sistema Android para algumas funções de OtServ e Tibia. De inicio só tenho idéias básicas: Uma biblioteca do Tibia no celular/tablet (magias, equipamentos, calculadoras, etc) Para jogadores Ot: Um cadastro dos servidores, onde possa consultar os dados (UpTime, Players on, Etc, direto no App) e configuração para fazer verificações de status automático, ex: um servidor favorito seu você que saber sempre quando ele está on, você configurar e quando ele verificar que o server está on lançar uma notificação no celular. Armazenar suas contas, Adicionar talvez um "ranking" dos servidores mais cadastrados no sistema, assim você poderia procurar também os servidores. Até mesmo um Ip-Changer, caso consiga a integração pelo wifi, você rodaria um programa no Pc, e o celular faria a troca de ip no tibia. Para admins: Configurações do servidor, no caso do SQL seria simples a integração para controle de todas as acc, e etc, tudo que for acessível pela base (até mesmo utilitarios de magias, npc, monster etc. preciso analisar as bases atuais ). Estou por fora do mundo de OtServ atual, então não sei tantos recursos que podem ser uteis, mas acho que se a ideia for boa, com as sugestões de vocês pode sair algo útil. Obrigado,
  5. Backup Automático Da Sua Database

    Introdução: Olá venho aqui fazer esse tutorial para ensinar como configurar um cron a fazer backup automaticamente da sua database todos os dias. OBS: • Seu server tem que estar em ambiente Linux. • Sua database deve estar funcionando com o seu servidor. • Programa usado no tutorial PuTTY. Tutorial 1° Parte do tutorial : 1°: logue no PuTTY como root e crie o diretório onde será salvo a database com esse comando: mkdir backup 2°: Agora vamos criar o arquivo que irá fazer o backup com o comando: pico backup.sh Agora você vai ter que colar este texto para o novo arquivo. Você pode colar pressionando o botão direito do mouse. onde está otserv é o sqlDatabase = "otserv" que esta no config.lua #!/bin/bash mysqldump -u"root" otserv| gzip > /root/backup/db_backup_`date +%d-%m-%y__%Hh:%Mm_%Ss`.sql.gz Após colar o texto salvar e sair, (ctrl + x) S para sim depois enter, agora já esta salvo seu arquivo. 3°: execute esses 2 comandos: chmod 777 -R /root/backup/ chmod 777 -R /root/backup.sh Agora teste o arquivo com o comando: ./backup.sh No diretório /root/backup/ terá um arquivo parecido com isso db_backup_27-08-12__14h:00m_17s.sql.gz Seu arquivo backup.sh está funcionando agora vamos para a segunda parte onde o cron faz o backup todos os dias. 2° Parte do tutorial : 1°: Execute esse comando: nano /etc/crontab -e Vai aparecer algo semelhante a da imagem: Agora você vai ter que colar este texto. Você pode colar pressionando o botão direito do mouse. 1 6 * * * root ./backup.sh Deve ficar semelhante a imagem: Sendo que o 1 é minutos e 6 é horas o cron vai salvar sua database as 06:01 da manhã, após colar o texto (ctrl + x) S para sim depois enter, agora já esta salvo seu arquivo. Por final execute esse comando para da um restart no cron ou reinicie o host: /etc/init.d/cron restart Notas Finais Bom esse é um tutorial simples de como fazer um auto backup database, este tutorial foi feito em ubuntu 10.04 mas deve funcionar em outros ambientes Linux Credito: Vedovi Agradecimentos : Obrigado a todos que leu esse topico .
  6. [SORTEIO]Avatar Legends.

    Olá galera da OtServerBrasil, á fim de divulgar nosso projeto resolvemos promover um concurso para ganhar uma linda camiseta do Avatar Legends. Imagem da camiseta: Para concorrer basta Curtir nossa página no facebook, indica-lá p/ 5 amigos e compartilhar essa promoção que encontra-se em destaque em nossa página, assim que chegarmos á 300 curtidas essa camiseta será sorteada. Página: facebook.com.br/avatarLegendsATS OBS: A camiseta ainda não foi fabricada pois vamos precisar do tamanho-molde do ganhador, portanto essa imagem é meramente ilustrativa. Quem ganhar não terá nenhum custo, camiseta/frete por nossa conta. Boa sorte á todos!
  7. Ot com Botters

    Boa tarde pessoal, estou trabalhando em um otserver e em uma conversa com amigos tivemos algumas dúvidas... os ots mais jogados aqui no brasil normalmente são de mapa Global e com permissão total ou parcial do uso de bots, a minha pergunta fica aqui: Você jogaria em um ot onde os bots são permitidos ou proibidos?
  8. Cúmulo PXG

    fala ai galera, não sou de postar tópicos referentes a outros servidores, só que hoje vi um fato em um servidor famoso, o tal do PXG = PokeXGames, pra quem não sabe, é o antigo SvkE, é o servidor mais famoso de pokémon na atualidade, entrei lá ante-ontem só que havia esquecido meu password de uma conta level 107, daí utilizei o canal de report em outra conta de um amigo em sapphire, e perguntei pro gm como poderia proceder para recuperar, ele me disse que eu deveria enviar um ticket no site com todos os dados da conta para provar a titularidade da mesma e se fosse possível eles recuperariam. até ai tudo ok, fui lá pra enviar o ticket no site deles, e deparei com isso: e adivinha o que achei embaixo?... pra quem duvida, segue o link: http://www.blogpxg.com/tutoriais/sistema-de-ticket/ entrei no game, utilizei o canal de report e fiz a seguinte pergunta: é filhos... fiquei P* da vida com o que acabei de ver, ou seja, eu que nunca donatei ao servidor, upei minha conta na famosa "raça" até mesmo porque doação é pra quem quer ou puder, não posso ter minha conta recuperada? então só quem já doou ao servidor, se perder sua conta pode ter acesso a ela denovo? agora vamos ser sinceros, DOAÇÃO é o caralho! DOAÇÃO é so um meio deles ganharem nas custas dos otários que pensam que o seu dinheiro vai ser pra melhorias do servidor, sim, boa parte pode voltar para melhoria mesmo, só que quem enxe o bolso ai é os GMs, to nem ai pra quanto eles ganham, se estão ali so pra enriquecer ou algo do gênero, só fiquei puto porque quem não doa não tem praticamente nada, SUPORTE SÓ PARA DOADORES! Obs: Oferecer algo em troca do dinheiro doado não é LEGAL, isso continua sendo crime, mesmo se eles recuperarem minha conta, não volto a jogar, só por essa falta de respeito comigo e com outros que possam vir a acontecer, e lembrem-se SUPORTE NO PXG É SOMENTE PARA DOADORES!
  9. OTServ MySQL

    - Observei muitas pessoas com dúvidas a respeito de abrir um servidor em "MYSQL" pois sempre dá um erro ou não consegue, e todos nós sabemos que para abrir um site de otserv, o servidor precisa suportar "MYSQL" e estár configurado. Web Server usado: Xampp 1.7.3 OTserver usado: TFS 0.3.6 1º PASSO. - Configure o WEB Server, e configure o login do admin e senha. (IMPORTANTE) - Extraia o TFS para area de trabalho (ou local desejado). 2º PASSO. - Abra o IE/FIREFOX e digite http://localhost/ ou http://localhost:8090/ - No lado esquerdo clique em Phpmyadmin, digite o login e a senha (configurado no 1º passo). - Crie um banco de dados chamado "tibiaotserv" ou um de sua preferência. - Vá em IMPORTAR, clique em ENVIAR ARQUIVO. - Agora vá até a pasta do OT TFS/schemas/mysql de 2 cliques e depois la em baixo clique em Executar. - Ótimo caso apareça a mensagem em verde, é porque tudo ocorreu bem. - Feche o navegador. - 3º PASSO. - Abra a pasta do OTserver e em seguida abra o Config.lua. - Vá até, database que vai estar mais ou menos assim: -- Database sqlType = "sqlite" sqlHost = "localhost" sqlPort = 3306 sqlUser = "" sqlPass = "" sqlDatabase = "forgottenserver" sqlFile = "Styller.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 passwordType = "plain" Mude para: -- Database sqlType = "mysql" agora o servidor está em mysql sqlHost = "localhost" sqlPort = 3306 sqlUser = "USSER XAMPP" Digite o usuário correto sqlPass = "PASS XAMP" Digite a senha correta sqlDatabase = "tibiaotserv" Digite a database corretamente. Obs: isso foi um exemplo, você irá configurar aqui com o nome que você criou a database no phpmyadmin. sqlFile = "Styller.s3db" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 passwordType = "plain" Azul - Mudamos para mysql pois o otserv agora roda em mysql. Rosa - Mudamos o DB pois lá em cima criamos nossa DB com nome de tibiaotserv ( ou com o nome que você escolheu ). - Feche o config.lua e salve. Pronto, agora pode abrir normalmente que seu otserv já está configurado para abrir como mysql, lembrando que para abrir o servidor é necessario estar com o Apache e Mysql ligados, ou seja, o XAMPP CONTROL PAINEL estar ligado. Dúvidas postem ai, que tentarei ajudá-los.
  10. OTServ Brasil 2012

    Eae pessoal a muito tempo que eu não posto nada então ai vai mais um layout. Tematica : Fórum / Medieval Tempo gasto : 1 Hora Softwares : Adobe Fireworks CS5 / Adobe Photoshop CS5
  11. Diamond OT Server 24h - Hamachi

    Diamond OT Server 24h :witch: Ot recentemente aberto. Totalmente grátis. :money: Cliente: 8.6 Hamachi: diamond.servergame.com (1/2/3/4...) Mapa: Baiak Yurots Templo Sistema VIP [GRÁTIS] Tps VIP Set VIP Sistema War Novos Monstros :aawyeah: Qualquer dúvida ou contato: [email protected] ou [email protected]
  12. Yurots Project

    YurOTS Project Eae pessoal da OTBR, vim aqui para perguntar algumas coisas à vocês. Bom, é que estou fazendo um servidor YurOTS, estilo ForFun, porém não com EXP super exageradas, é algo mais sério, só que para um YurOTS. A exp seria em torno das 500x e descendo(stages), para talvez até 10x no final. Porém não foi decidido ainda, por isso estou vindo aqui. Mesmo tendo uma base das rates, de como serão, gostaria de perguntar à vocês. Qual seria as rates ideais para um servidor YurOTS? (Exp, Skills, Loot) Como será um servidor com uma exp considerada HIGH, talvez o atual sistema de potions não se encaixe bem para o PVP, você acha que é uma boa idéia modificar o sistema de potions? Como você gostaria que ele fosse? Sobre os addons, como você gostaria que fosse? Como no global, aonde à única maneira é pegando os items de addon nos loots ou comprando de outros jogadores. Como nos atuais YurOTS, aonde você pode comprar tais itens em um NPC. Ou de alguma maneira diferente, como você sugere? Você gostaria que tivesse o sistema de Tasks? Sobre VIP, vocês acham que uma área VIP é ruim, ou bom? Se não tivesse área VIP, apenas algumas vantagens dentro do jogo, assim, todos poderiam caçar nas mesmas hunts, isso ficaria melhor? Bom galera, acho que por enquanto seria isso.. ah, a versão do servidor será 8.6. Se tiver alguma coisa faltando, eu edito aqui. Quem puder ajudar aí, dando alguma idéia, sugestâo.. respondendo as perguntas acima, eu agradeço, valeu. E, o andamento do mapa já está em uns 60%..
  13. ZaphirOT Showoff

    Digo primeiramente, o nome do projeto não me agrada, porém estou sem idéias para nomes. Eu postei fotos do mapa, porque estou sozinho e preciso de uma equipe para me animar e ajudar. Tinha postado, mas 2 pessoas corresponderam, e as duas não eram a altura do projeto. Para se inscrever no projeto poste aqui: http://forums.otserv.com.br/showthread.php?194754-ZaphirOT&p=1377325#post1377325 O server tem como base TFS, e global (NPCs). Da para ver no mini mapa que não está pronto, por isso preciso de ajuda. WebMaster, todo tipo de ajuda. VAMOS AS FOTOS: Mini Map City Depot Hells City Rotworms Wyverns
  14. Proteção Contra Hackers

    Ofereço proteção contra qualquer tipo de ataque hacker, seja Ddos,mysql injection, ou invasão dentro da db, etc. Também aumento a segurança do seu dedicado, para se tornar impenetrável, serviço garantido. Em caso de dúvidas entre em contato no Email/Msn: [email protected]
  15. Qual voce escolheria!. 7.6 ou 8.6

    Li muitos topicos no tibia e em algumas sessoes deste forum, sobre old school, e Gostaria de saber, Qual voce escolheria? **8.6 com base no 7.6.. ***Todos os danos.. com balanceamento 7.6, e com todas as spells novas, com o mesmo tipo de balanceamento conforme as outras magias. **Exp: 3x Magic: 3x Skillz:5x loot: 1.5x (algumas modificaçoes) ***Todas as runas com base (mana para conjurar) 7.6 conforme o heal das gmp, smp, e mp. **Todas as quests globais e sistema antibot training, e gms eficientes para evitar alto cavebot. ou O mesmo servidor, apenas spells 8.6 sem modificaçoes e exp: 50x - 3x, magic 8x , skillz 10x e loot: 2x
  16. [Enzimor] - Rook Land

    Enquanto o WarLan esta parado, eu resolvi começar um projetinho, como eu era dono do Enzimor resolvi por o mesmo nome, mas é um projeto um pouco diferente só seguindo a mesma linha de RPG. Ele se basea em alguns servidores atuais como K.A, Aurora e Zodiac. Não estou rippando ninguem pois muitos dos sistemas que estão / vão estar presentes no jogo estão em tantos outros servidores e não somentes nos que eu citei acima. Alguns sistemas que terão são os clássicos sistemas de Jobs: Minerador, Lenhador, Coletor, etc. Sobre o mapa eu usei a Rook como base, talvez ela seja o continente principal do jogo, claro que eu editei ela e ainda vou editar mais. O que vai ter nessa Rook Vocações, Magias, Jobs, Runas, Monstros melhores, PvP, Guilda É como se você estive-se em main com level baixo. Então deixo as perguntas: Vocês já quiseram ser Rookers no global?? Sim / Não e Porque?? Você jogaria no estilo rooker em uma rook custom?? vocês preferem a rook antiga ou do novo update?? 5 = Mais recente 2;3;4 = Desenvolvimento 1 = Rook Original
  17. [phpMyAdmin] Commandos Úteis !!!

    Este tutorial vai ser uma "mão na roda" para muitas pessoas. QUer Quiser algum comando que não tenha na listagem me mande PM que eu atualizo no Topico. Créditos ao Sphex pelas SS. Baixo segue como faz para executar os comandos Passo1: Passo2: Remover Premium ACC de todos. Não funciona com VIP System . UPDATE account SET premdays=0; Dar 7 dias de Premium ACC a todos os players. Não funciona com VIP System. UPDATE accounts SET premdays = premdays + 7 Mardar todos os Players para o templo. UPDATE players SET posx = X, posy = Y, posz = Z; Colocar todo mundo como Grupo 1 = Player. UPDATE groups SET flags=0,name="Player" WHERE id=1; UPDATE players SET group_id=1; DELETE FROM groups WHERE id<>1; Criar Account Manager. (Original em forgottenserver.sql) INSERT INTO `players` VALUES (1, 'Account Manager', 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 10, 10, 10, 0, 0); Remover Red Skull e frags de todos. UPDATE `players` SET `redskulltime`=0; Dar Todas as Blesses aos players. UPDATE `players` SET `blessings`=31; Remover um item especifico (exemplo id 2160) completamente do jogo (depot, players, houses). Ótimo para casos de cloners. DELETE FROM player_depotitems, player_items, tile_items WHERE itemtype = 2160; Deletar players inativos, level baiaxo de 50, 20 days Inativo. Recomendo um backup do seu banco de dados antes desta ação. DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 Deletou um player do banco de dados? Com este código irá remover todos os items dele que ficaram no database. DELETE FROM player_items WHERE player_id NOT IN (SELECT id FROM players); Deletar todos os itens de um único player .Onde 1234 é o ID do player. DELETE FROM `player_depotitems` , `player_items` WHERE `player_id` = '1234' Trocar o outfit de todos os players. UPDATE players SET lookbody =69, lookfeet =95, lookhead =115, looktype =128 Remover as casas de players que foram deletados. UPDATE `houses` SET `owner` = '0' WHERE `houses`.`owner` NOT IN ( SELECT `players`.`id` FROM `players` WHERE `players`.`id` = `houses`.`owner` ); Deletar um Storage de todos os players. Ótimo em caso de bugs de Quest. DELETE FROM `player_storage` WHERE `key` = '11551'; E o Global Storage Também. DELETE FROM `global_storage` WHERE `key` = '11551'; Dica dada Pelo Mock; Deleta players que nunca logaram DELETE FROM `players` WHERE `lastlogin`=0; Espero ter ajudado.
  18. Compilando OpenTibia - Ubuntu 10.04 TLS

    Compilando OpenTibia - Ubuntu 10.04 TLS Introdução Este tutorial foi escrito partindo do principio que o leitor tenha conhecimento minimo do sistema operacional Linux, saiba o que é o shell, entenda comandos simples do Linux, entre outras coisas essenciais. Caso você não se enquadre acesse os links.[spoiler=Links]Introdução ao Shell Comandos Básicos GCC Mãos a obra Passo 1 - Instalação das dependências Para efetuar a compilação do servidor é necessários algumas bibliotecas (libs), vamos fazer o download dessas bibliotecas preparando o sistema para compilar o OpenTibia. O simbolo # não deve ser digitado no terminal, ele está apenas indicando que tudo que esta adianta dele é um único comando, é apenas nomenclatura. Instalando GCC e G++ # sudo apt-get update # sudo apt-get install gcc # sudo apt-get install g++ Instalando as dependências # sudo apt-get install subversion autoconf build-essential pkg-config libboost-dev libgmp3-dev libxml2-dev liblua5.1-0-dev libmysqlclient-dev libcrypto++-dev ccache libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-thread-dev screen libssl-dev libluajit-5.1-dev [spoiler=Leia]Este comando instalara algumas libs a mais, que não são totalmente necessárias para o OpenTibia, porem com elas também será possível compilar o TFS, caso queira apenas as libs do OpenTibia: # apt-get install autoconf libxml2-dev liblua5.1-0-dev g++ libgmp3-dev libboost1.35-dev Passo 2 - Configurações da compilação Neste passo iremos fazer as configurações do distro antes de compilar o mesmo, porem antes será necessário das privilegio aos arquivos, para isso faremos o seguinte. Pelo terminal entre no diretório onde encontra-se a pasta dos com arquivos, lembre-se não é para entrar no diretório onde está os arquivos, e sim no diretório pai deles. Troque o file pelo nome da pasta que encontra-se as sources. # chmod 777 -R file Preparando o terreno Os comandos abaixo devem ser executados dentro da pasta onde contem as sourcers. # ./autogen.sh [spoiler=Mysql] #./configure --enable-mysql [spoiler=SQLite] # ./configure --enable-sqlite [spoiler=Avançado]Acesse o arquivo configure para ver outras opções de configuração. Compilando... # make [spoiler=Avançado]Execute o comando abaixo para ver outras opções de compilação # make --help Se o seu computador for bom pode executar mais de um processo de compilação simultaneamente para isso use o comando abaixo, onde N é o numero de processos. # make -j N Pronto, está compilado. Executando # ./otserv Créditos Zirun Proibida a reprodução, parcial ou total do artigo sem previa autorização.
  19. Patterns

    Pattern Pattern ("Padrão" em pt-br) é uma poderosa funcionalidade para manipulação de strings (caso você não saiba o que é uma "string", busque saber antes de continuar, recomendo também ter um certo domínio sobre a biblioteca string), e usada para buscar um padrão de texto pré-definido. Porque aprender ? Possui recursos indispensáveis quando se precisa trabalhar com strings, alta aplicabilidade em scripts direcionados a otserv (talkactions), não que se vá usar isso a todo o momento, mas é altamente recomendado que se saiba trabalhar com patterns, é extremamente útil as vezes. Funções Algumas funções da biblioteca padrão string que aceitam pattern em seus parâmetros: string.find(string, pattern) – Procura a primeira instância da pattern na string string.gfind(string, pattern) – Quando for chamada repetidamente, retorna cada instância da pattern na string string.gsub(string, pattern, replace) – Retorna uma string em que todas as instâncias da pattern foram substituidas por replace string.match(string, pattern, init) – Retorna uma lista de ocorrências da pattern na string, começando em init (1 significa o primeiro caractere da string, 2 o segundo, assim por diante) Conjuntos Quando se constrói uma pattern, se utiliza alguns caracteres, cada um representando um conjunto diferente: x (onde "x" não é um caractere mágico ^$()%.[]*+-?) → Representa o caractere "x" mesmo; . → Representa todos os caracteres; %a → Representa todas as letras; %c → Representa todos os caracteres de controle; %d → Representa todos os dígitos; %l → Representa todas as letras minusculas; %p → Representa todos os caracteres de pontuação; %s → Representa todos os caracteres de espaço; %u → Representa todas as letras maiúsculas; %w → Representa todos os caracteres alfanuméricos; %x → Representa todos os dígitos hexadecimais; %z → Representa o caractere com a representação do 0 (zero). Ao usar zeros na pattern ela não irá funciona, use esta nesse caso; Ao usar letra maiúscula, isso faz representar o contrário (Exemplo: %A → Representa tudo que não for letras; %D → Representa tudo que não for um digito; assim por diante...). Como dito anteriormente, para se criar uma pattern é necessário utilizar esses conjuntos, uma pattern é feita de uma sequência desses conjuntos. Se você quisesse criar uma pattern para encontrar uma certa string em um texto, por exemplo, para encontrar os números da string "23otserv", você teria que usar esta pattern "%d%dotserv", assim você estaria definindo que quer os numeros que estão ao lado da palavra ‘otserv’. Mas e se tivesse que encontrar um numero com 10 "casas" ? Por isso existe os modificadores, para evitar essa repetição desnecessária. Modificadores Servem principalmente para poupar serviço e são quatro, entenda 'x' como sendo algum conjunto (%a, %c, %d, ...): x* → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x+ → Retorna 1 ou mais repetições do conjunto x. Sempre retornará a maior cadeia possível encontrada; x- → Retorna 0 ou mais repetições do conjunto x. Sempre retornará a menor cadeia possível encontrada; x? → Retorna 0 ou 1 ocorrência de x; Elementos especiais Existe também quatro elementos especiais: %n → Sendo n um numero entre 1 e 9, busca a enésima captura (apenas vi sendo usada na função string.gsub); %bxy → Procura uma string que inicia com x e termina com y; ^ → Quando está no começo da pattern, força a pattern a ser encontrada no começo da string; $ → Quando está no final da pattern, força a pattern a ser encontrada no fim da string; Nota: Se ^ ou $ estiverem em outros lugares da pattern, não fazem nada, apenas representam eles mesmos. Construindo uma pattern Vamos construir algumas patterns com os elementos citados acima. Primeiro alguns exemplos e depois uma explicação mais detalhada de cada elemento da pattern: String para as patterns: "Exemplo lua de pattern lua feito em lua" exemplos toscos, a gente se vê por aqui Pattern: (%a+) lua Capturaria: Exemplo lua de pattern lua feito em lua Ele só retornará o primeiro caso que corresponder com a pattern. Agora, ao invés de usar o "%a" fosse usado o "." (que captura tudo), aconteceria isso: Pattern: (.+) lua Capturaria: Exemplo lua de pattern lua feito em lua Como "%a" captura apenas letras e não o "espaço", foi por isso que no primeiro exemplo só capturou a palavra "Exemplo" e no segundo exemplo, como foi usado o "." que captura tudo, capturou uma parte maior (ai que vêm a parte do modificador) por causa do modificador "+" que sempre vai buscar a maior cadeia possivel, agora veja um exemplo usando o "-": Pattern: (.-) lua Capturaria: Exemplo lua de pattern lua feito em lua O modificador "-", como dito anteriormente, captura a menor cadeia e por isso capturaria apenas o "Exemplo". Todos os modificadores são importantes. Um exemplo maior: Pattern: (%a+) lua (.-) lua (.+) Capturaria: Exemplo lua de pattern lua feito em lua Para quem não entendeu Explicação passo a passo: (%d+) Captura → O parenteses define que você quer que retorne essa captura. Conjunto → No caso é o de digitos. Modificador → No caso mostra que é para obter a maior cadeia possivel com 1 ou mais repetições do conjunto. Um exemplo mais avançado Agora usando de exemplo a pattern da função string.trim, que remove os espaços em branco do lado esquerdo e direito da string. function string.trim(str) -- Function by Colandus return ([b]string.gsub(str, "^%s*(.-)%s*$", "%1")[/b]) end string.gsub(str, "^%s*(.-)%s*$", "%1") str → Uma string qualquer; ^ → Força o começo da pattern ser encontrada no começo de str; %s* → Conjunto de espaços, podendo ter 0 ou mais repetições; (.-) → A captura principal, a que vai ser retornada, podendo ser digitos, letras, espaço, etc; $ → Força o final da pattern ser encontrada no fim de str; %1 → Retorna a 1ª captura da pattern e usa como parametro da função (Esse é um dos elementos especiais, %n); Dessa forma será removido os espaços apenas no começo e no fim da string ! Complemento Depois de dominar e entender como funciona as patterns, vamos aplica-las em funções, vou mostrar um exemplo de cada função (as que foram citadas no começo). string.find: [b]init[/b], [b]end[/b], [b]case1[/b], [b]case2[/b] = string.find("minha string123", "(%a+) (.+)") init → Onde inicia a captura encontrada (nesse caso, init = 1); end → Onde termina a captura encontrada (end = 15); case1 → Primeira captura que equivale a pattern (%a+) (case1 = minha); case2 → Segunda captura que equivale a pattern (.+) (case2 = string123); string.gfind: for [b]occ[/b] in string.gfind("a1a2a3a4a5", "(%a%d)") do print([b]occ[/b]) end occ → Terá um valor para cada instância da pattern (%a%d) encontrada, então irá printar a1, a2, a3, a4 e a5. string.match: [b]case1[/b], [b]case2 [/b]= string.match("Eu tenho 50 reais", "(%d+) (%a+)") case1 → Primeira captura que equivale a pattern (%d+) (case1 = 50); case2 → Segunda captura que equivale a pattern (%a+) (case2 = reais); Referência http://www.lua.org/manual/5.1/pt/manual.html#5.4.1 http://lua-users.org/wiki/PatternsTutorial Então é isso, espero ter sido o mais claro possivel, Qualquer dúvida, erro ou sugestão, poste !
  20. Servidores 8.60 ou posterioes?

    Preferem um servidor 8.60 com mapa Global wow + war system/Baiak 100% editado by meipern00b e usarem o famoso elfbot para upar enquanto se masturbam, ou... Um servidor de versão posterior, porém com mounts, novos sistemas, porém... sem cooldown e sem o elfbot ? VOTEM!
  21. IP Changer IP Changer para Linux [Open Source]

    Instalação: $./configure [i](caso Seja A Versão Console)[/i] $./configure --with-gui [i](caso Seja A Versão Gui)[/i] $make #make Install Modo de usar do Console: change -ip Serverip Serverport Clientversion Change -un Serverip Serverport Clientversion Unstandardtibiaprocessname O Antigo IP-Changer para linux que eu tinha postado, fecharam o tópico, então, estou aqui postando este mais recente. |~| DOWNLOAD |~|
  22. Mirror Reflect v1.0

    Mirror Reflect Funcionamento: Esse script é um script apenas para RPG e diversão.... O que ele faz é mandar raios para outro espelho, ele acha qualquer espelho que esteja em seu raio de alcance. Eu fiz esse script para um concurso mas como não vou usar estou dando a vocês. IDs Espelhos: 1736 | 1737 Telescopio: 10533 | 10534 Tags: Script Em data/actions/script/ crie um arquivo chamado laser.lua Em seguida ponha esse code nele: function findItemInPos(items, position)-- by Nord local found, pos, thing = 0, {x=position.x, y=position.y, z=position.z} for i = 0, 255 do pos.stackpos = i thing = getTileThingByPos(pos) if(thing.itemid == 0)then break end if isInArray(items, thing.itemid) then return thing end end return false end function getSize(pos1, pos2) -- by Conde2 local x = math.abs(pos1.x-pos2.x) local y = math.abs(pos1.y-pos2.y) return x, y end function doSendEffectByMirror(mirror, pos1, pos2, stop, savedpos, shottype) ---------------------------------------------- local pos = 0 local pos3 = 0 local newpos = 0 local mtable = {mirror} local change = {[1736]=1737, [1737]=1736} local size1, size2 = getSize(pos1, pos2) ---------------------------------------------- for x = 0, size1 do for y = 0, size2 do if mirror == 1736 then pos = {x=pos1.x+x, y=pos1.y-y, z=pos1.z} elseif mirror == 1737 then pos = {x=pos1.x-x, y=pos1.y+y, z=pos1.z} end if findItemInPos(mtable, pos) then if pos1.x == pos.x and stop == 1 or pos1.y == pos.y and stop == 1 then break end if mirror == 1736 then _, sizey = getSize(pos, pos1) newpos = {x=pos.x+7, y=pos.y+sizey, z=pos1.z} elseif mirror == 1737 then sizex = getSize(pos, pos1) newpos = {x=pos.x+sizex, y=pos.y+5, z=pos1.z} end addEvent(doSendMagicEffect, 100, pos, 3) for v = 1, 6 do if savedpos ~= 0 then addEvent(doSendDistanceShoot, v*100, savedpos[1], savedpos[2], shottype) end addEvent(doSendDistanceShoot, v*100, pos1, pos, shottype) pos3 = {x=pos.x, y=pos.y, z=pos.z} addEvent(doSendDistanceShoot, v*100, pos, getPosByDir(pos3, getDirectionTo(pos, newpos), sizex or sizey or 1), shottype) --- Necessário para correção de erros em posições (RETORNA DIAGNOAL PERFEITA) end if stop == 1 then break end if savedpos == 0 then savedpos = {pos1, pos} end addEvent(doSendEffectByMirror, 1, change[mirror], pos, newpos, stop+1, savedpos, shottype) break end end end end function onUse(cid, item, frompos, item2, topos) local shottype = 37 local mirror = {[10533] = 1737, [10534] = 1736} local position = { [10533] = {x=frompos.x-7, y=frompos.y, z=frompos.z}, [10534] = {x=frompos.x, y=frompos.y-5, z=frompos.z}, } doSendEffectByMirror(mirror[item.itemid], frompos, position[item.itemid], 0, 0, shottype) end Após ter feito isso reinicie seu otserver ou de /reload actions
  23. [ Bug Acc Gesior ]

    Olá! Alguns dias atrás eu vi um BIG BUG em Gesior da AAC. Este bug permite a você saber todas as senha de todos os servidores que usam Gesior da AAC. Não vou explicar como se sabe as senhas de bancos de dados, vou te dizer como prevenir ataques hack em seu servidor. Abra o seguinte arquivo: C:\xampp\htdocs\pot e abra o arquivo OTS_DB_MySQL.php. Linha 96~ : Linha: // PDO constructor parent::__construct('mysql:' . implode(';', $dns), $user, $password); } Troque ela toda por: // PDO constructor try { parent::__construct('mysql:' . implode(';', $dns), $user, $password); } catch(PDOException $error) { echo 'Can\'t connect to MySQL database.'; exit; } } Salve o Arquivo. SQLite Users C:\xampp\htdocs\pot e abra o arquivo OTS_DB_SQLite.php. Linha 54~ : Linha: // PDO constructor parent::__construct('sqlite:' . $params['database']); Troque por: // PDO constructor try { parent::__construct('sqlite:' . $params['database']); } catch(PDOException $error) { echo 'Can\'t connect to SQLite database.'; exit; } Salve. Pronto, agora seu servidor esta protegido contra esta tecnica hacker. P.s: Saira corrigido este bug nas proximas versoes de Gesior Acc. ... estou na lan acentos nao estao funciomando :louco:, mallz! Creditos: Xampy - Ot land
  24. Tibia Real Temperature

    [spoiler=Features]-- 2.0 ( em desenvolvimento *Dano por level *Sugestao do pessoal --1.0-- ( atual ) *Sistema de temperatura por Outfits e Ground *Altura de uma montanha ou profundidade de caves influencia na temperatura final. *Adicionado /temp *Suor, caso temperatura muito alta. ( splash de agua ) *Perca de vida, caso temperatura muito baixo ou muito alta. */temp para ver temperatura. Breve estarei colocando SS's. Instalando... Bom, pra nao ficar cansativo, vo colocar nos Spoilers o nome do arquivo a ser criado, ou modificado. ( no caso de por exemplo: movements.xml, ou login.lua, que ja existem. ) [spoiler=Creaturescripts.xml] <creaturescripts> <event type="think" name="temp" event="script" value="temp.lua"/> </creaturescripts> [spoiler=creaturescripts/scripts/temp.lua] function onThink(cid, interval) if isPlayer(cid) and getPlayerAccess(cid) == 0 then ------------------------- CONFIG ---------------------- -- Como configurar: Modifique os numeros abaixo da direita para -- determinar a temperatura da outfit... outfit_temp = { -- Female Outfits [136] = 6, [137] = 5, [138] = 5, [139] = 6, [140] = 7, [141] = 6, [142] = 8, [147] = 11, [148] = 6, [149] = 6, [150] = 8, [155] = 7, [156] = 2, [157] = 20, [158] = 11, [152] = 9, [259] = 8, [270] = 14, [279] = 15, [288] = 4, [324] = 5, [336] = 6, [329] = 6, [366] = 8, -- Male Outfits [128] = 6, [129] = 5, [130] = 5, [131] = 6, [132] = 7, [133] = 6, [134] = 8, [143] = 11, [144] = 6, [145] = 6, [151] = 8, [152] = 7, [153] = 20, [154] = 14, [251] = 11, [268] = 9, [273] = 8, [278] = 14, [279] = 15, [289] = 4, [325] = 5, [335] = 6, [328] = 6, [367] = 8, } temp_base = 20 min_dano = 15 -- Dano por temperatura um pouco alta/baixa max_dano = 100 -- Dano por temperatura muito alta/baixa delay = 2000 -- tempo em milissigundos dos danos sub_config = 1 -- Ativar temperatura subterranea? ( 0 - Nao ) ( 1 - SIM ) -----------------------------FIM DAS CONFIG ------------------------ temp_local = getPlayerStorageValue(cid, 121314) pos = getCreaturePosition(cid) if temp_local == -1 then temp_local = 0 end temp_user = (temp_base + temp_local + outfit_temp[getCreatureOutfit(cid).lookType]) if sub_config == 1 then ----------------------- Subterraneo ------------------------------- sub = { -11, -10, -8,-5 ,-3 ,-55 , [7] = 0, 55, 5, 7, 10, 12, 15} if pos.z ~= 7 then temp_user = temp_user + sub[pos.z] end end ------------------------------------------------------------------- setPlayerStorageValue(cid, 12345, temp_user) if temp_user >= 40 and temp_user < 50 then addEvent(Quente, delay, cid,min_dano) elseif temp_user >=50 then addEvent(Quente, delay, cid,max_dano) elseif temp_user <= 10 and temp_user > 0 then addEvent(Frio, delay, cid,min_dano) elseif temp_user < 0 then addEvent(Frio, delay, cid,max_dano) end end end function Quente(cid,dano,r) doPlayerSendTextMessage(cid, 22, "Voce esta sentindo muito calor...") doCreatureAddHealth(cid, -dano) r = math.random(1,100) if r <= 30 then doCreateItem(2018, getCreaturePosition(cid)) end end function Frio(cid,dano) doPlayerSendTextMessage(cid, 22, "Voce esta sentindo muito frio...") doCreatureAddHealth(cid, -dano) end [spoiler=creaturescript/scripts/login.lua ( adicionar linha )] registerCreatureEvent(cid, "temp") Movements [spoiler=movements/scripts/temp_tiles_areia.lua] function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then setPlayerStorageValue(cid, 121314, 20) end return true end function onStepOut(cid, item, position, fromPosition) pos = {x=position.x,y=position.y,z=position.z,stackpos=0} ground = getThingFromPos(pos) --------- Deserto Tiles ------------- deserto_tile = {231} -- Primeira ID "diferente do padrao de "ID=ID + 1 " ^^ deserto_tileid_min = 8315 -- Minimo ID do deserto deserto_tileid_max = 8322 -- Maximo ID do deserto for i=deserto_tileid_min, deserto_tileid_max, 1 do table.insert(deserto_tile,i) end ------------------------------------- if not isInArray(deserto_tile,ground.id) then setPlayerStorageValue(cid, 121314, 0) end return true end [spoiler=temp_tiles_gelo.lua] function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then setPlayerStorageValue(cid, 121314, -20) end return true end function onStepOut(cid, item, position, fromPosition) pos = {x=position.x,y=position.y,z=position.z,stackpos=0} ground = getThingFromPos(pos) --- GELO tiles---- gelo_tile = {} gelo_tileid_min = 6580 gelo_tileid_max = 6608 for i=gelo_tileid_min, gelo_tileid_max, 1 do table.insert(gelo_tile,i) end --------------- if not isInArray(gelo_tile,ground.id) then setPlayerStorageValue(cid, 121314, 0) end return true end [spoiler=movements.xml ( adicionar linha )] <!-- Areia tiles --> <movevent type="StepIn" itemid="231" event="script" value="temp_tiles_areia.lua"/> <movevent type="StepOut" itemid="231" event="script" value="temp_tiles_areia.lua"/> <movevent type="StepIn" fromid="8315" toid="8322" event="script" value="temp_tiles_areia.lua"/> <movevent type="StepOut" fromid="8315" toid="8322" event="script" value="temp_tiles_areia.lua"/> <!-- Gelo Tiles --> <movevent type="StepIn" fromid="6580" toid="6608" event="script" value="temp_tiles_gelo.lua"/> <movevent type="StepOut" fromid="6580" toid="6608" event="script" value="temp_tiles_gelo.lua"/> Finalmente... Talkactions [spoiler=talkactions/scripts/temp.lua] function onSay(cid, words, param) doPlayerSendCancel(cid,"Voce esta sentindo "..getPlayerStorageValue(cid, 12345).." Graus") end [spoiler=talkactions.xml ( adicionar linha )] <talkaction words="/temp" event="script" value="temp.lua"/> Isso ai, esse sistema foi feito pro concurso SOTW, e divulgado agora. Essa eh a versao 1.0, e se vcs forem pesquisar no temp.lua do creaturescripts, tem comentarios explicando como deve configurar. Se forem postar em outros topicos, me mandem MP, e nao retirem os creditos Nao esquecem de avisar pros players que o sistema existe! :fuu: Se tiver qualquer erro no Scripts, seja por formatação do topico, seje pelo sistema, me mande MP que eu arrumo.
  25. Marley Yourots 8.6

    //Removido. Leia as Regras.
×