Ir para conteúdo

Alberto Cabrera

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Download do Otservbr 12.60!
    Download XAMPP:
    https://sourceforge.net/projects/xampp/files/XAMPP Windows/7.4.3/xampp-windows-x64-7.4.3-0-VC15-installer.exe/download
    Download MyAAC:
    MyAAC: 
     
    2 - Instalação do XAMPP:
     
     
     
    2.1 - Configuração do XAMPP:
     
    2.1.1 - Alteração da senha do MySQL:
    - Abra o painel de controle do XAMPP;
    - Confira se os serviços Apache e MySQL estão rodando, depois clique no botão Shell.
    - No shell que abriu - linha de comando - digite o seguinte comando:
    mysqladmin.exe -u root password sua-nova-senha
    - Senha alterada.
     
    2.1.2 - Alteração da senha do phpMyAdmin:
    - Abra a pasta onde foi instalado o XAMPP (C:\xampp);
    - Acesse a pasta phpMyAdmin;
    - Abra o arquivo config.inc.php em um editor de textos de sua preferência e altere os campos abaixo:
     
     
    - Pronto! Seu MySQL e PHPMyAdmin estão configurados para a nova senha. Agora é só utilizar sempre a mesma quando for instalar uma aplicação que se conecte a um Banco de Dados MySQL.
     
    2.1.3 - Alteração da porta 80 no XAMPP:
    - Por padrão, algum software, outro servidor local, firewall do Windows utilizam a porta 80. Abaixo os passos de como alterar a porta 80 no XAMPP:
    - Abra o painel do XAMPP e clique no botão Config do Apache;
    - Escolha o arquivo chamado httpd.conf. Ele possui todos os parâmetros de funcionamento do Apache;
    - Aperte as teclas Ctrl + F e pesquise pela palavra Listen 80;
    - Adicione mais um número 80 (ou o 90) ao final desse parâmetro ficando: Listen 8080; (ou Listen 8090;)
    - Pesquise outra palavra chave chamada ServerName e adicione o 80 (ou o 90) no localhost:8080; (ou localhost:8090;)
    - Salve e feche o arquivo;
    - Volte ao Dashboard e clique no ícone Config;
    - Depois vá em Service and Port Settings;
    - Adicione o 8080 (ou o 8090) no Main Port;
    - Após estes passos tente iniciar o seu Apache, verifique se ficou com o ícone verde, abra o seu navegador, digite http://localhost:8080 (ou  http://localhost:8090) ou http://127.0.0.1:8080 (ou http://127.0.0.1:8090)  e analise se é possível ter acesso ao Dashboard do seu XAMPP.
     
    2.1.4 - Configuração de domínio no vhosts:
    - Para que as pessoas possam acessar o seu site pelo seu dominio é preciso configurar o arquivo vhost no XAMPP:
    - Abra o arquivo httpd-vhosts.conf (C:\xampp\apache\conf\extra).
    - Edite as seguintes linhas:
     
     
    - Altere para o seu domínio.
    - Exemplos:
     
    2.2 - Configuração de domínio (ou ip) no arquivo hosts do Windows:
    - Abra o arquivo C:\Windows\System32\drivers\etc\hosts e adicione:
    192.168.0.1 seusite.com
          (IPv4)        (domínio)
     
    2.3 - Portas
    - Verifique se as portas 80 (ou 8080, 8090), 7171, 7172 estão abertas para a conexão funcionar corretamente.
    - Para liberar as portas, pesquise pelo modelo do seu modem/roteador. Abaixo um site com guias para vários roteadores para auxiliar na liberação das portas:
    https://portforward.com/router.htm
     
     
    3 - Database
    - Acesse o PHPMyAdmin pelo endereço do seu domínio.
    - Na lateral esquerda clique em +Novo e crie uma database (ex: otservbrglobal)
    - Importe o arquivo schema.sql que está na pasta do OTServBR-Global.
     
     
    4 - Config.lua
    - Entre na pasta do OTServBR-Global;
    - Renomeie o arquivo config.lua.dist para config.lua. Obs: se a extensão estiver oculta, vá em Exibir > Extensões de nomes de arquivos;
    - Configure o IP ou domínio de conexão;
    - Coloque a senha do PHPMyAdmin (sua-nova-senha);
    - Coloque o nome da database criada .
    Exemplo:
    -- Connection Config ip = "ip ou domínio" - MySQL mysqlHost = "127.0.0.1" mysqlUser = "root" mysqlPass = "sua-nova-senha" mysqlDatabase = "otservbrglobal" mysqlPort = 3306 mysqlSock = "" passwordType = "sha1"  
    5 - Site
    - Lembre-se de deixar a pasta htdocs vazia antes de salvar os arquivos e pastas do site.
    - Descompacte os arquivos e pastas do MyAAC diretamente na pasta htdocs do XAMPP. 
    - Deixe todos os arquivos e pastas do MyAAC conforme o exemplo abaixo:

     
    - Edite o arquivo .htaccess ou renomeie para .htaccess.dist.
    - Acesse http://seu-ip-ou-domínio para carregar o MyAAC.
    - Siga as etapas de instalação para instalar o MyAAC.
    - Na escolha da versão, selecione 11.0.
     
     
    6 - Conectando ao Servidor
    - Aviso: antes de abrir o servidor, vá até o diretório do servidor (data/world) e descompacte o world.rar, lembre-se de deixar o otservbr.otbm junto do otservbr-spawn.xml e otservbr-house.xml.
    - Para conectar ao servidor de acordo com a versão indicada, você precisa do cliente abaixo:
     
    - Obs: se você alterou a porta, precisa adicionar no ip do cliente 12.
     
     
    Exemplos:
    - http://127.0.0.1:8080/login.php
    - http://127.0.0.1:8090/login.php
    - Para conectar com o cliente Tibia 12, você precisa do recurso de login.php para o MyAAC:
     
     
     
    7 - Créditos
    Downloads:
    Desenvolvedores TFS, OTServBR: https://github.com/opentibiabr/OTServBR-Global
    slawkens: https://forums.otserv.com.br/index.php?/forums/topic/167474-myaac/
    Tutorial:
    Majesty
     
     
  2. Gostei
    Alberto Cabrera deu reputação a So volto tarde em [HTML5/CSS3] Landing Page PZW (Editável)   
    Boas, TibiaKing.
    Após navegar um pouco pelo fórum não consegui achar nenhum conteúdo do tipo por aqui. Creio que seja pelo conteúdo focado do fórum. Mas caso esta categoria seja a correta, deixo aqui a minha contribuição com o fórum.
    TODA a landing page é personalizável através de imagens, assim como ícone, background, absolutamente tudo. A landing page em si não dá informações em texto, mas sim em um vídeo do youtube, que também é personalizável.
    Todos os códigos estão comentados para que assim, você consiga personalizá-la.
    Não faço parte da equipe do PZW, apenas estava andando pelo Youtube quando me deparei com o vídeo e resolvi fazer a landing page.
    O único framework utilizado foi o "Bulma".
    A página não está responsiva.
    O navegador utilizado foi o OperaGX, sendo assim, alguns bugs de estilização poderá surgir em outros navegadores.
    Segue abaixo uma screenshot retirado da página em fullscreen.

    Enjoy!
    Download
    Scan
     
     
  3. Gostei
    Alberto Cabrera deu reputação a Lurk em Countdown horário dos próximos eventos   
    Peço desculpas caso esteja postando na área errada, por favor movam o tópico. Isso é um tutorial
    O script já existe na base que o @WooX postou aqui mas quando tentei passar pro meu sv 0.4 ficava dando debug dai eu desisti na época. Dai eu tava tentando ajudar nesse tópico, tentei mais uma vez e consegui fazer funcionar. Exemplo de como fica ingame
     

     
    Vamos a instalação
    em data/globalevents/scripts crie um arquivo chamado eventcheck.lua e cole isso dentro
    local EventsListalist = {         {time = "01:00", name = "Snowball Event"},                 {time = "02:00", name = "DesertWar Event"},         {time = "03:00", name = "Capture The Flag"},         {time = "04:00", name = "FireStorm Event"},         {time = "09:00", name = "Defend The Tower"},         {time = "10:00", name = "Snowball Event"},         {time = "11:00", name = "DesertWar Event"},         {time = "12:00", name = "Capture The Flag"},         {time = "13:00", name = "FireStorm Event"},         {time = "15:00", name = "Battlefield Event"},         {time = "16:00", name = "Defend The Tower"},         {time = "17:00", name = "Snowball Event"},         {time = "18:00", name = "DesertWar Event",},         {time = "19:00", name = "Capture The Flag",},         {time = "20:00", name = "FireStorm Event"},         {time = "21:00", name = "Real Castle"},         {time = "22:00", name = "Battlefield Event"},         {time = "23:00", name = "Defend The Tower"} }      local position = {x = 129, y = 58, z = 7} -- posição do mapa onde o efeito vai sair function onThink(interval, lastExecution)  local people = getPlayersOnline() if #people == 0 then     return true end      local Count = 0 for _, t in ipairs(EventsListalist) do     local eventTime = hourToNumber(t.time)     local realTime = hourToNumber(os.date("%H:%M:%S"))     if eventTime >= realTime then         doCreatureSay(people[1], "Proximo evento as {"..t.time.."h} "..t.name..", faltam "..timeString(eventTime - realTime)..".", TALKTYPE_ORANGE_1, false, 0, position) -- não use acentos aqui ou eles serão alterados por simbolos ingame         return true     end     Count = Count + 1 end return true end Em data/globalevents/globalevents.xml adicione
    <globalevent name="eventos" interval="10000" event="script" value="eventcheck.lua"/> Depois adicione no fim de data/lib/050-function.lua
    function hourToNumber(str) -- By Killua     local hour = (tonumber(str:sub(1,2))*3600) + (tonumber(str:sub(4,5)) * 60)     if #str > 5 then         hour = hour + tonumber(str:sub(7,8))     end     return hour end function timeString(timeDiff,english) -- créditos: Killua     local dateFormat = {}     if english then         dateFormat = {             {"day", timeDiff / 60 / 60 / 24},             {"hour", timeDiff / 60 / 60 % 24},             {"minute", timeDiff / 60 % 60},             {"second", timeDiff % 60}         }     else         dateFormat = {             {"dia", timeDiff / 60 / 60 / 24},             {"hora", timeDiff / 60 / 60 % 24},             {"minuto", timeDiff / 60 % 60},             {"segundo", timeDiff % 60}         }              end     local out = {}     for k, t in ipairs(dateFormat) do         local v = math.floor(t[2])         if(v > 0) then             table.insert(out, (k < #dateFormat and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or ''))         end     end          return table.concat(out) end Créditos:
    @WooX que postou a base onde eu peguei o script
    Aparentemente o Killua que criou a função hourToNumber
    Seja lá quem criou o script, tem o nome de um tal "Henrique" no arquivo original, talvez tenha sido ele
    E eu por algumas pequenas alterações pra fazer o script funcionar em tfs 0.4
    CASO VOCÊ QUEIRA O MESMO SISTEMA PARA OTX 2 PROVAVELMENTE O DA BASE POSTADO PELO WOOX VAI FUNCIONAR desde que você adicione o hourToNumber na lib
     
  4. Gostei
    Alberto Cabrera deu reputação a Adriano SwaTT em Bloquear Acesso do Account Manager No Site   
    Boa tarde,
     
    Para quem não obteve êxito no bloqueio com o código acima.
     
    No mesmo arquivo, procure por:
    $account_players = $account_logged->getPlayersList();  
    E adicione este abaixo:
    $acc_id = $account_logged->getId(); if($acc_id == 1) die("Está conta está BLOQUEADA."); (Mesmo código só que em lugar diferente pois comigo também não havia funcionado do outro modo)
     
    Salve e teste.
     
    Lembre-se de atualizar a página antes de testar.
     
    Boa sorte.
     
  5. Gostei
    Alberto Cabrera deu reputação a WooX em Trade Offline V2.0   
    Trade Offline V2.0

    Esse sistema me foi pedido a alguns meses atrás e hoje tirei um tempinho pra trazer aqui.
    O sistema consiste em permitir que jogadores negociem sem contato direto entre comprador e vendedor.
    Mas como assim?
    O vendedor pode criar um anuncio de venda informando item, valores ou até mesmo items que ele queira em troca, após feito o anuncio todas essas informações ficam armazenadas no banco de dados do servidor, permitindo assim serem exibidas em uma página no site para interessados, junto de todas informações fornecidas pelo vendedor é exibido um comando para que os interessados possam adquirir a oferta exibida na página.
     
    Sobre o sistema

     
    O sistema foi testado apenas em OTX2, mas provavelmente também funcione em TFS 0.4
     
    Versão para TFS 1.x adaptada pelo @luanluciano93
     
    Como mencionado acima, o sistema funciona de forma semelhante ao Market System das versões atuais porem sem exibição gráfica das ofertas in-game, para isso o sistema vai acompanhado de uma página para o Gesior AAC. Este sistema existe no fórum há um bom tempo e já é familiar pra muitos jogadores, essa versão trás consigo algumas melhorias e diferenças que irei listar abaixo.
     
    Sistema
    Agora é possivel vender um item exigindo outro item em troca ao invés de dinheiro. Containers com um conjunto de items dentro agora podem ser anunciados. Agora o sistema verifica as cargas e durações dos items antes de criar uma oferta. Novo parâmetro adicionado para verificar informações de ofertas in-game. Agora todo valor recebido vai diretamente para o banco do vendedor. Página
    A depender da quantidade de ofertas existentes no servidor, a página agora irá separa-las por páginas. Agora além do valor é exibido também imagem da moeda a depender do valor da oferta. Agora é possivel ver as características tanto dos items ofertados como dos items exigidos pelo vendedor. Adicionado filtros para exibir somente ofertas de items vip, containers ou trocas. Adicionado barras de pesquisas para filtrar as ofertas por items ou nome do jogador.  
    Algumas imagens
     
    Instalação

    Antes de mais nada é necessário citar os requisitos necessários para o funcionamento correto do sistema, ele utiliza de algumas funções que não estão no script principal e portanto é necessário a instalação de uma lib extra, também é necessário instalar as funções doItemSetDuration e getItemDurationTime na source do servidor, ambos os links se encontram abaixo.
     
    Todos os arquivos necessários para a instalação estão anexados no tópico, irei apenas dizer onde instalar e como deve ser configurado.
     
    Primeiramente importe o arquivo schema.sql no banco de dados, ou se preferir pode executar as queries a seguir.
    CREATE TABLE IF NOT EXISTS `trade_off_offers` ( `id` int(11) NOT NULL auto_increment, `player_id` int(11) NOT NULL, `type` int(1) NOT NULL DEFAULT '0', `item_id` int(11), `item_count` int(11) NOT NULL DEFAULT '1', `item_charges` int(11) NULL, `item_duration` int(11) NULL, `item_name` varchar(255), `item_trade` tinyint(1) NOT NULL DEFAULT '0', `cost` bigint(20) UNSIGNED NOT NULL, `cost_count` int(11) NOT NULL DEFAULT '1', `date` bigint(20), PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; CREATE TABLE IF NOT EXISTS `trade_off_container_items` ( `offer_id` int(11) NOT NULL, `item_id` int(11), `item_charges` int(11) NULL, `item_duration` int(11) NULL, `count` int(11) DEFAULT '1' ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1; ALTER TABLE `trade_off_container_items` ADD KEY `offer_id` (`offer_id`); ALTER TABLE `trade_off_container_items` ADD CONSTRAINT `offer_id_fk` FOREIGN KEY (`offer_id`) REFERENCES `trade_off_offers`(`id`) ON DELETE CASCADE;  
    Configuração no arquivo tradeoff.lua: 
    -- Trade Offline 2.0 by WooX -- local config = { priceLimit = 2000000000, -- 2kkk offerLimit = 3, offerLimitStor = 86420, infoOnPopUp = true, infoMsgType = MESSAGE_STATUS_CONSOLE_BLUE, errorMsgType = MESSAGE_STATUS_CONSOLE_RED, successMsgType = MESSAGE_INFO_DESCR, helpMsg = "Enter the parameters (add, remove, active, buy, info).", goldItems = {2148, 2152, 2160}, itemsVIP = {4540, 4545, 4560}, } priceLimit: define o valor máximo de uma oferta. offerLimit: define o valor máximo de ofertas que um jogador pode adicionar. offerLimitStor: storage que irá armazenar quantas ofertas ativas o jogador possui. infoOnPopUp: pode ser definido como true ou false, se definido como falso irá enviar os detalhes da oferta no default ao invés de como é mostrado nas imagens acima. infoMsgType: define como será exibido uma mensagem de informação ao jogador (não recomendo mexer a menos que saiba o que está fazendo). errorMsgType: define como será exibido uma mensagem de erro ao jogador (não recomendo mexer a menos que saiba o que está fazendo). successMsgType: define como será exibido uma mensagem de ação sucedida ao jogador (não recomendo mexer a menos que saiba o que está fazendo). helpMsg: mensagem que será enviada para o jogador caso ele erre os parâmetros do comando. goldItems: nesta tabela deve ser preenchido todos os IDs de moedas no servidor como gold coins, platinum coins, etc. itemsVIP: nesta tabela deve ser preenchido os IDs dos items vips existentes no servidor.  
    Agora para a instalação da página, no arquivo mysql_db.php deve ser preenchido os dados para conexão no banco de dados do servidor.
    /** * Host do banco de dados * @var string */ private static $DB_HOST = 'localhost'; /** * Usuario de conexao ao banco de dados * @var string */ private static $DB_USER = 'root'; /** * Senha de conexao ao banco de dados * @var string */ private static $DB_PASS = 'SUA_SENHA'; /** * Nome do banco de dados * @var string */ private static $DB_NAME = 'NOME_BANCO'; Após feito isso, o arquivo paginationClass.php em conjunto do arquivo mysql_db.php devem ser adicionados no seguinte diretório do Gesior AAC.
    classes/
    Finalizado isto, basta jogar o arquivo tradeoff.php dentro do diretório informado abaixo e o sistema estará pronto para uso.
    pages/
     
    Avisos

     
    Eu escrevi somente o sistema, não sou o autor da página para o Gesior AAC portanto não estarei dando suporte em relação a página que não seja sobre a instalação da mesma no Gesior AAC 2012, e embora esteja funcional, eu não recomendo o uso da página devido a falta do uso de cache para leitura do items.xml. Foram mais de 600 linhas de código sem contar funções extras e alterações na source, além de muitas horas de testes para garantir que tudo estava funcionando corretamente, tudo que peço em troca é que não removam os créditos no arquivo quando forem usar.  
    Créditos

    @MatheusDuarte pela página do Gesior AAC.
    schema.sql tradeoff.lua tradeoff.php mysql_db.php paginationClass.php
  6. Obrigado
    Alberto Cabrera deu reputação a Vodkart em [OTX] New Auto Loot Unlimited Edition 2.0   
    [ + ] Descrição: Autoloot refeito para VERSÃO OTX e adicionado algumas outras funções que estarei explicando ao decorrer do tópico.
     
    [ + ] Se você quer o Autoloot ara Versão TFS clica neste Link: AUTOLOOT TFS
     

     
     
    [ + ] Imagem do comando:
     

     
    [ + ] Features:
     
    [ - ] Você pode ativar ou desativar o autoloot a hora que achar necessário.
    [ - ] Também existe um comando para ativar ou desativar mensagens do loot que o autoloot coleta!
    [ - ] Você pode escolher a cor do texto em que irá aparecer a coleta do loot!
    [ - ] O autoloot informará para você se estiver com pouco slots na sua backpack, e o jogador poderá escolher se quer habilitar ou não está função no autloot.
    [ - ] Versão ilimitada de itens(não ficam armazenadas em storages.
    [ - ] O jogador poderá optar por depositar direto no banco os golds que forem dropados.
     
    [ + ] Instalação:
     
    Primeiramente CRIE uma PASTA VAZIA chamanda "autoloot" em DATA/LOGS, ficando assim:
     

     
    Depois instale o MODS normalmente na pasta MODS do seu servidor.
     

     
    new_perfect_autoloot_otx.xml
     
    Link: https://pastebin.com/raw/CW6jgerg
     
     
     [ + ] Configuração:
     
    Dentro do mods tem essa tabela
    info = { directory = "data/logs/autoloot", -- não mexer Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador Talkaction_delay = 5, -- em segundos // delay para remover e adicionar item BlockMonsters = {}, -- Lista de monstros que o autoloot nao vai funcionar BlockItemsList = {2123,2515}, -- Lista de itens que o autoloot nao coleta Money_ids = {2148, 2152, 2160}, -- id das moedas do ot Max_Slots = {free = 3, premium = 5}, -- quantidade de itens que podem ser adicionados no autoloot por free e premium Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807} -- não mexer }  
    Basta ler acima para esclarecer as dúvidas!!
     
    Estarei anexando o autoloot 2.0 versão atualizada para quem tiver preguiça de copiar e colar!!
     
     
     
    new_perfect_autoloot_otx.xml

Informação Importante

Confirmação de Termo