Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/01/22 em todas áreas

  1. Olá Galera do Tibia King! ? ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- TODOS OS CREDITOS AO @Lucas Giovanni TODOS OS CREDITOS AO @Lucas Giovanni Link do projeto oficial Link do projeto oficial https://github.com/lucasgiovannibr/myaac https://github.com/lucasgiovannibr/myaac ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- ----------------------------------------------------------- Hoje venho contribuir também com essa comunidade maravilhosa, deu um grande trabalho pra encontrar esses arquivos, mas consegui. Vou deixar aqui os arquivos completos para abrir o site do Myaac com as Outfits e itens da versão 12.85, e Client com ITENS da versão atual do tibia atualizado para abrir com o Object Builder, porém o executável da versão 12.86 configurado para jogar com servidor local, eu vou disponibilizar em outro tópico junto com o server! Lembrando que o Char Bazaar está disponível nesse modo. SCAN DOS ARQUIVOS: https://www.virustotal.com/gui/file/913e829138ce67c37557072a5cb3fc8421986048f8f67396fb5a19237e39114b/detection DOWNLOAD DOS ARQUIVOS: Como evolui bastante com a ajuda da comunidade, hoje também venho contribuir com os que não sabem instalar o site pelo MyAac ou "rodar" o site pelo Xampp. Imagem do Site "Instalando o site" 1- Baixe e Instale o programa Xampp https://downloadsapachefriends.global.ssl.fastly.net/7.4.29/xampp-windows-x64-7.4.29-1-VC15-installer.exe?from_af=true 2- Acesse o local do c:/xampp e vá até a pasta htdocs e exclua tudo que estiver dentro dessa pasta. 3- Abra o arquivo Site-myaac-main.zip, abra a pasta myaac-main e copie tudo que está dentro dela e cole na pasta htdocs do xampp. vai ficar da seguinte maneira: 4- Copie o Endereço da pasta do seu server, e Abra o arquivo Config.php na pasta htdocs 5- Configure o local do seu servidor. Fica Assim: Faça o mesmo na linha 89 e 90, só que em vez de copiar o endereço do server, copie o endereço da imagem e outfits: "não esqueça de extrair os outfits na pasta htdocs, e itens na pasta htdocs/images" 6- Inicie o programa do Xampp e clique em "Start" "MySQL" e "Apache" (no meu caso já startei o MySQL) Depois Clique em admin MySQL 7- Crie um servidor com o nome desejado, no meu caso vai ser meuserver 8- Clique no nome do seu servidor que está na lista, Importar, Escolher Arquivo, e escolha o Schema.sql que está dentro da pasta do seu servidor, role o mouse até a parte de baixo e clique no botão inferior direito da tela em "executar". Pronto, o Servidor criado! Agora vamos instalar o MyAac 9- Volte a tela do Xampp e clique em Apache Admin, vá avançando até chegar na seguinte tela: O Caminho da pasta do servidor é o mesmo esquema do Passo número 4 e 5: Preencha o formulário corretamente, Selecione a versão do seu cliente e clique novamente em avançar. 10- Essa parte é muito importante, recomendo salvar o email e senha em um bloco de notas, o email da conta de administrador vai ser usado para entrar e configurar o site pelo MyAac e também para logar a conta de administrador no jogo, mesmo que mude o email no phpMyAdmin o email para logar no MyAac vai ser mantido o mesmo que foi preenchido anteriormente, ou talvez de algum erro, portanto se não souber configurar, não mude o email ou senha que foi colocado para conta de administrador. Pronto, seu site está configurado para ser iniciado normalmente, lembrando que se quiser instalar o MyAac novamente com outra conta de administrador é só não excluir a pasta install localizada em htdocs, e excluir o arquivo config.local CASO QUEIRA configurar e instalar o MyAac novamente... Digite isso na barra de pesquisa, para acessar a página de administrador do MyAac: localhost/admin/ 11- Clique em Plugins e Procure o arquivo "2-plugin-myaac-tibia12-login-v2.0.zip" que está nos arquivos que disponibilizei, e depois clique em Upload! Esse plugin é necessário para logar corretamente no seu servidor pelo Client12.86.exe configurado em 127.0.0.1 12- Por fim vamos configurar o Config.lua localizado na pasta do seu servidor, em MysqlDatabase você coloca o nome do seu servidor (o mesmo que foi criado no phpmyadmin, citado no passo número 7! Esse foi o tutorial, espero ter ajudado, se eu te ajudei deixa o joinha? para ver quantas pessoas eu consegui ajudar, deu um trabalhão fazer tudo isso aqui, mas nada comparado a força que a comunidade ja me deu! Obrigado a todos e Bom Proveito!!! +++
  2. bem facil resolver isso amigo. abre 2 arquivos da sua source "luascript.cpp" e depois abre o "luascript.h" em luascript.cpp procure por "doCreatureChannelSay" ou "doPlayerSendTextMessage" E adicione abaixo: //doPlayerOpenChannel(cid, channelId) lua_register(m_luaState, "doPlayerOpenChannel", LuaInterface::luaDoPlayerOpenChannel); depois, FAÇA NOVAMENTE a busca pelo "doCreatureChannelSay" ou "doPlayerSendTextMessage" até chegar em uma função +/- assim: int32_t LuaInterface::luaDoPlayerSendTextMessage(lua_State* L) { vai ter varias coisas dentro dessa função, então COM CUIDADO, após o fechamento dela após o " } " procure pela chave que fecha essa função, e adicione essa função abaixo: int32_t LuaInterface::luaDoPlayerOpenChannel(lua_State* L) { //doPlayerOpenChannel(cid, channelId) uint16_t channelId = popNumber(L); uint32_t cid = popNumber(L); ScriptEnviroment* env = getEnv(); if(env->getPlayerByUID(cid)) { lua_pushboolean(L, g_game.playerOpenChannel(cid, channelId)); return 1; } errorEx(getError(LUA_ERROR_PLAYER_NOT_FOUND)); lua_pushboolean(L, false); return 1; } IMPORTANTE** preste bem atenção pra não colocar uma função dentro da outra, coloque a função exatamente ABAIXO da outra. feito isso, vá em luascript.h PROCURE novamente por "doCreatureChannelSay" ou "doPlayerSendTextMessage" e adicione abaixo: static int32_t luaDoPlayerOpenChannel(lua_State* L); após isso, recompile sua source, apenas com "make" não precisa recompilar ela toda do 0, pode recompilar apenas esses arquivos, e reabrir seu ot com o novo exe e pronto, estará 100% funcionando a função. caso isso tudo não de certo, me avise, que ai precisará adicionar algumas coisas em mais 3 arquivos.
  3. É que pelo oque eu tinha visto não tinha funcionado, ai tentei ajudar dando uma formula diferente mas.. boa sorte ai amigo!
  4. [Aula 9] Tabelas

    BreNiinxz reagiu a MaXwEllDeN por uma resposta no tópico

    1 ponto
    << Aula 8 - while & repeat Essa aula foi escrita por um suricato Notorious, todos os créditos pertencem à ele. Tabelas Aula 9 #Introdução Olá, nessa aula vamos conhecer um elemento que facilita muito a vida de programadores, principalmente quando se trata de um código com muitas variáveis e operações, as tabelas! Imagine uma tabela como se fosse uma estante com várias gavetas, quantas você desejar, dentro de cada gaveta tem um objeto, temos a gaveta um, a gaveta dois, e assim em diante ... podemos guardar objetos dentro de cada gaveta, tirar objetos delas e também saber o que tem dentro de cada uma, nessa analogia uma tabela é basicamente como se fosse essa estante. Uma tabela é uma variável estruturada que pode conter vários valores dispostos "dentro" de si (vide analogia), seu inicio é indicado por uma abertura de chave, ela pode conter inúmeros valores, de todos os tipos exceto nulo(nil), desde variáveis até strings, e dentro dela esses valores são separados por vírgulas (,), seu fim é indicado por um fechamento de chave. Essa definição pode ficar meio confusa aqui, mas garanto que ao longo da aula tudo vai se explicar. Exemplo: tb = {1, 2, 3, 4, 5} --> inteiros em uma tabela tb = {"hello", "world"} --> strings em uma tabela tb = {a = 2, b = 3} --> variáveis em uma tabela tb = {1, 2, 3, 4, 5} --> inteiros em uma tabela tb = {"hello", "world"} --> strings em uma tabela tb = {a = 2, b = 3} --> variáveis em uma tabela Como você pode perceber nos exemplos acima a declaração (criação) de uma tabela é semelhante a de uma variável comum, mas perceba que a estrutura é diferente, eu abri uma chave `{´ e dentro dessa chave comecei a colocar os valores que eu quero para cada posição na tabela, como se eu estivesse distribuindo-os nas "gavetinhas" 1, 2, etc, separados por vírgulas, é como se cada virgula indicasse que acaba uma gavetinha e começa outra, mas lembre-se só é permitido um valor em cada "gavetinha" e uma gavetinha não pode não ter valor ou ser nula, e no final ocorre um fechamento da chave `}´ que indica o fechamento/final da tabela. Através desses exemplos e definições percebemos uma coisa, uma tabela é uma variável comum, mas é como se pudessemos guardar vários valores dentro de uma variável só, dentro da tabela, ao invés de criarmos duas variáveis, porque não criamos uma tabela contendo os valores dessas duas variáveis. #Mas e então, qual é a vantagem de se usar tabelas? Além da organização e estruturação veremos mais pra frente jeitos de se manipular tabelas que farão com que seu código fique muito menor e mais prático com o uso delas, acompanhe ... #Agora vamos pra uma parte um pouco mais chatinha, preste atenção Tabelas contém indexes, o que é um index? Os indexes são chaves "primárias" às quais os valores da tabela são associados, todo valor em uma tabela exceto variáveis tem um index, o index se não definido por você é definido pela posição do valor na tabela, e eles tem a simples função de organização e identificação dos valores na tabela: tb = {2, 5, 4, 6} Sobre a tabela acima podemos afirmar que o valor 2 tem o index 1, mas porque? Pois como eu já falei o index é definido pela posição do valor na tabela, começando sempre do 1, então ele é o primeiro valor da tabela, tem a posição 1 E assim em diante, o valor 5 tem index 2, o 4 tem index 3, o 6 tem index 6 e sempre em diante ... Há também a opção de definir o index de um valor manualmente ao invés de simplesmente identifica-los pela posição na tabela, o que pode facilitar a associação de valores: --> [index] = valor tb = {2, 5, [15] = 30} Neste caso foi criada uma tabela, e para um de seus valores foi definido o index 15 manualmente, ou seja, o index do valor 2 é 1, e o do valor 5 é 2 (atribuidos pela posição), já para o valor 30 foi definido o index 15 manualmente, então o index do valor 30 é 15, e não 3 como seria normalmente ... #E como se pega os valores de uma tabela? Há dois meios de se pegar valores de dentro de uma tabela: Através do index do valor ou se a tabela contiver variáveis, através dos nomes das variáveis: t = {21, 23, 43, 54} t[2] --> esta sintaxe retornará o valor na tabela 't' no index 2, ou seja, 23 t[3] --> 43 t[4] --> 54 e assim por diante ... Para se obter valores de uma tabela através de variáveis inseridas nela é muito mais fácil: t = {level = 20, nome = "dragon"} t.level --> 20, 't' é a tabela e 'level' o nome da variável inserida nela t.nome --> "dragon" #A biblioteca 'table' Existem muitas funções dentro da biblioteca 'table', que são usadas para manipulação de tabelas, aqui vão elas e suas respectivas utilidades: table.concat (table [, sep [, i [, j]]]) --> Dada uma tabela onde todos os elementos são strings ou números retorna os elementos de i ou o inicio e j ou o fim concatenados em sequencia intercalados por 'sep', separador table.insert (table, [pos,] value) --> Insere o valor 'value' na 'pos' (index) na tabela 'table' table.remove (table [, pos]) --> Remove o valor associado ao index 'pos' da tabela 'table' table.sort (table [, comp]) --> Ordena os elementos da tabela 'table' em dada ordem, se comp é fornecido então ele deve ser uma função que recebe dois elementos da tabela e retorna true quando o primeiro é menor do que o segundo #E como uma tabela pode ser util no meu script? Pode ser útil na associação de valores, observe este script de troca de sexo, ao invés de dois ifs checando o sexo, como o sexo só pode ser 0 ou 1, você usa uma tabela: function onUse(cid) local sex = { [0] = 1, [1] = 0, } doPlayerSetSex(cid, sex[getPlayerSex(cid)]) return true end Se o sexo do jogador for 0, atraves do valor no index 0 na tabela, o sexo é trocado para 1, e vice-versa .. Como também pode ser útil para armazenar configurações ou variáveis: local config = { effect = 1, removeRune = true, combat = 2 } config.effect --> 1 config.removerune --> true config.combat --> 2 #Utilidades #Curiosidades Tabelas são o único mecanismo de estruturação de dados em Lua; Tabelas podem ser heterogêneas; isto é, elas podem conter valores de todos os tipos (exceto nil). Existem várias maneiras convenientes de se criar tabelas em Lua Campos de tabela podem conter funções *nil = tipo de valor nulo, vazio Gostou? Agradeça ... Exercício Crie uma tabela, contendo 2 valores inteiros, 2 strings e 2 variaveis. Printe os elementos semelhantes da tabela separadamente. OBS: Os valores podem ser aleatórios Aula escrita por um suricato Notorious, todos os créditos são dele. Aula 10 - O comando for >>
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo