Ir para conteúdo

Renato

Héroi
  • Registro em

  • Última visita

Tudo que Renato postou

  1. Renato postou uma resposta no tópico em Recursos Avançados
    Sim... e to usando uma outra, a TRWorld... mas ela ta incompleta ainda por isso não postei aqui. Ela pega informações do mundo, por exemplo $world = new TRWorld('Honera'); $world->playersonline; $world->pvptype; etc...
  2. Renato postou uma resposta no tópico em Recursos Avançados
    Eu tinha esquecido que alterei o nome do arquivo. Já arrumei no tópico.
  3. Renato postou uma resposta no tópico em Recursos Avançados
    O que é? TibiaRegex são classes que lhe auxiliam a trabalhar com conteúdo do TibiaGlobal (que tenha acesso). Por exemplo: pegar o valor (int) do level do jogador Denoca, o valor (string) do mundo do jogador Guted, entre outros. Suporte TRPlayer ->exists (bool) Retorna true se o player existir, e falso se não ->name (string) Retorna o nome do player ->sex (string) Retorna o sexo do player ->vocation (string) Retorna a vocação do player ->level (int) Retorna o level do player ->achievementpoints (int) Retorna o Achievement Points do player ->world (string) Retorna o mundo do player ->residence (string) Retorna a cidade natal do player ->marriedto (string) Retorna o nome de quem está casado com player ->guildrank (string) Retorna o nome do rank da guild do player (Leader, Member, etc) ->guildname (string) Retorna o nome da guild do player ->comment (string) Retorna o comentário do player ->accountstatus (string) Retorna se a conta é free ou premium ->status (string) Retorna 'online' ou 'offline' Checadores Bom, todos sabemos que existem campos que não necessariamente é exibida na página do player, como por exemplo o comentário. Só aparece, se o player em questão tiver colocado em sua página de seu perfil. Ou outro exemplo a guild, se o player não tem guild, não aparece. Para isso o TibiaRegex possui os checadores em bool (true/false) para saber se possuí ou não tal campo. ->exists (bool) Retorna true se o player existir, e false se não ->online (bool) Retorna true se o player estiver online, e false se não ->check_marriedto (bool) Retorna true se o player for casado, e false se não. ->check_guild (bool) Retorna true se o player tiver guild, e false se não. ->check_comment (bool) Retorna true se o player tiver comentário, e false se não. Como usar Primeiro baixar o TibiaRegex, você terá várias class (nesta primeira versão só tem uma, que é o TRPlayer). Apenas importe (includa) a class que deseja usar e estará pronto para usar <?php include('TRPlayer.class.php'); //importando Alguns exemplos: Código: $char = new TRPlayer('Guted'); echo $char->vocation; Output: Royal Paladin Código: $char = new TRPlayer('Hallsiny'); echo $char->level; Output: 201 Código: $char = new TRPlayer('UmCharQueNaoExiste A'); echo ($char->exists) ? "O player existe!" : "O player não existe!"; Output: O player não existe! Código: $char = new TRPlayer('Rensiny'); echo $char->name.'<br />'.$char->sex.'<br />'.$char->vocation.'<br />'.$char->level.'<br />'.$char->achievementpoints.'<br />'; Output: Rensiny male Master Sorcerer 74 40 Change Log 2.0 Código limpo e organizado Patterns passaram a ser por variáveis e não constantes (pois retornavam Notice quando usados mais de duas vezes na mesma página) Adicionado o parâmetro opcional $loadall, com padrão true. Caso false, ao invés de ->level ficará ->level(), pois a função que guarda o valor na variável. É bom pra reduzir o carregamento e deixar leve. Adicionado status e online informações acima. Download TRPlayer.class.php ou http://pastebin.com/raw.php?i=Q8bWMCAA É isso ai pessoal http://tibiaking.com/forum/public/style_emoticons/#EMO_DIR#/smile.png Pras próxima versões eu pretendo fazer suporte para guilds, highscores, e muitos outros lugares que dá pra tirar informação útil. Por que Regex? Regex é a abreviação (junto com ER, RegExp, preg, e muitas outras) de Expressões Regulares, que é o pilar de todo o código. Sem Regex não teria TibiaRegex. Deem seus feedbacks. Obrigado, Renato Ribeiro.
  4. Renato postou uma resposta no tópico em Playground (Off-topic)
    Opa bem vindo! Meu nome é Renato Ribeiro, mas pode me chamar de Renato Ribeiro.
  5. Renato postou uma resposta no tópico em Recursos Avançados
    O que é? TibiaRegex são classes que lhe auxiliam a trabalhar com conteúdo do TibiaGlobal (que tenha acesso). Por exemplo: pegar o valor (int) do level do jogador Denoca, o valor (string) do mundo do jogador Guted, entre outros. Suporte TRPlayer ->exists (bool) Retorna true se o player existir, e falso se não ->name (string) Retorna o nome do player ->sex (string) Retorna o sexo do player ->vocation (string) Retorna a vocação do player ->level (int) Retorna o level do player ->achievementpoints (int) Retorna o Achievement Points do player ->world (string) Retorna o mundo do player ->residence (string) Retorna a cidade natal do player ->marriedto (string) Retorna o nome de quem está casado com player ->guildrank (string) Retorna o nome do rank da guild do player (Leader, Member, etc) ->guildname (string) Retorna o nome da guild do player ->comment (string) Retorna o comentário do player ->accountstatus (string) Retorna se a conta é free ou premium Checadores Bom, todos sabemos que existem campos que não necessariamente é exibida na página do player, como por exemplo o comentário. Só aparece, se o player em questão tiver colocado em sua página de seu perfil. Ou outro exemplo a guild, se o player não tem guild, não aparece. Para isso o TibiaRegex possui os checadores em bool (true/false) para saber se possuí ou não tal campo. ->exists (bool) Retorna true se o player existir, e false se não ->check_marriedto (bool) Retorna true se o player for casado, e false se não. ->check_guild (bool) Retorna true se o player tiver guild, e false se não. ->check_comment (bool) Retorna true se o player tiver comentário, e false se não. Como usar Primeiro baixar o TibiaRegex, você terá várias class (nesta primeira versão só tem uma, que é o TRPlayer). Apenas importe (includa) a class que deseja usar e estará pronto para usar <?php include('TRPlayer.php'); //importando [/code] [b]Alguns exemplos:[/b] Código: [code]$char = new TRPlayer('Guted'); echo $char->vocation; Output: Royal Paladin Código: $char = new TRPlayer('Hallsiny'); echo $char->level;[/code] Output: [code]89 Código: $char = new TRPlayer('UmCharQueNaoExiste'); echo ($char->exists) ? "O plaaaaayer não existe!" : "O player existe!";[/code] Output: [code]O plaaaaayer não existe! Código: $char = new TRPlayer('Rensiny'); echo $char->name.'<br />'.$char->sex.'<br />'.$char->vocation.'<br />'.$char->level.'<br />'.$char->achievementpoints.'<br />';[/code] Output: [code]Rensiny male Master Sorcerer 74 40 Download SourceForge É isso ai pessoal Pras próxima versões eu pretendo fazer suporte para guilds, highscores, e muitos outros lugares que dá pra tirar informação útil. Por que Regex? Regex é a abreviação (junto com ER, RegExp, preg, e muitas outras) de Expressões Regulares, que é o pilar de todo o código. Sem Regex não teria TibiaRegex. Deem seus feedbacks. Obrigado, Renato Ribeiro.
  6. Não é uma tarefa fácil... mas... Você pode usar o OtClient, feito em c++ e configurações por lua. Você pode trocar imagens, alterar cores, e mais um monte de coisas. Só fuçar. Seção de Downloads Compilar Compilar no Windows (inglês) Compilar no Linux (inglês) Distribuído em Licensa MIT
  7. Troque a config por esta: local config = { level = 100, -- level que irá ganhar storage = 9558, -- storage dias = 3, -- dias de vip msg = "Você ganhou 3 dias de VIP por avaçar ao level 100", -- mensagem ao ganhar msgtp = MESSAGE_EVENT_ADVANCE -- tipo da mensagem }[/code] Altere os valores da mensagem manualmente, caso alterar o level e a quantidade de dias.
  8. Renato postou uma resposta no tópico em Playground (Off-topic)
    2 anos depois... E ainda lembro desse tópico. Deal with it. (da epoca que o guido era rebelde sem causa, mais odiado q skyd)
  9. Renato postou uma resposta no tópico em Playground (Off-topic)
  10. Renato postou uma resposta no tópico em Design Show Off
    Feio pra caralho. Mas boto fé, vamo treinar. HAUHAUHAUA Abraços.
  11. 1. freevip.lua (data/creaturescripts/scripts) local config = { level = 100, -- level que irá ganhar storage = 9558, -- storage dias = 3, -- dias de vip msg = "Você ganhou "..dias.." dias de VIP por avaçar ao level "..level, -- mensagem ao ganhar msgtp = MESSAGE_EVENT_ADVANCE -- tipo da mensagem } function onAdvance(cid, oldLevel, newLevel) if getPlayerStorageValue(cid, config.storage) < 1 and getPlayerLevel(cid) >= config.level then funcaoDeAddVip(cid, config.dias) setPlayerStorageValue(cid, config.storage, 1) doPlayerSendTextMessage(cid, config.msgtp, config.msg) end return TRUE end[/code] Eu não sei qual sistema de vip você ta usando, então eu coloquei a funcao[i] funcaoDeAddVip(cid, config.dias) [/i]altere pra função do seu sistema ai! Se a função pegar segundos ao inves de dias, poe funcaoDeAddVip(cid, [i]config.[/i]dias*24*60*60), Não se esqueça: dias = [i]config.[/i]dias, horas = [i]config.[/i]dias*24, minutos = [i]config.[/i]dias*24*60, segundos = [i]config.[/i]dias*24*60*60 [b]2. Em, data/creaturescripts abra o arquivo creaturescripts.xml.[/b] Adicione a tag: [code]<event type="advance" name="freevip" event="script" value="freevip.lua"/> 3. Em, data/creaturescripts/scripts abra o arquivo longin.lua. Adicione esta linha antes do ultimo return true: registerCreatureEvent(cid, "freevip")
  12. Renato postou uma resposta no tópico em Tutoriais sobre Programação
    É quase isso, o ":" separa o true do false Seria assim (condição) ? (instruções se condição for verdadeiro) : (instruções secondição for falsa)
  13. Tópico atualizado! update 18/02/2013 Adicionado: Entendendo a variável global $_SERVER por Arrays por Renato Operador Ternário por Renato Enjoy.
  14. Renato postou uma resposta no tópico em Tutoriais sobre Programação
    Explico sim, isso se chama operador ternário... Clica no link pra ver o tutorial.
  15. Renato postou uma resposta no tópico em Tutoriais sobre Programação
    Olha eu aqui, de novo Bom, dessa vez eu vim falar do Ternário. O que é isso, é de comer? Bom assim como o if, o ternário também é um operador de condição, porém não faz tudo que o if faz. Você dá uma expressão pra ele, e ele verifica, se for true faz isso, se não faça isso. Normalmente isso seria feito desta maneira: if($suaIdade >= 18){ echo 'Maior de idade!'; } else { echo 'Menor de idade!'; }[/code] Com ternário fica mais prático de fazer, menos código pra escrever, e mais fácil pra visualizar e organizar: [code]echo ($suaIdade >= 18) ? 'Maior de idade!' : 'Menor de idade!'; É muito simples! Você faz uma pergunta, e diz o que fazer se for true ou false. Deste esquema: Isso é verdadeiro ? sim : não; | ou melhor exemplificar | bool ? true : false; Não precisa ser um texto, pode ser uma função, uma variável, você que dá as instruções do que fazer. Por exemplo: $var = (!isset($var)) ? 'default' : $var; Se não existir $var, ele vai receber a string 'default', mas caso já exista, continuará com o mesmo valor. Aproveitem o ternário, ele é muuuuito útil Qualquer dúvida, pergunte! Renato Ribeiro.
  16. Nem sabia... retirei aonde eu cito ele, é mais fácil, huaeuaheae.
  17. Renato postou uma resposta no tópico em Tutoriais sobre Programação
    Pra programar de verdade tem que ser inteligente, pra pensar nos meios mais fáceis, simples e práticos. Transformar muitas linhas em poucas por exemplo. if ($var == 2){ echo 'sim'; } else { echo 'não'; }[/code] usando o operador ternário é a mesma coisa: [code]echo ($var == 2) ? 'sim' : 'não'; esse é só 1 caso bem simples. Mas a maior parte é a prática, quem pratica, programa bem, nem q seja na gambiarra mas faz.
  18. Renato postou uma resposta no tópico em Tutoriais sobre Programação
    Opa, olha o Renato com mais um artiguzinhu Hoje eu vou falar um pouco dos Arrays e como utilizá-los O que são Arrays? Bom, nos meus tutoriais eu não gosto muito de me apegar às teorias, e sim às práticas. Então essa parte eu vou deixar com meu amigo wikipedia. Um array, também conhecido como vetor ou matriz, é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array. A posição é dada por um índice, também chamado de subscrição. O índice geralmente utiliza uma sequência de números inteiros, (ao contrário de um array associativo) mas o índex pode ter qualquer valor ordinal. Alguns arrays são multi-dimensionais, significando que eles são indexados por um número fixo de números inteiros, por exemplo, por um sequência (ou sucessão) finita de quatro números inteiros. Geralmente, arrays uni- e bi-dimensionais são os mais comuns. Muito blablabla né? Se você nunca utilizou um array dificilmente você aprende com esse texto ai. Mas, vamos para a prática! Utilizando os Arrays! Bom, existem várias formas de definirmos um array, vamos lá! Array Unidimensional Array Individual $frutas = array('maca', 'pera', 'melancia', 'abacate'); Podemos ver que eu digo que $frutas é um array, e dentro dele eu dou 4 valores, maca, pera, melancia e abacate! Tá, e como acessar esses valores? echo $frutas[0].'<br />'.$frutas[1].'<br />'.$frutas[2].'<br />'.$frutas[3] Deste jeito. Lembramos que todo array começa a contar pelo número 0, assim se o array tiver 4 elementos, o último será $array[3]. Array Associativo Bom, o que eu expliquei acima foi o array individual, aqui agora, vou explicar o array associativo, aonde você da nomes aos arrays, ao invés de números. $cores = array("vermelho" => "#FF0000", "azul" => "#0000FF", "verde" => "#00FF00"); Se perceber, agora temos duas strings em cada node, separadas por "=>" aonde diz que vermelho é #FF0000, azul é #0000FF e etc. Agora, ao invés de ser os números na ordem, se torna o que você especificou $cores['vermelho']; //retorna #FF0000; $cores['azul']; //retorna #00FF00; $cores['verde']; //retorna #0000FF; Array Bidimensional Array Individual Os dois exemplos que citei acima são arrays unidimensionais, agora vou falar sobre os bidimensionais, que nada mais é que arrays dentro de arrays, quase como uma árvore. $cores = array(array('azul claro','azul escuro'), array('verde claro', 'verde escuro')); Que são: echo $cores[0][0]; //retorna azul claro echo $cores[0][1]; //retorna azul escuro echo $cores[1][0]; //retorna verde claro echo $cores[1][1]; //retorna verde escuro Array Associativo Começou a ficar complexo a coisa, rs. $cores = array("azul" => array("claro" => "#00CCFF", "escuro" => "#000066"), "verde" => array("claro" => "#00FF00", "escuro" => "#006600")); Bom, nem é tanto complexo assim, com a prática acostuma rápido. Neste exemplo, eu coloquei duas cores, azul e verde, e cada cor com duas especificações cada, claro e escuro. E pra você ver como fica: echo $cores['azul']['claro']; //retorna #00CCFF; echo $cores['azul']['escuro']; //retorna #000066; echo $cores['verde']['claro']; //retorna #00FF00; echo $cores['verde']['escuro']; //retorna #006600; Mas esse não é o único jeito de definirmos um array. Existem duas formas. A que eu já expliquei: $cores = array('azul','verde','vermelho'); E uma segunda forma: $cores = array(); $cores[0] = 'azul'; $cores[1] = 'verde'; $cores[2] = 'vermelho'; [/code] Porém, essa segunda forma, só é proveitoso, quando utilizamos array associativo e/ou bidimensional. Pois por exemplo: [code]$cores = array(); $cores['azul']['claro'] = "#00CCFF"; $cores['azul']['escuro'] = "#000066"; $cores['verde']['claro'] = "#00FF00"; $cores['verde']['escuro'] = "#006600"; Este array associativo e bidimensional, cria um array igual o citado lá em cima, sobre azul (claro e escuro) e verde (claro e escuro) Bom, isso é um array. Aparentemente um bixo de sete cabeças, mas é tão simples quanto uma string. É só praticar Qualquer dúvida, pergunte, Renato Ribeiro.
  19. Boa guido! Rep+ obs: $_SERVER tem tudo isso $_SERVER['REDIRECT_MIBDIRS'] $_SERVER['REDIRECT_MYSQL_HOME'] $_SERVER['REDIRECT_OPENSSL_CONF'] $_SERVER['REDIRECT_PHP_PEAR_SYSCONF_DIR'] $_SERVER['REDIRECT_PHPRC'] $_SERVER['REDIRECT_TMP'] $_SERVER['REDIRECT_STATUS'] $_SERVER['MIBDIRS'] $_SERVER['MYSQL_HOME'] $_SERVER['OPENSSL_CONF'] $_SERVER['PHP_PEAR_SYSCONF_DIR'] $_SERVER['PHPRC'] $_SERVER['TMP'] $_SERVER['HTTP_HOST'] $_SERVER['HTTP_CONNECTION'] $_SERVER['HTTP_CACHE_CONTROL'] $_SERVER['HTTP_ACCEPT'] $_SERVER['HTTP_USER_AGENT'] $_SERVER['HTTP_ACCEPT_ENCODING'] $_SERVER['HTTP_ACCEPT_LANGUAGE'] $_SERVER['HTTP_ACCEPT_CHARSET'] $_SERVER['HTTP_COOKIE'] $_SERVER['PATH'] $_SERVER['SystemRoot'] $_SERVER['COMSPEC'] $_SERVER['PATHEXT'] $_SERVER['WINDIR'] $_SERVER['SERVER_SIGNATURE'] $_SERVER['SERVER_SOFTWARE'] $_SERVER['SERVER_NAME'] $_SERVER['SERVER_ADDR'] $_SERVER['SERVER_PORT'] $_SERVER['REMOTE_ADDR'] $_SERVER['DOCUMENT_ROOT'] $_SERVER['REQUEST_SCHEME'] $_SERVER['CONTEXT_PREFIX'] $_SERVER['CONTEXT_DOCUMENT_ROOT'] $_SERVER['SERVER_ADMIN'] $_SERVER['SCRIPT_FILENAME'] $_SERVER['REMOTE_PORT'] $_SERVER['REDIRECT_URL'] $_SERVER['GATEWAY_INTERFACE'] $_SERVER['SERVER_PROTOCOL'] $_SERVER['REQUEST_METHOD'] $_SERVER['QUERY_STRING'] $_SERVER['REQUEST_URI'] $_SERVER['SCRIPT_NAME'] $_SERVER['PHP_SELF'] $_SERVER['REQUEST_TIME_FLOAT'] $_SERVER['REQUEST_TIME'][/code] e pra ver melhor, eu fiz esse foreach [code]<?php foreach($_SERVER as $key => $index){ echo '<strong>$_SERVER[\''.$key.'\']</strong> = '.$index.'<br />'; }; ?>
  20. Renato postou uma resposta no tópico em Playground (Off-topic)
    "Take that Jesus"
  21. chrome.google.com/webstore/detail/imgur/ehoopddfhgaehhmphfcooacjdpmbjlao?utm_source=chrome-ntp-icon achei mt foda ele q até quis postar aqui
  22. Renato postou uma resposta no tópico em Playground (Off-topic)
    ñ q tenha algo a ver mas ja q tocaram no assunto de filhos fiquei com dó se um dia o skyd tiver filho coitado desse mlk
  23. Renato postou uma resposta no tópico em Playground (Off-topic)
    Vodka ou água de coco?

Informação Importante

Confirmação de Termo