Jump to content

Search the Community

Showing results for tags 'sql'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • A Cidade OTBR
    • OTServ Brasil
    • Atendimento
    • Taverna
  • OpenTibia
    • Notícias e Discussões
    • Suporte - Dúvidas, Bugs, Erros
    • Downloads
    • Tutoriais
    • Show-Off
    • Divulgação de Servidores
    • Projetos e Formações de Equipes
  • Outros
    • Design

Found 7 results

  1. Website Gesior problema forum

    Antes de fazer a sua pergunta, tenha certeza de ter lido o guia abaixo: [Hidden Content] Descreva em algumas palavras a base utilizada. (Nome do servidor / Nome do cliente / Nome do Website / etc). Ex: The Forgotten Server 1.3, Versão: 10.98; Base: otx 0.4 8.60 Qual a sua pergunta? to com um problema toda vez que vou acessar o forum ou editar algo Você tem o código disponível? Se tiver poste-o na caixa de código que está dentro do spoiler abaixo: Você tem alguma imagem que possa auxiliar no problema? Se sim, anexe-a dentro do spoiler abaixo:
  2. Object SQL

    Como funciona? Esta lib funciona como um façade para trabalhar com queries de um jeito mais "programador". A seguinte query, por exemplo: (...) tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = 0") if(tmp:getID() == -1) then (...) Se transforma no seguinte código: (...) tmp = query:select('id', 'begin', 'end', 'payment'):from('guild_wars'):where('guild_id', guild):where('enemy_id', enemy):where('status', 0):execute() if (tmp.id == -1) then (...) Quem já está acostumado com frameworks e outras facilidades de transformar queries em objetos vai sentir diferença na facilidade para escrever queries. Em outro exemplo, executando um update: db.executeQuery("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) Com a lib, se torna: query:update('guilds'):set('balance', dec(tmp.payment)):where('id', guild):execute() Esta é outra facilidade, adicionei os modificadores inc e dec para incrementar ou decrementar, respectivamente, os campos em questão, e levam um parâmetro opcional que indica a quantidade a ser alterada. Nada o impede, também, de construir a query em vários passos: query:update('guilds') local payment = tmp.payment query:set('balance', dec(payment)) local id = getPlayerGuild(cid) --não sei se essa função existe, é apenas um exemplo query:where('id', id) E também, você pode saber se sua query foi executada ou não: if query:execute() then (...) Veja outros exemplos de código: query:insert_into('players'):values({name = 'Lordfire\'Rook', account_id = 0, level = 39, vocation = 0}):execute() query:update('players'):set({vocation = 4, access = inc(), level = inc(5)}):where('name', 'Lordfire\'Rook'):execute() query:select():from('players', 'accounts'):where('players.level', '>=', 39):where('players.access', 1):execute() query:delete_from('players'):where('level', '>=', 30):where('access', 0):execute() Repare que, para inserir, você usa o método values e envia uma tabela com as informações. A query automaticamente ordena os campos a serem preenchidos com seus respectivos dados. Você pode informar múltiplas tabelas no método from, mas deve indicar os campos com o nome da tabela para evitar redundância (por exemplo: level -> players.level) O método where também leva um parâmetro opcional, no meio, caso você queira usar alguma comparação que seja diferente de =. Estes códigos geram as seguintes queries, para efeito de consulta, que você pode pegar com o método query(), caso queira usar junto com outra query: INSERT INTO `players`(`account_id`,`vocation`,`name`,`level`)VALUES(0,0,"Lordfire'Rook",39); UPDATE players SET `level`=`level`+5,`vocation`=4,`access`=`access`+1 WHERE `name`="Lordfire'Rook"; SELECT * FROM `players`,`accounts` WHERE `players`.`level`>=39 AND `players`.`access`=1; DELETE FROM players WHERE `level`>=30 AND `access`=0; Lib: Pastebin: [Hidden Content] Código: function mod(key, _type, value) if value == nil then value = 1 end return key .. _type .. value end function inc(value) return function(key) return mod(key, [[+]], value) end end function dec(value) return function(key) return mod(key, [[-]], value) end end Query = {} function Query:new() return setmetatable({type = [[]], columns = [[]], tables = [[]], conditions = {}}, {__index = self}) end -- C function Query:insert_into(_table) self.type, self.columns, self.tables, self.conditions = [[insert]], [[]], [[`]] .. _table .. [[`]], {} return self end function Query:values(values) local _columns, _values = {}, {} for k, v in pairs(values) do table.insert(_columns, [[`]] .. k .. [[`]]) if type(v) == "string" then v = [["]] .. v:gsub([[\"]], [[\"]]) .. [["]] end table.insert(_values, v) end self.columns, self.conditions = [[(]] .. table.concat(_columns, [[,]]) .. [[)]], _values return self end -- R function Query:select(...) self.type, self.columns, self.tables, self.conditions = [[select]], [ [*]], [[]], {} local columns = {...} if #columns > 0 then for i, c in ipairs(columns) do columns[i] = [[`]] .. c .. [[`]] end self.columns = table.concat(columns, [[,]]) end return self end -- U function Query:update(_table) self.type, self.columns, self.tables, self.conditions = [[update]], [[]], _table, {} return self end function Query:set(columns) local _columns = {} for k, v in pairs(columns) do k = [[`]] .. k:gsub([[\.]], [[`.`]]) .. [[`]] if type(v) == "string" then v = [["]] .. v:gsub([[\"]], [[\"]]) .. [["]] elseif type(v) == "function" then v = v(k) end table.insert(_columns, k .. [[=]] .. v) end self.columns = table.concat(_columns, [[,]]) return self end -- D function Query:delete_from(_table) self.type, self.columns, self.tables, self.conditions = [[delete]], [[]], _table, {} return self end -- RU function Query:where(...) local params = {...} local column, comparison, value = [[`]] .. params[1]:gsub([[%.]], [[`.`]]) .. [[`]], [[=]], nil if #params == 2 then value = params[2] elseif #params == 3 then if params[2]:find("[<>]=") then comparison, value = params[2], params[3] else comparison = [[ ]] .. params[2] .. [[ ]] end else return false end if type(value) == "string" then value = [["]] .. value:gsub([[\"]], [[\"]]) .. [["]] end table.insert(self.conditions, column .. comparison .. value) return self end -- RD function Query:from(...) local tables = {...} for i, t in ipairs(tables) do tables[i] = [[`]] .. t .. [[`]] end self.tables = table.concat(tables, [[,]]) return self end function Query:query() local query = [[]], {} if self.type == [[insert]] then query = [[iNSERT INTO ]] .. self.tables .. self.columns .. [[VALUES(]] .. table.concat(self.conditions, [[,]]) .. [[)]] elseif self.type == [[select]] then local where = [[]] if self.conditions ~= [[]] then where = [[ WHERE ]] .. table.concat(self.conditions, [[ AND ]]) end query = [[sELECT ]] .. self.columns .. [[ FROM ]] .. self.tables .. where elseif self.type == [[update]] then local where = [[]] if self.conditions ~= [[]] then where = table.concat({[[ WHERE]], table.concat(self.conditions, [[ AND ]])}, [[ ]]) end query = [[uPDATE ]] .. self.tables .. [[ SET ]] .. self.columns .. where elseif self.type == [[delete]] then local where = [[]] if self.conditions ~= [[]] then where = table.concat({[[ WHERE]], table.concat(self.conditions, [[ AND ]])}, [[ ]]) end query = [[DELETE FROM ]] .. self.tables .. where end return query .. [[;]] end function Query:execute() local query, result = self:query() if self.type == [[insert]] then local result = {} query = db.getResult(query) for k, v in pairs(query.val) do result[k] = v end return result end return db.executeQuery(query) end query = Query:new() Avisos: Isso não é uma biblioteca completa de MVC ou qualquer coisa parecida. É apenas um "wrapper" para construir queries de um jeito mais dinâmico, organizado e sem se preocupar com concatenação e afins. Não há sanitização de strings, testes para verificar se as funções existem ou coisa do tipo, portanto, tome cuidado. A biblioteca ainda está em fase de testes, não cheguei a usar ela num servidor com muitos players online. Se alguém puder fazer isso, ficarei agradecido. Posso transformar as queries para a sintaxe da biblioteca, se necessário.
  3. Este tutorial vai ser uma "mão na roda" para muitas pessoas. QUer Quiser algum comando que não tenha na listagem me mande PM que eu atualizo no Topico. Créditos ao Sphex pelas SS. Baixo segue como faz para executar os comandos Passo1: Passo2: Remover Premium ACC de todos. Não funciona com VIP System . UPDATE account SET premdays=0; Dar 7 dias de Premium ACC a todos os players. Não funciona com VIP System. UPDATE accounts SET premdays = premdays + 7 Mardar todos os Players para o templo. UPDATE players SET posx = X, posy = Y, posz = Z; Colocar todo mundo como Grupo 1 = Player. UPDATE groups SET flags=0,name="Player" WHERE id=1; UPDATE players SET group_id=1; DELETE FROM groups WHERE id<>1; Criar Account Manager. (Original em forgottenserver.sql) INSERT INTO `players` VALUES (1, 'Account Manager', 1, 1, 1, 0, 150, 150, 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, 0, 0, 0, 50, 50, 7, '', 400, 0, 0, 0, 0, 0, 0, 0, '', 0, 0, 0, 0, 10, 10, 10, 0, 0); Remover Red Skull e frags de todos. UPDATE `players` SET `redskulltime`=0; Dar Todas as Blesses aos players. UPDATE `players` SET `blessings`=31; Remover um item especifico (exemplo id 2160) completamente do jogo (depot, players, houses). Ótimo para casos de cloners. DELETE FROM player_depotitems, player_items, tile_items WHERE itemtype = 2160; Deletar players inativos, level baiaxo de 50, 20 days Inativo. Recomendo um backup do seu banco de dados antes desta ação. DELETE FROM players WHERE level < 50 AND lastlogin < UNIX_TIMESTAMP() - 20*24*60*60 Deletou um player do banco de dados? Com este código irá remover todos os items dele que ficaram no database. DELETE FROM player_items WHERE player_id NOT IN (SELECT id FROM players); Deletar todos os itens de um único player .Onde 1234 é o ID do player. DELETE FROM `player_depotitems` , `player_items` WHERE `player_id` = '1234' Trocar o outfit de todos os players. UPDATE players SET lookbody =69, lookfeet =95, lookhead =115, looktype =128 Remover as casas de players que foram deletados. UPDATE `houses` SET `owner` = '0' WHERE `houses`.`owner` NOT IN ( SELECT `players`.`id` FROM `players` WHERE `players`.`id` = `houses`.`owner` ); Deletar um Storage de todos os players. Ótimo em caso de bugs de Quest. DELETE FROM `player_storage` WHERE `key` = '11551'; E o Global Storage Também. DELETE FROM `global_storage` WHERE `key` = '11551'; Dica dada Pelo Mock; Deleta players que nunca logaram DELETE FROM `players` WHERE `lastlogin`=0; Espero ter ajudado.
  4. [TUTORIAL 100% Original, por mim!] Bom, vou compartilhar com vocês um método extremamente prático e revolucionário de editar a database do seu server, este vai ser o primeiro Tutorial em todos os sites de OTServ, método totalmente descoberto por mim! Em primeira mão exclusivo para o OTNET! ______________________________________________ Primeiramente vou explicar como funciona! SQLite Manager é uma extensão para o Mozilla Firefox que permite o gerenciamento por meio do navegador de qualquer banco de dados SQLite existente no computador. O SQLite é uma biblioteca C que implementa um banco de dados SQL embutido, sem a necessidade de ter um sistema gerenciado de bancos de dados, como o MySQL ou Oracle. Desta forma, com SQLite Manager você pode acessar esta biblioteca diretamente pelo navegador do Firefox, tornando-se uma boa alternativa para quem necessita de velocidade e de recursos não oferecidos pelos demais sistemas de gerenciamento. Assim você pode configurar seu OTServ sem precisar instalar programas como o XAMPP por exemplo, bom, agora vamos ao que interessa! _____________________________________ [1º Passo - Instalando] -> Clique aqui para instalar a extensão SQLite Manager <- Logo após, clique em instalar agora! [2º Passo - Abrindo o SQLite Manager] Após instalar, para abrir a interface do gerenciador, clique na opção Ferramentas, na Barra de Ferramentas do Firefox e escolha a opção SQLite Manager. Em seguinda, abre-se uma janela de opções do programa, sendo possível abrir os bancos de dados, bem como criar novos e gerenciar por completo todos eles. [3º Passo - Administrando o SQLite] Clique na pastinha amarela, vá até a pasta do seu OTServ (como exemplo usei o Styller), em "Arquivos do tipo", selecione Todos os arquivos, e selecione o banco de dados do seu OT (no caso aqui seria o Styller.s3db) Conecte-se ao banco e faça todas as modificações que desejar como criação e cópia de tabelas novas ou índices, alterar accounts, executar bancos de dados SQL, bem como configurar todas as opções da base de dados. :loool: Espero que tenham gostado ______________________ Créditos: 100% para mim!
  5. O que é SQL

    O que é SQLite? SQLite é um arquivo de banco de dados baseado na linguagem SQL. Diferente do MySQL, SQLite não é executado a partir de um servidor, mas diretamente a partir de um arquivo em seu computador. Por que usar um sistema baseado em banco de dados? Simplesmente pela velocidade de leitura, suporte e desempenho de forma a atender a viabilidade de bom uso dos recursos do sistema. No XML = carregamento de arquivos inteiros estruturados em XML No SQL = leitura de linhas de códigos presentes em um banco de dados Para ativar/alternar o SQLite, certifique-se o servidor que deseja executar suporta SQLite e que foi compilado com SQLite. Em seguida, abra o seu config.lua e procure a marcação: O que vem a ser Tables? Tables é a unidade principal de edição para o Open Tibia Server, sendo Triggers os codes que dão suporte a eles, mas raramente utilizados por sua complexidade e, portanto não irei abordá-los. Voltando a Tables, os nomes são bastante lógicos ao que se refere, mas irei falar um pouco sobre cada um deles... Funções SQL Funções de valores simples: ABS(n)= Devolve o valor absoluto de (n). CEIL(n)=Obtém o valor inteiro imediatamente superior ou igual a "n". FLOOT(n) = Devolve o valor inteiro imediatamente inferior ou igual a "n". MOD (m, n)= Devolve o resto resultante de dividir "m" entre "n". NVL (valor, expressão)= Substitui um valor nulo por outro valor. POWER (m, exponente)= Calcula a potência de um número. ROUND (numero [, m])= Arredonda números com o número de dígitos de precisão indicados. SIGN (valor)= Indica o signo do "valor". SQRT(n)= Devolve a raiz quadrada de "n". TRUNC (numero, [m])= Trunca números para que tenham uma certa quantidade de dígitos de precisão. VAIRANCE (valor)= Devolve a média de um conjunto de valores. Funções de grupos de valores: AVG(n)= Calcula o valor médio de "n" ignorando os valores nulos. COUNT (* | Expressão)= Conta o número de vezes que a expressão avalia algum dado com valor não nulo. A opção "*" conta todas as filas selecionadas. MAX (expressão)= Calcula o máximo. MIN (expressão)= Calcula o mínimo. SUM (expressão)= Obtém a soma dos valores da expressão. GREATEST (valor1, valor2…)= Obtém o maior valor da lista. LEAST (valor1, valor2…)= Obtém o menor valor da lista. Funções que devolvem valores de caracteres: CHR(n) = Devolve o caractere cujo valor em binário é equivalente a "n". CONCAT (cad1, cad2)= Devolve "cad1" concatenada com "cad2". LOWER (cad)= Devolve a cadeia "cad" em minúsculas. UPPER (cad)= Devolve a cadeia "cad" em maiúsculas. INITCAP (cad)= Converte a cadeia "cad" a tipo título. LPAD (cad1, n[,cad2])= Adiciona caracteres à esquerda da cadeia até que tenha uma certa longitude. RPAD (cad1, n[,cad2])= Adiciona caracteres à direita até que tenha uma certa longitude. LTRIM (cad [,set])= Suprime um conjunto de caracteres à esquerda da cadeia. RTRIM (cad [,set])= Suprime um conjunto de caracteres à direita da cadeia. REPLACE (cad, cadeia_busca [, cadeia_substitucao])= Substitui um caractere ou caracteres de uma cadeia com 0 ou mais caracteres. SUBSTR (cad, m [,n])= Obtém parte de uma cadeia. TRANSLATE (cad1, cad2, cad3)= Converte caracteres de uma cadeia em caracteres diferentes, segundo um plano de substituição marcado pelo usuário. Funções que devolvem valores numéricos: ASCII(cad)= Devolve o valor ASCII da primeira letra da cadeia "cad". INSTR (cad1, cad2 [, comeco [,m]])= Permite uma busca de um conjunto de caracteres em uma cadeia, mas não suprime nenhum caractere depois. LENGTH (cad)= Devolve o número de caracteres de cad. Funções para o manejo de datas: SYSDATE= Devolve a data do sistema. ADD_MONTHS (data, n)= Devolve a data "data" incrementada em "n" meses. LASTDAY (data)= Devolve a data do último dia do mês que contém "data". MONTHS_BETWEEN (data1, data2)= Devolve a diferença em meses entre as datas "data1" e "data2". NEXT_DAY (data, cad)= Devolve a data do primeiro dia da semana indicado por "cad" depois da data indicada por "data". Funções de conversão: TO_CHAR= Transforma um tipo DATE ou NUMBER em uma cadeia de caracteres. TO_DATE= Transforma um tipo NUMBER ou CHAR em DATE. TO_NUMBER= Transforma uma cadeia de caracteres em NUMBER. A função datepart() em Access Há alguns dias tinha que fazer uma consulta sobre datas em Access: "Obter o nome das empresas cuja data de inscrição coincidia com "x" ano" e li um artigo publicado em uma web com o título: "Funções para buscas com datas em Access". Depois de ler este artigo soube da existência da função DatePart(), porém a forma de colocá-la em prática tal como o problema me enfocava, não é nada simples, ou nesse momento, não o vi claro. De fato, fazendo uma busca, tudo era bastante confuso implementando programinhas em VBA (Visual Basic Aplications). (Importante: O formato de data em Access é o formato americano: mm/dd/aaaa, porém neste caso o formato americano e o da tabela quanto ao ano que se referem coincidem.) Se realizamos a seguinte consulta: SELECT DatePart("yyyy",FECHA_ALTA) FROM table1; Obtemos: Até tudo bem, o problema surge quando você quer obter só um tipo de data na qual o ano coincida com um dado. Por exemplo, quero obter todas as empresas inscritas no ano 2003 e você dispõe de 1000 empresas com 1000 datas de inscrição... Para isso, há que fazer o seguinte: SELECT * FROM Tabela1 WHERE DatePart("yyyy",FECHA_ALTA)="2003"; SQL e Programação de Banco de Dados Quero me apresentar a você e iniciar um contato periódico para tratarmos assuntos relacionados à linguagem SQL e à programação de banco de dados. Trabalho com banco de dados há algum tempo e sei o quanto é importante trocar experiências com outros profissionais. Ninguém é capaz de extrair o máximo de um banco de dados, mas, juntos, podemos realizar mais e de uma maneira cada vez melhor. Minha experiência maior tem sido desenvolvida junto ao banco de dados Oracle, mas a padronização do comando SQL e pelo fato de os conceitos de programação de um banco de dados serem facilmente aplicados a qualquer outro banco de dados, faz com que possamos tratar destes assuntos quase que universalmente. SQL A linguagem SQL (Structured Query Language) é a base para utilização de bancos de dados relacionais. Com a utilização dos comandos básicos (INSERT, DELETE, UPDATE e SELECT) pode-se resolver a maior parte dos problemas relacionados a manutenção e extração de dados no banco de dados. Com o SQL é possível criar as estruturas básicas de armazenamento, como tabelas e índices. Também há comandos específicos da linguagem para o controle e segurança relacionado a um banco de dados. Em princípio, os comandos SQL são divididos em: DDL (Data Definition Language) ou Linguagem de definição de dados DML (Data Manipulation Language) ou Linguagem de manipulação de dados DQL (Data Query Language) ou Linguagem de recuperação de dados DCL (Data Control Language) ou Linguagem de controle de dados O SQL tem sido aprimorado ao longo do tempo. Duas entidades (ANSI – American National Standards Institute e ISO – International Standards Organization) vêm, desde 1986, publicando padrões de especificação da linguagem SQL. Vamos discutir como abordar e tirar o máximo de proveito desta linguagem que é extremamente importante para todos os profissionais de banco de dados. Os principais tópicos que serão de interesse envolvem: Fundamentos da linguagem SQL Extensões e particularidades de cada banco de dados Melhoria no desempenho de consultas Utilização de funções analíticas em banco de dados Tendências do uso da linguagem Naturalmente a idéia é ter uma visão prática, com exemplos e com a abertura de uma discussão entre todos os leitores. Programação de Banco de Dados Os comandos da linguagem SQL são muito poderosos, mas normalmente consegue-se melhorar o desempenho das aplicações através da programação do banco de dados. Ao desenvolver módulos que sejam executados diretamente no servidor diminui-se o tráfego de informações na rede, esconde-se boa parte das estruturas das tabelas e agiliza-se o processamento e retorno das mensagens. Internamento o banco de dados possui mecanismos integrados que permitem unir as estruturas tradicionais de programação com os comandos SQL. O banco de dados possui mecanismos próprios que podem ser utilizados em favor do desenvolvedor. Cada banco de dados possui um conjunto específico de comandos que definem a linguagem de programação do banco de dados. No caso do Oracle, a linguagem é o PL/SQL, o SQL Server possui o Transact-SQL, o DB2 possui sua própria linguagem de programação, o PostGreSQL possui diversas extensões que podem ser utilizadas como linguagem de programação e o MySQL lançou sua mais recente versão com a possibilidade de programar o servidor. Cada banco de dados é único sob este aspecto, mas todos trabalham sobre os mesmos conceitos. É possível criar módulos programáveis, como funções, procedimentos, objetos, pacotes, gatilhos, etc. Em todos os casos, há um engine responsável pela integração e execução dos módulos no servidor de banco de dados. Desta forma, os tópicos que serão trabalhados serão: Fundamentos de programação de banco de dados Aspectos avançados da programação Desempenho dos módulos Programação aliada à extração de dados gerenciais Tendências em programação de banco de dados Como se pode notar, os tópicos são quase os mesmos da linguagem SQL. Também teremos artigos que poderão ser implementados, testados e melhorados por todos os leitores. Site Do Sqlite [Hidden Content]
  6. Tutorial Otserv Sql Server 2.0

    Bem... eu vi 2 tópicos com o mesmo assunto, porém nenhum deles está 100% completo... Eu vou botar um aqui totalmente completo com fotos e por etapas! -------------------------------- Versão 1.0: Lançamento do Tutorial! Versão 2.0: Foi modificada o 14º e 15º passos e foi botada "cores" para melhor entender. -------------------------------- 1º passo: Baixe o Xampp atravéz desse link: [Hidden Content] 2º passo: Instale-o por completo (MySql, FileZilla FTP, etc.) 3º passo: Abra o Xampp Control Panel (que se você botou pra criar atalho, vai tar no Desktop, ou você lá pela pasta do xampp mesmo). 4º passo: Rode os servidores de Apache e MySql como a screen abaixo: 5º passo: Clique neste Link para abrir a página do Xampp (é necessário ter todos os arquivos que tem no htdocs logo ao instalar) 6º passo: Escolha o idioma "portuguese", e assim irá abrir uma página. 7º passo: Clique em "Segurança" que está na Screen abaixo: 8º passo: Um pouco abaixo na página aberta, clique em [Hidden Content]. 9º passo: Escolha uma senha que você NUNCA se esqueça e clique em Alterar senha. O USUÁRIO SEMPRE IRÁ SER "ROOT"!!! 10º passo: Entre em phpMyAdmin (no primeiro login você não precisa botar a usuário e nem a senha, no segundo pra frente irá ser necessário). 11º passo: Em cima da página irá ter escrito: "Criar novo Banco de Dados". Bote como a Screen abaixo e clique em "Criar" ao lado. 12º passo: Irá abrir algo parecido como a Screen abaixo, porém não iremos usá-lo agora. 13º passo: Na pasta do seu OT em Sql vai ter um arquivo como na Screen abaixo, copie e cole o arquivo e renomeie-o para "sample" (no caso do Zorzin vai estar escrito "zorzin") (pode pegar qualquer arquivo desde que seja Sql). Vai ficar assim: 14º passo: Clique nesse link e clique em "view" da "revision" mais atualizada que tiver: 15º passo: Delete tudo oque tiver escrito no arquivo SQL do 13º passo e cole oque está escrito na página aberta do 14º passo. 16º passo: Dele todas as coisas que tiver ecrito entre: /* e */ isso apenas irá te atrapalhar! Segue um exemplo: (pode copiar o exemplo que segue e colar na arquivo SQL do 13º sequiser) 17º passo: Salve e Feche o aruivo "sample.sql" 18º passo: Clique em "Import" que está na página [Hidden Content] 19º passo: Clique em "procurar" e escolha o arquivo "sample.sql" 20º passo: Clique em "Executar" 21º passo: No canto esquerdo da página, vai ter escrito banco de dados. Clique em otserv. 22º passo: Agora você tem controle sobre as pastas accounts, players, house, etc. 23º passo: Agora na pasta do seu server, abra o conf.lua, e procure por isto: 24º passo: Siga agora o exemplo da Screen abaixo: ----------------------------------- Bem... é só pessoal! Espero ter ajudado... Postem ai o que vcs acharam... qualquer duvida postem que eu respondo!!!
  7. Temple position Acc manager SQL

    Tive muitos problemas ao iniciar minha criação e edição de servidores sql mas definitivamente o maior problema foi pra acertar o temple position do acc manager. Como não encontrei nenhum tutorial que realmente me ajudasse com isso, resolvi postar um pequeno tutorial rápido sobre isso pra ajudar a galera em geral... Vamos lá: Assumindo que você já sabe como usar o xampp e configurá-lo, vamos abrir o [Hidden Content] ou [Hidden Content]. Você estará nesta tela: Agora, clique sobre a caixa destacada em vermelho, escolha o database do seu ot. Você obterá uma tela parecida com isso: Nesta pagina, clique sobre o quadradinho que marquei em vermelho (ATENÇÃO!! É importante que você clique sobre o quadrado, não na palavra "players", ou isso não funcionará.) Feito isso, você estará nesta tela: Legal... (rsrs) veja que nesse serv temos 2 players: Account Manager e Kokn. Você provavelmente não terá um kokn em seu server, a não ser que eu tenha jogado nele... hehehe.... se você tem o Account Manager, clique sobre o lápis, realçado na imagem e você terá esta tela: Agora, basta re-escrever o posx, posy e posz para os dados do seu ot. Ah, para quem não sabe fazer gm, basta alterar o group_id de 1 para 5. O resto é muito simples, pelo nome você descobre o que é e pode alterar a vontade. Depois de editar o que quer, é só clicar em "EXECUTAR" no final da página e seu char será salvo. Todos esses dados são aplicáveis a qualquer personagem do servidor. Obrigado pela atenção, Divirtam-se.
×