Biblioteca/Função Compilando Autoloot + Modal Windows no Otclient v8
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por marcoshps11
* Áudio de saudação *
Neste tutorial, irei ensinar alguns passos inicias para utilizar o OTClientV8
1º Passo: Como fixar ip e colocar a spr no local correto
- Faço o download no link: https://github.com/OTCv8/otclientv8
- Extraia o arquivo
- Dentro da pasta principal, vá até o arquivo init.lua
Neste trecho, precisará remover os comentários --[[ e ]]:
Servers = { --[[ OTClientV8 = "http://otclient.ovh/api/login.php", OTClientV8c = "otclient.ovh:7171", OTClientV8Test = "http://otclient.ovh/api/login2.php", LocalTestServ = "127.0.0.1:7171:1098:110:30:93" ]] }
Ficando assim:
Servers = { Meuserver = "127.0.0.1:7171:1098" } ficando na seguinte configuração NOME = "IP:PORTA:VERSÃO"
Para fixar e não aparecer a lista de servers, basta alterar:
ALLOW_CUSTOM_SERVERS = true -- if true it shows option ANOTHER on server list
Para:
ALLOW_CUSTOM_SERVERS = false -- if true it shows option ANOTHER on server list
Caso queira trocar o nome do aplicativo é só mudar
g_app.setName("OTCv8") trocando o "OTCv8" para o nome desejado, lembrando que isto irá alterar apenas o nome da janela do aplicativo
Incluir a SPR/Dat:
Para incluir, basta ir na pasta data, criar uma nova pasta e renomear com o nome "things" e depois criar uma outra pasta dentro dela com o nome da versão que desejar utilizar, exemplos:
* 800
* 860
* 910
* 1100
dentro desta pasta, incluir as respectivas spr/dat da versão correspondente
Um vídeo objetivo do conteúdo citado acima:
2º Passo: Remover campo "Token" da tela inicial
Apesar de ser algo simples, vejo muitos perguntarem como remover este campo, vamos lá:
- Vá até a pasta modules -> client_entergame
- Abra o arquivo entergame.lua
- Na linha 380 remova ou comente o trecho:
enterGame:getChildById('accountTokenTextEdit'):clearText()
- Na linha 412 remova ou comente o trecho:
G.authenticatorToken = enterGame:getChildById('accountTokenTextEdit'):getText()
- salve o arquivo
- na mesma pasta, abra o arquivo entergame.otui
- da linha 32 a 44 remova ou comente o seguinte trecho:
MenuLabel !text: tr('Token') anchors.left: prev.left anchors.top: prev.bottom text-auto-resize: true margin-top: 8 TextEdit id: accountTokenTextEdit anchors.left: parent.left anchors.right: parent.right anchors.top: prev.bottom margin-top: 2
Um vídeo objetivo do conteúdo citado acima:
3º Passo: como encriptar os arquivos
- Recomendo inicialmente criar uma cópia da pasta que ira encriptar, pois não é reversivo
- Copie o endereço da pasta onde estão os arquivos
- Abra o cmd e navegue até esta pasta utilizando o comando cd (link do endereço da pasta)
- utilize o comando otclient_dx.exe --encrypt
- Aguarde o sistema sinalizar que os arquivos foram encriptados
PS: a pasta do modulo bot ( modules -> game_bot ) não pode ser encriptado, remova ela antes deste processo.
Um vídeo objetivo do conteúdo citado acima:
4º Passo: Utilizando o auto update
IMPORTANTE:
Este processo precisa ser feito exatamente como demonstrado, qualquer link errado o sistema não irá funcionar.
- Dentro da pasta API, abra o arquivo updater_advanced.php
em $files_dir = "/var/www/otclient/files"; é a pasta onde conterá os arquivos do otclient para download, lembrando que o caminho precisa estar especificada desde a pasta inicial
em $files_url = "http://otclient.ovh/files"; é o link que você pode utilizar o navegador para acessar a pasta "files" a mesma pasta do processo anterior.
em $checksum_update_interval = 60; é o tempo em segundos, que o update levará para checkar se há alguma atualização ( não é necesário alterar )
- Na sua vps, dentro da pasta do SITE, cria uma pasta chamada API e outra pasta dentro dela chamada FILES
- Envie o arquivo updater_advanced.php para a pasta API
- De permissão 777 para pasta e subpasta API
* voltando aos arquivos do otclient *
- Abra o arquivo init.lua
aconselho alterar o "APP_NAME = "otclientv8", pois é o nome da pasta que ficará salva nos arquivos temporários, isso evitará conflitos com versões já existe no pc
altere o campo updater, colocando o endereço apontado para o arquivo updater_advanced.php enviado para o seu site nos passos anteriores.
- Após as edições anteriores, salve o arquivo
- Compacte os arquivos data, layout, modules e init.lua, renomeando para data.zip ( obrigatoriamente precisa ser zip )
- Exclua os arquivos zipados e os demais desnecessários para os jogadores.
Atenção: o auto update só funcionará se os arquivos estiverem zipado conforme descrito.
- Envie todos os arquivos para a pasta files em sua vps ( recomendo zipar para enviar, poupara processamento e tempo de envio )
- Após enviar, extraia os arquivos NA VPS, os arquivos no pc devem continuar zipado
- Atenção nesta parte, as pastas e arquivo data / layout / modules / init.lua necessáriamente precisam estar na mesma pasta do executáveis, conforme time 4:20 no vídeo que deixarei disponível no final.
lembrando: o update só aceitará arquivos editados após o tempo estipulado em checksum_update_interval , se fizer edições antes deste tempo, o sistema não irá considerar
Um vídeo objetivo do conteúdo citado acima:
-
Por Jordan422
Fala comunidade do Tibia King! Eu sei que tem alguém ai escondido que manja muito de modules do Otclient... Se você é essa pessoa, então pode me ajudar e ainda ser pago por isso!
Estou com um projeto de servidor 8.0 já rodando a mais de 2 meses, old school 8.0 com Prey System. Porém essa prey está faltando três funcionalidades do global que são essenciais ( marcado em vermelho na imagem )
Isso ai já tá meio caminho andado, já estou com o código responsável por essas 3 funcionalidades na source e no módulo da prey do meu TFS, só falta passar essas informações para o Otclient.
-
Por Anderson Sacani
Estou criando um servidor com base nos scripts de TFS 1.x e voltado ao público da america latina por causa do baixo ping na VPS... Argentina, Bolívia, Brasil, Chile, entre outros, portanto sei que falamos em português e nossos vizinhos em espanhol.
Todos os sistemas do meu servidor são pensados para terem traduções e venho por meio deste tópico compartilhar à vocês algumas dessas funções:
Antes de qualquer coisa, você precisará adicionar a seguinte variável em alguma biblioteca:
USER_LANGUAGE = 1022118443
Agora que adicionou essa variável em alguma biblioteca, poderá adicionar as seguintes funções na mesma biblioteca, porém a baixo da variável USER_LANGUAGE.
A primeira função serve para retornar qual idioma o player está usando:
--[[ getLanguage, how to use: player:getLanguage() ]] function Player.getLanguage(self) if self:isPlayer() then if self:getStorageValue(USER_LANGUAGE) < 1 then return "portuguese" else return "spanish" end else print("getLanguage: Only works on players..") end end Um exemplo de como usar: player:getLanguage()
A segunda função serve para alterar o idioma do player. O ideal é que seja usada na primeira vez em que o player loga no servidor:
--[[ setLanguage, how to use: player:setLanguage("portuguese") ]] function Player.setLanguage(self, language) local value = 0 if self:isPlayer() then if language == "portuguese" then value = 0 elseif language == "spanish" then value = 1 else print("setLanguage: Only two options available. Choose one of them: 'portuguese' or 'spanish'.") end return self:setStorageValue(USER_LANGUAGE, value) else print("setLanguage: Only works on players..") end end Exemplos de como usar:
player:setLanguage("portuguese")
ou
player:setLanguage("spanish")
A terceira e não menos importante função, serve para mandar uma mensagem de texto ao jogador, porém ele receberá no idioma em que escolheu:
--[[ sendLanguageTextMessage, how to use: local portugueseMessage = "Ola, tudo bom? Isto aqui é um algoritmo!" local spanishMessage = "Hola todo bien? Esto de aqui es un algoritmo!" player:sendLanguageTextMessage(MESSAGE_EVENT_ADVANCE, portugueseMessage,spanishMessage) ]] function Player.sendLanguageTextMessage(self, type, portugueseMessage, spanishMessage) if self:isPlayer() then if self:getStorageValue(USER_LANGUAGE) < 1 then return self:sendTextMessage(type, portugueseMessage) else return self:sendTextMessage(type, spanishMessage) end else print("sendLanguageTextMessage: Only works on players..") end end Um exemplo de como usar:
player:sendLanguageTextMessage(MESSAGE_EVENT_ADVANCE, portugueseMessage, spanishMessage)
O primeiro parâmetro é o tipo de mensagem, o segundo parâmetro será a mensagem em português e o terceiro parâmetro será em espanhol.
-
Por yurikil
Saudações a todos, venho por meio deste tópico pedir uma ajuda no qual estou tentando fazer a muito tempo. Já vi alguns post aqui mesmo no TK, mas nenhum eu tive êxito. Por isso venho pedir um socorro de como eu consigo aumentar a quantidade de MagicEffects acima de 255 no meu NewClient OTC? Se alguém puder fortalecer ficarei muito grato!!
-
-
Estatísticas dos Fóruns
96842
Tópicos519597
Posts
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.