
Tudo que Heyron postou
-
Sistema de Auto-Facing: Vire Automaticamente para o Target ao Atacar (TFS 0.3.6)
Agora em 2025 a CipSoft finalmente está planejando acrescentar esse sistema no Global, coisa que em 2014 o @xWhiteWolf já havia elaborado. Entretanto a Cip implementou uma melhoria no qual permite com que o jogador ative/desative o recurso de ataque direcional quando quiser através de uma opção no client. Em OT Server dá pra ativar/desativar o recurso através de talkaction.
-
(Resolvido)Ajuda na escolha de Base de OTS
Sim, inclusive encontra até tutoriais no Youtube, é só buscar termos como "Uniform Server Gesior", ou etc.
-
Players ficam "imortal" nao toma dano de outro player ou monstro
É alguma coisa envolvendo scripts da pasta creaturescripts.
-
(Resolvido)Ajuda na escolha de Base de OTS
Xampp é opcional.. Tem também o Uniform Server, que é um ótimo programa e bem menos complexo.
-
Elysia OT (Global Full 8.60)
Elysia OT (Global Full 8.60) IP: elysiaot-global.servegame.com ✔︎ Login pelo Account Manager 1/1, não temos site. ✔︎ Login zerado é Cast System. XP (Rates): Stages = Sim Experience = 50.0 Skill = 15.0 Magic = 5.0 Loot = 1.0 Spawn = 1.0 Protection Level: 30 ✔︎ Sem itens VIP. ✔︎ Premiação ao upar nível 20, 50 e 80. ✔︎ Itens iniciais por vocação. ✔︎ Free Bless até o level 50. ✔︎ Danos de spells balanceados. ✔︎ Sem fast attack ou ataque rápido (padrão 2seg). ✔︎ Sem itens infinitos, exceto munição de Paladin. Jogue agora! IP: elysiaot-global.servegame.com Versão: 8.60
-
Arrumar attackspeed do paladin
Em data/weapons/weapons.xml você deve inserir o código abaixo cada munição. swing = "true" As munições ficam no final do arquivo weapons.xml, portanto você deve inserir o código acima em cada ID de munição diferente, como por exemplo na Spear normal, Royal Spear, Power Bolt e etc.. O parâmetro responsável pela Assassin Star ficaria assim, por exemplo: <distance id="7368" level="80" event="function" swing="true" value="default"/> <!-- Assassin Star -->
-
(Pago PIX) Compilar executável apenas com arquivos .h e .cpp
Se eu estou me propondo a pagar é porque já tentei de diversas formas, mas perdi a linha. Compilar sources que já tem o arquivo vcxproj é moleza, agora quero ver quando as sources só tem os arquivos de cabeçalho (.h) e código fonte (.cpp)
-
(Pago PIX) Compilar executável apenas com arquivos .h e .cpp
Uso o Microsoft Visual 2019. Se alguém se propor a fazer um vídeo ensinando como compilar uma source no qual contem apenas arquivos .cpp e .h, eu pago.
-
(Resolvido)Duvida ao fazer item
@Zedgast fica no items.xml e movements.xml apenas.
-
(Resolvido)Duvida ao fazer item
É simples descobrir isso, dentro do items.xml veja como está o Sword Ring por exemplo.
-
Bonus Vocation
Para não ficar desigual com quem decide ou não adquirir a promotion, seria interessante um script que limita o level máximo de cada vocação (a promotion). Pena que o ChatGPT está fora do ar, se não poderia tentar solicitar um exemplo de script LUA.
-
Bonus Vocation
Nesse caso, você pode fazer um aumento gradativo conforme a promotion da vocação. Um breve exemplo: Sorcerer: gainhp="5" gainmana="5" Master Sorcerer: gainhp="7" gainmana="10" Epic Sorcerer: gainhp="9" gainmana="15" E assim vai.. Vale ressaltar que você tem total liberdade para alterar outros atributos que mudam de classe para classe, com ou sem promotion.
-
Bonus Vocation
Tem muito oque fazer não, chefe. Só alterando isso aqui mesmo: gainhp="5" gainmana="5"
-
Add exhausted
Tenta esse código: FONTE: Chat-GPT -- Função para filtrar a string local function filtrateString(str) if type(str) ~= "string" then return false end local _, first = string.find(str, "a ") local _, last = string.find(str, " ", first + 1) local _, second = string.find(str, "b ") return {str:sub(first + 1, last - 1), str:sub(second + 1)} end -- Tabelas para armazenar as caves exclusivas local caveExclusiva = { {pos = {x = 2321, y = 482, z = 7}, storage = 822081}, {pos = {x = 2324, y = 482, z = 7}, storage = 822082}, -- Adicione as demais caves exclusivas aqui } -- Verifica se a posição é uma cave exclusiva local function isCaveExclusiva(position) for i = 1, #caveExclusiva do if caveExclusiva[i].pos.x == position.x and caveExclusiva[i].pos.y == position.y and caveExclusiva[i].pos.z == position.z then return caveExclusiva[i] end end return nil end -- Função para checar a disponibilidade da cave local function checkCaveAvailability(cid, fromPosition, numerodacave) local storageGlobal = numerodacave + 900000 -- Filtra a string para obter o tempo restante de exaustão local remainingTime = tonumber(filtrateString(getGlobalStorageValue(storageGlobal))[2]) if remainingTime and remainingTime > os.time() then local currentTime = os.time() local timeDiff = os.difftime(remainingTime, currentTime) if timeDiff > 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, a Cave ["..numerodacave.."] não está disponível. Escolha outra CAVE ou aguarde até ela ser liberada.") return true end end local player = Player(cid) local isVIP = player:getPremiumDays() > 0 local exhaustionTime = 10800 -- Tempo de exaustão padrão para jogadores não VIP if isVIP then exhaustionTime = 12600 -- Tempo de exaustão para jogadores VIP end -- Restante do código para verificar a exaustão e permitir acesso à cave return false end -- Exemplo de uso local playerID = 123 -- ID do jogador local playerPosition = {x = 2321, y = 482, z = 7} -- Posição do jogador local caveNumber = 1 -- Número da cave checkCaveAvailability(playerID, playerPosition, caveNumber) Se der erro, tente esse outro: local function filtrateString(str) if type(str) ~= "string" then return false end local first, last = 0, 0 local second, final = 0, #str for i = 1, #str do if string.byte(str:sub(i,i)) == string.byte('a') then first = i + 2 for t = first, #str do if string.byte(str:sub(t,t)) == string.byte(' ') then last = t - 1 break end end end if string.byte(str:sub(i,i)) == string.byte('b') then second = i + 2 end end return {str:sub(first, last), str:sub(second, final)} end local function getPlayerHuntExhaustion(cid) local exhaustStorage = 13540 local exhaustionTime = 1800 -- Tempo de exaustão em segundos (padrão: 30 minutos) local lastTime = getPlayerStorageValue(cid, exhaustStorage) if lastTime and lastTime > os.time() then local remainingTime = lastTime - os.time() return remainingTime else setPlayerStorageValue(cid, exhaustStorage, os.time() + exhaustionTime) return 0 end end function onUse(cid, item, fromPosition, itemEx, toPosition) local playerLevel = getPlayerLevel(cid) local isVIP = false -- Defina como verdadeiro se o jogador for VIP local caveExclusiva = { {pos = {x = 2321, y = 482, z = 7}, storage = 822081}, {pos = {x = 2324, y = 482, z = 7}, storage = 822082}, -- Adicione as demais caves exclusivas aqui } local cave = nil for i = 1, #caveExclusiva do if caveExclusiva[i].pos.x == fromPosition.x and caveExclusiva[i].pos.y == fromPosition.y and caveExclusiva[i].pos.z == fromPosition.z then cave = caveExclusiva[i] break end end if not cave then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Para usar uma Cave Exclusiva, você precisa usar esse item na frente da porta da Cave Exclusiva.") return true end local storageGlobal = cave.storage local remainingTime = tonumber(filtrateString(getGlobalStorageValue(storageGlobal))[2]) if remainingTime and remainingTime > os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Desculpe, a Cave ["..numerodacave.."] não está disponível. Escolha outra CAVE ou aguarde até ela ser liberada.") return true end local tempohunt = 0 if playerLevel > 500 then tempohunt = 5400 else tempohunt = 10800 end if isVIP then tempohunt = tempohunt + 1800 -- Adiciona 30 minutos extras para.
- Adicionar "Summoned by..." na descrição do monstro ao dar Look
-
(Sprite pack) Tibia 10.41 (V1.0)
Discord eu não tenho, mas se quiser entrar em contato por aqui mesmo via mensagem privada, a vontade.
-
Error ao Compilar TFS 0.4 8.60
Sim, pois essa base no qual utilizo é a mesma publicada pelo @Fir3element, entretanto fiz melhorias nas sources. E esse TFS 0.4 Rev3996 é inferior ao TFS 0.4 3777. 3777 é mais estável e com menos bugs.
-
Ajuda, novato na área! Servidor "ZERADO" é possível?
Servidor totalmente limpo? Só se for a base do TFS 0.4 publicada pelo membro @Fir3element, no qual inclusive ele fez diversas melhorias nessa base e removeu bugs. Entretanto é versão 8.60. Se for do seu interesse, posso compartilhar com você. Essa base aqui é a oque utilizo, e é compatível com o antigo Dev-Cpp do Stian. DOWNLOAD: https://drive.google.com/file/d/11iQoazWVZdJT6HdU7JIvEM3tyPpyzQfP/view?usp=sharing SCAN: https://www.virustotal.com/gui/file/5336ef92d9935b0e47dc07cc7f87cac0719ef969524809144a847e73b276a5d8?nocache=1
-
Projeto ATS 8.60
A proposta é interessante, mas vai muito de gosto. Eu também tenho o Styller Yurots como preferido, de preferência com EXP baixa e sem item infinito. Mas muitas pessoas preferem o oposto. Na época que eu abria OT, eu sempre atendia primeiramente aos meus gostos, pois eu também queria jogar meu próprio OT e se divertir, pois meu objetivo não era lucrar pra mim, e sim para pagar um host para manter o servidor funcionando.
-
Error ao Compilar TFS 0.4 8.60
Achei um TFS 0.4 com suas melhorias e modificações no perfil Github do membro @Sekk, e parece ser a versão inicial do seu projeto de 2017. Essa versão é compatível com o clássico Dev-Cpp do Stian, não dá nenhum erro de compilação e mensagens de warning. Seria interessante você disponibilizar essa versão para download lá no seu tópico do TFS 0.4 by: Fir3element. Se quiser, aqui está: https://drive.google.com/file/d/1toNm0F1FXy8VOZMiQD_YPgejtb7alSel/view?usp=sharing Scan: https://www.virustotal.com/gui/file/fcc01a552d6357db9a32d70018d0fbad9392127da075477d569a8ec5374f6442?nocache=1
-
Ainda existe um "mundo" para Poketibia?
A comunidade em si já morreu mano, se até mesmo o próprio global já morreu, quem dirá esses OTzinho. Mas no geral, é bom se espelhar nos 2 melhores servidores que estão consolidados no mercado, o PxG e o OTPokemon.
-
(Resolvido)Character List
Como conseguiu arrumar o Character List? Tem como falar oque fez, ou em qual arquivo das sources você alterou?
-
Error ao Compilar TFS 0.4 8.60
- [8.60] The Forgotten Server 0.4 By Fir3Element (SQL and MYSQL)
@Fir3element mano, não sei oque está havendo, mas quando coloco o meu ip global no config.lua, o distro fecha na última etapa de por o servidor online. Em data/logs/admin fica constando esse erro: (Error - void ServicePort::open(IPAddressList, uint16_t)) NETWORK: O endereço solicitado não é válido no contexto Sendo que o IP em config.lua está correto: ip = "200.232.219.106" Agora com o ip V4 normal "192.168.15.4", funciona de boa. Alguma sugestão?- (Sprite pack) Tibia 10.41 (V1.0)
Link arrumado. Em breve mais atualizações. - [8.60] The Forgotten Server 0.4 By Fir3Element (SQL and MYSQL)
Informação Importante
Confirmação de Termo