Jump to content

Search the Community

Showing results for tags 'OTClient'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Tibia King
    • Rules
    • Portal
    • FeedBack
  • Open Tibia
    • Otserv
    • Tools
    • Codes
    • Clients
    • Maps
    • Websites
  • Management of Ot Servers
    • Otserv Discussions & Research
    • Support and Requests
    • Otserv Tutorials
  • Tibia and Bots
    • Tibia
    • Bots
  • Others
    • Announcements
    • Other Programming Languages
    • Graphics and Design
    • Playground (Off-topic)

Calendars

  • Official Calendar
  • OTServs Calendar
  • Several Calendars

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localization


My character


Favorite OTServ


Bot preferred


Interests

Found 626 results

  1. Hoje, a nova versão do Android foi lançada. Registro de alterações: - Adicionado suporte multitoque - Adicionado teclado (joystick) para caminhada manual - Barra de ação aprimorada - Painel de ação esquerdo aprimorado, ação extra adicionada ao clicar duas vezes - Outras pequenas correções de bugs Dicas para usuários mobile: - Clique duas vezes em Usar no painel esquerdo para usar o item em você - Clique duas vezes em Atacar / Seguir no painel esquerdo para atacar / seguir a primeira criatura da lista de batalhas - Clique duas vezes em Olhar no painel esquerdo para ver a primeira criatura na lista de batalhas. - Mantenha o dedo por 0,5s para clicar com o botão direito - Você pode ampliar / reduzir o mapa usando bot (guia Ferramentas) - Você pode ligar teclas de aumentar / diminuir volume como teclas de atalho - O botão de navegação traseira funciona como escape, você pode usá-lo para fechar as janelas O link para download é o mesmo de sempre: http://otclient.ovh/otclientv8.apk link suporte br: https://discord.gg/PXuzQ5P Mais atualizações estão chegando em breve! Divirta-se
  2. Olá pessoal! Sou relativamente novo na comunidade, mas hoje estarei trazendo algo que me perdi por uma ou duas semanas! Podem haver bugs, entretanto ele está preparado para 10.95 sem muitos bugs, e minhas alterações para que funcionasse no 10.96 foram bem sutís. OTClient 0.6.3 Compilado em: 23 de agosto de 2016. Compativel com as versões: 7.4 à 10.96 Compilado por: MarceloP Sources: https://github.com/edubart/otclient Versões compatíveis: Mudar background do OTClient: Vá em otclient\data\images\ Substitua background.png. Reinicie o client. Adicionar versão no client (apenas a adição de versões abaixo da 10.96 são permitidas): Adicione a versão do client em otclient\modules\gamelib\game.lua. Crie uma pasta com a versão do client em otclient\data\things\ e coloque o .spr e dat. Reinicie o jogo. Bugs Conhecidos: Download: MEGA Sendspace Scan: VirusTotal Agradecimentos: Eldhelion Modelo de post por: @Azhaurn
  3. Veio se discutindo ao longo do tempo várias possibilidades de aumento de sprites no OTClient, com IA, alterar os programas Remeres, OTitem, Object builder. Porém todas essas modificações necessitaria uma equipe para dar suporte aos erros futuros e presentes que vieram se apresentando a todos aqueles que realizavam todas estas modificações. Em contato com o editor do ObjectBuilder e Remeres para 64x64, 96x96, ele mesmo disse que pela presença de erros, não valeria à pena investir num servidor com estes aumentos de sprites. Então como brasileiro, imaginei uma possível gambiarra. Segue abaixo, o meu pedido 😃 Este seria um sistema para a analise de movimento do personagem/criaturas. Como todos sabem o tibia tem um "hitbox"/square de movimento de 32x32. Este square impede que o player suba em outro square de 32x32 que seja "sólido" ou que esteja marcado para não ser passado por cima, ex: Pedras, agua, bordas, parede, porta fechada, caule da arvore, outro square de player. Porém qualquer imagem que ultrapasse os 32x32 na linha de baixo, corre o grande risco de sair "atropelando" em cima de objetos, player e etc. Sendo assim, imaginei a possibilidade de algum script que averiguasse o movimento das criaturas/players, checando se nos 32x32 aos arredores do player há algum objeto que não seja passável, assim forçando-o a não "pisar" em cima deste. ex: Como pode ser visto, a região mais escura de cada "demon" seria o limitador de movimento, como um sqm à esquerda há outro demon ,ele não poderia se mover para a esquerda, pois teria um "obstaculo". Esse limitador seria apenas para movimentos. Com esse sistema, o uso de sprites maiores sem o grande erro de atropelar alguém / objetos, o uso de sprites maiores para projetos alternativos sairia muito mais " limpo. Estou utilizando TFS 1.2, mas qualquer servidor está valendo para conseguir esta benção de sistema para aumentar a qualidade dos gráficos de um projeto alternativo. Deixo aqui este pedido para alguma alma generosa que queira auxiliar o desenvolvimento de novos jogos com sprites maiores Obrigado pela sua atenção,
  4. Olá Tibiaking Hoje vim trazer como aumentar Efeitos / Missile na source TFS e OTX 1.3 Utilize 8.60 OLDCLIENT estendida unit16 então resolvi eu mesmo mexer e consegui achar e estou trazendo para vocês! Esse Tópico é especifico para TFS E OTX 1.3, para que assim você possa aumentar o limite de efeitos no Client, e usar mais de 2k efeitos, e mais de 500 efeitos em Distância. Vale lembra também que você não é obrigado a mudar em ambos, se você quiser apenas aumentar o Limite de Efeitos para mais de 2k, então mude apenas ele, caso queria aumentar apenas os Efeitos que são lançados a distância(ShootEffects ou DistanceEffect), caso queria os dois, use ambos. Vamos começar em Magic Effects e DistanceShoot: Boa sorte vcs :D Recompila Source LINUX / Windows TFS E OTX 1.3 Então é isso ae, qualquer erro só comentar para que eu possar tentar ajudar. Tópico exclusivo do Tibaking, proibido posta em outro site, blog ou fórum!
  5. [OTClient] Sistema de Dialogo Otpokemon Venho através desse tópico contribuir para a comunidade, um simples modulo de dialogo no estilo do Otpokemon, não é um sistema de dialogo avançado é algo simples que deixa seu servidor intuitivo. 1) Faça o download do modulo no qual se encontra no final do tópico e abrindo a pasta do seu client,, extraia e coloque o modulo na pasta modules. 2) O módulo utiliza uma função chamada switch que não é comum ter no otclient, porem podemos colocar sem muito esforço, na pasta do otclient abra o arquivo util.lua que se encontra em modules/corelib/ e no final do arquivo coloque o seguinte código: Feito o passo 1 e 2, vamos para a parte do servidor. 1) Crie um arquivo na pasta data/lib/ podendo ter o nome de npcdialog_lib.lua e coloque o seguinte código: 2) O arquivo que acabamos de criar utiliza uma função chamada table.serialize que não é comum ter nos servidores, para que funcione sem erros vamos adicionar, abra o arquivo 012-table.lua que fica na pasta do seu servidor em data/lib/ ou você pode criar o arquivo e adicionar o seguinte código: Feito todo esse procedimento, estarei disponibilizando um npc para que vocês possam ter uma noção de como utilizar esse sistema de dialogo. 1) Crie um arquivo na pasta do servidor em data/npc/ chamado Gengo.xml e adicione o seguinte código: 2) Crie um arquivo na pasta do servidor em data/npc/lib/ com o nome gengo.lua e adicione o seguinte código: O npc é algo simples, porem serve para que você possa ter uma noção de como utilizar as funções do npc. Demostrativo dentro do game: Arquivos para download e o scan:
  6. boa noite galera, estou mexendo no servidor KPDO uma base que postaram aqui a um tempo atras, galera o que acontece eu configurei o servidor, o site e o cliente. No caso o servidor esta ligando tudo ok, o site tmb( Porem o status dele esta offine) e o cliente eu logo com os dados da conta seleciono o char e da erro de conecção 10060 e nao sei como resolver, lembrando que o sever sem o site tmb da o mesmo erro. ESSA É A SCRIPT DO CONFIG DO SEVER accountManager = false namelockManager = true newPlayerChooseVoc = false newPlayerSpawnPosX = 1075 newPlayerSpawnPosY = 1235 newPlayerSpawnPosZ = 7 newPlayerTownId = 7 newPlayerLevel = 1 newPlayerMagicLevel = 0 generateAccountNumber = false redSkullLength = 30 * 24 * 60 * 60 blackSkullLength = 45 * 24 * 60 * 60 dailyFragsToRedSkull = 3 weeklyFragsToRedSkull = 5 monthlyFragsToRedSkull = 10 dailyFragsToBlackSkull = dailyFragsToRedSkull weeklyFragsToBlackSkull = weeklyFragsToRedSkull monthlyFragsToBlackSkull = monthlyFragsToRedSkull dailyFragsToBanishment = dailyFragsToRedSkull weeklyFragsToBanishment = weeklyFragsToRedSkull monthlyFragsToBanishment = monthlyFragsToRedSkull blackSkulledDeathHealth = 40 blackSkulledDeathMana = 0 useBlackSkull = true useFragHandler = true advancedFragList = false notationsToBan = 3 warningsToFinalBan = 4 warningsToDeletion = 5 banLength = 7 * 24 * 60 * 60 killsBanLength = 7 * 24 * 60 * 60 finalBanLength = 30 * 24 * 60 * 60 ipBanishmentLength = 1 * 24 * 60 * 60 broadcastBanishments = false maxViolationCommentSize = 200 violationNameReportActionType = 2 autoBanishUnknownBytes = false worldType = "pvp" protectionLevel = 1 pvpTileIgnoreLevelAndVocationProtection = true pzLocked = 10 * 1000 huntingDuration = 60 * 1000 criticalHitChance = 7 criticalHitMultiplier = 1 displayCriticalHitNotify = false removeWeaponAmmunition = true removeWeaponCharges = true removeRuneCharges = true whiteSkullTime = 15 * 60 * 1000 noDamageToSameLookfeet = true showHealingDamage = false showHealingDamageForMonsters = false fieldOwnershipDuration = 5 * 1000 stopAttackingAtExit = false oldConditionAccuracy = true loginProtectionPeriod = 10 * 1000 deathLostPercent = 5 stairhopDelay = 2 * 1000 pushCreatureDelay = 2 * 1000 deathContainerId = 1987 gainExperienceColor = 215 addManaSpentInPvPZone = true squareColor = 0 allowFightback = true worldId = 0 ip = "pokesuntory.ddns.net" bindOnlyConfiguredIpAddress = false loginPort = 7171 gamePort = 7172 adminPort = 9179 statusPort = 7171 loginTries = 10 retryTimeout = 5 * 1000 loginTimeout = 60 * 1000 maxPlayers = 150 motd = "IMPORTANTE\n\n Use sempre o comando !save\n\n-Comandos de Ultilidade-\n* !dicas - Mostrar essa janela novamente.\n* !tutorial - Um passeio rapido por alguns sistemas do server.\n* !save - Salva o progresso do seu char, use sempre esse comando!\n* !tpf lista - Lista de teleports free (ex: !tpf water).\n* !tpv lista - Lista de teleports VIP (ex: !tpf entei).\n* !liga - Serve para ativar o accesso para VIP 1, caso necessario.\n* !pokenick - Adicione um nick ao seu pokemon* ! (ex: !pokenick NickDoPoke).\n\n-Bonus Amigo de 1000% de XP-\n\n* !amigobonus NOME DO AMIGO - Invita um amigo (ex: !amigobonus alex).\n* !amigobonus aceitar/rejeitar - Aceitar ou rejeitar um convite (ex: !amigobonus aceitar).\n\n-Diamond Shop-\n\n* !price lista - Consultar o preço da shop lista (D = Diamonds, Ex: 15D = 15 Diamantes).\n* !shop lista - Comprar itens no diamond shop (ex: !shop 100 rare candy)." displayOnOrOffAtCharlist = false onePlayerOnlinePerAccount = false allowClones = false serverName = "Poke Suntory Revolution" loginMessage = "Welcome to Poke Suntory server, para exclarercer as duvidas abra o help chat." statusTimeout = 5 * 60 * 1000 replaceKickOnLogin = true forceSlowConnectionsToDisconnect = false loginOnlyWithLoginServer = false premiumPlayerSkipWaitList = true sqlType = "mysql" sqlHost = "localhost" sqlPort = 3306 sqlUser = "root" sqlPass = "20suntory20" sqlDatabase = "pokesuntory" sqlFile = "Suntory.sql" sqlKeepAlive = 0 mysqlReadTimeout = 10 mysqlWriteTimeout = 10 encryptionType = "sha1" deathListEnabled = true deathListRequiredTime = 1 * 60 * 1000 deathAssistCount = 19 maxDeathRecords = 5 ingameGuildManagement = true levelToFormGuild = 50 premiumDaysToFormGuild = 0 guildNameMinLength = 2 guildNameMaxLength = 25 highscoreDisplayPlayers = 10 updateHighscoresAfterMinutes = 60 buyableAndSellableHouses = true houseNeedPremium = false bedsRequirePremium = false levelToBuyHouse = 350 housesPerAccount = 1 houseRentAsPrice = false housePriceAsRent = false housePriceEachSquare = 100000 houseRentPeriod = "never" houseCleanOld = 1 guildHalls = false timeBetweenActions = 950 timeBetweenExActions = 1000 hotkeyAimbotEnabled = true mapName = "KPDO" mapAuthor = "Kpdo" randomizeTiles = true storeTrash = true cleanProtectedZones = true mailboxDisabledTowns = "-1" defaultPriority = "realtime" niceLevel = 10 coresUsed = "-1" optimizeDatabaseAtStartup = false removePremiumOnInit = true confirmOutdatedVersion = false formulaLevel = 5.0 formulaMagic = 1.0 bufferMutedOnSpellFailure = false spellNameInsteadOfWords = false emoteSpells = false allowChangeOutfit = true allowChangeColors = true allowChangeAddons = true disableOutfitsForPrivilegedPlayers = false addonsOnlyPremium = true dataDirectory = "data/" bankSystem = true displaySkillLevelOnAdvance = true separateViplistPerCharacter = false maximumDoorLevel = 500 maxMessageBuffer = 99999 saveGlobalStorage = true useHouseDataStorage = false storePlayerDirection = false checkCorpseOwner = false monsterLootMessage = 3 monsterLootMessageType = 22 ghostModeInvisibleEffect = false ghostModeSpellEffects = false idleWarningTime = 999999 idleKickTime = 9999999 expireReportsAfterReads = 1 playerQueryDeepness = 2 maxItemsPerPZTile = 0 maxItemsPerHouseTile = 5 freePremium = true premiumForPromotion = true blessingOnlyPremium = false blessingReductionBase = 30 blessingReductionDecreament = 5 eachBlessReduction = 8 experienceStages = true rateExperience = 2 rateExperienceFromPlayers = 2 rateSkill = 10 rateMagic = 1 rateLoot = 5 rateSpawn = 1 rateMonsterHealth = 1.0 rateMonsterMana = 1.0 rateMonsterAttack = 1.0 rateMonsterDefense = 1.0 minLevelThresholdForKilledPlayer = 0.9 maxLevelThresholdForKilledPlayer = 1.1 rateStaminaLoss = 1 rateStaminaGain = 3 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 41 * 60 staminaRatingLimitBottom = 14 * 60 rateStaminaAboveNormal = 1.0 rateStaminaUnderNormal = 1.0 staminaThresholdOnlyPremium = true experienceShareRadiusX = 30 experienceShareRadiusY = 30 experienceShareRadiusZ = 1 experienceShareLevelDifference = 2 / 3 extraPartyExperienceLimit = 20 extraPartyExperiencePercent = 20 experienceShareActivity = 2 * 60 * 1000 globalSaveEnabled = false globalSaveHour = 1 shutdownAtGlobalSave = false cleanMapAtGlobalSave = false deSpawnRange = 2 deSpawnRadius = 25 maxPlayerSummons = 1 teleportAllSummons = false teleportPlayerSummons = false ownerName = "Mikhael" ownerEmail = "" url = "" location = "Brazil" displayGamemastersWithOnlineCommand = false adminLogsEnabled = false displayPlayersLogging = true prefixChannelLogs = "" runFile = "" outLogName = "" errorLogName = "" truncateLogsOnStartup = false tradesave = false dumpsave = false promptExceptionTracerErrorBox = false sever_erro.mp4
  7. Olá Tibiaking Hoje Trago pra vocês um pack de Client Wodbo Explorer Descompilado atual ano 2019 ( Não tenho certeza disso, eu nao lembro mais. deixei que minha notebook guardava mais o clientes.) Espero que vocês gostam. https://www.mediafire.com/file/zqnt30azbuvi1wc/WODBOExplorer.zip/file Imagens Pack Client Wodbo Explorer Creditos: Mask Ghost ( Descompilador Client's Pack ) Scan: https://www.virustotal.com/gui/file/d6fa20a70c9e6578d55f0cccbda9888f6846fcf1faa4f8744d7d2089ed022cda/detection Não postem em outros fórum sem a minha permissão. é isto bom aprveito a todos. 2020 - Bom Dia.
  8. Olá TIBIA KING Hoje trago pra vocês um pack de Client's. como de DBO como de NTO. espero que vocês gostem. Download: Scan: https://www.virustotal.com/gui/file/79741ebb9a15f4d9e6fefef2187d1904d4e0fb4e19f6948b6209d47839ef0362/detection Não postem em outros fórum sem a minha permissão. é isto! bom aproveito a todos. 2019 - Bom dia.
  9. OTClient V8 OTClientV8 é um mecanismo de jogo 2D altamente otimizado, baseado em blocos, construído com c ++, lua, physfs, OpenGL ES 2.0 e OpenAL. Funciona hem, mesmo em computadores com 12 anos de uso. Funciona em Windows (min. Windows 7), Linux e Android (min. 5.0). V8 NOVIDADES • Renderização reescrita e otimizada (60 fps em um computador de 11 anos) • Melhor suporte ao DirectX9 e DirectX11. • Renderização adaptável (otimizações gráficas automatizadas) • Renderização de luz reescrita e otimizada • "Path finding" e "auto walking" reescritos. • "Walking system" reescrito com animações. • HTTP/HTTPS lua API com suporte à JSON. • API WebSocket lua. • Auto updater com modo de recuperação. • Novo sistema de arquivos • Criptografia e compactação de arquivos • Sistema de diagnóstico automático • Interface atualizada • Novo manipulador de "crash" e "error". • Novo protocolo de login HTTP • Loja no jogo (mesma do tibia). • Gerenciador de "hotkeys" atualizado. • "Battle list" otimizada e atualizada. • "Crosshair" (mira), "floor fading", barras de hp/mp extras e painéis. • Muitas outras opções de clients. • Removido muitas coisas inúteis e desatualizadas • Bot Avançado • Versão Linux. • Suporte completo para tibia 11.00 • Layouts Download Oficial: Link Download Tk: otclientv8-master.rar Contribua no Github: https://github.com/OTCv8/otclientv8/issues IMAGENS: Créditos: Edubart
  10. Procuro pessoa com experiência em OTC para serviços remunerados. O que necessito principalmente é criação de módulos, mas posso precisar de mais coisas. Podem me chamar pelo privado do fórum ou no discord xNightWalker#9905 P.S.: Antes que o primeiro venha reclamar que estou pagando por coisas gratuitas, não, não estou pagando por nada gratuito, estou pagando por conhecimento e tempo.
  11. Boa tarde, tudo bem? Então, eu to a um tempo sem mexer com OTserver, voltei agora e estou empolgado em começar um Narutibia. Mas com as sprites da época do 7.81, então achei essas do Shinobi Online aqui no Forum. Baixei o servidor e o OTClient que vinha junto, porém não consigo conectar com o client que veio junto, preparado para o server. Ja fui na pasta "data>modules>client_entergame>entergame.lua" e editei a linha EnterGame.setUniqueServer, da seguinte forma: EnterGame.setUniqueServer('127.0.0.1', 7171, 854, 200, 190) Mesmo assim não consigo conectar no servidor, fica tentando conectar até cair. Eu abri o OTclient v8, parece que é uma espécie de "coringa" da para entrar em todos, e no campo de colocar o IP eu coloquei o mesmo "127.0.0.1" e conectou. Abaixo o exemplo de como fiz no otclientv8: Como faço para resolver essa questão? Visto que o problema não é o servidor, já que consegui conectar por outro Client?
  12. Fala galera, hoje estarei ensinando como vocês podem colocar mais cores na função GameBlueNpcNameColor ali nome dos NPCS, hoje criei e separei 11 funções uma pra cada cor pra vocês usarem como quiser, *as vezes o servidor não combina só com os nomes AZUIS, que tal um ROSA? hehe. TUTORIAL SOURCE OTCLIENT Abra o arquivo const.h ache GameEnhancedAnimations = 59, em baixo cole GameRedNpcNameColor = 60, GamePinkNpcNameColor = 61, GameBabyPinkNpcNameColor = 62, GameOrangeNpcNameColor = 63, GameYellowNpcNameColor = 64, GameLightGreenNpcNameColor = 65, GameGreenNpcNameColor = 66, GameLightBlueNpcNameColor = 67, GamePurpleNpcNameColor = 68, GameBrownNpcNameColor = 69, GameBlackNpcNameColor = 70, abra o arquivo creature.cpp ache if(g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x66, 0xcc, 0xff); mude para if(g_game.getFeature(Otc::GameRedNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x00, 0x00); if(g_game.getFeature(Otc::GamePinkNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x6e, 0xb4); if(g_game.getFeature(Otc::GameBabyPinkNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0xc1, 0xc1); if(g_game.getFeature(Otc::GameOrangeNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x7f, 0x00); if(g_game.getFeature(Otc::GameYellowNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0xd7, 0x00); if(g_game.getFeature(Otc::GameLightGreenNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x7c, 0xcd, 0x7c); if(g_game.getFeature(Otc::GameGreenNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x00, 0xcd, 0x66); if(g_game.getFeature(Otc::GameLightBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x87, 0xce, 0xff); if(g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x00, 0x9a, 0xcd); if(g_game.getFeature(Otc::GamePurpleNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xab, 0x82, 0xff); if(g_game.getFeature(Otc::GameBrownNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xcd, 0xaa, 0x7d); if(g_game.getFeature(Otc::GameBlackNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x82, 0x82, 0x82); Agora compile seu Otclient. USANDO AS CORES NO OTCLIENT no otclient vai em em \modules\gamelib abra o arquivo const.LUA ache GameEnhancedAnimations = 59 em baixo cole GameRedNpcNameColor = 60 GamePinkNpcNameColor = 61 GameBabyPinkNpcNameColor = 62 GameOrangeNpcNameColor = 63 GameYellowNpcNameColor = 64 GameLightGreenNpcNameColor = 65 GameGreenNpcNameColor = 66 GameLightBlueNpcNameColor = 67 GamePurpleNpcNameColor = 68 GameBrownNpcNameColor = 69 GameBlackNpcNameColor = 70 agora vá em \modules\game_things abra o arquivo things.lua ache local version = g_game.getClientVersion() em baixo coloca a cor que deseja que os npc tenha há falei rosa lá em cima né, vamos por rosa. g_game.enableFeature(GamePinkNpcNameColor) *se quiser muda o ROSA pra outra cor é só muda GamePinkNpcNameColor para uma dessa ai em baixo dentro dos () cores: GameRedNpcNameColor // Vermelho GamePinkNpcNameColor //Rosa GameBabyPinkNpcNameColor //Rosa bebe GameOrangeNpcNameColor //Laranja GameYellowNpcNameColor //Amarelo GameLightGreenNpcNameColor //Verde Claro GameGreenNpcNameColor //Verde Escuro GameLightBlueNpcNameColor //Azul Claro GamePurpleNpcNameColor //Roxo GameBrownNpcNameColor //Marrom GameBlackNpcNameColor //Preto feito isso, é só SALVAR. NPCs coloridos hehe PREVIEW ATÉ MAIS CRÉDITOS: EU
  13. Bom, nesse dia vim porque estou procurando um desenvolvedor que possa criar um cliente semelhante aos exemplos que vou passar abaixo skills running, map, life
  14. Faz tempo que não posto nada, então deu vontade, tava brincando um pouco ai fiz esse sisteminha básico. • Gifs Nesse primeiro Gif, ao trocar a direção da Outfit, o nome e as barras de informações como Health, Mana, mudam de posição, isso é bom para ajustar as Outfits de acordo com o seu tamanho, como o Demon, ficar com as informações logo em cima da cabeça, ou Hydra, todos estão com o local padrão. Aqui era como as informações ficavam com essa Outfit originalmente, no padrão de sempre dos clients. Comparativo em imagem estática: Tibia Outfit antes e depois: Aqui estão algumas outfits que meu primo @Fae1z fez, apliquei o sistema de offset nelas, uma do Graves, uma do Ekko, ambos são personagens do game League of Legends, e uma baseada Uganda Knuckle: Ekko antes: Ekko depois: Graves antes e depois: Uganda Knuckle antes e depois: Aqui eu estava brincando de por as informações da Outfit de anão de modo drogado kkk. • Código Em Creature.h modifique nesta linha: void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point". Ficando: void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Embaixo de: std::string getName() { return m_name; } Adicione: Point getInformationOffset() { return m_informationOffset; } void setInformationOffset(int x, int y) { m_informationOffset.x = x; m_informationOffset.y = y; } Embaixo de: Position m_oldPosition; Adicione: Point m_informationOffset; Agora, em Creature.cpp procure por: void Creature::drawInformation(const Point& point, bool useGray, const Rect& parentRect, int drawFlags) Mude "const Point& point" para "Point& point". Ficando: void Creature::drawInformation(Point& point, bool useGray, const Rect& parentRect, int drawFlags) Sim, isso está repetido, é assim mesmo, o processo é necessário em Creature.h e Creature.cpp, nessa função a variável point tem seu tipo alterado de Const para normal. Ainda em Creature.cpp procure por: if(!useGray) fillColor = m_informationColor; Pule duas linhas e adicione: point.x += m_informationOffset.x; point.y += m_informationOffset.y; Agora, em Luafunctions.cpp procure por: g_lua.bindClassMemberFunction<Creature>("jump", &Creature::jump); Embaixo adicione: g_lua.bindClassMemberFunction<Creature>("setInformationOffset", &Creature::setInformationOffset); g_lua.bindClassMemberFunction<Creature>("getInformationOffset", &Creature::getInformationOffset); A parte da source é só isso. Foi criada uma variável do tipo Point na classe Creature, que pode armazenar dois valores do tipo Int, sendo eles X & Y, assim detendo uma posição de offset, para ajustar a posição das informações(Health Bar, Mana Bar e Name) da criatura, essa variável é usada na função Creature::drawInformation, onde ocorre todo o desenho de informações das criaturas, lá o offset criado altera a posição de um Point usado como posição base das informações, alterando esse Point todo o resto segue aquela posição, você pode setar o offset diretamente na criatura, as funções podem ser usadas tanto na source usando C++ quanto nos scripts usando Lua, em Lua o uso das funções é o seguinte: Essa função retorna uma tabela com X & Y, algo como "table = {x = 10, y = 20}", são as posições do offset. Creature:getInformationOffset() Exemplo de uso: local Offset = Creature:getInformationOffset() print(Offset.x) print(Offset.y) Isso vai printar no client_terminal do OTClient os valores de X & Y. Enquanto esta altera as posições usando os valores X & Y. Creature:setInformationOffset(x, y) Exemplo: Creature:setInformationOffset(10, -5) Essa configuração de offset vai aumentar X em 10 Pixels e diminuir Y em 5 Pixels, no meu primeiro gif, na direção Sul do Char, eu usei X diminuindo 13 Pixels e Y diminuindo 8 Pixels, algo como isso: Creature:setInformationOffset(-13, -8) Para tudo isso funcionar igual os gifs acima eu fiz um módulo especial, onde dependendo da Outfit e da direção que a criatura está olhando, ele vai alterar o offset de acordo. Para criar o módulo, siga estes passos: Na pasta do OTClient em modules/ crie uma pasta chamada game_creatureinformation, dentro crie um arquivo com o mesmo nome e a extensão .otmod, algo como "game_creatureinformation.otmod", o conteúdo do arquivo é este: Module name: game_creatureinformation description: Changes the position of the informations point to correctly draw names and creature bars. author: Snowsz website: tibiaking.com autoload: true reloadable: true sandboxed: true version: 1.0 scripts: [ game_creatureinformation ] @onLoad: init() @onUnload: terminate() Crie um arquivo com o mesmo nome e a extensão .lua, algo como "game_creatureinformation.lua", o conteúdo do arquivo é este: --[[ Directions: North /\ East > South \/ West < Structure: [OutfitID] = { [Direction] = {x = OFFSETX, y = OFFSETY}, } ]] --Lista de offsets para cada Outfit. local OutfitOffsets = { [143] = { --Outfit do primeiro gif [North] = {x = -13, y = -8}, [East] = {x = -17, y = -8}, [South] = {x = -13, y = -8}, [West] = {x = -15, y = -8}, }, [160] = { --Outfit de anão com o nome full drogado. [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = -13, y = -80}, [West] = {x = 0, y = 0}, } } local function translateDir(dir) if dir == NorthEast or dir == SouthEast then return East elseif dir == NorthWest or dir == SouthWest then return West end return dir end local function getOutfitInformationOffset(outfit, dir) if OutfitOffsets[outfit] then return OutfitOffsets[outfit][translateDir(dir)] end return {x = 0, y = 0} end local function onCreatureAppear(creature) local Offset = getOutfitInformationOffset(creature:getOutfit().type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureDirectionChange(creature, oldDirection, newDirection) local Offset = getOutfitInformationOffset(creature:getOutfit().type, newDirection) creature:setInformationOffset(Offset.x, Offset.y) end local function onCreatureOutfitChange(creature, newOutfit, oldOutfit) local Offset = getOutfitInformationOffset(newOutfit.type, creature:getDirection()) creature:setInformationOffset(Offset.x, Offset.y) end function init() connect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) connect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end function terminate() disconnect(LocalPlayer, {onOutfitChange = onCreatureOutfitChange}) disconnect(Creature, { onAppear = onCreatureAppear, onDirectionChange = onCreatureDirectionChange, onOutfitChange = onCreatureOutfitChange }) end A parte do módulo está finalizada, o que resta agora é configurar as Outfits na tabela com seus determinados Offsets, e não se preocupe, se a outfit não estiver configurada, ela vai seguir o padrão normal, o módulo só altera algo quando determinada Outfit está configurada. Para configurar o módulo é simples, basta seguir o padrão: [ID DA OUTFIT AQUI] = { [North] = {x = 0, y = 0}, [East] = {x = 0, y = 0}, [South] = {x = 0, y = 0}, [West] = {x = -0, y = 0}, }, Nos primeiros colchetes coloque o ID da sua Outfit para ter o offset modificado, os colchetes restantes são as direções, não é necessário mexer neles, dentro de cada índice da tabela tem os offsets X & Y, basta modificar o valor de acordo, sendo ele positivo ou negativo. NÃO SE ESQUEÇA DA VÍRGULA NO FINAL "},".
  15. Olá pessoal, estou com um problema no meu servidor, uso um servidor 7.72 com o OtCliente e ele tem a tecla de atalho para atacar runas em monstros, mas a mensagem "You can only use this rune on creatures" aparece constantemente se a criatura estiver executando , parece que "erra" o SD no monstro. Alguém aí sabe como posso resolver isso?
  16. Boa noite alguem pode me ajuda estou com esse problema algusn player consegue logar no ot mais outros player nao consegue eles testao outra maquia ae eles consegue logar
  17. Fala queridos, não sei se ja viram ou tentaram vender para vocês mas tibia ja esta acessivel no celular tutorial para android. Todos os creditos a equipe do OtcV8
  18. Boa tarde como eu arrumo o tamanho da foto ?
  19. - Olá presiso de ajuda para a copilação das soucers do Cliente da base do psoul , consigo copilar no codes so que o cliente copilado não abre e nem da erro não mostra nada, no visual studio 2013 que pede a versao v10 para a copilação da soucers da erro e presiso de ajuda nessa parte , quem enteder e puder me ajuda eu pago ou até mesmo dou vaga na staff ce gosta do servidor ! Whats para contato : (011) 982953498 Facebook : www.facebook.com/MarcosAlcantaraSP
  20. Será que algum de vocês sabem como isso foi feito? Essa é a parte do OT Client, mas como o sistema em sí foi feito, qual lógica o criador utilizou? Alguém tem algum sistema parecido ou tem algum no fórum sobre? E se alguém souber programar a module e o sistema em sí, comenta ai pra eu entrar em contato desde que cobre barato xD
  21. Quero adicionar alguns pokes novos no meu servidor, porém não estou conseguindo. Eu pego a sprite que eu quero e adiciono no meu server, mas ao entrar no jogo a sprite não esta adicionada. OBS: Sempre que eu entro no ObjectBuilder a sprite esta la, porém dentro do jogo não.
  22. Recentemente abri o meu Remeres e notei que todos o monstros e npcs sumiram, e eu não consigo adicionar nenhum deles. OBS: Dentro do jogo esta tudo normal, o problema é apenas no Remeres.
  23. Ultima versão oficial estou disponibilizando aqui compilado para windows 32,64 bits, caso alguém precise para linux avise. Vou disponibilizar os exes,e os datafiles. Suporte para versões 7.4-10.99 Downloads Scans Compilado32 Compillado64 Client_Files CREDITOS:Edubart Atualizado dia 10/10/2019 Agora tambem funciona em versoes 12+
  24. o qerendo compilar otclient mais tira error n hora d compilar

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

Tibia King Recomenda

DokeHost - Soluções em Hospedagem

VPS Windows
VPS Linux
Servidor VPS
×
×
  • Create New...