
Histórico de Curtidas
-
Belmont recebeu reputação de Rafaelvn em [Psoul] Base PokeJornadasAVISO:
O conteúdo do tópico por ser um pouco grande não foi possível fazer a verificação de vírus através do VirusTotal.
Se alguém que conhece algum outro site de scan por favor nos avise para que possamos adicionar o scan.
Acabei aprovando o tópico pelo mesmo motivo em que ele foi postado, para acabar com a folia de pessoas leigas serem passada a perna achando de que o conteúdo obtido só será disponibilizado para ela.
-
Belmont recebeu reputação de thekilleron em Configurando VPSTodos os Download está na ultima linha desse post!
Bom vamos lá, primeiramente você deve instalar o xampp na sua VPS Windows, e depois está colocando uma senha no mesmo para proteger sua Database. Se você não sabe instalar, vou está instalando junto com você, segue as imagens abaixo:
Instalando o Xampp
Protegendo o Xampp
Importando a Database
Abrindo as Portas
Fazendo todos os passos acima, vá no config.lua do seu do servidor e altere as seguintes linhas:
ip = "127.0.0.1" Aqui você troca para o Ip da sua VPS Windows sqlType = "sqlite" Aqui você troca para mysql sqlHost = "127.0.0.1" sqlPort = 3306 sqlUser = "root" sqlPass = "" Aqui você coloca a senha do Root sqlDatabase = "" Aqui você coloca o nome da sua Database Não se esqueça de apagar a pasta Webdav da pasta do Xampp!
Esse tutorial eu fiz do meu próprio computador, mas os passos são os mesmo para serem executados na VPS Windows, só é fazer tudo como está ai que vai da certo. Pronto, você acabou de configurar sua VPS Windows, agora é só ligar seu servidor e se divertir junto com seus Players!!
Xampp
Donwload
Site Download - Scan
Db
database.sql - Scan
OBS: Link do site, e do scan, foram retirados do mesmo post que continham os mesmos!
Créditos:
@Belmont
@KOLISAO
@WooX
-
Belmont recebeu reputação de premii em [AntiMC] PortalAlguém modifica este script para que ao invés dele puxar a área do evento, ele já impedir que entre no portal? Obrigado desde já rep+ para quem ajudar.
E colocar um contador? Tipo, eu posso estar escolhendo quantos mc's pode entrar, se é 2, 3. Pq quero usar esses script em várias coisas.
-
Belmont deu reputação a FeeTads em Correções gesior/myacc + configurações + proteções (ddos?)Salve rapaziada do TK e da comunidade de tibia Otserv.
Recentemente alguns invejosos estão atacando servidores (DDoS), bugando o guilds de varios sites (tirando o lider e membros), assim buga a guild e muita coisa no OT.
Eles vão até o teu servidor e se passam por "adm do deletebra", já ouvi a uns tempos algumas pessoas falando disso, mas como eu tinha contato isso caiu por terra facilmente, um deles foi o ADM brendo, dono do antigo strongerFusion, onde ele me contou toda essa história, essa foi a primeira vez que me foi relatado sobre isso, hoje vejo que está parecendo ser mais frequente.
Caso qualquer pessoa entre no seu OT se passando pelo ADM do deletebra, favor entrar em contato comigo via discord: FeeTads#0246 Te ajudarei a resolver problemas que eles exploram sem cobrar nada por isso, para provar que não necessito atacar outros OT's para ter algum publico. Já tenho em mente quem pode ser essas pessoas, caso alguém tenha numero de telefone, nome real, ou alguma informação a mais dessas pessoas atacando e se passando por mim ou meu sócio, favor enviar no discord, irei atrás de resolver isso.
Vou deixar aqui alguns tutoriais de coisas básicas para você conseguir proteger o seu site desses SQL injections, e mais algumas coisinhas, caso futuramente eu resolva outros bugs explorados, vou postar aqui as correções.
Configurando CloudFlare (SSL) E subDominio (sv.seuIP)
Após isso para que a pessoa não entre no site pelo (sv.seudominio.com.br)
abra o index.php da pasta raiz (está dentro da pasta html)
if($_SERVER['HTTP_HOST'] == 'sv.seuDominio.com.br') { header("Location: https://seuDominio.com.br"); } if($_SERVER['HTTP_HOST'] == 'IP NUMÉRICO') { header("Location: https://seuDominio.com.br"); }
Isso fará que quando a pessoa tente entrar no seu site usando meios não seguros (DNS only) ele redirecione pro seguro > proxiado pela cloudflare
_________________________________________________________________________________________________________________________________________
CORREÇÃO GUILDS.PHP / INJECTION SQL TIRANDO LIDER DA GUILD
PROTEÇÕES PARA DIMINUIR EFEITOS DE DDoS
Espero que isso ajude a muitos, a se prevenir de pessoas que tentam atacar OT's se passando por outros, ou até que vão la pedir pontos para jogar se não eles irão atacar, se prevenir de pessoas mal intencionadas.
PS: Caso você tenha no seu site a pagine "house" e "tickets" recomendo retirar do seu site, pois há maneira de injetar SQL por esses arquivos.
Vou postar em breve o tickets arrumado.
Boa sorte rapaziada, se cuidem, e caso alguém faça isso, por favor entre em contato comigo.
-
Belmont deu reputação a marcoshps11 em Configurando Docker no windows, adeus VMNeste tutorial, irei ensinar configurar o Docker no windows e rodar seu otserver
- Diferença entre Docker x Máquina virtual:
Docker e Máquinas Virtuais (VMs) ambas são fundamentais usadas para isolar recursos em um sistema de computação, mas funcionam de maneiras muito diferentes.
VMs são ambientes de computação completos, incluindo um sistema operacional (SO) completo, que simulam o hardware de um computador físico. Isso significa que cada VM é um sistema autônomo e independente. Já o Docker, usa a tecnologia de contêineres. Os contêineres compartilham o mesmo sistema operacional do host, mas mantêm seu próprio espaço de processo, arquivos e rede. Isso significa que eles são muito mais leves do que as VMs, pois não precisam de um SO completo, e podem ser iniciados e parados muito mais rapidamente.
- Vantagens em utilizar o Docker
O Docker oferece várias vantagens significativas:
Eficiência de recursos: Como os contêineres Docker compartilham o SO do host, eles são mais leves e usam menos recursos do que as VMs. Portabilidade: O Docker permite que você "construa uma vez, execute em qualquer lugar". Uma vez criado um contêiner Docker, ele pode ser executado em qualquer sistema que suporte o Docker, independentemente das configurações subjacentes. Isolamento: Cada contêiner Docker é isolado do resto do sistema, o que ajuda a evitar conflitos entre diferentes aplicações e versões de software. Integração e entrega contínua: O Docker se integra bem com ferramentas de CI/CD (Integração Contínua / Entrega Contínua), permitindo a automatização de testes e implantação de aplicações. Escalabilidade e Orquestração: O Docker facilita a escalabilidade de aplicações, permitindo que múltiplos contêineres sejam implantados facilmente. Além disso, com ferramentas como Docker Swarm e Kubernetes, a orquestração de contêineres se torna eficiente e gerenciável
Colocando a mão na massa
Este tutorial será dividido nas seguintes etapas:
Preparação do Windows Instalando o Docker Instalando imagens mariadb e phpmyadmin Realizando a build da imagem TFS
1º PASSO: Preparando o Windows com o subsistema Linux.
AVISO: Essa Etapa será necessária somente caso ainda não possua o subsistema Linux ativado em seu windows
Os comandos a seguir, serão todos utilizando o POWERSHELL do windows, na barra de pesquisa digite POWERSHELL e execute como administrador.
Com o POWERSHELL aberto, execute os seguintes comandos:
Habilitando subsistema Linux:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Habilitando recurso de máquina virtual: dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Baixe e instale Kernel do Linux:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
Após essa etapa, será necessário reiniciar o computador para atualização, após reiniciar, abra novamente o PowerShell
Definindo o WSL 2 como padrão: wsl --set-default-version 2
Após esses passos, basta entrar na Microsoft Store e instalar o sistema Ubuntu:
Após a instalação, abra o Ubuntu, como será a primeira vez, irá solicitar para que digite um nome de usuário e uma senha.
Etapa 1 concluída.
Fonte: https://learn.microsoft.com/pt-br/windows/wsl/install-manual
2º PASSO: Instalando Docker.
este é um passo simples, apenas entre no site oficial do Docker, baixe e instale o Docker Desktop
https://www.docker.com/
Etapa 2 concluída.
3º PASSO: Instalando imagens MariaDB e phpMyAdmin
Assim como no passo 1, execute novamente o PowerShell como administrador e siga os seguintes passos:
Primeiro vamos baixar as imagens necessárias, execute os seguintes comandos: docker pull mariadb
docker pull phpmyadmin/phpmyadmin
Agora iremos criar uma "Rede" para que o docker se comunique entre os containers que iremos utilizar. Execute o seguinte comando:
docker network create mynetwork
mynetwork é o nome que defini neste caso, você pode utilizar o nome que achar melhor, porém lembre-se desse nome que iremos utilizar nos próximos passos.
Agora iremos iniciar essas imagens, utilizando os seguintes comandos:
docker run --name mariadb --network=mynetwork -e MYSQL_ROOT_PASSWORD=your_password -d mariadb
your_password = altere pela senha que deseja utilizar no mysql
mynetwork = é o nome que criamos no passo anterior
docker run --name myadmin --network=mynetwork --link mariadb:db -d -p 8080:80 phpmyadmin/phpmyadmin
Lembrando novamente, mynetwork é o nome criado anteriormente
Após esses passos, será possível ver seu container rodando no Docker Desktop:
Etapa 3 concluída.
4º PASSO: Gerando Imagem do TFS e configurações necessárias:
Baixe a TFS, nesse exemplo será o repositório oficial https://github.com/otland/forgottenserver Extraia os arquivos após baixar com o container mariadb e phpmyadmin rodando, acesse http://localhost:8080/ com o login root, e a senha que criou no passo 3, crie uma nova base de dados e importe o arquivo schema.sql do servidor edite o arquivo config.lua.dist
-- MySQL
mysqlHost = "mariadb"
mysqlUser = "root"
mysqlPass = "SUA SENHA CRIADO NO PASSO 3"
mysqlDatabase = "NOME DA DATABASE"
mysqlPort = 3306
mysqlSock = ""
mariadb é o nome do container que estamos rodando o mysql
** Caso queira utilizar todo potencial do seu computador na hora de buildar a TFS, no arquivo Dockerfile, edite a linha 18:
RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default para
RUN cmake --preset default && cmake --build --config RelWithDebInfo --preset default -- -j 16
onde 16 é o numero de processadores lógicos que deseja ser utilizados, não é necessário utilizar 100% porém quanto mais melhor, porém caso utilize mais do que está disponível poderá travar, então utilize a quantidade mostrada pra menos.
no gerenciador de tarefas aba desempenho, é possível visualizar a quantidade de núcleos e processadores lógicos do seu CPU
Após isso, entre no Power Shell e execute o comando:
docker build -t server .
onde "server" é o nome da imagem que será gerada
Após isso, é só iniciar o servidor com o seguinte comando
docker run --name server --network=mynetwork -p 7171:7171 -p 7172:7172 -d server
lembrando que mynetwork é o nome que geramos no passo 3, e o ultimo parametro é nome da imagem que geramos anteriormente.
Você poderá ver seu sevidor ronando no Docker Desktop:
caso queira parar algum servidor ou iniciar novamente, é só clicar no botão de ação:
Caso precise fazer alguma alteração no server, basta utilizar os comandos de build e run citados anteriormente.
Lembrando que isso é um tutorial básico para rodar o servidor na máquina local, qualquer dúvida ou sugestão, deixe comentário.
-
Belmont deu reputação a Qwizer em [PEDIDO] PAGAMENTO AUTOMÁTICO VIA PIXse achar me fala
-
Belmont recebeu reputação de premii em [SPELLS] Antidoto, Exana Flam, Pox, VisAlguém poderia modificar essas scripts de antidoto para que quando você use a magia, a condition não saia imediatamente? Tipo, quem já jogou TibiaRPGBrasil sabe que quando você está com uma condition seja de flam, vis, mort, kor, quando você usa exana flam ou outra magia especifica para a condition que você está, a condition não sai na hora que você usa a magia, ela apenas agiliza o processo, é como se a condition tivesse um determinado tempo e assim que você usasse exana (...) iria fazer com que a condition saísse mais rápido. Resumindo, se você estiver com x condition e usar x exana a condition não sairá automaticamente e sim apenas irá acelerar para que a condition saia. Obrigado desde já, rep+ para quem ajudar
Eu uso OTX, versão do servidor 8.60
Exana Flam
Exana Pox
Exana Vis
Exana Mort
Exana Kor
-
-
Belmont deu reputação a Tofames em Sistema de transformaçãoHi,
Para devolver o que recebi aqui, colocarei para si um sistema de transformação a trabalhar na TFS 1.X.
(Testei em 1.4.2)
MUDANÇA DE SOURCE NECESSÁRIA PARA O BOM FUNCIONAMENTO!
Havia algo dentro do código TFS (e provavelmente outras distros) que não estava funcionando corretamente e depois que eu informei, eles se fundiram em tfs principais, então já está dentro do TFS 1.5, mas não está em versões mais antigas.
Trata-se de refrescar a velocidade do jogador após a transformação, se você não tiver isso, então sua velocidade do vocations.xml baseSpeed não é refrescada.
Você precisa adicionar isto às sources:
https://github.com/otland/forgottenserver/pull/4215/files
se você não tem acesso às sources, eu tenho um meio de contornar isso, mas não vou inundar este posto, então escreva em pv.
Créditos:
Erexo (guião original)
Itutorial (TFS 1.X),
Tofame (alteração: talkaction --> spell; source mudanças; correções do scripts)
transform system.mp4
no final do global.lua:
--[[ voc = from vocation newVoc = to vocation looktype = new outfit revertLooktype = current outfit level = lvl needed to transform rage = soul needed to transform (you can disable it, just type 0) kiToTrans = mana to transform addHp = maxHp added when you transform addKi = maxMana added effectOn = magic effect when you use transform aura = magic effect when you have current transform (can be disabled, just type 0). type nil in this version constant = if transform is constant (when it is, player dont lose transform/outfit and maxHp/Mana, and cannot use revert) --]] exhaust_transform = {} -- [1-8] naruto, transform = { [1] = {voc = 1, newVoc = 2, from_looktype = 2, looktype = 3, level = 50, rage = 0, mana = 50, addHealth = 450, addMana = 450, effect = 76, aura = nil, constant = false}, [2] = {voc = 2, newVoc = 3, from_looktype = 3, looktype = 4, level = 100, rage = 0, mana = 50, addHealth = 500, addMana = 500, effect = 76, aura = nil, constant = false}, [3] = {voc = 3, newVoc = 4, from_looktype = 4, looktype = 5, level = 150, rage = 0, mana = 50, addHealth = 650, addMana = 650, effect = 76, aura = nil, constant = false}, [4] = {voc = 4, newVoc = 5, from_looktype = 5, looktype = 6, level = 200, rage = 0, mana = 50, addHealth = 800, addMana = 800, effect = 76, aura = nil, constant = false}, [5] = {voc = 5, newVoc = 6, from_looktype = 6, looktype = 7, level = 250, rage = 0, mana = 50, addHealth = 900, addMana = 900, effect = 76, aura = nil, constant = false}, [6] = {voc = 6, newVoc = 7, from_looktype = 7, looktype = 8, level = 300, rage = 0, mana = 50, addHealth = 1000, addMana = 1000, effect = 76, aura = nil, constant = false}, [7] = {voc = 7, newVoc = 8, from_looktype = 8, looktype = 9, level = 400, rage = 0, mana = 50, addHealth = 1500, addMana = 1500, effect = 76, aura = nil, constant = false}, [8] = {voc = 8, newVoc = 9, from_looktype = 9, looktype = 10, level = 500, rage = 0, mana = 50, addHealth = 1500, addMana = 1500, effect = 76, aura = nil, constant = false} -- end naruto transforms } spells/scripts/revert.lua
local combat = Combat() combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(player, variant) local pid = player:getId() local TRANS = transform[player:getVocation():getId() - 1] -- - [player:getVocation():getId() - 4] domyslnie, should be -1. if not TRANS then player:sendCancelMessage("You cannot revert.") return false end local outfit = player:getOutfit() outfit.lookType = TRANS.from_looktype if TRANS.constant then player:setOutfit(outfit) else player:setOutfit(outfit, false) end exhaust_transform[pid] = 1 player:setMaxHealth(player:getMaxHealth() - TRANS.addHealth) player:setMaxMana(player:getMaxMana() - TRANS.addMana) player:setVocation(TRANS.voc) player:save() return combat:execute(player, variant) end spells/scripts/transform.lua
local combat = Combat() combat:setParameter(COMBAT_PARAM_AGGRESSIVE, false) function onCastSpell(player, variant) local effectPosition = Position(player:getPosition().x, player:getPosition().y, player:getPosition().z) local pid = player:getId() local TRANS = transform[player:getVocation():getId()] if not TRANS then player:sendCancelMessage("You cannot transform.") return false end if TRANS.effect == 76 then effectPosition = Position(player:getPosition().x + 2, player:getPosition().y, player:getPosition().z) end if player:getLevel() < TRANS.level then player:sendCancelMessage("You must reach level "..TRANS.level.." to transform.") return false end if player:getSoul() < TRANS.rage then player:sendCancelMessage("You need "..TRANS.rage.." to transform.") return false end if player:getMana() < TRANS.mana then player:sendCancelMessage("You need "..TRANS.mana.." to transform.") return false end local outfit = player:getOutfit() outfit.lookType = TRANS.looktype if TRANS.constant then player:setOutfit(outfit) else player:setOutfit(outfit, false) end player:addSoul(-TRANS.rage) player:setMaxHealth(player:getMaxHealth() + TRANS.addHealth) player:setMaxMana(player:getMaxMana() + TRANS.addMana) effectPosition:sendMagicEffect(TRANS.effect) player:setVocation(TRANS.newVoc) player:save() return combat:execute(player, variant) end spells.xml:
<instant group="support" spellid="175" name="Revert" words="revert" level="1" mana="10" aggressive="0" selftarget="1" cooldown="1000" groupcooldown="1000" needlearn="0" script="revert.lua" /> <instant group="support" spellid="175" name="Transform" words="transform" level="1" mana="10" aggressive="0" selftarget="1" cooldown="1000" groupcooldown="1000" needlearn="0" script="transform.lua" />
As coisas abaixo são opcionais, adicione-as se você quiser ter aura. Se você não estiver usando, deixe a aura = nil em global.lua
Também observei que isso poderia causar atrasos/screen freeze, por isso não recomendo o uso de aura.
globalevents.xml adicionar linha:
<globalevent name="TransformEffects" interval="2000" script="TransformEffects.lua"/> TransformEffects.lua (data/globalevents/scripts/TransformEffects.lua):
function onThink(interval) for _, player in pairs(Game.getPlayers()) do if player then TRANS = transform[player:getVocation():getId()] if TRANS then if TRANS.aura ~= nil then player:getPosition():sendMagicEffect(TRANS.aura) end end end end return true end
edit:
só consigo falar um pouco de espanhol e muito bem em inglês, por isso uso DEEPL para falar portugês.
-
Belmont recebeu reputação de Mrsrlord em (Resolvido)Meu antigo projeto. É possível alterar os banco de dados que está em sqlite para mysql?Você pode fazer o seguinte, vai no seu config.lua e altera esses campos:
sqlType = "mysql" -- O modo que vai operar, sqlite ou mysql sqlHost = "localhost" -- Padrão sqlPort = 3306 -- Padrão sqlUser = "root" -- Geralmente Padrão sqlPass = "" -- Aqui vai a senha, se você definiu uma, é claro sqlDatabase = "avatar" -- Aqui o nome da sua database sqlFile = "database.s3db" -- Aqui não importa se você estiver utilizando mysql Depois disso você vai precisar instalar o xampp, existe um tutorial meu que ensina fazer isso direitinho, você pode ver clicando aqui.
-
Belmont recebeu reputação de Scorpiondaniel em Armadura que diminui o dano recebido de area!Este tópico foi movido para a seção de Suporte Otserv.
-
Belmont recebeu reputação de Sipidripisipin em WODBO 8.54 help pleaseEste tópico foi movido para a seção de Suporte Otserv Alternativo
Link DragonBall Servers: https://tibiaking.com/search/?type=forums_topic&nodes=186&tags=Dragon Ball
Link WebSite: https://tibiaking.com/forums/forum/142-websites/
-
Belmont deu reputação a Nolangg em Ligar Luz [TFS 0.4]what's up guys, beleza?
hoje eu tava mechendo aleatoriamente e pensei, vou fazer algo aleatorio fds kkkkkk
então fiz um action que faz a luz acender e apagar '-'
não reparei se tinha algum tutorial por aí ensinando já à fazer isto, então, toma aí
bem, agora vamos lá.
Primeiramente um vídeo mostrando o que essa action faz:
luz.mp4
agora como instalar?
em data/actions/scripts
você cria um arquivo .lua e coloca o nome que quiser, no meu caso foi "luz.lua"...
e coloque isto dentro
function onUse(cid, item, topos) if isPlayer(cid) then if (item.itemid == 9749) then doPlayerSendTextMessage(cid, 22, "A luz estava acesa e foi apagada...") doTransformItem(item.uid, 9750) doItemSetAttribute(item.uid, "uid", 5551) doSendMagicEffect(topos,24) end if (item.itemid == 9750) then doPlayerSendTextMessage(cid, 22, "A luz estava apagada e foi acesa...") doTransformItem(item.uid, 9749) doItemSetAttribute(item.uid, "uid", 5551) doSendMagicEffect(topos,24) end end return true end
no script acima, em:
if(item.itemid == 9750) o número 9750 é o id da luz apagada...
e em:
if(item.itemid == 9749) o número 9749 é o id da luz acesa...
e em:
doItemSetAttribute(item.uid, "uid", 5551)
é o que faz a luz funcionar sempre que apertar ela, então em 5551 você coloca o uniqueid que está explicado abaixo:
agora em data/actions/actions.xml coloque isto:
<action uniqueid="5551" event="script" value="luz.lua"/> no meu caso 5551 é o uniqueid que coloquei na luz que queria usar, e, luz.lua é o nome do arquivo que está armazenando o script.
bem, foi isso, bem rapidinho e bem nada ver, só tive a idéia e criei por achar legal...
-
Belmont recebeu reputação de BrunoWots em [8.0] [TFS 1.2] - Server Global Full [Real Map com quest log em todas as quests e missoes]Seu tópico de conteúdo foi aprovado! A comunidade agradece por isso. Reputado
-
Belmont deu reputação a BrunoWots em [8.0] [TFS 1.2] - Server Global Full [Real Map com quest log em todas as quests e missoes]Olá comunidade, venho aqui hoje trazer um autêntico servidor de mapa real full 8.0 completo. Talvez esse seja um dos servidores mais raro e pedido postado de graça em qualquer comunidade tendo em vista que esse servidor pode ser avaliado em no mínimo 200$ Dólares. Sem contar que é um dos servidores mais querido da comunidade tibiana como por exemplo o kasteria e realera.
-Servidor compatível com cliente 8.0 cipsoft original sem customização.
Características:
Quests 100% Mapa 100% Missões 100% Creaturas 100% NPC'S 100% Houses 100% Raids 100%
Quests do servidor:
Características detalhadas:
» Todas as quests/missões/tasks/questlong/acessos 8.0.
» Todas as ilhas: Port Hope, Liberty Bay, Rookgaard e Svargrond.
» Vocações balanceadas, danos de feitiços de 8.0/7.6 foram levemente ajustados para melhor.
» Raid System: Todas as invasões que existiam antigamente estão aqui.
» Todos os monstros balanceados.
» Addons podem ser obtidos como tíbia real. Ao fazer missões e coletar os itens! Outras características!
» As criaturas boss do Sistema do Raid executarão uma incursão em uma cidade ou vila próxima.
» Quest da Spike Sword adicionada em Rookgaard!
Recursos opcionais:
» Teleport Trainer Dummy igual ao Kasteria.
» Npc Casino no depósito de Thais.
» Npc's Dijinn's em Thais.
» Runas à venda em npc's
» Raid player summon um poderoso mago "Lord'Paulistinha". xD
Download:
Scan: Link
Imagens:
.
global_8.0.rar
-
Belmont recebeu reputação de Gabrieltxu em [Psoul] Base PokeJornadasAVISO:
O conteúdo do tópico por ser um pouco grande não foi possível fazer a verificação de vírus através do VirusTotal.
Se alguém que conhece algum outro site de scan por favor nos avise para que possamos adicionar o scan.
Acabei aprovando o tópico pelo mesmo motivo em que ele foi postado, para acabar com a folia de pessoas leigas serem passada a perna achando de que o conteúdo obtido só será disponibilizado para ela.
-
Belmont recebeu reputação de carloos em ajustar remove item@carloos É proibido subir o tópico se não com a própria ferramenta para isso, usar mensagens para subir o tópico é proibido e pode levar a punições severas!
Ver ai se vai funcionar, ainda não testei, se der algum erro posta ele em spoiler
local itemsID = {9693, 10503} local maleOutfits = {["addon"] = {273}} local femaleOutfits = {["addon"] = {270}} local mensagem = {"Este addon não existe!", "Você precisa ter o "..getItemInfo(itemsID)[1].name.." e o "..getItemInfo(itemsID)[2].." para trocar no addon.", "Parâmetro incorreto!", "Você liberou um novo addon"} function onSay(cid, words, param) local param = string.Lower(param) if not isPremium(cid) then doPlayerSendCancel(cid, "Você não é Premium Account para usar esse sistema.") return true end for i = 1, table.maxn(itemsID) do if getPlayerItemCount(cid, itemsID[1]) == 0 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[2]) return true else if param ~= "" and maleOutfits[param] and femaleOutfits[param] then doPlayerItemRemove(cid, itemsID, 1) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[4]) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_GIFT_WRAPS) if getPlayerSex(cid) == 0 then doPlayerAddOutfit(cid, femaleOutfits[param][1], 3) else doPlayerAddOutfit(cid, maleOutfits[param][1], 3) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[1]) end else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, mensagem[2]) end end end
-
Belmont recebeu reputação de Aklaz em Thyranic Editado 2022 (8.6)Tópico Aprovado! Obrigado pelo conteúdo.
-
Belmont deu reputação a Celulose em [Old Client] Como Hookar Dll@Belmont Ótimo tutorial, porém vale lembrar não é necessário importar a função Export_Fun. Outro coisa você pode mudar nome da DLL não precisa deixar o nome ntohard.
-
Belmont recebeu reputação de vasco4 em Cliente fica com tela cheia de erro nas sprites me ajudem!!!Precisa ativar as features de transparência
-
Belmont recebeu reputação de doggera001 em Itens e TokensTópico Aprovado!
Você recebeu um ponto de reputação pelo seu tópico de conteúdo. Parabéns!
-
Belmont deu reputação a Avatar Imperium em Avatar Imperium WarSalve galera do TK, venho apresentar a vocês o Avatar Imperium War, um servidor de avatar basicamente 100% completo, classes magias mapa etc.
Venho até vocês para recrutar pessoas que queiram participar do projeto. O que precisamos ??
Um mapper
Um programador
Um divulgador
E o mais importante um web caso o programador saiba excelente. Pois estou com dificuldade para configurar site e database.
Dês de já agradeço atenção de todos.
-
Belmont recebeu reputação de marcoshps11 em Bot Discord - MerlinOnde que clica pra reputar várias vezes?
-
Belmont recebeu reputação de Cat em Bot Discord - MerlinOnde que clica pra reputar várias vezes?
-
Belmont deu reputação a marcoshps11 em Bot Discord - Merlin* Áudio de saudação *
O intuito deste bot é auxiliar jogadores de RPG interpretativo, porém podendo ser utilizado como um atrativo dentro do discord do seu projeto
Possui algumas funções como:
Criação de ficha do personagem Combate contra monstros Level UP Inventário do personagem Set para o personagem entre outras funções
É possível sincronizar com seu otserver e implementar ainda mais funções e atrativos para o chat
* Este projeto ainda não está na sua versão final, é apenas um molde para desenvolvimento *
Para o tópico não ficar muito longo, você pode conferir ele no link:
https://github.com/marcoshps/Merlin-Bot
algumas prints: