Tudo que Underewar postou
-
ALAVANCA BOSS NÃO RECONHECE PLAYER JÁ DENTRO DA SALA
Código funcional e testado basta adaptar no seu código. Se você não conseguir avisa aqui. config = { -- POS </\ fromPos = { x = 669, y = 850, z = 6 }, -- POS >\/ toPos = { x = 675, y = 856, z = 6 }, playerInside = "Already have one player inside" } function onUse(player, item, fromPosition, target, toPosition, isHotkey) -- Contexto -- ¹ Criado uma função nesse escopo responsável por verificar área, essa função recebe 2 parâmetros, área de inicio e área final. -- ² Criada a variável players um objeto representando os jogadores da área sendo iterado aqui players[#players+1] -- ³ Verificando se a quantidade de item dentro do objeto é maior que 0 se sim, efeito de fumaça e mensagem de falha. local function onCheckArea(fromPos, toPos) local players = {} for x = config.FromPos.x, config.ToPos.x do for y = config.FromPos.y, config.ToPos.y do for z = config.FromPos.z, config.ToPos.z do local tile = Tile(x, y, z) local creature = tile:getTopCreature() if creature and creature:isPlayer() then players[#players+1] = creature end end end end if #players > 0 then player:getPosition():sendMagicEffect(CONST_ME_POFF) return player:sendTextMessage(MESSAGE_EVENT_ADVANCE, config.msgs.playerInside ) end onCheckArea(config.fromPos, config.toPos) end
-
Muitos player no mesmo SQM Stack debugando o cliente
Tem como liberar a soure?
-
[Player Death Teleport Temple] TFS 1x
Precisei dessa função e não achei em lugar nem um aqui está uma versão funcional para tfs 1.2 +. Listando o monstro ou player que o jogador morreu. Data/Creaturescript/XML <event type="login" name="LoginDeath" script="death_tp.lua" /> <event type="preparedeath" name="DeathTeleport" script="death_tp.lua"/> Data/Creaturescript/death_tp.lua function onLogin(player) player:registerEvent("DeathTeleport") return true end local maxDeathRecords = 5 -- By Underewar function onPrepareDeath(player, killer) -- Update Death DB local byPlayer = 0 local killerName if killer ~= nil then if killer:isPlayer() then byPlayer = 1 else local master = killer:getMaster() if master and master ~= killer and master:isPlayer() then killer = master byPlayer = 1 end end killerName = killer:getName() else killerName = "field item" end local byPlayerMostDamage = 0 local mostDamageKillerName if mostDamageKiller ~= nil then if mostDamageKiller:isPlayer() then byPlayerMostDamage = 1 else local master = mostDamageKiller:getMaster() if master and master ~= mostDamageKiller and master:isPlayer() then mostDamageKiller = master byPlayerMostDamage = 1 end end mostDamageName = mostDamageKiller:getName() else mostDamageName = "field item" end local playerGuid = player:getGuid() db.query("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `is_player`, `mostdamage_by`, `mostdamage_is_player`, `unjustified`, `mostdamage_unjustified`) VALUES (" .. playerGuid .. ", " .. os.time() .. ", " .. player:getLevel() .. ", " .. db.escapeString(killerName) .. ", " .. byPlayer .. ", " .. db.escapeString(mostDamageName) .. ", " .. byPlayerMostDamage .. ", " .. (unjustified and 1 or 0) .. ", " .. (mostDamageUnjustified and 1 or 0) .. ")") local resultId = db.storeQuery("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. playerGuid) local deathRecords = 0 local tmpResultId = resultId while tmpResultId ~= false do tmpResultId = result.next(resultId) deathRecords = deathRecords + 1 end if resultId ~= false then result.free(resultId) end local limit = deathRecords - maxDeathRecords if limit > 0 then db.asyncQuery("DELETE FROM `player_deaths` WHERE `player_id` = " .. playerGuid .. " ORDER BY `time` LIMIT " .. limit) end if byPlayer == 1 then local targetGuild = player:getGuild() targetGuild = targetGuild and targetGuild:getId() or 0 if targetGuild ~= 0 then local killerGuild = killer:getGuild() killerGuild = killerGuild and killerGuild:getId() or 0 if killerGuild ~= 0 and targetGuild ~= killerGuild and isInWar(playerId, killer:getId()) then local warId = false resultId = db.storeQuery("SELECT `id` FROM `guild_wars` WHERE `status` = 1 AND ((`guild1` = " .. killerGuild .. " AND `guild2` = " .. targetGuild .. ") OR (`guild1` = " .. targetGuild .. " AND `guild2` = " .. killerGuild .. "))") if resultId ~= false then warId = result.getDataInt(resultId, "id") result.free(resultId) end if warId ~= false then db.asyncQuery("INSERT INTO `guildwar_kills` (`killer`, `target`, `killerguild`, `targetguild`, `time`, `warid`) VALUES (" .. db.escapeString(killerName) .. ", " .. db.escapeString(player:getName()) .. ", " .. killerGuild .. ", " .. targetGuild .. ", " .. os.time() .. ", " .. warId .. ")") end end end end -- teleportando o player para o templo player:teleportTo(player:getTown():getTemplePosition()) -- enchenco life e mana player:addHealth(player:getMaxHealth()) player:addMana(player:getMaxMana()) -- Remove EXP local level = player:getLevel() player:removeExperience(level * 10 * 100, true) -- DEATH MSG player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You are dead.") -- criando efeito de teleport player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) return false end
-
Aumentar dano por reset
Sim funcional!
-
Base PokeWish-PokeLight
Compilei essa base usando o dev-cpp. Dentro da pasta src voce vai encontar uma pasta chmada dev-cpp abra o arquivo .dev co mo dev-cpp Não é estavel e esta longe de ser usavel.
-
Char não desloga
De qual quer maneira, você baixou essa base onde? tem o link ? Posso tentar arrumar se eu tiver acesso aos arquivos.
-
Char não desloga
Deve ter algo muito sério rolando na sua source...
-
Char não desloga
Tenta dar um /r no char e ve o log se o char desloga
-
Char não desloga
Qual tfs
-
debug ao logar na conta do GOD
Tenta mudar a posição do jogador que esta bugado e a outfit dele como o will falou.
-
[Gesior] Rank Reset Please
tmj
-
[Gesior] Rank Reset Please
Editei o seu agora deve funcionar. OTS_Player.php
-
[Gesior] Rank Reset Please
Bom nesse caso para pesquisar você precisa utilizar um constructor que ja esta sendo usado na pagina para pegar as informações. Esse é o constructor, você nao precisa entendelo. Mas precisa saber que existe. $player = new Player(); $player->find($name); if($player->isLoaded()) { $account = $player->getAccount(); $account_db = new Account(); Para isso crie uma nova função em : libs/OTS_Player.php uma nova chamada para o reset public function getReset() { if( !isset($this->data['reset']) ) { throw new E_OTS_NotLoaded(); } return $this->data['reset']; } Tambem é necessario criar um novo getter para o constructor; Dentro da função getter ; public function __get($name) case 'reset': return $this->getReset(); Agora o setter public function __set($name, $value) case 'reset': return $this->setReset($value); Agora sim você pode pesquisar utilizando a função getReset() que vai buscar o data desse contexto atual, que no caso é um constructor da chamada player no banco de dados. Agora chame no render da pagina com: $player->getReset() $main_content .= '<TR BGCOLOR="'.$bgcolor.'"> <TD style="border:1px solid #faf0d7;">resets:</TD> <TD style="border:1px solid #faf0d7;">' .$player->getReset().' </TD> </TR>'; Characters.txt Me manda o seu OTS_Player.php @ILex WilL
-
Erro client base poke zr com lvl system
Geralmente esse erro ou seu item.otb esta errado, ou as sprites do seu client não condiz com a que foi utilizando para salvar o mapa no rme
-
DROP ITENS IN HOUSE OT CLIENT V8
Tenta criar um waypoint que vai executar o seguinte script na casa local playerPos = g_game.getLocalPlayer():getPosition() local houseX = 9999 local houseY = 9999 if playerPos.x >= houseX and playerPos.y => houseY then gotolabel("HouseDrop", "Walking: false") else gotolabel("Start", "Walking: true") end Na label HouseDrop ative o seguinte script if not g_game.isOnline() then return end local itemsToDrop = {3364, 3365} -- IDS TO DROP local containers = g_game.getContainers() for v, container in pairs(containers) do if container:getItemsCount() > 0 then local containerItems = container:getItems() for j, item in pairs(containerItems) do for k, itemId in pairs(itemsToDrop) do if item:getId() == itemId then g_game.moveItem(item, g_game.getLocalPlayer():getPosition(), item:getCount()) return end end end end end auto(1000)
-
[Gesior] Rank Reset Please
@edit Vou fazer pra voce não tinha visto o layout.php no topico. Pelo que entendi a sua table players ja possui a coluna resets certo? Então basta adicionar esta linha no seu render <small><font color="white"> Resets: ('.$skill['reset'].')</font></small> Tente melhorar os arquivos em php que você estiver editando, estão desorganizados. Existem ferramentas para te ajudar nessa parte. Vai te ajudar a entender os códigos. Seria uma boa trocar o nome dessa variavel skills as skill por players as player. Vou deixar o layout php atualizado aqui. Para você entender como voce pode pegar dados da dabatase e colocar na sua tela. Você vai precisar sempre procurar e armazenar esse dado, você pode fazer isso utilizando uma variavel, no caso do php para usar uma variavel. Dentro de uma função php inicie a variavel com $ podemos utilizar o comando query do sql para pesquisar na database, precisamos passar algumas parametros o primeiro dele sendo oque nós estamos buscando nesse caso o * representa todos os dados da tabela players, que seria o segundo argumento ai então um terceiro argumento where ou seja selecionaremos todas as colunas da tabela players onde a coluna deleted seja = 0 e o group id seja 1(group_id do player no seu server) Agora que ja temos nossa pesquisar armazenada em uma variavel podemos imprimir na tela do usuario. Crie uma tag e passe como valor dela a sua variavel de pesquisa lembrando que para usar o nome de uma variavel em uma tag html é preciso utllizar '.nomedavariavel['nomeDaColuna'].' <?php /* Podemos criar a variavel aqui dentro utilizando o $ : */ $Pesquisar_Todos_Players = $SQL->query(' SELECT * FROM players WHERE deleted = 0 AND group_id = 1 AND account_id != 1 ORDER BY level DESC LIMIT 5'); ?> <small> <font color="white">Nome do player: ('.$Pesquisar_Todos_Players['name'].') </font> </small> layout.php Tente pesquisar oque ORDER BY level DESC LIMIT 5 Está parte ordena por level decrescente no maximo 5, tente pesquisar sobre as querys SQLS
-
[Gesior] Rank Reset Please
Me manda o script da widget
-
[Gesior] Rank Reset Please
Você quer colocar no rank panel na home page? ou no na pagina /rank
-
[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,
-
[Recrutamento Projeto Global 12x] OtservBR Global - Future Open Source
Desculpa a demora do feedback, realmente não fiz o upload! @luanluciano93 Adicionado ao tópico! tibiacom.rar
-
webdesign issues
For those who want to see more how to be more professional and get some experience from who is working in that area, I watch this courses in SkillShare it's a community made from professional it's not free, very cheap 2,00 DOLS Well to start you need to know the most websites are not made by one Programmer at self, and that kind of Application are very difficult to create from scratch very few organizations can do it. And for sure you will not find a guy who can do every thing you want, you want a programmer or a machine? wtf
-
[Recrutamento Projeto Global 12x] OtservBR Global - Future Open Source
Novo Layout disponivel para download My-AAC Odin-Global Template. Para aqueles interessados, estamos criando um styleSheet para conversões de scripts para o novo padrão, participe da criação entrando para a organização. Excalidraw
-
[MyAAC] [Plugin] [Template] Tibiacom Layout
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 DOWNLOAD TEMPLATE DOWNLOAD PLUGIN (NOT AVALIABLE YET)
-
[Recrutamento Projeto Global 12x] OtservBR Global - Future Open Source
Aproveitando para informar a fork do my-aac Atualizado com bootstrap 5 ainda não está finalizado caso alguém queira participar, passar o nick do github.
-
Querendo arrumar uma parceria para um otserv em qlquer versão , tenho experiencia .
MEU GIT https://github.com/Underewarrr