Líderes
Conteúdo Popular
Mostrando conteúdo com a maior reputação desde 04/25/24 em %
-
Projeto PokeTfs 1.7
samuraxi e 3 outros reagiu a Strogman por um tópico no fórum
Github: Strogman/PokeTfs1.7 (github.com) PokeTibia 1.7 // PokeTfs 1.7 PokeTfs 1.7 é uma base de Poketibia desenvolvida a partir do TFS 1.7, modificado por Muniz GitHub(https://github.com/TibiaDev/forgottenserver-downgrades). Este projeto visa atualizar o código dos Poketibia open-source, que frequentemente utilizam sistemas e códigos desatualizados do TFS 0x. Optamos por construir o projeto sobre um downgrade de protocolo, em vez de usar o protocolo atual, para garantir compatibilidade com mapas, itens, e outros recursos das versões mais antigas. Objetivo O projeto PokeTfs 1.7 permite utilizar itens, sprites, arquivos DAT, e mapas das versões anteriores do protocolo, enquanto mantém o código atualizado. Embora o sistema esteja baseado em um downgrade de protocolo, será possível atualizar para a versão mais recente do protocolo de forma rápida e simples, se desejado. No entanto, essa atualização exigirá reconfiguração completa da arquitetura de itens, sprites, e mapas, devido às diferenças no protocolo atual. Funcionalidades pokeballs config Goback Tradicional: ✅ Completo Pokeballs: 🔄 Em progresso Pokedex: 🔄 Em progresso Catch: 🔄 Em progresso Pokeball limit: 🔲 Não iniciado Pokemon Status: 🔲 Não iniciado Order Movements: 🔲 Não iniciado Fishing: 🔲 Não iniciado Fly: 🔲 Não iniciado Ride: 🔲 Não iniciado Surf: 🔲 Não iniciado Dig: 🔲 Não iniciado Rock Smash: 🔲 Não iniciado Cut: 🔲 Não iniciado Control Mind: 🔲 Não iniciado Teleport: 🔲 Não iniciado Blinks: 🔲 Não iniciado Icon System Avançado: 🔲 Não iniciado Advanced Goback: 🔲 Não iniciado Pokebar Avançada: 🔲 Não iniciado Moves Bar: 🔲 Não iniciado Geração 1: 🔲 Não iniciado Geração Moveset 1: 🔲 Não iniciado Como Contribuir https://www.vakinha.com.br/vaquinha/poketibia-tfs-1-7? Contribuições são bem-vindas! Se você deseja contribuir para o projeto, por favor, siga estas etapas: Faça um fork do repositório. Crie uma branch para sua feature ou correção. Faça suas alterações e teste-as. Envie um pull request descrevendo suas mudanças. Se você precisar de mais alguma coisa ou ajustes adicionais, é só me avisar!4 pontos -
BASE POKEMON ROXY 100% ABERTA TFS 0.3.6 [ORIGINAL - OPEN SOURCE] (SEM TRAP - SOURCES CLEAN)
BrunooMaciell e 2 outros reagiu a Morduk por um tópico no fórum
Primeiramente gostaria de esclarecer algumas polemicas relacionas a base na época (2019) em que estava online comigo. O "SERVIDOR" (nome PokemonRoxy com grupo no facebook de 600 pessoas e pagina) foi vendido na época por 500 reais, sendo que a mesma estava com uma média de 50 players diarios com donaters ativos, chegou a atingir o limite de 140 players simultanêos. Quando vendi a base avisei ao comprador que a venda do servidor não limitaria a minha venda da BASE, tenho prints que comprovam. Nessa vendi uma copia da base por 100 reais na época e acabaram vazando (copias da base que estão em outros forums) Pessoas mal intensionadas colocaram um monte de trap na source pra disponibilizar a base e ganhar vendendo a source original. O pokemon roxy pra quem não sabe foi feito a partir da base do PokemonChampions, foi corrigido todos bugs criticos da base, source e mapa refeitos do 0. A source que acompanha é a original Vamos um ajudar o outro pra comunidade crescer cada dia mais e aumentar o nivel sempre 😉 O intuito do servidor era realmente ser algo diferente do estilo PxG da vida, algo um pouco mas casual mas ainda sim um servidor serio. porém tenho certeza que a base tem capacidade pra um projeto serio com outra proprosta de jogo. E tem gente que tem projeto excelente e promissor com a base como por exemplo pokegenerations que será lançada em breve CRÉDITOS: Eu (MORDUK) que fiz praticamente tudo no servidor, desde mapa que refiz do 0, até a maioria dos scripts em lua e investi alto em alguns sistemas Kevin L Ajudou bastante na parte de sprites e alguns modulos Carlos Guiminha Sempre ajudou o servidor in-game e com sprites Se tiver mais alguem manda msg pois não me lembro PRINTS ANTIGAS DE QUANDO O SERVIDOR ESTAVA ONLINE (MESMOS ARQUIVOS DAQUI): CONTEÚDO: -Site (100% funcional, com shop entregando in-game automaticamente) -Source do OTCLIENT -Source do OTCLIENT com criptografia -Source do Servidor -Codeblocks usado para compilar DOWNLOAD: https://www.4shared.com/rar/DrHxw3cYiq/pokemon_roxy__1_.html? SENHA DOS ARQUIVOS: 12roxy12 SCAN: https://www.virustotal.com/gui/file/d1da37db89197ab2633488005da040bff25d126b086e8b440ff6b0f1a5642226 DATABASE: Usar a mysteryous.sql que está na base do servidor Sou mapper, todas as ilhas do mapa e maioria das quests foram feitas por mim. Faço trampo de copia também, a hunt de altaria foi feita por mim 100% igual da PXG, até mesmo os detalhes! faço por encomenda também! Também faço scripts em lua Posso ajudar com suporte a alguns problemas Ótima base para retirada de sistemas em lua, c++ e modulos do client ESPERO AJUDAR A COMUNIDADE E ESPERO QUE CRESÇAMOS CADA DIA MAIS UM AJUDANDO AO OUTRO.3 pontos -
POKEHASH BY MORDUK (OPEN SOURCE -- SERVER CLEAN -- ESTAVEL)
danieldelka e um outro reagiu a mordukera por um tópico no fórum
Bom, hoje venho contribuir com mais um servidor de Poketibia TFS 1.2 para a comunidade. O servidor foi desenvolvido em cima da PokeDash TFS 1.2 O servidor tem os sistemas principais surf,ride,fly, pesca, sistema de passiva (tudo funcionando normalmente dentre outros sistemas que nao me lembro no momento,quests feitos por mim) Como eu abandonei o projeto pois troquei para uma base TFS 1.4, estou postando pra nao ficar perdido no meu hd. facam bom proveito Creditos: Morduk (correcoes e alteracao de quase tudo no servidor) Pota (Criador da PokeDASH). plooner157(por adaptar o mapa da pxg) Se faltar algum credito so entrar em contato que eu coloco. Se precisarem faço freelance com mapas,scripts, compilacao em linux/windows e correcoes no geral e tambem tenho uma base do meu projeto mais atual TFS 1.4 Whatsapp (19) 99973-5390 Abaixo algumas prints do servidor LINKS PARA DOWNLOAD: SERVER: mega: https://mega.nz/file/GFt0XDrB#UgMq3eQ6vAASBKnerVyjdoGf9ZgGDr95MwjVOUt6c7g mediafire: https://www.mediafire.com/file/q0d85594lkrbyj5/SEVER_POKEHASH_BY_MORDUK.rar/file CLIENT: mega: https://mega.nz/file/CMsVxIYY#D0aKDznDBFMH4HuNSok46vE3RsdjnfefPsSz736ECIM mediafire: https://www.mediafire.com/file/l7s1qxtoeqw3e3y/CLIENT_POKEHASH.rar/file SITE: mega: https://mega.nz/file/2BVBwQZC#03TKrIk8f9XKVyoLXduvHfDhUhwmAYcMd6mRlwBTqIE SCAN: www.virustotal.com/gui/file-analysis/ODhlYWZmZTJiNmVjMDdiMjEyOWY0ZDI3OWU3MDUxYjI6MTc2MTQyNTQ1Nw==2 pontos -
[Aberto] Base PokeHand Servidor+Cliente+Soucer (2025)
Jhon1995 e um outro reagiu a Poke Hero por um tópico no fórum
E aí rapaziada do xtibia! Tava dando uma olhada nos meus arquivos e encontrei uma base do PokeHand que eu tinha mexido há um tempo atrás e acabou ficando parada no meu drive. Resolvi não deixar jogado e trazer aqui pra vocês, já que sei que é uma base que muita gente curte. Não é nada “novo em folha”, mas fiz algumas atualizações em cima da antiga versão que tinha rolado em outros fóruns. Entre elas, adaptei a source, dei uma trabalhada no mapa, adicionei vários megas novos, alguns bosses e outras coisinhas que acho que vão somar pra quem quiser dar continuidade ou simplesmente brincar com a base. É um projeto simples, mas feito com aquela boa vontade de compartilhar e ajudar a comunidade. Espero que aproveitem! Download do Servidor : https://drive.google.com/file/d/1iAF126IG9paywo_rI2nCRVyqePs0xFA-/view?usp=sharing Scan do Servidor : https://www.virustotal.com/gui/file/ee5cf9cc595f597823a16b234f1718a7a8e319eaab3b31aee2934e0ebae49d18?nocache=1 Download do Source : https://drive.google.com/file/d/1cbl-QEZJtTgO8GawjfnNT7l1ZTtSgUR8/view?usp=sharing Scan do Source : https://www.virustotal.com/gui/file/500ba7a635b1567db326d1fd0e12ab0c776c818a08b205dc707078ba3304b2bf?nocache=1 Download do Otclient : https://drive.google.com/file/d/1wwP567rYlmiDSgAdAR3uAjPOWyrlURa4/view?usp=sharing Scan do Otclient : https://www.virustotal.com/gui/file/7726c8efc293e7b0433415721e62092ae48c19345492f7e1055c819fb1821acf?nocache=1 Créditos LucasKuchiki (EU) Deivid Walker (BR) WangKaxias (Correção de poucos erros) Desenvolvidores da Base PokexCyan 3.12 pontos -
Projeto Baikeira 8.6 (Baiak) site + sprit + ot completo para download / ajuda em correções
junimslage e um outro reagiu a barmy por um tópico no fórum
Fala galera, Vamos lá! vou abrir aqui um pouco da ideia porque disponibilizar aqui e etc... OT REALMENTE LEGAL, bateu 200 Player no primeiro dia! estou disponibilizando aqui o projeto pois comprei o mesmo na net e o vendedor prometeu que o servidor erá realmente sem bugs, mais quando abri... começou alguns problemas! Projeto é fenomenal e queria disponibilizar aqui por dois motivos! # um é um projeto bem legal mais requer a atenção em algumas correções de bug... # dois acho que é um projeto bem promissor para ficar da forma que esta! Ot com mapa personalizado e realmente longo! Quests personalizada e com charada; Servidor balanceado e realmente com uma jogabilidade bem legal! Baiak com varias system, inclusive montarias, itens 12.x e alguns eventos bem bacana! Vamos falar um pouco dos bugs: # Os que encontrei é um quando loga ele dá uma pequena freezada no ot! # Task as vezes buga e coloca caracteres especiais nas storege; # Boss com bug tambem buga a storege com caracteres especial; # Eventos tem que revisitar algumas pois tem algumas tambem bugando a STOREGE. acredito que esses erros sejá bem pequenos e facil de corrigir, mais como estou sem tempo e o cara que vendeu agiu de má fé... vendeu falando que não tinha bug e quando fui reportar esses erros não deu suporte e estou abrindo a fim de pedir um HELP. Caso forem resolvendo sejam solidarios, se possivel abrir aqui a solução serei totalmente grato! OT COMPLETO COM SITE + MAPA + SYSTEM + SPRIT + EDITOR DE MAPA E CLIENTE ABERTO! link para download: https://www.mediafire.com/file/3fu1hc0nrhwhud7/ot.zip/file2 pontos -
Compilando o OTClient Mehah no Visual Studio 2022
chateadoagr e um outro reagiu a L3K0T por um tópico no fórum
Bem-vindo ao tutorial sobre como compilar o OTClient Mehah no Visual Studio 2022! Neste tutorial, vou guiá-lo pelo processo de configuração do ambiente de desenvolvimento e compilação do OTClient Mehah no Visual Studio 2022 Tutorial: Compilando o OTClient Mehah no Visual Studio 2022 Passo 1: Downloads necessários baixe todos primeiro Visual Studio 2022 Comunidade: Faça o download: https://visualstudio.microsoft.com/pt-br/downloads/ Microsoft Visual C++ Redistributable 2015-2022: Download: 32bits: https://aka.ms/vs/17/release/vc_redist.x86.exe ou 64 bits: https://aka.ms/vs/17/release/vc_redist.x64.exe Git: Se ainda não tiver o Git instalado, faça o download: https://git-scm.com/download/win Passo 2: Instalando abra o visual studio 22 ai quando chegar nessa tela você marca essas opções e desmarca as outras: instalando o git, pode só dar next até o final... instalando o Microsoft Visual C++ Redistributable 2015-2022 abra seu powershell digite os comando 1 por vez: git clone https://github.com/Microsoft/vcpkg cd vcpkg .\bootstrap-vcpkg.bat bibliotecas 64bits referente ao seus sistema .\vcpkg install boost-iostreams:x64-windows boost-asio:x64-windows boost-system:x64-windows boost-variant:x64-windows boost-lockfree:x64-windows luajit:x64-windows glew:x64-windows boost-filesystem:x64-windows boost-uuid:x64-windows physfs:x64-windows openal-soft:x64-windows libogg:x64-windows libvorbis:x64-windows zlib:x64-windows opengl:x64-windows openssl:x64-windows liblzma:x64-windows nlohmann-json:x64-windows protobuf:x64-windows bibliotecas 32bits referente ao seus sistema .\vcpkg install boost-iostreams:x86-windows boost-asio:x86-windows boost-system:x86-windows boost-variant:x86-windows boost-lockfree:x86-windows luajit:x86-windows glew:x86-windows boost-filesystem:x86-windows boost-uuid:x86-windows physfs:x86-windows openal-soft:x86-windows libogg:x86-windows libvorbis:x86-windows zlib:x86-windows opengl:x86-windows openssl:x86-windows liblzma:x86-windows nlohmann-json:x86-windows protobuf:x86-windows por final: .\vcpkg integrate install Download cliente mehah versão nova: https://github.com/mehah/otclient/archive/refs/tags/3.1.zip Agora só abrir o projeto pelo visual studio e clica compilar que vai configura tudo certinho e vai compilar2 pontos -
GLOBAL 100% 7.40 -7.4 Features: No Protection zone nos barcos e tapetes. - Spells, vocations e spells formuled baseada em Tibia 7.4. nao tem Hotkleys! -War System. -Cast System. -Anti Clone. -Task System (Mais de 50) -Party Sharing Experience. You can share experience in-party with your friends, and receive 10% bonus experience when actived (!share). -Nao tem runas no Shop. somente conjurada. -Editado, conjura runas 2x mais que real tibia (ex. Sd 2x). -Fast Soul Regen -Conjure Runes na backpack. ! -Nao tem Wands/Rods, Burst Arrowns baseado em magic level. >> Vocation Features: -Paladins conjure mais ammunition. (ex. exevo con = 15 arrows) -Mages conjure mais runes. (ex. adori vita vis = 2 SDs) -Damage melhorado em 10% para Knights and Paladins. -Attack speed melhorado em 10% for all vocations. >> NPCs: -Nao vende runes. -Pode comprar bp de MF (pode remover se quizer): "buy bp mf" -Pode comprar bp de LF (pode remover se quizer): "buy bp lf" -Djinns in ankrahmun (Precisa de Quest) -Eremo sells amulet of loss. >> Game Features: -Bank system. -Auto-stack items -Full HP and MP at level up. -Stone Skin Amulet nao tem em NPCs, dropa somente de Warlock ou Hydra. >> Extra Information: -Real Tibia map: Full real Tibia map, incluindo todos os NPCs, Port Hope, monsters e quests 100% RL. - POI quest e todas as rooms(Custom feita por min). -Demon Oak Quest (Custom feita por min). -Uptime: Muito Estavel. Cliente Próprio das 3 ultimas imagem, não acompanha o servidor (usei somente para tirar prints). DOWNLOAD OTSERV/SOURCES OTX 7.x/CLIENTE/WEBSITE/DATABASE (Pra Editar o cliente basta abrir o Tibia.exe com notepad procurar o ip 167.114.111.25 e alterar pelo o seu ip caso tenha a mesma quantidade de numeros) Executavel + DLLs Scan Virus Total PACOTE PREMIUM 7.40 EDUZZ - Mais completo e sem Erros. (Duvidas entre em contato) Creditos Qwizer- OTX2 pontos
-
[Base] Pokémon Mythology [2023]
raulcdj e um outro reagiu a Poke Hero por um tópico no fórum
Bom tava com um projetinho a um tempo atras mas como eu resolvi parar com ele resolvi trazer aqui pra vcs. Sim tem a maioria das coisas que a DXP tem porem tem bastante bugs removidos, o servidor fica online sem algum tipo de queda. esta estavel para por online alem de ter um mapa unico tem um cliente lido d+ :3 meu orgulho huahuahua mais em fim vamos ao que interessa Informações Basicas Duel System. Nick System. Autoloot System. Block Respaw System. Mega Evolução Ssystem. Auto Stacking System. Player passa por dentro de outros Players(Não sei o nome deste sistema kk). Ditto Memory System. Player pode usar potions, revive, soltar poke andando sem parar. Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) Transparência. Cliente criptografado(Acompanha OBD único para o cliente). Sistemas básicos como fly, ride, surf, order etc. Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). Fishing trocando o outfit automaticamente. Icone System. Varias Pokeballs novas. Task System. Guild System. NPC dialogo E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. em mais coisas mas não me lembro ao certo de tudo que eu coloquei ;-; ? Bugs Irei postar os que eu sei, podem haver mais. Gym System não esta funcionando. O famoso bug do autoloot '- Pokemons da 3 geração todos arrumados porem pode dar revive mesmo com ele pra fora da ball scizor ao ser chamado de volta pra ball fica com o icon de shiny scizor Alguns erros no cliente que faz dar umas speed pra frente Que eu saiba e só isso mas provavelmente tenha mais que eu não estou ciente :C Prints Dowload [2023] MEDIAFIRE NOVO DOWNLOAD: https://www.mediafire.com/file/f4250q1caxg6t0z/Servidor_Mythology_(_17_de_agosto_2017_).rar/file [2023] MEGA NOVO DOWNLOAD: https://mega.nz/file/ozQB2KaQ#AUDDO8pCE5LgLJoP0kvCjlZL4x99e4zyADtUCcBSShE Senha : domviniciusbr Créditos CipSoft Nintendo TFS Team Dark X Poke PXG Tom Lukz (Smix) Allan Harlen (Kttallan/lordsorte) Eduardo Meskita (FuuinFake) Noninhouh Tony Araujo Taiger/Dudu Drakopoulos Justiceiro751 Vinicius Clel (Walox) DeadPool Marshmello Deyvid/Zeon Punchlines Nemmo E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Se estiver faltando algo como créditos, má formatação etc, por favor me avisem, é meu primeiro post de server. Se Algum Administrador Tiver Online Poder Aceitar Meu Tópico Agradeço2 pontos -
[OTClient] Health Player Info OTPokemon Eae galerinha do xtibia, hoje venho trazer mais uma contribuição para a comunidade, um módulo indêntico ao do OtPokemon. Mesmo que seja simples a instalação, tem sempre aquele que não sabe onde deve colocar o módulo, peço então que tenha paciência quanto a esse simples tutorial, aos demais aqueles que já sabem, peço que ao menos leia a Observações do módulo. 1º Faça o download do módulo. 2º Extraia o módulo para a pasta do seu otClient em /modules ficando assim: Feito o passo 1 e 2 creio que já estará funcionando, isto se você fez tudo certinho. •Observações do módulo• Demonstrativo do módulo no jogo.2 pontos
-
► PokeZring ◄ Infelizmente tive o desprazer de comprar esse servidor alguns meses atrás, e desde já alerto que está repleto de bugs em sistemas e módulos. Recomendo usarem apenas imagens do client e no máximo usarem alguns dos sistemas como BASE, visto que vários possuem brechas para clonar itens ou coisas do tipo, como o do Cassino onde os itens e as chances são definidos client-side, dando a possibilidade do player pegar qualquer item desde que saiba o ID. O arquivo acompanha tudo que recebi ao comprar, como o launcher, sources do servidor e do client, vários psds, site, sistema de criptografia do client e mais algumas coisas (alias, é uma bagunça, boa sorte ao decifrar o que é o que). • Sistemas - Todos os sistemas básicos de qualquer PDA com sources adaptadas (recomendo revisarem todos) - Addon system com módulo para trocar o addon - Módulo de contagem de balls usadas nos pokemons - Módulo de shop in-game - Módulo de tutorial - Módulo para escolher pokémon inicial - Módulo para boostar pokemons - E mais algumas coisas que não lembro no momento (boa parte já existe aqui no fórum, o destaque é apenas o visual mesmo) • Bugs - São tantos que não consigo nem listar, boa sorte para quem pretende usar isso como base • Prints • Download MediaFire [2.24GB] Senha WinRar: viniciuS@202 pontos
-
2 pontos
-
[Talkaction] Sistema De Auto Loot (Poketibia)
raulcdj e um outro reagiu a jackbolin por um tópico no fórum
Eae Xtibianos Blz? Agradecerei a quem comentar o tópico. Esse Script serve para Poketibia, mais não testei em ot servers de Tibia. Vim Trazer a Vcs Uma Talkaction Bem Legal. Você está cansado de ficar indo até o corpo do pokemon para pegar o loot? Então ake está um sistema que ao invés de você ter que ir no corpo do pokemon pegar o loot, esse script pega automaticamente para você. Vamos Ao Script: Vá em Talkactions.xml adicione isso la parte dos players: Agora em Crie um Arquivo .lua e com nome de aloot.lua e coloque isso e salve dentro da pasta Talkactions: Gente desculpa, esqueci de por a parte do creaturescripts. Agr vá em creaturescripts.xml e adicione essa tag: <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> Agr crie um arquivo .lua e com nome de aloot.lua e coloque isso dentro e salve dentro da pasta creaturescripts/scripts. function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end FIM... Espero que gostem ...agradecerei a quem comentar. Se o script te ajudou: Vale um REP+? Só apertar no + ali no canto da tela.Nao Vai Quebrar a Mão. VLW.2 pontos -
[10.98] [TFS1.2] PokeFans
Raynigh reagiu a BrunooMaciell por um tópico no fórum
O PokeFans possui diversos sistemas novos que foram implementados em cima da base POTA, muitos mesmos, seria incapaz de nomear todos neste post, então deixo o link do https://trello.com/b/ELrkzeTi/pokefans IMAGENS/SISTEMAS/CONTEUDO DOWNLOAD https://www.mediafire.com/file/ejry9qxpe71mkvz/pokefans.rar/file SCAN https://www.virustotal.com/gui/url/d750e2fad1faab64b5f549c854ecddb03a27ff938e03981f0f696aa16eb4a818?nocache=1 Credito - Zayon Owatari1 ponto -
Você só pode deslogar depois de 5 segundos
Yan Oliveira reagiu a Nickbhz por uma questão
Muito bom, aproveitei e usei no meu!! Funcionou perfeitamente.1 ponto -
[Resolvido] resetando timer quando morre ou desloga.
Nickbhz reagiu a Yan Oliveira por uma questão
Isso ocorre porque após os pontos serem atribuídos ao player, a maneira para controlar o tempo de atribuir novamente, é através de uma storage, que é uma "armazenamento temporário e virtual". E como todas as criaturas do jogo como Player, Monster e NPC são endereços de memória, toda vez que um player desloga ou morre, o cid (creature ID) é alterado, porque aquele endereço de memória foi perdido, e foi criado um novo quando ele logou novamente. E a storage é atribuída à um CID. Há algumas maneiras de contornar isso. Acredito que uma maneira simples é criar uma tabela no banco de dados. Tem alguma tabela de points no seu servidor?1 ponto -
Olá galera, depois de alguns anos nesse mundo de Otserv resolvi dedicar meu tempo fazendo um servidor na versão 8.6 porém utilizando o TFS 1.3 pois não vi nenhum servidor assim (Não to dizendo que não existe, to dizendo que não conheço). Além disso queria um Gesior compatível com a grandeza desse servidor, vi alguns por ai e resolvi fazer o meu baseando no shopping do Tibia. Vi um gesior do maluco e gostei muito do layout e me baseei nele, porém fiz tudo no Gesior 2012. Segue abaixo algumas coisas que fiz: Account Management. Account management 2 Account Management 3 Shopping Admin Shopping Admin 2 Shopping 1 Shopping 2 Shopping 3 Events Top Frags Logo Logo, posto imagens do Servidor.1 ponto
-
[PokéZR] Base otPokemon.com 2018 - Server+Source+Site+New/Old Client+Laucher - Servidor Completo
DGComodo reagiu a Kyyah Silva por um tópico no fórum
Olá ❤️ Ta Ai a minha primeira e ultima e unica contribuição para vocês ❤️ Esperem que gostem -Base otP -System Fly/surf/ordem/ride/tudo sem bugs.... -Novos Ataques Adicionado -Novos Pokemons -5Gen 60% Completa -Nova Saffron 2018 (ATUAL DO OTP) -Nova Battle City 2017 (ATUAL DO OTP) -Muito mais.... Caso não queira a saffron/battle city atual do otp tem a pasta World² na data com os remake antigo das cidades... Caso ache algum virus no server/source deve ser de DLL,pois tentei remover mas nao consegui... Bom Proveito ❤️ Meu Projeto: PokeZR ❤️ < > [PokeZR] Base otPokemon.com 2018 Completo < > [PokeZR] Server otPokemon.com By Kyyah Silva Scan:https://www.virustotal.com/#/file/5f96085a80b6224e1832a357cb0fedc06e4ac978b6fb626288551bf2af8a7d7f/detection Server: https://www.mediafire.com/file/1s6a2te5f1vpv23/[BASE]_PokeZR_By_Kyyah.rar/file ------------------------------------ [PokeZR] Source Server Completo By Kyyah Silva Scan:https://www.virustotal.com/#/file/62233eb2868d12b76086d4ae62e627958827119f82e9bb681c762c9015451a63/detection Source: https://www.mediafire.com/file/mgr0d5rwhvjqdxv/[SOURCE]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Site Completo otPokemon 2017 Adapt PokeZR Scan:https://www.virustotal.com/#/file/1731a5cc9276096d9c17d8f728176d93b4aa378f80d6b005a304982f0424d21f/detection Htdocs: https://www.mediafire.com/file/oe89pel8k7mj6wy/[SITE]_PokeZR_By_Kyyah.rar ------------------------------------- [PokeZR] New Client PokeZR By Kyyah Silva Scan:https://www.virustotal.com/#/file/d40e0281057106f5aa34e0a4a274d067c607f0659503c09fbfb17fddf374c0fd/detection NewClient: https://www.mediafire.com/file/r24at4gdwchn7v8/[NEW]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Old Client PokeZR By Kyyah Silva Scan:https://www.virustotal.com/#/file/7b86867aebed313dfc577eff3b01108a94d2eb99f63ac662e5cac78716afa9d1/detection OldClient: https://www.mediafire.com/file/qj5qzwz56w4bgcl/[OLD]_PokeZR_By_Kyyah.rar ------------------------------------ [PokeZR] Laucher Old Client Completo Scan:https://www.virustotal.com/#/file/30aba94f1ad678b40e1459c934921cef23240967e608b47478e9e7818bd61a22/detection LaucherOld: https://www.mediafire.com/file/wbtdr6q6j769lh2/[OLD]_Laucher_By_Kyyah.rar1 ponto -
👨🏾💻 Base otPokesalense + Source 👨🏾💻
BrunooMaciell reagiu a Edy889 por um tópico no fórum
* ws q * News quest * Bugs corrigidos 95,3% * Client Específico (V8) * Mobile (SDK 29 (Android 10) ) -- version 10, roda acima dessas versions! * Site já vem com system de doação Pix (Token PicPay) -- deve ser trocado pelo seu token --- * Site 98,9% atualizado (Troque, pois a marca já possuí proprietário) * Franquia Antiga da OTP. (Sprite todas compiladas e configuradas)! Site Original: https://otpokesalense.online Após o Pagamento Será liberado o Download Automaticamente. O Produto vai com uma liçenca do Proprietario. Att: Carlos! contato para instalação do servidor: (27) 998931903 --(Programador do Server). Distribuido em Windows+Linux Portifólio do Programador: https://otservprogramacao.mystrikingly.com Comprar: https://files.fm/f/67zjnrt42v Servidor+DB+Site+ObjectBuild+ClientDescompilado+SchemaZnote+SytemDoaçãoPicpay+Source+MapEditor+ItemEditor+Mobile. uest1 ponto -
[OTCV8] Módulo de Pagamento 100% Automático via Mercado Pago
GsKaimyou reagiu a Odranoel SS por um tópico no fórum
1 ponto -
Soul System: ok!, action: ok!, auras: ok!, creaturescript: ok!, soul: ok! conclusao: Certifique-se de que o item que você está tentando encantar está listado em L_Soul.enchant.weapons. Cada item deve ter o ID correto correspondente. Atributos do Item: Verifique se os atributos como "Soul" estão sendo corretamente definidos no item durante o processo de encantamento. Pode haver um problema de manipulação de atributos. Tipos de Danos e Efeitos: Confira se os tipos de danos e efeitos estão definidos corretamente em L_Soul.souls para garantir que o encantamento aplique o efeito esperado. Garanta que as funções externas, como L_Soul.souls, L_Soul.creatures, L_Soul.lang, e L_Soul.language, estejam devidamente carregadas e acessíveis.1 ponto
-
Sistema SURF ou NAVGAÇÃO
Smash Tibia 24 reagiu a El Rusher por uma questão
em data/actions/scripts/water_action.lua: local waterOutfit = {lookType = 134} -- ID da outfit para o navio local originalVoc = 1 -- Vocação original que o player retorna ao sair da água function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if not player then return true end -- Verifica se o jogador já está na outfit de navio if player:getOutfit().lookType ~= waterOutfit.lookType then player:setStorageValue(12345, player:getVocation():getId()) -- Salva a vocação original do jogador player:setOutfit(waterOutfit) -- Altera para a outfit de navio player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você entrou na água e agora está em modo de navegação!") end return true end function onStepOut(creature, item, position, fromPosition) local player = creature:getPlayer() if not player then return true end local originalVocationId = player:getStorageValue(12345) if originalVocationId > 0 then player:setVocation(Vocation(originalVocationId)) -- Retorna à vocação original player:setOutfit({lookType = player:getSex() == PLAYERSEX_FEMALE and 136 or 128}) -- Outfit padrão baseado no sexo do jogador player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você saiu da água e voltou ao modo normal.") end return true end Adicione o seguinte ao seu arquivo actions.xml que fica em data/actions/actions.xml: <action actionid="1001" script="water_action.lua"/> No seu editor de mapas, configure os tiles da área de água que o jogador vai entrar para a ActionID 1001. Observações A waterOutfit pode ser alterada para qualquer ID de outfit que você deseja usar para o "modo navio". Lembre-se de ajustar os IDs de acordo com as vocações e outfits que você quer utilizar. Ao pisar na água, a outfit do jogador mudará, e ao sair, ele retornará à sua vocação e outfit originais. Isso deve lhe dar uma base para começar a implementar a funcionalidade de navegação que você deseja!1 ponto -
local function getWalkablePositions(area, maxPositions) local walkablePositions = {} for i = 1, #area do if #walkablePositions >= maxPositions then break -- Limitar o número de posições end local pos = area[i] if isWalkable(pos, true, false, true, true) then table.insert(walkablePositions, pos) end end return walkablePositions end -- Usar a função para obter exatamente 64 posições local positions = getWalkablePositions(area, 64)1 ponto
-
Para evitar a criação de monstros em paredes, você precisa verificar se o local gerado aleatoriamente é um local "walkable" (ou seja, acessível para o monstro andar). O TFS tem uma função chamada isWalkable que pode ser usada para validar as posições antes de gerar um Pokémon. local config = { [17003] = { nameDz = "Bronze", chave = 2155, count = 1, areas = { -- Criei uma tabela de áreas para simplificar {fromx = 1712, fromy = 1211, fromz = 15, tox = 1966, toy = 1303, toz= 15}, {fromx = 1712, fromy = 1319, fromz = 15, tox = 1966, toy = 1411, toz= 15}, {fromx = 1712, fromy = 1427, fromz = 15, tox = 1966, toy = 1519, toz= 15}, {fromx = 1712, fromy = 1535, fromz = 15, tox = 1966, toy = 1627, toz= 15} }, teleport = { -- Criado teleporte para cada área {x = 1789, y = 1288, z = 15}, {x = 1789, y = 1396, z = 15}, {x = 1789, y = 1504, z = 15}, {x = 1789, y = 1612, z = 15} }, pokemons = {"Elder Zubat", "Elder Rattata", "Shiny Golbat", "Shiny Raticate"}, spawnCount = 64 } } -- Função para verificar se o local é walkable function isPositionWalkable(pos) local tile = Tile(pos) return tile and not tile:hasFlag(TILESTATE_PROTECTIONZONE) and not tile:getCreatureCount() > 0 end -- Função para spawnar Pokémons na área correta function spawnPokemons(area, pokemons, spawnCount) for i = 1, spawnCount do local posX = math.random(area.fromx, area.tox) local posY = math.random(area.fromy, area.toy) local posZ = area.fromz local position = {x = posX, y = posY, z = posZ} -- Verifica se a posição é "walkable" if isPositionWalkable(position) then local chosenPokemon = pokemons[math.random(1, #pokemons)] doCreateMonster(chosenPokemon, position) else i = i - 1 -- Se a posição não for válida, tenta novamente end end end function onUse(cid, item, fromPosition, itemEx, toPosition) local cfg = config[item.actionid] if not cfg then return true end if isRiderOrFlyOrSurf(cid) then doPlayerSendCancel(cid, "Saia do ride ou fly para acessar a dungeon.") return true end if getPlayerStorageValue(cid, 468703) - os.time() > 0 then doPlayerSendCancel(cid, "Aguarde "..convertTime(getPlayerStorageValue(cid, 468703) - os.time()).." para entrar na Dungeon.") return true end if getPlayerItemCount(cid, cfg.chave) >= cfg.count then for i, area in ipairs(cfg.areas) do if #getPlayersInArea(area) < 1 then -- Remove monstros existentes e inicia os novos spawns removeNpcInArea({x = area.fromx, y = area.fromy, z = area.fromz}, {x = area.tox, y = area.toy, z = area.toz}, true, false) creatureInSurvival({x = area.fromx, y = area.fromy, z = area.fromz}, {x = area.tox, y = area.toy, z = area.toz}, true, false) -- Teleporta o jogador para a área correspondente doTeleportThing(cid, cfg.teleport[i]) setPlayerStorageValue(cid, 2154600, 1) doPlayerRemoveItem(cid, cfg.chave, cfg.count) addEvent(doTeleportFinish2, 15 * 60 * 1000, cid) doSendPlayerExtendedOpcode(cid, 133, 899) -- Spawna os Pokémons spawnPokemons(area, cfg.pokemons, cfg.spawnCount) return true end end doPlayerSendCancel(cid, "Nao tem Zonas disponiveis no momento, tente mais tarde!") else doPlayerSendCancel(cid, "Você precisa de uma Bronze Dimensional Key para acessar essa Dungeon.") end return true end Validação de Local Walkable: Foi adicionada a função isPositionWalkable para garantir que o Pokémon não seja criado em locais inacessíveis (como paredes). Identificação da Sala: Cada sala tem uma área e um ponto de teleporte definidos. A função percorre as áreas (cfg.areas) e verifica se há jogadores. Se não houver, o jogador é teleportado e os Pokémons são gerados nessa área. Loop para Encontrar Área Livre: O script agora percorre todas as áreas da configuração e tenta encontrar uma disponível para o jogador entrar. Novo Teleporte e Spawn para Cada Sala: Cada área tem seu próprio teleporte, e os Pokémons são gerados na área correspondente. Esse ajuste deve resolver os problemas de criação em áreas incorretas e o erro de geração em paredes.1 ponto
-
Sprites 45º Pokémon
Shaykie02 reagiu a Matheusszim por uma questão
1 ponto -
se era pra ser uma imagem esta com erro meu amigo1 ponto
-
function onUse(cid, item, fromPosition, itemEx, toPosition) local name = "[PET] NIVEL MAXIMO" local pet = getCreatureSummons(cid) local storedPet = getCreatureSummons(cid, 83712) -- Se já existe um pet armazenado, remova-o if storedPet[1] then doRemoveCreature(storedPet[1]) end -- Se não houver pet invocado, invoque um novo e armazene-o if #pet == 0 then local newPet = doSummonMonster(cid, name) setPlayerStorageValue(newPet, 83712, 1) return true end -- Se já houver um pet invocado, remova-o e invoque um novo, armazenando-o doRemoveCreature(pet[1]) local newPet = doSummonMonster(cid, name) setPlayerStorageValue(newPet, 83712, 1) return true end1 ponto
-
coloca mais coisa no seu topico sobre a duvida que vc esta tendo1 ponto
-
Pokemon base lenda
foxrj reagiu a Josemir rosendo por um tópico no fórum
Servidor poketibia Link cliente : bit.ly/3e3pckg CRIA A CONTA 1/1 https://discord.gg/6sD9nBR Pokemon Base Lenda Exp Easy Catch sistema de reset Quest's Exclusivas Lançamento 06/04/2020 servidor com staff presente servidor reformulado sem bugs , caso encontre reporte para os admins POKEMONS QUE PODEM SER COMPRADOS DENTRO DO JOGO POR BLACKDIAMANTES shadow salamence especial mewtwo shadow victini shadow jirachi mini zapdos golden arceus shadow slowking shadow charizard shadow palkia mini articuno mini moltres shadow yvental shiny king arceus shadow tyranitar mini mewtwo shadow alakazam zygarde shadow giratina POKEMONS DONATES Shiny Perfect Zygarde Hoopa Unbound Necrozma Primal Groudon Divine Arceus Fallen Jirachi Perfect zygarde Black Shiny Ultra Solgaleo God Meloetta Perfect Dialga Darkrai Espiritual Diamonds Kyurem Infernal Heatran Squad Jirachi Genesect Star shiny Ultra lunala platinum genesect shiny Hoopa Unbound Dark Genesect Xurkitree Ultra Crystal Kyurem Hoopa Pharaoh Radioactive Arceus Majestic Lugia Perfect Arceus Black Hoopa Black Zygarde Alpha Zekrom Arceus Nightmare Shiny Hoopa Pharaoh1 ponto -
PokeAimar (Level System) 8.54 2020 (Com Sources)
Rickhg reagiu a GamerGoiano por um tópico no fórum
Versão corrigida pelo @Jair Kevick https://mega.nz/file/bkFmDaIZ#dvrsamLjPvCzIhq-OmT8_xAlj97fiy8QUYIApL3csGM Me mandaram esse servidor e eu decidi deixar ele jogável porque muita gente tinha dificuldade em deixar online. Como deixar online: Basta criar um banco de dados com o xampp (use o xampp mais recente), com o nome poketibia e do lado onde está utf, escolhe Agrupamento (Colation) após isso é só importar o banco de dados que ta junto com o servidor. Ai é só abrir o servidor, esperar carregar e depois abrir o cliente e logar Conta god: GOD / 123456 Download: https://www.mediafire.com/file/3atv44omlf3f036/PokeAimar.rar/file Vem com Sources e SPR+Dat Editável Scan: https://www.virustotal.com/gui/file/828a6e443c29221b9cd46f3fffe5f65c63bbb8e8ffc109a4fc91554d9c10e752/detection Créditos: Kaboflow, PDA, Psoul, Pstorm, Gengo, TFS Team, Cipsoft, DxP, PokemasterX. É um mistão de scripts do fórum + scripts próprios, acima listados os responsáveis pela criação do datapack e servidor. Descrição: Level System 100% 1ª e 2ª geração completos Kanto e Ilhas Laranjas 100% Tv System 100% (Techinical Machine) Ensinar Moves pros Pokes 100% Daycare e Egg System 100% Duel System (PVP) 100% Gym System 100% Berries (Plantar, Colher e Usar) 100% Fly, Surf, Ride, Dive e Headbutt 100% Mastery System (Especializar em Elemento) 100% Tournament System 100% Saffari Zone 100% Poke Balls Effects 100% Pokemons na Character List 100% Poke Bar 100% Atravessar seu pokemon 100% Relógio In-Game 100% New Pokedex 100%1 ponto -
@thepotaSegue minha contribuição que trabalhei esses dias... criado um slot unico para colocar as balls / verificação no go/back para que só permita utilizar os pokémons dentro do slot Remake de sprites Otimizado sistema de go/back do summon com verificações mais limpas Corrigido no mapa os CP, montado corretamente https://mega.nz/file/Sg0R0a7T#4mcj5-aGJpgYCLFJfNo17A49GYy2uL2Xp-yIvogHJk81 ponto
-
Acabei desenvolvendo um pequeno programa que ajuda os iniciantes, a instalar e configurar o vcpkg de forma automática Link do código fonte : https://github.com/najatheus1/___ Link do programa já compilado : https://www.mediafire.com/file/5unka6urejfgm71/_.exe/file Link do scan do programa : https://www.virustotal.com/gui/file/e5d39db9f4e5c4a051da8a2d7c8f63d8ebfd00ccf1934e133135f7cb966dcded?nocache=1 Link do video demonstração : https://streamable.com/yxskhu1 ponto
-
Nightmare Map (Vetus) 8.6
dinhoalves1 reagiu a Dowloder por um tópico no fórum
Ola meus queridos! Meu nome é Lucca e hoje venho disponibilizar esse mapa NIGHTMARE VETUS que foi bastante sucesso a uns anos atrás e que fez muitos fãs até hoje. O mapa não está completo, falta alguns Respawns e algumas bordas, pois está do mesmo jeito que me passaram ele, mas contém as 3 cidades principais (thalom, ivalince, e thoraemuh). Em breve irei disponibilizar atualizações no mapa, com todos os bugs corrigidos. Aguardem.! FOTO: https://imgur.com/7K25V3J Créditos: Lucca Vasconcellos LIN1 ponto -
Salve galera! Como estou parando com pokétibia vou liberar a base do PokeCamp para vocês, a source que contém nela é a source mais próxima da original do PDA, então façam bom proveito. Uma base muito boa para começar um projeto, pelo fato de ser PDA e uma source limpa e organizada. Changelog 0.1 Prints:1 ponto
-
Compilando TFS 1.3 com vídeo-aula
JapaSuetsugu reagiu a Bruno por um tópico no fórum
Compilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Platadorma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo1 ponto -
PokeProject v0.1
GabrielTMJ reagiu a subyth por um tópico no fórum
Este servidor será atualizado sempre que surgir correções e melhorias para o mesmo. O Servidor é um update do famoso DxP(DarkXPoke) e o novo Mythology(recentemente vazado). Estou postando para que toda a comunidade do xTibia ajude com o projeto. Ele é livre para todos, peço apenas que não postem em outro fórum. DATABASE Do servidor está dentro da pasta SERVER. Conta do ADM: admin/admin Servidor testado apenas com Site. O site disponibilizado utiliza ModernAcc atualizado e template v4 do otpokemon com minhas correções. (Shop Retirado do Site - Possível Bug de clonagem, não achei necessário ter shop no site pois existe shop in-game) OBS: Por favor, olhem a citação de BUGs para ajudarem a corrigir. Vou criar um mapa bem melhor para o servidor. Quero parecido com o da PxG (eu mesmo vou fazer). Preciso refazer todos os NPC's pois estão todos bugados. Muitos npcs não dizem Bye ao sair e quando um jogador fala hi, ele se sobrepõe à outros jogadores. Não cite este tópico completo em sua resposta para não poluir o tópico. Ajude o projeto, poste bugs encontrados e correções. Mantenha o tópico organizado. Ao postar uma correção, por favor, utilize o Pastebin e poste apenas as linhas modificadas para que todos possam identificar. Este servidor não possui o BUG do DxP com Dedicados/VPS. O mesmo está liso e rodando perfeitamente. (não testei em linux) Créditos:1 ponto -
Pacote de sprites gratuitas doadas pelos artistas: Frenvius Weto Miller Wise Rose Ryoks1 ponto
-
1 ponto
-
[OtClient] Tutorial sobre Módulos
Rafaelvn10 reagiu a Sammy por um tópico no fórum
Olá pessoal, vi esse tutorial em um site gringo sobre a parte básica dos módulos de um otclient, que pode auxiliar muita gente que quiser explorar ainda mais o Otclient, já que essa área eu não vejo tanto conteúdo no Tibia Br, como sempre os créditos estarão ao final do tópico... Então, para começar as coisas que eu vou estar cobrindo: - a criação de módulos. - repassar alguns dos fundamentos para trabalhar no ambiente otclients lua. como testar eficientemente seus módulos e scripts. Para este tutorial você vai precisar: - Um editor de texto de algum tipo (eu gosto de usar o Notepad + +) também seria bom ter conhecimentos básicos de lua e habilidades de programação (mas isso é algo que você pode pegar rapidamente praticando). Agora que já temos tudo o que precisamos, podemos começar ! CRIANDO O NOVO MÓDULO Otclient front-end funciona fora o que chamamos de ' módulos '. Os módulos são uma forma de implementar eficazmente os recursos do cliente separados uns dos outros. Se você está considerando a criação de um novo módulo, é aconselhável que você pense sobre o que o recurso pode ser e se ele iria caber em um módulo já existente (provavelmente um módulo game_xxx), os módulos são encontrados no diretório/modules do otclient. Seus são atualmente dois módulo ' ambientes ': jogo e cliente. Os módulos de jogo usam o prefixo game_ e devem estar refletindo recursos que se relacionam especificamente com os recursos do ambiente do jogador ou do jogo por exemplo game_outfit ou game_mounts são ambos os recursos que são usados no ambiente de jogo. Os módulos de cliente usam o prefixo client_ e devem estar refletindo recursos que se relacionam especificamente com o cliente e o cliente somente. Ele não tem nada a ver com o ambiente de jogo de jogadores, por exemplo, client_options e client_skins estão diretamente relacionados com a funcionalidade de clientes. Isso pode ser um pouco difícil de Visualizar para agora, mas você vai pegar isso mais tarde. Então, agora que você tem uma compreensão do que é um módulo e um pouco como eles funcionam, vamos em frente e começar a criar um novo. COMEÇANDO DO ZERO Nós estamos indo para criar um novo módulo a partir do zero, a primeira coisa que você precisa fazer é criar o diretório modules. O nome do diretório deve refletir o recurso global em si, por isso vamos chamar o nosso game_spells para começar a criar um novo módulo que irá listar todos os players spells com suas informações apropriadas. Nós não estaremos criando este módulo inteiro, mas podemos começar a ver como tudo funciona. Crie um novo diretório chamado game_spells dentro do diretório/Modules clientes. Dentro de game_spells precisamos começar adicionando 3 novos arquivos base: Spells. lua, feitiços. otmod e Spells. otui para a lógica de módulos, registro e design de interface. Criar 3 novos arquivos base spells.lua, spells.otmod e spells.otui dentro/modules/game_spells Você já deve saber o que o arquivo. lua representa, mas quais são essas novas extensões. otmod e. otui? .otmod .otmod é o arquivo que é usado para inicializar o módulo dentro do otclient, é como um registro em que ele irá registrar o módulo para uso dentro do cliente. Este arquivo geralmente tem uma estrutura como esta (eu adicionei comentários, se você copiar este código não se esqueça de remover o--comments): Module nome: game_spells -- nome do módulo (geralmente o mesmo nome que o diretório modules. descrição: Exibir a player spell com sua informação apropriada--descrição do módulo que explica o que é. autor: Sammy -- nomes dos criadores e colaboradores do módulo. website: www.otclient.info -- Se você tem um site externo que você pode ligá-lo aqui. sandboxed: true--sandbox é uma maneira de conter a variável modules e funções para que você não tenha conflitos entre outros módulos. scripts: [ spells.lua ] -- Os scripts são a lógica por trás do módulo onde todas as funções estão contidas. @onLoad: init() -- Este é o lugar onde você define a função de inicialização do módulo (nós vamos cobrir isso mais tarde). @onUnload: terminate() -- Este é o lugar onde você define a função de término do módulo (vamos cobrir isso mais tarde) Copie o código .otmod acima em seu arquivo spells.otmod e remova os comentários. .otui .otui é o arquivo que é usado para criar a interface de usuário modules. Esta é uma linguagem de estilo feito encomenda projetado especificamente para otclient chamado OTML, ele se sente muito como a formatação CSS para aqueles de vocês que têm experiência em webdesign. A estrutura típica de um arquivo .otui se parece com isso (este é o arquivo base iniciar, não concluído): MainWindow !text: tr('Spells') size: 160 450 @onEnter: modules.game_spells.destroy() @onEscape: modules.game_spells.destroy() Label id: spellsLabel !text: tr('Player Spells') width: 130 anchors.top: prev.top anchors.left: prev.left margin-top: 5 margin-left: 5 MainWindow: Esta é a janela que estaremos usando para a interface da Spell List, é uma classe de janela padrão derivado de/client_skins/default/styles/windows.otui styling file estende janela que estende UIWindow. UIWindow é uma classe base dessa inicialização, ele controla a funcionalidade widgets e comportamentos. !text: Este é o texto que é exibido na seção de cabeçalho MainWindow size: isso é usado para definir a largura/altura da mainwindow. @onEnter: configura o retorno de chamada de widgets de MainWindow OnEnter (função que será chamada quando você pressiona a tecla Enter). @onEscape: configura os widgets de retorno de chamada de MainWindow (função que será chamado quando você pressiona a tecla de escape). Label: Este é um widget de etiquetas que é usado para exibir texto na maioria dos casos. É um derivado da classe UILabel. id: Este é o ID que esta mais comum será alias-se com para referenciar usando funções como widget: getChildById ( "spellsLabel ") !text: Este é o texto que será exibido pelo widget UILabel. width: Este é o tamanho da largura do Label anchors. top/bottom/left/right: São onde a parte superior/inferior/esquerda/direita do Label devem ser posicionada. margin-top/bottom/left/right: São deslocamentos para as anchors, eles permitirão que você afinar o posicionamento dos componentes da interface do usuário. Esta é apenas a superfície de .otui formatação e styling, há muito mais que pode ser feito, mas a ideia principal é que você obter uma compreensão sobre como a hierarquia dos componentes da interface do usuário para exibir corretamente, etc as convenções de styling OTML forçá-lo a manter o projeto de um interface separado para o código lógico, por exemplo, o .lua Copie o código otui acima e coloque em spells.otui Agora que entendemos qual arquivo é usado para registrar o módulo e que arquivo (s) são usados para construir os módulos da interface do usuário, podemos aprofundar o código de lógica de módulos e tentar entender como tudo funciona em conjunto. O arquivo spells.lua é o arquivo que contém o código de lógica de módulos. É aqui que os spells serão preenchidos e o manuseio da seleção ortográfica e do display ortográfico serão controlados. Abra o arquivo spells.lua e copie o seguinte código base para começar. Nós estaremos escolhendo aparte este código para ajudar a entendê-lo melhor. Eu fui em frente e comecei o código base para você, aqui está: Spells = {} spellWindow = nil selectedSpell = nil spells = {} function init() connect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) end function terminate() disconnect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) Spells.destroy() Spells = nil end function Spells.create(spellList) spells = spellList Spells.destroy() spellWindow = g_ui.displayUI('spells.otui') end function Spells.destroy() if spellWindow then spellWindow:destroy() spellWindow = nil selectedSpell = nil spells = {} end end function Spells.selectSpell() if table.empty(spells) then return end -- TODO end As principais coisas que eu quero focar aqui são: as variáveis (spellWindow, selectedSpell e spells). e as funções (armazenamento de funções e discutir o que init e Terminate são necessários). O VARIÁVEL Variáveis dentro de um módulo em modo seguro não precisam ser localizadas com a palavra-chave local como elas estão dentro de seu próprio ambiente de módulo. Se o módulo estiver em modo seguro: false, então você precisará certificar-se de que você localize a variável e redefini-los dentro da função Terminate (que vamos discutir mais tarde). Dentro deste módulo de feitiço precisamos ter uma maneira de armazenar o objeto janela módulos, fazemos isso definindo a variável spellWindow que temos inicializado como nulo, mas que vamos configurar em breve. Nós também precisamos de uma maneira de conter o que o jogador selecionou o que significa que devemos armazenar uma referência para o spell de alguma forma usando a variável selectedSpell. Por último, mas não menos importante e provavelmente não duram tanto! Precisamos armazenar a lista de spells e fazer isso com a variável Spells. AS FUNÇÕES Funções muito como variáveis estão contidas em módulos de área restrita para que a localização pode variar dependendo de suas preferências. Se você não estiver usando um module sandboxed: true, em seguida, você precisará certificar-se de que você está localizando e armazenar funções corretamente. Eu pessoalmente gosto de usar uma tabela para armazenar minhas funções dentro para manter as coisas organizadas mais este é o lugar onde você vê spells = {}. Spells é uma tabela que eu estarei usando para armazenar todas as funções públicas de um módulo. Funções de módulo privado serão localizadas mesmo que não seja inteiramente necessário dentro de um módulo em modo seguro, eu prefiro declarar quando a função é privada através da palavra-chave local. Então, quais são as funções init () e Terminate () usado para? Como você já deve ter notado dentro dos feitiços .otmod código que você vai ver: @onLoad: init() @onUnLoad: terminate() init() A função init é uma função que é chamada quando otclient tenta carregar o módulo registrado usando chamada de sinal OnLoad. Dentro desta função você deve estar inicializando todos os componentes que são exigidos pelo seu módulo. Como você pode ver dentro de spells.lua estamos chamando uma função dentro de init (): connect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) terminate() A função Terminate é uma função que é chamada quando otclient tenta descarregar o módulo registrado usando a chamada de sinal OnUnload. Dentro desta função você deve estar destruindo e redefinir variáveis que precisam ser desmarcadas na terminação do módulo. Lembre-se de que nem todas as variáveis precisarão ser redefinidas, mas as referências de widget e a tabela de spells são todas necessárias para serem redefinidas. Como você pode ver dentro de feitiços. lua estamos chamando e definindo uma série de coisas dentro de terminate(): disconnect(g_game, { onOpenSpellWindow = Spells.create, onGameEnd = Spells.destroy }) Spells.destroy() Spells = nil Afirmei anteriormente que chamamos a função Connect dentro init (). Agora que estamos encerrando o módulo precisamos desconectar os retornos de chamada do conjunto de chamadas de sinal. Isto é feito através da função de desconexão (...). Com estas principais coisas cobertas você pode muito bem fazer o que você gosta dentro do módulo. Você pode com cuidado construir e craft o para inserir o que você precisa. Siga através do tutorial para estender o seu conhecimento de criação de módulos e também trabalhar dentro do ambiente do módulo otclients. COMO TESTAR EFICAZMENTE OS SEUS MÓDULOS Testar seus módulos será uma parte importante de fazê-los trabalhar da maneira que você precisa. Módulos de teste pode, por vezes, ser um pouco de um desafio para que haja algumas coisas que você precisa saber, a fim de torná-lo mais fácil para você. RECARREGANDO OS SEUS MÓDULOS Você pode recarregar seus módulos no cliente usando o Gerenciador módulo módulo Gerenciador módulo selecione seu módulo e clique em recarregar. Esteja ciente de que o seu init () e terminate (), funções serão chamados em recarregar por isso, se você não está inicializando e destruindo coisas particulares corretamente, então você pode obter erros no recarregamento. Nota importante: existem algumas alterações raras que podem não ser recarregadas corretamente com o gestor de módulos, coisas como .otui @ alterações (por exemplo, @onClick: edits). Pode haver algumas outras mudanças que não recarregam corretamente, mas para a maior parte ele funciona bem. Se você se encontrar com erros estranhos tentou fazer um reinício completo do cliente para garantir a sua não uma emissão de recarga. COMANDOS DE TESTE ÚTEIS Há uma seleção de comandos úteis que podem ser úteis para testes encontrados no arquivo de script/modules/client_terminal/Commands.lua. Aqui está uma lista dos comandos atuais que você pode inserir no terminal do cliente: dumpWidgets(widget, level) drawDebugBoxes(enable) hideMap() showMap() debugContainersItems() debugPosition(enable) autoReloadModule(name) Você pode adicionar novos comandos ao seu diretório/mod, a fim de evitar fazer alterações no arquivo de comando modules. Você deve sempre assegurar-se de que seus módulos estejam testados completamente antes de criar solicitações da tração ao repositório principal do git. Estas dicas podem ser muito úteis nas fases de teste! ALGUMAS ORIENTAÇÕES ÚTEIS Ao desenvolver seu módulo seja certo dar-lhe lotes do pensamento sobre como está indo trabalhar e mesmo se você pode fundir a característica a um módulo já existente. Também funções globais e variáveis constantes podem ser encontradas nos diretórios modules/corelib e modules/gamelib. Por favor, dê uma cuidadosa consideração para o que você colocar nesses arquivos e se possível tentar evitá-lo. Siga a regra "manter tudo para sua própria causa, e apenas essa causa ". FIM DO TÓPICO =] CRÉDITOS: edubart BeniS Eu(pela tradução e adaptação para o português)1 ponto -
Em data\actions\scripts em addon.lua: -- Gardevoir [13291] = {addon_num = 1, pokemon= "Gardevoir", looktype = 2156, nome = "Witch Apparentice addon", fly = 0, ride = 0, surf = 0}, [13295] = {addon_num = 2, pokemon= "Gardevoir", looktype = 2161, nome = "Housekeeper addon", fly = 0, ride = 0, surf = 0}, [13302] = {addon_num = 3, pokemon= "Gardevoir", looktype = 2198, nome = "Bride Saint Join addon", fly = 0, ride = 0, surf = 0}, Você tem que configurar os addons certinhos, o Limite Maximo é 5. em data\lib em addon.lua você pode alterar o limite aqui: ADDON_LIMIT = 5 --Limite de addons que um poke pode ter NÃO RECOMENDO AUMENTAR O LIMITE, PODE CAUSAR PROBLEMAS!1 ponto
-
Opa, galerinha do XTibia, resolvi trazer a solução de uns problemas que vejo que ocorrem com uma certa frequência: Os erros da data base. Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc. 1°) NO SUCH TABLE Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro: No caso da imagem, está faltando a table: player_statements Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite, basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor: Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia. 1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! : (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!) account_viplist accounts bans environment_killers global_storage guild_invites guild_kills guild_ranks guild_wars guilds house_auctions house_data house_lists houses killers market_history market_offers player_deaths player_depotitems player_inboxitems player_items player_killers player_namelocks player_skills player_spells player_statements player_storage player_viplist players server_config server_motd server_record server_reports tile_items tile_store tiles announcements pagsegurotransacoes player_advances reports thanks z_bug_logs z_featured_article z_forum z_helpdesk z_monsters z_network_box z_news_tickers z_ots_comunication z_polls z_polls_answers z_poll_votes z_shop_history_item z_shop_history_pacc z_shop_offer z_spells z_news_big 2°) No such column / "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem: No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando. ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO. Bom galera, é isso. SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS! SE ESTIVER FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!! Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabalhoso fazer este tutorial todo... ^^ ESTOU A DISPOSIÇÃO DE TODOS! Espero ter ajudado!! E isso é tudo, pessoal! ^^ Créditos Eu (@Danihcv) Abraços.1 ponto
-
Olá galera do Xtibia, venho hoje trazer um sistema muito útil como pode ver no Título ele remove casa dos players que não logam mais. Explicação: Sabe aqueles players filho da mãe que compram as melhores casas e não logam mais no servidor e enche a porra da casa de item pros novos players não comprar? Pois é esse sistema dara um jeito nesses safados! xD Este script é apenas um arquivo que você colocará em sua pasta mods e ele executará toda vez que o servidor for reiniciado/ligado, ou seja: Quando o servidor ligar ele irá verificar os players que não logam a X dias (configurável) e então expulsa-los da casa movendo seus items para o depot deixando a casa sem dono. Bom chega de explicação e vamos ao que interessa; Na pasta principal do servidor, onde fica a distro que roda o servidor e tudo mais, entre na pasta MODS e crie um arquivo com o nome de cleanhouses.xml e dentro coloque o seguinte codigo: <?xml version="1.0" encoding="UTF-8"?><mod name="Cleanhouses" version="1.04" author="Yan Liima-Night" contact="xtibia.com" enabled="yes"> <description> v.1.04 - Adicionado 'onlyNonPremium' configurável. Versão sem erros por favor caso não é avançado na área não modifique nada. Criado e modificado por Yan Liima Nick: [ADM] Night Este mod irá limpar casas de jogadores inativos e mover os seus itens para o depósito.explicação das configurações: days - Se o jogador não tiver logado para este número de dias de sua casa será liberado. log - true/false, é para habilitar o registro de quais casas foram limpas. file - caminho para o arquivo de log, onde os logs serão armazenados. Ignorado se 'log' definido como falso onlyNonPremium - se definido como 'true', o script irá limpar apenas as casas dos jogadores que não lougou X dias. Outras indicações: NÃO remova doSaveServer() no final, caso contrário, se o servidor parar de funciona antes que o servidor salve você vai se arrepender =) </description> <globalevent name="cleanhouses" type="start" event="buffer"><![CDATA[ local config = { days = 60, log = true, file = getDataDir() .. "/logs/cleanhouses.txt", onlyNonPremium = true } local ns_query =[[ SELECT houses.owner, houses.id as hid, houses.name as house_name ,players.name FROM houses LEFT JOIN players ON players.id=houses.owner LEFT JOIN accounts ON players.account_id=accounts.id WHERE players.lastlogin < (UNIX_TIMESTAMP() - ]] ..config.days.. [[*24*60*60) ]] ..(config.onlyNonPremium and ' AND accounts.premdays=0 ' or '')..[[ AND players.world_id =]] .. getConfigValue("worldId") local house = db.getResult(ns_query) local logs = " Houses cleaned:\n\n" if house:getID() ~= -1 then repeat logs = logs .. house:getDataString('house_name') ..", owned by " .. house:getDataString('name') .. "\n" setHouseOwner(house:getDataInt('hid'), 0) until not house:next() house:free() else logs = logs .. "There were no houses to clean." end if config.log then doWriteLogFile(config.file, logs) end addEvent(doSaveServer, 1000) ]]></globalevent></mod> Pronto, salve e feche. Toda vez que o servidor iniciar irá expulsar os players que não logam aos dias configuráveis. Como configurar: days = 60 * É o número em DIAS que o player terá que ficar sem logar para perder a casa. Aconselho a não mexer, caso queira modificar algo aconselho ser avançado na área para não causar error no sistema. Este sistema funciona em qualquer TFS. Créditos Yan Liima Bom eu tinha publicado um post igual esse faz anos so que não lembro minha conta, e pegaro meu post postaro em outro fórum que não merece ser citado com outros créditos estou apenas avisando. Te ajudei?? REP + e ficamos quites... Atenciosamente, Yan Liima Abraços!1 ponto
-
Depois de adicionar a Stone no Client e no item.otb, pegue o ID dela do item.otb e adicione na tag que fica embaixo de -- PEDRAS DE EVO em actions.xml, assim: <action itemid="11441-11454;12232;12242;12244;12417;12419;13031-13033;IDDASTONE" event="script" value="evolution.lua" allowfaruse="1"/> depois disso, arrume o ID dela para o Pokémon evoluir em configuration.lua, assim: ["Chikorita"] = {level = 30, evolution = "Bayleef", count = 1, stoneid = IDDASTONE, stoneid2 = 0}, Ops, não se esqueça de adicionar ela no item.xml !1 ponto
-
• Mapa Stigal 2.0 {PDA 1.5+} [Download]• • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • • Download's • Mapa Stigal 2.0 {PDA 1.5+} 8.54 (4shared) http://www.4shared.com/rar/9-tmxr_5/Arquivo_Mapa_Stigal_20_PDA_15.html? Scan Mapa Stigal 2.0 {PDA 1.5+} 8.54 (Virus Total) https://www.virustotal.com/file/9f816298c04d57eeb823613a7eb138b0a4461dfc798bb57a86cd875206166e41/analysis/1347478340/ • Creditos • Slicer - {Por Ser Lindo e Criar o PDA} Stigal - {Por Ser Lindo e Ajeitar o Mapa e Deixalo 99%}1 ponto
-
Change Outfit Especial!
Smash Tibia 24 reagiu a Newtonnotwen por um tópico no fórum
Ele muda o outfit quando pisa no tile, e perde quando sai dele. Script by: LuckOake Editado by: Newtonnotwen Adicione em data/movements/scripts em um arquivo.lua denominado outfits: -Marrom: Mensagem ao pisar. -Violeta: Life a perder. -Azul Turqueza: - (menos) para perder life, + (mais) para ganhar -Laranja: Id do tile Editando o outfit: -Vermelho: Outfit number ( /newtype ) -Verde: Cor do outfit (só funciona em alguns outfits) -Roxo: Addon do outfit (só funciona em alguns outfits) Obs: Addon varia de 0 a 3. ------------------------------- Em movements.xml:1 ponto -
Talkactions !mana E !vida
sergiosdrc reagiu a Vodkart por uma questão
Ta dando isso, esta tudo do jeito que você falou para mim no tópico. Quando se usa !health ele da isso. Sabe porque está dando isso? é porque no seu servidor não existe essa função também! Vou te passar a função que eu fiz: lib/functions coloca function getPlayerHealth(cid) -- by vodka doPlayerSave(cid) local PlayerInfo = db.getResult("SELECT `health` FROM `players` WHERE `id` = " .. getPlayerGUID(cid)) return PlayerInfo:getDataInt("health") end ai no script ali onde tiver "getCreatureHealth" troca por "getPlayerHealth"1 ponto -
Fiz um script tbm, vou postar pq começei a fazer antes do vod postar o dele. O meu script vai funcionar como um evento. O Gm ordena quando começa e acaba esse evento. Vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "login_exp" sem as aspas e nele cole: function onLogin(cid) local rate = 2 -- 100% local msg = "Aproveite o evento Doble Exp!" local stor = 13545 -- storage vip if (getGlobalStorageValue(stor) > 0) then doPlayerSetExperienceRate(cid, rate) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, msg) end return TRUE end Em creaturescripts.xml cole a tag: <event type="login" name="Login_Exp" event="script" value="login_exp.lua"/> ------------------------------------------------------------------------------------------------------------ Vai em data/talkactions/scritps e duplica um arquivos, e nomeia para "eventexp" sem as aspas e nele cole: function onSay(cid, words, param, channel) if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command param required.") return true end if (param == "open") then if (getGlobalStorageValue(13545) > 0) then doPlayerSendTextMessage(cid, 22, "O evento ja esta aberto.") return true end setGlobalStorageValue(13545, 1) doBroadcastMessage("O evento Double Exp esta aberto, todos os player serão kikados após 10 segundos!") addEvent(RemoveAll, 10000, cid) elseif (param == "close") then if (getGlobalStorageValue(13545) <= 0) then doPlayerSendTextMessage(cid, 22, "O evento ja esta feixado.") return true end setGlobalStorageValue(13545, 0) doBroadcastMessage("O evento Double Exp esta feixado, todos os player serão kikados após 10 segundos!") addEvent(RemoveAll, 10000, cid) end return true end function RemoveAll(cid) local online = getOnlinePlayers() for i=1, #online do if (isPlayer(getPlayerByName(online[i]))) then doRemoveCreature(getPlayerByName(online[i])) end end end Em talkaction.xml cole a tag: <talkaction log="yes" access="5" words="eventxp" event="script" value="eventexp.lua"/> Para abrir o evento basta com o gm usar o comando "eventxp open" e para feixar "eventxp close".1 ponto
-
Olá gente eu denovo e postei errado o mapa passado mais esta aqui quase todo arrumado ,espero que gostem nao vo posta Screccots porque ja to atrasado para sair mais antes vo compartilar alguma coisas com todos que me ajudaram e ajudadam até hoje Oque eu Fiz - Todos Npc Barqueiros Todas as caves com bixos.Todos Npc promotiom,e arrumei uns erros no chao ,fiz o dragon1 que tava faltando,fiz um cave nova,etc Senha do GOD - se encontra no sqlite. Dwoloand - http://www.4shared.com/rar/sCQ8w6rv/Bronson_By_Vitao.html Creditos - esqueci mais eu nao fiz mais que obrigaçao1 ponto
-
É simples brother: No map editor, selecione o tile de PZ e vá passando em cima da onde você quer retirar a PZ segurando CTRL.1 ponto
