Ir para conteúdo
  • Cadastre-se

Underewar

Moderador
  • Total de itens

    305
  • Registro em

  • Última visita

  • Dias Ganhos

    42

Histórico de Curtidas

  1. Gostei
    Underewar recebeu reputação de MasterteoxBr em [Suporte Premium Para Otservers] Todas as versões Tibia ou Derivado.   
    Olá gostaria de contribuir com a comunidade com estes serviços.
    Aproveite é por tempo limitado.
    Conheça um pouco mais sobre quem eu sou.
    Serviços de Desenvolvimento Web
    Excelência em Resolução de Problemas
    Identificação e correção de BUGS em bancos de dados e scripts PHP para um funcionamento perfeito. Criação de Valor
    Implementação de novas funcionalidades em websites, tanto no Front-end quanto no Back-end, para melhorar a experiência dos usuários. Design Atraente
    Habilidade em design responsivo usando Bootstrap para criar interfaces atraentes e compatíveis com diversos dispositivos. Da Ideia à Realidade
    Capacidade de criar websites avançados desde o conceito inicial até a implementação completa, integrando funcionalidades complexas. Personalização Precisa
    Desenvolvimento de websites a partir do zero usando stacks avançadas ou PHP convencional, garantindo personalização total. Desenvolvimento de Open Tibia Server (OTC)
    Melhoria Contínua
    Identificação e solução de BUGS em módulos para aprimorar a estabilidade e jogabilidade no Open Tibia Server. Inovação Impulsionada
    Integração de novas funcionalidades ao OTC, enriquecendo a experiência dos jogadores com recursos inovadores. Módulos Eficientes
    Criação de novos módulos com foco na qualidade do código e na melhoria da interatividade dos jogadores. Desenvolvimento de Otserver (Open Tibia Server)
    Performance Elevada
    Identificação e correção precisa de problemas em scripts para manter a performance e a integridade do otserver. Crescimento Constante
    Introdução de novos scripts e funcionalidades, impulsionando o crescimento contínuo e a inovação do otserver. Atualização Estratégica
    Atualização cuidadosa dos pacotes de compilação de projetos para garantir eficiência e compatibilidade. Otimização e Segurança
    Proteção Robusta
    Implementação de soluções AntiCheat/AntiBot para garantir um ambiente de jogo seguro e livre de trapaças. Escalabilidade e Desempenho
    Configuração especializada em nuvens líderes do mercado, incluindo Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud. Defesa Efetiva
    Instalação e configuração do ANTI-DDOS Cloudflare para proteger o servidor contra ataques cibernéticos. Outros Serviços
    Inovação na Blockchain
    Implementação de sistema NFT, incorporando aspectos visuais e lógicos da tecnologia blockchain para criar experiências únicas. Facilitação Financeira
    Integração de pagamento automático em websites, abrangendo uma variedade de plataformas para maior comodidade dos usuários. Infraestrutura Otimizada
    Configuração e instalação nas nuvens, como Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud, para alcançar a melhor performance.
      Processo de Contratação Simplificado:
     
    Aqui está a nossa forma descomplicada de lidar com pagamentos:
    Entrada (50%): Depois de escolher o serviço, pedimos metade do valor para começar.
    Saldo (50%): Quando terminarmos e você estiver satisfeito, pedimos o restante antes da entrega final.
     
    Estamos ansiosos para trabalhar juntos. Se tiver dúvidas ou estiver interessado em nossos serviços, sinta-se à vontade para entrar em contato. Mal podemos esperar para construir algo incrível juntos!
     
    Converse Comigo:
    Estou à disposição para conversar e discutir projetos.
    Fique à vontade para me contatar aqui ou através das seguintes redes:
     
    LinkedIn: Rafhael Oliveira
     
    Meus Projetos: Dê uma olhada nos meus projetos no GitHub: GitHub Repositories
     
    Otland: Confira meu perfil no Otland e veja minhas conquistas: Perfil no Otland
     
    Com uma experiência sólida de 10 anos na área de desenvolvimento de OTS,
     

     
  2. Gostei
    Underewar deu reputação a Toni Reinbold em AutoRestarter Windows   
    Bom, fiz esse Autorestarter para Windows.
    Ele faz pausas de 3 segundos entre as verificações se o programa esta aberto ou não.
    Feito por mim!
    Edit:
    O programa deve ficar na mesma pasta do seu servidor, junto com sua engine.
     

    Download:
    https://www.mediafire.com/file/d55ejj28rfjr9yc/Restarter.exe/file
    Scan:
    https://www.virustotal.com/gui/url/850a7bf16843c85320da7470399d0d267a8a884dcf262c796fcf88a35ac62b58/detection

     

  3. Curtir
    Underewar recebeu reputação de Mateus Robeerto em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Posso te ajudar a implementar ja aproveitamos e lançamos no gesior do thetibiaking, me chama discord!
  4. Curtir
    Underewar recebeu reputação de Fabi Marzan em [MyAAC] [Plugin] [Template] Tibiacom Layout - EternalGlobal Theme   
    Credits
    @slaw
    I just edited the tibiacom template.
    Full customizable.
    I have an organized repo for this 'My-AAC last version', I will release I just need to fix something's

    Just check the template live version.

    How Install
    Rename your tibiacom folder and paste the downloaded one.

    Picture News - Boosted Boss works well in this picture the boosted boss of the day was not in image folder.


    DOWNLOAD:
    thetibiaking/ttk-my-aac at layout-changes (github.com)
  5. Gostei
    Underewar recebeu reputação de paulo thush em [MyAAC] [Plugin] [Template] Tibiacom Layout - EternalGlobal Theme   
    Credits
    @slaw
    I just edited the tibiacom template.
    Full customizable.
    I have an organized repo for this 'My-AAC last version', I will release I just need to fix something's

    Just check the template live version.

    How Install
    Rename your tibiacom folder and paste the downloaded one.

    Picture News - Boosted Boss works well in this picture the boosted boss of the day was not in image folder.


    DOWNLOAD:
    thetibiaking/ttk-my-aac at layout-changes (github.com)
  6. Gostei
    Underewar recebeu reputação de Mateus Robeerto em [MyAAC] [Plugin] [Template] Tibiacom Layout - EternalGlobal Theme   
    Credits
    @slaw
    I just edited the tibiacom template.
    Full customizable.
    I have an organized repo for this 'My-AAC last version', I will release I just need to fix something's

    Just check the template live version.

    How Install
    Rename your tibiacom folder and paste the downloaded one.

    Picture News - Boosted Boss works well in this picture the boosted boss of the day was not in image folder.


    DOWNLOAD:
    thetibiaking/ttk-my-aac at layout-changes (github.com)
  7. Gostei
    Underewar recebeu reputação de Doria Louro em Emperator 8.6 Beta   
    Boa! Gostei das spells muito criativo!
  8. Curtir
    Underewar recebeu reputação de Fabi Marzan em [BOOSTED CREATURE] Vamos melhorar esse código ? TFS 1x   
    Olá pessoal! Estou trabalhando em um sistema para criaturas e chefes boostados no meu servidor TFS 1x. Não estou interessado em integrar este sistema ao código-fonte por razões óbvias, já que isso facilitaria a edição para outros servidores. Estou postando isso para colaborar na melhoria do sistema atual implementando novos conceitos e refinando os existentes.
     
    Sobre o código: GlobalEvents: Estou usando Eventos Globais para atualizar a criatura e o chefe boostado na inicialização do servidor. Para evitar a necessidade de reinicializar o servidor ao alterar o chefe, estou considerando mudar de onStartup para onThink e especificar um horário preciso para o evento ocorrer. Simultaneamente, armazeno o índice da criatura em um armazenamento global para evitar consultas ao banco de dados ao procurar o monstro boostado do dia.
     
    CreatureScript: Com o monstro atualizado no banco de dados e o armazenamento global configurado com o índice do monstro atual, verifico em um CreatureScript qual monstro o jogador está derrotando. Usando dmgMap, posso identificar um ou mais jogadores contribuindo para a morte do monstro boostado diário. Certifico-me de registrar o evento quando um jogador faz login para evitar problemas potenciais.
    Sobre as melhorias: Em vez de criar uma função responsável por passar boostedCreature(tipo, nomeDoMonstro), o que seria ideal, criei duas funções - uma para chefes e outra para criaturas. Esta é uma melhoria significativa que pode simplificar consideravelmente o código adicionando esta função de utilidade.
     
    Melhorias importantes: A função onKill do sistema de criatura boostada está funcional e sem problemas. No entanto, alguns conceitos estão faltando. Atualmente, todos os jogadores que contribuem para a morte da criatura recebem o XP total. Há uma parte comentada no código onde o compartilhamento de XP da criatura é aplicado, mas não está funcional. Isso precisa ser ajustado - sinta-se à vontade para compartilhar quaisquer insights aqui!
     
    O que está faltando: Além do XP, o monstro também deve fornecer saques extras (A fazer). Também estou trabalhando em adicionar o evento para a morte do chefe (Em andamento).
    Outras melhorias: Sinta-se à vontade para sugerir melhorias adicionais para o sistema!
     
    Alterações aqui
    Boosted system creaturescript globalevents lib by Underewarrr · Pull Request #1 · thetibiaking/forgottenserver (github.com)
  9. Gostei
    Underewar recebeu reputação de FeK em CSTibia (beta) - 01/03 às 16:00 | Counter Strike + Tibia   
    Muito legal! Quando der vou entrar e dar uma olhada!
  10. Gostei
    Underewar deu reputação a Doria Louro em Emperator 8.6 Beta   
    Bem-vindos a Emperator 
    Preparados para embarcar em uma jornada épica repleta de aventura, mistério e desafio? Se sim, você está no lugar certo! Emperator é um mundo totalmente novo e emersivo, pronto para receber jogadores corajosos como você para explorar suas terras vastas e perigosas.
     
    Neste primeiro momento estaremos testando e verificando se estamos no caminho certo, onde será testados todos os recursos dentro do jogo, Emperator foi pensado para ser prático e imersivo trazendo uma experiência única nunca vista antes, veja abaixo alguns de novos sistemas:
     
    Chefes com mecânicas 

     
    AutoCast

     
    AutoLoot

     
    Balanceamento de Hunts

     
    Alteração de Elemento das Armas

     
    Dentre outras mecânicas, confira em nossa página: https://emperator.com.br/info.php
    Cliente: 8.60 próprio com áudio
    Site: https://emperator.com.br
    Discord: https://discord.gg/4HfJExN6
  11. Gostei
    Underewar deu reputação a FeK em CSTibia (beta) - 01/03 às 16:00 | Counter Strike + Tibia   
    CSTibia (beta) | 01/03 às 16:00

    CSTibia é um jogo PvP que conecta Counter Strike e Tibia, proporcionando uma experiência única para aqueles que gostam de PvP.

    São 2 modos de jogo, 6 mapas e mais de 50 armas disponíveis para jogar!

    #Modos de jogo: Mata-mata e Torneio x1.

    #Mapas: Dust2, Inferno, Mirage, India, IceWorld e PoolDay.

    O beta estará disponível a partir do dia 01/03 às 16 horas! Ele terá duração de 1 mês e no dia 01/04 iniciará a Session 1.

    #Download: 01/03 às 12 horas.

    ▶️ Crie já sua conta!
    http://www.cstibia.com

    🎮 Discord: https://discord.gg/zdxdTTURpq

    📸 Instagram: https://www.instagram.com/cstibia
  12. Gostei
    Underewar recebeu reputação de Mateus Robeerto em [BOOSTED CREATURE] Vamos melhorar esse código ? TFS 1x   
    Olá pessoal! Estou trabalhando em um sistema para criaturas e chefes boostados no meu servidor TFS 1x. Não estou interessado em integrar este sistema ao código-fonte por razões óbvias, já que isso facilitaria a edição para outros servidores. Estou postando isso para colaborar na melhoria do sistema atual implementando novos conceitos e refinando os existentes.
     
    Sobre o código: GlobalEvents: Estou usando Eventos Globais para atualizar a criatura e o chefe boostado na inicialização do servidor. Para evitar a necessidade de reinicializar o servidor ao alterar o chefe, estou considerando mudar de onStartup para onThink e especificar um horário preciso para o evento ocorrer. Simultaneamente, armazeno o índice da criatura em um armazenamento global para evitar consultas ao banco de dados ao procurar o monstro boostado do dia.
     
    CreatureScript: Com o monstro atualizado no banco de dados e o armazenamento global configurado com o índice do monstro atual, verifico em um CreatureScript qual monstro o jogador está derrotando. Usando dmgMap, posso identificar um ou mais jogadores contribuindo para a morte do monstro boostado diário. Certifico-me de registrar o evento quando um jogador faz login para evitar problemas potenciais.
    Sobre as melhorias: Em vez de criar uma função responsável por passar boostedCreature(tipo, nomeDoMonstro), o que seria ideal, criei duas funções - uma para chefes e outra para criaturas. Esta é uma melhoria significativa que pode simplificar consideravelmente o código adicionando esta função de utilidade.
     
    Melhorias importantes: A função onKill do sistema de criatura boostada está funcional e sem problemas. No entanto, alguns conceitos estão faltando. Atualmente, todos os jogadores que contribuem para a morte da criatura recebem o XP total. Há uma parte comentada no código onde o compartilhamento de XP da criatura é aplicado, mas não está funcional. Isso precisa ser ajustado - sinta-se à vontade para compartilhar quaisquer insights aqui!
     
    O que está faltando: Além do XP, o monstro também deve fornecer saques extras (A fazer). Também estou trabalhando em adicionar o evento para a morte do chefe (Em andamento).
    Outras melhorias: Sinta-se à vontade para sugerir melhorias adicionais para o sistema!
     
    Alterações aqui
    Boosted system creaturescript globalevents lib by Underewarrr · Pull Request #1 · thetibiaking/forgottenserver (github.com)
  13. Gostei
    Underewar deu reputação a Johncore em Otg Server - Global 11x (sprites 13.30)   
    Olá galera, atualizamos hoje o Global 11x para sprites do 13.30 mais recente, conseguimos fazer o cliente 12.30 receber as sprites do 13.30, agora é possivel logar no 11x standlone, Otcv8 e 12.30 (sprites 13.30)
    Em nosso github você encontra tudo que necessita cliente 10, otcv8 customizado, cliente 12.30, ferramentas e o gesior Otg.
    https://github.com/otg-br
     

  14. Gostei
    Underewar deu reputação a Mateus Robeerto em TFS 1.5 {8.6} Nekiro Downgrade com montarias e modal window apenas para OTClient.   
    @doukxxt
     
    Desculpa pela demora. Os últimos dias foram corridos. Decidi compartilhar isso com vocês
     
    Abra o diretório otc/data/layouts/retro/styles/40-inventory.otui e procure por essa linha.
     
    Panel id: conditionPanel layout: type: horizontalBox height: 22 padding: 2 anchors.top: slot8.bottom anchors.left: slot6.left anchors.right: slot5.right margin-top: 4 border-width: 1 border-color: #00000077 background-color: #ffffff22 Adicione abaixo disso.
    StoreButton size: 0 20 anchors.top: prev.bottom anchors.left: parent.left anchors.right: parent.right margin-left: 6 margin-top: 4 margin-right: 6 @onClick: modules.store_module.toggle() Agora, sobre como comprar itens por pontos, vou postar dois tutoriais para Gesior e Znote.
     
    APENAS GESIOR..
    Este script serve para trocar itens por pontos. Vou dar um exemplo com a Magic Sword.
     
    data/scripts.
    local StoreCustom = TalkAction("!shopMagic Sword") function StoreCustom.onSay(player, words, param) local pointsToDeduct = 10 removePoints(player, pointsToDeduct) local newItemID = 2401 -- Replace with the ID of the item the player will receive local newItemCount = 1 -- Quantity of the new item to be added to the player's inventory player:addItem(newItemID, newItemCount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully purchased a new item in exchange for" .. pointsToDeduct .. " premium points.") return false end function removePoints(player, amount) local accountId = player:getAccountId() local query = "UPDATE `accounts` SET `premium_points` = `premium_points` - " .. amount .. " WHERE `id` = " .. accountId db.query(query) end StoreCustom:separator(" ") StoreCustom:register() Para saber quantos pontos você tem, digite !points.
    local talkaction = TalkAction("!points") function Player.getPremiumPoints(self) local query = db.storeQuery("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. self:getAccountId()) if not query then return false end local value = result.getNumber(query, "premium_points") result.free(query) return value end function talkaction.onSay(player, words, param, type) if words:lower() == "!points" then local points = player:getPremiumPoints() if points > 0 then local message = "Your premium points balance is: " .. points player:popupFYI(message) else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You don't have premium points.") end return false end return true end talkaction:separator(" ") talkaction:register() Para comprar outfits ou addons.
    local outfitsCustom = TalkAction("!shopMage", "!shopCitizen", "!shopHunter", "!shopKnight", "!shopNoblewoman", "!shopNobleman", "!shopSummoner", "!shopWarrior", "!shopBarbarian", "!shopDruid", "!shopWizard", "!shopOriental", "!shopPirate", "!shopAssassin", "!shopBeggar", "!shopShaman", "!shopNorsewoman", "!shopNorseman", "!shopNightmare", "!shopJester", "!shopBrotherhood", "!shopDemon Hunter", "!shopYalaharian", "!shopNewly Wed", "!shopWarmaster", "!shopWayfarer", "!shopRetro Warrior", "!shopRetro Citizen", "!shopRetro Hunter", "!shopRetro Knight", "!shopRetro Mage", "!shopRetro Noblewoman", "!shopRetro Nobleman", "!shopRetro Summoner") function outfitsCustom.onSay(player, words, param) if words == "/shop" then return false end if words == "!shopMage" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 138 or 130 -- Mage outfit ID local outfitCost = 50 -- Cost in premium_points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE accounts SET premium_points = premium_points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Mage outfit addons for " .. outfitCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Mage outfit!") end ---------------- elseif words == "!shopCitizen" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 136 or 128 -- Citizen outfit ID local outfitCost = 50 -- Cost in premium_points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE accounts SET premium_points = premium_points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Citizen outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Citizen outfit addons for " .. outfitCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Citizen outfit!") end ---------------- elseif words == "!shopHunter" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 137 or 129 -- Hunter outfit ID local outfitCost = 50 -- Cost in premium_points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE accounts SET premium_points = premium_points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Hunter outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Hunter outfit addons for " .. outfitCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Hunter outfit!") end ---------------- elseif words == "!shopKnight" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 139 or 131 -- Knight outfit ID local outfitCost = 50 -- Cost in premium_points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE accounts SET premium_points = premium_points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Knight outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Knight outfit addons for " .. outfitCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Knight outfit!") end -- Add more commands and messages as necessary end return false end outfitsCustom:separator(" ") outfitsCustom:register() Para comprar uma montaria.
    local shopsCustom = TalkAction("!shopMidnight Panther", "!shopWidow Queen", "!shopRacing Bird", "!shopWar Bear", "!shopBlack Sheep", "!shopDraptor", "!shopTitanica", "!shopTin Lizzard", "!shopBlazebringer", "!shopRapid Boar", "!shopStampor", "!shopUndead Cavebear", "!shopDonkey", "!shopTiger Slug", "!shopUniwheel", "!shopCrystal Wolf", "!shopWar Horse", "!shopKingly Deer", "!shopTamed Panda", "!shopDromedary", "!shopScorpion King", "!shopDarkbrown Rented Horse", "!shopArmoured War Horse", "!shopShadow Draptor", "!shopGrey Rented Horse", "!shopBrown Rented Horse", "!shopLady Bug", "!shopManta Ray", "!shopIronblight", "!shopMagma Crawler", "!shopDragonling", "!shopGnarlhound", "!shopCrimson Ray", "!shopSteelbeak", "!shopWater Buffalo", "!shopTombstinger", "!shopPlatesaurian", "!shopUrsagrodon", "!shopThe Hellgrip", "!shopNoble Lion", "!shopDesert King", "!shopShock Head", "!shopWalker", "!shopAzudocus", "!shopCarpacosaurus", "!shopDeath Crawler", "!shopFlamesteed", "!shopJade Lion", "!shopJade Pincer", "!shopNethersteed", "!shopTempest", "!shopWinter King", "!shopDoombringer", "!shopWoodland Prince", "!shopHailstorm Fury", "!shopSiegebreaker", "!shopPoisonbane", "!shopBlackpelt", "!shopGolden Dragonfly", "!shopSteel Bee", "!shopCopper Fly", "!shopTundra Rambler", "!shopHighland Yak", "!shopGlacier Vagabond", "!shopShadow Hart", "!shopBlack Stag", "!shopEmperor Deer", "!shopFlying Divan", "!shopMagic Carpet", "!shopFloating Kashmir", "!shopRingtail Waccoon", "!shopNight Waccoon", "!shopEmerald Waccoon", "!shopFlitterkatzen", "!shopVenompaw", "!shopBatcat", "!shopSea Devil", "!shopCoralripper", "!shopPlumfish", "!shopGorongra", "!shopNoctungra", "!shopSilverneck", "!shopSlagsnare", "!shopNightstinger", "!shopRazorcreep", "!shopRift Runner", "!shopNightdweller", "!shopFrostflare", "!shopCinderhoof", "!shopMouldpincer", "!shopBloodcurl", "!shopLeafscuttler", "!shopSparkion", "!shopSwamp Snapper", "!shopMould Shell", "!shopReed Lurker", "!shopNeon Sparkid", "!shopVortexion", "!shopIvory Fang", "!shopShadow Claw", "!shopSnow Pelt", "!shopJackalope", "!shopDreadhare", "!shopWolpertinger", "!shopStone Rhino", "!shopGold Sphinx", "!shopEmerald Sphinx", "!shopShadow Sphinx", "!shopJungle Saurian", "!shopEmber Saurian", "!shopLagoon Saurian", "!shopBlazing Unicorn", "!shopArctic Unicorn", "!shopPrismatic unicorn", "!shopCranium Spider", "!shopCave Tarantula", "!shopGloom Widow", "!shopMole", "!shopMarsh Toad", "!shopSanguine Frog", "!shopToxic Toad", "!shopEbony Tiger", "!shopFeral Tiger", "!shopJungle Tiger", "!shopFleeting Knowledge", "!shopTawny Owl", "!shopSnowy Owl", "!shopBoreal Owl", "!shopLacewing Moth", "!shopHibernal Moth", "!shopCold Percht Sleigh", "!shopBright Percht Sleigh", "!shopDark Percht Sleigh", "!shopFestive Snowman", "!shopMuffled Snowman", "!shopCaped Snowman", "!shopRabbit Rickshaw", "!shopBunny Dray", "!shopCony Cart", "!shopRiver Crocovile", "!shopSwamp Crocovile", "!shopNightmarish Crocovile", "!shopGryphon", "!shopJousting Eagle", "!shopCerberus Champion", "!shopCold Percht Sleigh Variant", "!shopBright Percht Sleigh Variant", "!shopDark Percht Sleigh Variant", "!shopCold Percht Sleigh Final", "!shopBright Percht Sleigh Final", "!shopDark Percht Sleigh Final", "!shopBattle Badger", "!shopEther Badger", "!shopZaoan Badger", "!shopBlue Rolling Barrel", "!shopRed Rolling Barrel", "!shopGreen Rolling Barrel", "!shopFloating Sage", "!shopFloating Scholar", "!shopFloating Augur", "!shopHaze", "!shopAntelope", "!shopSnow Strider", "!shopDusk Pryer", "!shopDawn Strayer", "!shopSpectral Horse", "!shopSavanna Ostrich", "!shopCoral Rhea", "!shopEventide Nandu", "!shopVoracious Hyaena", "!shopCunning Hyaena", "!shopScruffy Hyaena", "!shopWhite Lion", "!shopKrakoloss", "!shopMerry Mammoth", "!shopHoliday Mammoth", "!shopFestive Mammoth", "!shopVoid Watcher", "!shopRune Watcher", "!shopRift Watcher", "!shopPhant", "!shopShellodon", "!shopSingeing Steed", "!shopHyacinth", "!shopPeony", "!shopDandelion", "!shopRustwurm", "!shopBogwurm", "!shopGloomwurm", "!shopEmerald Raven", "!shopMystic Raven", "!shopRadiant Raven", "!shopGloothomotive", "!shopTopaz Shrine", "!shopJade Shrine", "!shopObsidian Shrine", "!shopPoppy Ibex", "!shopMint Ibex", "!shopCinnamon Ibex") function shopsCustom.onSay(player, words, param) if words == "/shop" then return false end if words == "!shopMidnight Panther" then local shopId = 1 -- Mount ID local shopCost = 20 -- Cost in premium_points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE accounts SET premium_points = premium_points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Midnight Panther for " .. shopCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Midnight Panther!") end elseif words == "!shopWidow Queen" then local shopId = 2 -- Mount ID local shopCost = 20 -- Cost in premium_points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE accounts SET premium_points = premium_points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Widow Queen for " .. shopCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Widow Queen!") end elseif words == "!shopRacing Bird" then local shopId = 3 -- Mount ID local shopCost = 20 -- Cost in premium_points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE accounts SET premium_points = premium_points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Racing Bird for " .. shopCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Racing Bird!") end elseif words == "!shopWar Bear" then local shopId = 4 -- Mount ID local shopCost = 20 -- Cost in premium_points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE accounts SET premium_points = premium_points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the War Bear for " .. shopCost .. " premium_points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the War Bear!") end end end shopsCustom:separator(" ") shopsCustom:register() Clique no item para ganhar pontos e poder comprar na store!
    local premiumPointsAction = Action() local function doPlayerAddPremiumPoints(player, count) local accountId = player:getAccountId() db.query('UPDATE accounts SET premium_points = premium_points +' .. count .. ' WHERE id = ' .. db.escapeString(accountId)) end function premiumPointsAction.onUse(player, item, fromPosition, target, toPosition) doPlayerAddPremiumPoints(player, 100) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have received 100 store point(s) in your account.") player:getPosition():sendMagicEffect(28) item:remove(1) return true end premiumPointsAction:id(24774) premiumPointsAction:register()  
    AGORA É ZNOTE..
    magic sword.
    local StoreCustom = TalkAction("!shopteste") function StoreCustom.onSay(player, words, param) local pointsToDeduct = 10 -- Replace with the number of points to be deducted removePoints(player, pointsToDeduct) local newItemID = 2401 -- Replace with the ID of the item the player will receive local newItemCount = 1 -- Quantity of the new item to be added to the player's inventory player:addItem(newItemID, newItemCount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully purchased a new item in exchange for " .. pointsToDeduct .. " premium points.") return false end function removePoints(player, amount) local accountId = player:getAccountId() local query = "UPDATE `znote_accounts` SET `points` = `points` - " .. amount .. " WHERE `id` = " .. accountId db.query(query) end StoreCustom:separator(" ") StoreCustom:register() !points
    local StoreCustom = TalkAction("!shopteste") function StoreCustom.onSay(player, words, param) local pointsToDeduct = 10 -- Replace with the number of points to be deducted removePoints(player, pointsToDeduct) local newItemID = 2401 -- Replace with the ID of the item the player will receive local newItemCount = 1 -- Quantity of the new item to be added to the player's inventory player:addItem(newItemID, newItemCount) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have successfully purchased a new item in exchange for " .. pointsToDeduct .. " premium points.") return false end function removePoints(player, amount) local accountId = player:getAccountId() local query = "UPDATE `znote_accounts` SET `points` = `points` - " .. amount .. " WHERE `id` = " .. accountId db.query(query) end StoreCustom:separator(" ") StoreCustom:register() outfits ou addons.
    local outfitsCustom = TalkAction("!shopMage", "!shopCitizen", "!shopHunter", "!shopKnight", "!shopNoblewoman", "!shopNobleman", "!shopSummoner", "!shopWarrior", "!shopBarbarian", "!shopDruid", "!shopWizard", "!shopOriental", "!shopPirate", "!shopAssassin", "!shopBeggar", "!shopShaman", "!shopNorsewoman", "!shopNorseman", "!shopNightmare", "!shopJester", "!shopBrotherhood", "!shopDemon Hunter", "!shopYalaharian", "!shopNewly Wed", "!shopWarmaster", "!shopWayfarer", "!shopRetro Warrior", "!shopRetro Citizen", "!shopRetro Hunter", "!shopRetro Knight", "!shopRetro Mage", "!shopRetro Noblewoman", "!shopRetro Nobleman", "!shopRetro Summoner") function outfitsCustom.onSay(player, words, param) if words == "/shop" then return false end if words == "!shopMage" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 138 or 130 -- Mage outfit ID local outfitCost = 50 -- Cost in points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE znote_accounts SET points = points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Mage outfit addons for " .. outfitCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Mage outfit!") end ---------------- elseif words == "!shopCitizen" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 136 or 128 -- Citizen outfit ID local outfitCost = 50 -- Cost in points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE znote_accounts SET points = points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Citizen outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_RED) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Citizen outfit addons for " .. outfitCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Citizen outfit!") end ---------------- elseif words == "!shopHunter" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 137 or 129 -- Hunter outfit ID local outfitCost = 50 -- Cost in points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE znote_accounts SET points = points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Hunter outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Hunter outfit addons for " .. outfitCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Hunter outfit!") end ---------------- elseif words == "!shopKnight" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 139 or 131 -- Knight outfit ID local outfitCost = 50 -- Cost in points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE znote_accounts SET points = points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add Knight outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Knight outfit addons for " .. outfitCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Knight outfit!") end ---------------- elseif words == "!shopNoblewoman" then local outfitId = (player:getSex() == PLAYERSEX_FEMALE) and 140 or 132 -- outfit ID local outfitCost = 50 -- Cost in points to acquire the outfit if not player:hasOutfit(outfitId) or not player:hasOutfit(outfitId, 3) then db.query("UPDATE znote_accounts SET points = points - " .. outfitCost .. " WHERE account_id = " .. player:getAccountId()) player:addOutfitAddon(outfitId, 3) -- Add outfit / addons player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Noblewoman outfit addons for " .. outfitCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Noblewoman outfit!") end -- Add more commands and messages as necessary end return false end outfitsCustom:separator(" ") outfitsCustom:register() Montaria.
    local shopsCustom = TalkAction("!shopMidnight Panther", "!shopWidow Queen", "!shopRacing Bird", "!shopWar Bear", "!shopBlack Sheep", "!shopDraptor", "!shopTitanica", "!shopTin Lizzard", "!shopBlazebringer", "!shopRapid Boar", "!shopStampor", "!shopUndead Cavebear", "!shopDonkey", "!shopTiger Slug", "!shopUniwheel", "!shopCrystal Wolf", "!shopWar Horse", "!shopKingly Deer", "!shopTamed Panda", "!shopDromedary", "!shopScorpion King", "!shopDarkbrown Rented Horse", "!shopArmoured War Horse", "!shopShadow Draptor", "!shopGrey Rented Horse", "!shopBrown Rented Horse", "!shopLady Bug", "!shopManta Ray", "!shopIronblight", "!shopMagma Crawler", "!shopDragonling", "!shopGnarlhound", "!shopCrimson Ray", "!shopSteelbeak", "!shopWater Buffalo", "!shopTombstinger", "!shopPlatesaurian", "!shopUrsagrodon", "!shopThe Hellgrip", "!shopNoble Lion", "!shopDesert King", "!shopShock Head", "!shopWalker", "!shopAzudocus", "!shopCarpacosaurus", "!shopDeath Crawler", "!shopFlamesteed", "!shopJade Lion", "!shopJade Pincer", "!shopNethersteed", "!shopTempest", "!shopWinter King", "!shopDoombringer", "!shopWoodland Prince", "!shopHailstorm Fury", "!shopSiegebreaker", "!shopPoisonbane", "!shopBlackpelt", "!shopGolden Dragonfly", "!shopSteel Bee", "!shopCopper Fly", "!shopTundra Rambler", "!shopHighland Yak", "!shopGlacier Vagabond", "!shopShadow Hart", "!shopBlack Stag", "!shopEmperor Deer", "!shopFlying Divan", "!shopMagic Carpet", "!shopFloating Kashmir", "!shopRingtail Waccoon", "!shopNight Waccoon", "!shopEmerald Waccoon", "!shopFlitterkatzen", "!shopVenompaw", "!shopBatcat", "!shopSea Devil", "!shopCoralripper", "!shopPlumfish", "!shopGorongra", "!shopNoctungra", "!shopSilverneck", "!shopSlagsnare", "!shopNightstinger", "!shopRazorcreep", "!shopRift Runner", "!shopNightdweller", "!shopFrostflare", "!shopCinderhoof", "!shopMouldpincer", "!shopBloodcurl", "!shopLeafscuttler", "!shopSparkion", "!shopSwamp Snapper", "!shopMould Shell", "!shopReed Lurker", "!shopNeon Sparkid", "!shopVortexion", "!shopIvory Fang", "!shopShadow Claw", "!shopSnow Pelt", "!shopJackalope", "!shopDreadhare", "!shopWolpertinger", "!shopStone Rhino", "!shopGold Sphinx", "!shopEmerald Sphinx", "!shopShadow Sphinx", "!shopJungle Saurian", "!shopEmber Saurian", "!shopLagoon Saurian", "!shopBlazing Unicorn", "!shopArctic Unicorn", "!shopPrismatic unicorn", "!shopCranium Spider", "!shopCave Tarantula", "!shopGloom Widow", "!shopMole", "!shopMarsh Toad", "!shopSanguine Frog", "!shopToxic Toad", "!shopEbony Tiger", "!shopFeral Tiger", "!shopJungle Tiger", "!shopFleeting Knowledge", "!shopTawny Owl", "!shopSnowy Owl", "!shopBoreal Owl", "!shopLacewing Moth", "!shopHibernal Moth", "!shopCold Percht Sleigh", "!shopBright Percht Sleigh", "!shopDark Percht Sleigh", "!shopFestive Snowman", "!shopMuffled Snowman", "!shopCaped Snowman", "!shopRabbit Rickshaw", "!shopBunny Dray", "!shopCony Cart", "!shopRiver Crocovile", "!shopSwamp Crocovile", "!shopNightmarish Crocovile", "!shopGryphon", "!shopJousting Eagle", "!shopCerberus Champion", "!shopCold Percht Sleigh Variant", "!shopBright Percht Sleigh Variant", "!shopDark Percht Sleigh Variant", "!shopCold Percht Sleigh Final", "!shopBright Percht Sleigh Final", "!shopDark Percht Sleigh Final", "!shopBattle Badger", "!shopEther Badger", "!shopZaoan Badger", "!shopBlue Rolling Barrel", "!shopRed Rolling Barrel", "!shopGreen Rolling Barrel", "!shopFloating Sage", "!shopFloating Scholar", "!shopFloating Augur", "!shopHaze", "!shopAntelope", "!shopSnow Strider", "!shopDusk Pryer", "!shopDawn Strayer", "!shopSpectral Horse", "!shopSavanna Ostrich", "!shopCoral Rhea", "!shopEventide Nandu", "!shopVoracious Hyaena", "!shopCunning Hyaena", "!shopScruffy Hyaena", "!shopWhite Lion", "!shopKrakoloss", "!shopMerry Mammoth", "!shopHoliday Mammoth", "!shopFestive Mammoth", "!shopVoid Watcher", "!shopRune Watcher", "!shopRift Watcher", "!shopPhant", "!shopShellodon", "!shopSingeing Steed", "!shopHyacinth", "!shopPeony", "!shopDandelion", "!shopRustwurm", "!shopBogwurm", "!shopGloomwurm", "!shopEmerald Raven", "!shopMystic Raven", "!shopRadiant Raven", "!shopGloothomotive", "!shopTopaz Shrine", "!shopJade Shrine", "!shopObsidian Shrine", "!shopPoppy Ibex", "!shopMint Ibex", "!shopCinnamon Ibex") function shopsCustom.onSay(player, words, param) if words == "/shop" then return false end if words == "!shopMidnight Panther" then local shopId = 1 -- Mount ID local shopCost = 20 -- Cost in points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE znote_accounts SET points = points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Midnight Panther for " .. shopCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Midnight Panther!") end elseif words == "!shopWidow Queen" then local shopId = 2 -- Mount ID local shopCost = 20 -- Cost in points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE znote_accounts SET points = points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Widow Queen for " .. shopCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Widow Queen!") end elseif words == "!shopRacing Bird" then local shopId = 3 -- Mount ID local shopCost = 20 -- Cost in points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE znote_accounts SET points = points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the Racing Bird for " .. shopCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the Racing Bird!") end elseif words == "!shopWar Bear" then local shopId = 4 -- Mount ID local shopCost = 20 -- Cost in points to acquire the shop if not player:hasMount(shopId) then db.query("UPDATE znote_accounts SET points = points - " .. shopCost .. " WHERE account_id = " .. player:getAccountId()) player:addMount(shopId) -- player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You acquired the War Bear for " .. shopCost .. " points!") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You already have the War Bear!") end end end shopsCustom:separator(" ") shopsCustom:register() Clique no item para ganhar pontos e poder comprar na store.
    local premiumPointsAction = Action() local function doPlayerAddPremiumPoints(player, count) local accountId = player:getAccountId() db.query('UPDATE znote_accounts SET points = points +' .. count .. ' WHERE account_id = ' .. db.escapeString(accountId)) end function premiumPointsAction.onUse(player, item, fromPosition, target, toPosition) doPlayerAddPremiumPoints(player, 100) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have received 100 store point(s) in your account.") player:getPosition():sendMagicEffect(28) item:remove(1) return true end premiumPointsAction:id(24774) premiumPointsAction:register() É só baixar o module e colocar no seu OTClient... Pronto! Espero que tenha gostado!
    https://drive.google.com/file/d/1Cl06Dx2o1ix2AO7aUXJRe292tLvfgU45/view?usp=sharing  
  15. Gostei
    Underewar recebeu reputação de luanluciano93 em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Olá vou disponibilizar aqui o sistema de pagamento automático do mercado pago via pix utilizando o myaac.
    O Sistema esta livre de sql injection e com o workflow 100% correto.

    Em breve solto o do cartão de crédito.

    Configuração
     Coloque os conteúdos das pastas systems e plugins dentro de suas respectivas pastas em seu website. Configure o arquivo plugins/mercadopago/config.php com os dados necessarios Lembre-se de configurar o seu domínio no arquivo system/pages/pix.php
    procure por mywebsite.online e troque pelo seu dominio.
      Lembre-se de configurar a variavel do mercadopago no seu config.php  
     
    Aproveite seu sistema automático de doações.

    Downloads
    Tibiaking Cloud
    mp_pix.rar
    GithubDev: Automatic mercadopagoPIX System Gateway · thetibiaking/ttk-my-aac@eae160d · GitHub
    Updates
    Fix: Add variable to pixStatusUrl added on pix config.php · thetibiaking/ttk-my-aac@0a05720 · GitHub
    Fix: Wrong way to get collector ID · thetibiaking/ttk-my-aac@397efc8 (github.com)

    Confira o sistema aqui
    Pix - Eternal Global
    Tabela para o Banco de dados.
    status.sql
  16. Obrigado
    Underewar recebeu reputação de cloudrun2023 em Cloud Server Ryzen Brasil - Temos os servidores com melhor preço do mercado.   
    Se comprar o produto pfv deixar o feedback nos comentários!
  17. Gostei
    Underewar recebeu reputação de FeK em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Olá vou disponibilizar aqui o sistema de pagamento automático do mercado pago via pix utilizando o myaac.
    O Sistema esta livre de sql injection e com o workflow 100% correto.

    Em breve solto o do cartão de crédito.

    Configuração
     Coloque os conteúdos das pastas systems e plugins dentro de suas respectivas pastas em seu website. Configure o arquivo plugins/mercadopago/config.php com os dados necessarios Lembre-se de configurar o seu domínio no arquivo system/pages/pix.php
    procure por mywebsite.online e troque pelo seu dominio.
      Lembre-se de configurar a variavel do mercadopago no seu config.php  
     
    Aproveite seu sistema automático de doações.

    Downloads
    Tibiaking Cloud
    mp_pix.rar
    GithubDev: Automatic mercadopagoPIX System Gateway · thetibiaking/ttk-my-aac@eae160d · GitHub
    Updates
    Fix: Add variable to pixStatusUrl added on pix config.php · thetibiaking/ttk-my-aac@0a05720 · GitHub
    Fix: Wrong way to get collector ID · thetibiaking/ttk-my-aac@397efc8 (github.com)

    Confira o sistema aqui
    Pix - Eternal Global
    Tabela para o Banco de dados.
    status.sql
  18. Gostei
    Underewar recebeu reputação de Mateus Robeerto em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Olá vou disponibilizar aqui o sistema de pagamento automático do mercado pago via pix utilizando o myaac.
    O Sistema esta livre de sql injection e com o workflow 100% correto.

    Em breve solto o do cartão de crédito.

    Configuração
     Coloque os conteúdos das pastas systems e plugins dentro de suas respectivas pastas em seu website. Configure o arquivo plugins/mercadopago/config.php com os dados necessarios Lembre-se de configurar o seu domínio no arquivo system/pages/pix.php
    procure por mywebsite.online e troque pelo seu dominio.
      Lembre-se de configurar a variavel do mercadopago no seu config.php  
     
    Aproveite seu sistema automático de doações.

    Downloads
    Tibiaking Cloud
    mp_pix.rar
    GithubDev: Automatic mercadopagoPIX System Gateway · thetibiaking/ttk-my-aac@eae160d · GitHub
    Updates
    Fix: Add variable to pixStatusUrl added on pix config.php · thetibiaking/ttk-my-aac@0a05720 · GitHub
    Fix: Wrong way to get collector ID · thetibiaking/ttk-my-aac@397efc8 (github.com)

    Confira o sistema aqui
    Pix - Eternal Global
    Tabela para o Banco de dados.
    status.sql
  19. Gostei
    Underewar recebeu reputação de Erimyth em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Olá vou disponibilizar aqui o sistema de pagamento automático do mercado pago via pix utilizando o myaac.
    O Sistema esta livre de sql injection e com o workflow 100% correto.

    Em breve solto o do cartão de crédito.

    Configuração
     Coloque os conteúdos das pastas systems e plugins dentro de suas respectivas pastas em seu website. Configure o arquivo plugins/mercadopago/config.php com os dados necessarios Lembre-se de configurar o seu domínio no arquivo system/pages/pix.php
    procure por mywebsite.online e troque pelo seu dominio.
      Lembre-se de configurar a variavel do mercadopago no seu config.php  
     
    Aproveite seu sistema automático de doações.

    Downloads
    Tibiaking Cloud
    mp_pix.rar
    GithubDev: Automatic mercadopagoPIX System Gateway · thetibiaking/ttk-my-aac@eae160d · GitHub
    Updates
    Fix: Add variable to pixStatusUrl added on pix config.php · thetibiaking/ttk-my-aac@0a05720 · GitHub
    Fix: Wrong way to get collector ID · thetibiaking/ttk-my-aac@397efc8 (github.com)

    Confira o sistema aqui
    Pix - Eternal Global
    Tabela para o Banco de dados.
    status.sql
  20. Gostei
    Underewar recebeu reputação de paulo thush em [MY-AAC-GATEWAY] MercadoPago Pix 100% Automático e Livre de SQL Injection (GRATIS!)   
    Olá vou disponibilizar aqui o sistema de pagamento automático do mercado pago via pix utilizando o myaac.
    O Sistema esta livre de sql injection e com o workflow 100% correto.

    Em breve solto o do cartão de crédito.

    Configuração
     Coloque os conteúdos das pastas systems e plugins dentro de suas respectivas pastas em seu website. Configure o arquivo plugins/mercadopago/config.php com os dados necessarios Lembre-se de configurar o seu domínio no arquivo system/pages/pix.php
    procure por mywebsite.online e troque pelo seu dominio.
      Lembre-se de configurar a variavel do mercadopago no seu config.php  
     
    Aproveite seu sistema automático de doações.

    Downloads
    Tibiaking Cloud
    mp_pix.rar
    GithubDev: Automatic mercadopagoPIX System Gateway · thetibiaking/ttk-my-aac@eae160d · GitHub
    Updates
    Fix: Add variable to pixStatusUrl added on pix config.php · thetibiaking/ttk-my-aac@0a05720 · GitHub
    Fix: Wrong way to get collector ID · thetibiaking/ttk-my-aac@397efc8 (github.com)

    Confira o sistema aqui
    Pix - Eternal Global
    Tabela para o Banco de dados.
    status.sql
  21. Gostei
    Underewar deu reputação a Qwizer em [STRIPE] Checkout Transparente com retorno (CC)   
    [STRIPE] Checkout Transparente (CC/PIX)
     
    Abaixo Segue códigos PHP de pagamento via cartão de credito pelo stripe com retorno automático para quem quiser adaptar em seus sites ter uma direção de onde ir códigos testados em Znote, MyAcc e Gesior.
     

     
     
    https://mega.nz/folder/m4QkWBLS#PIvJ_scVm7w8-5FLlStTHg  
  22. Gostei
    Underewar deu reputação a prot def em Cloud Server Ryzen Brasil - Temos os servidores com melhor preço do mercado.   
    Estou utilizando a vps do Cloud Run para hospedar o NTO OTShinobi. Estou gostando dos serviços, a ativação foi rápida e fácil de instalar, recomendo para quem estiver procurando serviços de hospedagem para otserv. 
     
  23. Gostei
    Underewar recebeu reputação de prot def em Nto OTShinobi - Jogue Agora Narutibia   
    Boa Sorte!
  24. Gostei
    Underewar deu reputação a cloudrun2023 em Cloud Server Ryzen Brasil - Temos os servidores com melhor preço do mercado.   
    CloudRun - Sua Melhor Escolha para Hospedagem de OTServer!
    Você está procurando a solução definitiva para hospedar seu OTServer com desempenho imbatível e segurança inigualável? Não procure mais! Apresentamos a CloudRun, sua parceira confiável em serviços de hospedagem na nuvem.
     
    Recursos Exclusivos - Proteção DDoS Avançada:
    Mantenha seu OTServer online e seguro com nossa robusta proteção DDoS, garantindo uma experiência de jogo ininterrupta para seus jogadores.
     
    Servidores Ryzen 7 Poderosos: Desfrute do poder de processamento superior dos servidores Ryzen 7 para garantir um desempenho excepcional do seu OTServer. Velocidade e estabilidade garantidas!
     
    Armazenamento NVMe de Alta Velocidade:
    Reduza o tempo de carregamento do jogo com nosso armazenamento NVMe ultrarrápido. Seus jogadores vão adorar a rapidez com que podem explorar o mundo do seu OTServer.
     
    Uplink de até 1GB:
    Oferecemos uma conexão de alta velocidade com até 1GB de largura de banda, garantindo uma experiência de jogo suave e livre de lag para todos os seus jogadores, mesmo nos momentos de pico.
     
    Suporte 24 Horas:
    Estamos sempre aqui para você! Nossa equipe de suporte está disponível 24 horas por dia, 7 dias por semana, para resolver qualquer problema ou responder a qualquer pergunta que você possa ter. Sua satisfação é a nossa prioridade.
     
    Fácil e Rápido de Começar:
    Configurar seu OTServer na CloudRun é simples e rápido. Concentre-se no desenvolvimento do seu jogo enquanto cuidamos da hospedagem.
     
    Entre em Contato Agora!
    Website: https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
    Email: [email protected]
    Telefone: (47) 99902-5147

    Não comprometa a qualidade da hospedagem do seu OTServer. Escolha a CloudRun e ofereça aos seus jogadores a melhor experiência de jogo possível. Visite nosso site hoje mesmo para conhecer nossos planos e começar!
     
    https://central.cloudrun.com.br/index.php?rp=/store/cloud-ryzen-brasil
     
    CloudRun - Onde a Velocidade Encontra a Confiabilidade!
     

  25. Gostei
    Underewar recebeu reputação de Nother em [Tutorial Definitivo] Como usar ExtendedOpcodes OTC (Client-Side | Server-Side) + JSON Encoder   
    Tutorial: Criando um Sistema de Enviar efeito com OTClient.


     
    Neste tutorial, vamos criar um sistema simples de Enviar efeito no OTClient.
    Este sistema permitirá que os jogadores ativem um efeito especial e vejam uma janela ao clicar em um botão específico.
    Pré-requisitos:
    Ambiente de Desenvolvimento:
    Certifique-se de ter um ambiente de desenvolvimento configurado com OTClient Edubart. Conhecimento Básico em Lua:
    Familiaridade com a linguagem de script Lua.
     
    Passo 1: Estrutura do projeto
     
    Organize seu projeto conforme abaixo:

    OTC / MODS



    Passo 2: Criando a Interface Gráfica (OTUI)

    game_pass.otui
    Repare que em nossa interface nossos botões de ação entram no caminho do module e iniciam uma função que esta disponivel em nosso game_pass.lua (Client-Side)

     



    Passo 3: Criando funções Client-Side

    Agora com as funções criada podemos chamar elas de acordo com a necessidade em nosso arquivo de interface.
    Por exemplo a função effect() que foi chamada em nosso arquivo de interface.otui agora é criada aqui para mostrar o efeito ao jogador.

    game_pass.lua
     
     
    Passo 4: Registrando o novo Mod

    Agora podemos registrar e iniciar nosso modulo usando o arquivo de configuração

    game_pass.otmod
     

    Feito isso ja podemos ver nosso module no client e enviar opcodes através do gameprotocol e também receber o buffer para manipular os dados podemos utilizar :
    protocolGame:sendExtendedOpcode(14, "1")
    Basicamente oque estamos fazendo é armazenando o valor 1 na variaval 14 do ExtendedOpcode e futuramente podemos recuperar esse valor.

    Recuperamos esse valor em nosso server side data/creatuerscript/otc/game_pass.lua

    Verificando se o opcode é 14 se for 14 então fazemos x ação.

    Show, tendo isso em mente para que o nosso client-side consiga receber com sucesso o efeito enviado ao jogador então utilizamos 

    Passo 5: Criando o Server-side responsavel por enviar o efeito correto ao jogador dependendo do opcode selecionado no nosso cliente.

    data/creaturescripts/otc/game_pass.lua
     
    Passo 6: Registrando o evento para evitar erros futuros!
    Para que tudo funcione corretamente sem erros é  necessário registrar o evento no creaturescript.xml / login.lua

    creaturescript.xml
    <event type="extendedopcode" name="GamePass" script="otc/game_pass.lua" />
    login.lua
        player:registerEvent("GamePass")  


    Ótimo agora ao selecionar o menu recompensa o jogador recebera um efeito.

    Espero que tenha ficado claro como usar Opcodes/ExetendedOpcodes.

    Arquivos usados no tutorrial:
    OTC MODULE
    game_pass.rar
    Creaturescript
    game_pass.lua

    Vi muitos tutoriais desatualizado então resolvi trazer esse!
    Reparem que nesse caso passamos creature como parametro do buffer isso porque precisamos enviar um efeito no player.

    Melhorando a formatação com JSON Encoder

     
     
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo