Ir para conteúdo
Entre para seguir isso  
Fereu

Sqlite - Corrigindo erro dos bans;

Recommended Posts

Fereu    0
Fereu

Olá galera,

Provavelmente alguns de vocês podem ter baixado um server que está com o problema de que quando você bani alguém o cara volta aí ele fica te zuando e dizendo que seu server é bugado :yucky:;

 

Seus problemas acabaram! :w00t:

 

É um erro simples na database do sqlite mas que pode ser um grande problema para alguns "leigos". :errm:

 

Quando você bani alguém ele mostra o erro assim no console do server: OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: table bans has no column named statement.

 

Aí você me pergunta, 'Mas tio, por que esse erro?'; Simples, o server não consegue encontrar a coluna 'statement' dentro da tabela 'bans' :slap:

 

Para corrigir isso devemos 'criar' essa coluna, portanto abriremos nossa database:

 

databasetuto1.png

 

Expanda as tables pelo ícone de mais (+) e dê 2 (dois) cliques na linha bans que está na lista à esquerda (<--); Após isso abrirá uma janela com umas informações que o server usa como 'base' para criar os bans executados no servidor, mas lembra que estava faltando a coluna statement? Então clique no ícone databasetuto2.png;

 

Abrirá uma outra janela :rolleyes:, nela clique em 'add column', aí em 'column name' coloque 'statement', em 'Data type' coloque 'VARCHAR' e na primeira caixa do campo 'size' coloque '255', após isso marque a caixa 'constrain' (a janela se ampliará), mais abaixo você verá várias caixas para marcar, porém marque somente duas, uma caixa escrita 'Not NULL' e uma escrita 'Default value'.

 

Portanto deverá ficar assim:

 

databasetuto3.png

 

Logo após isso clique em 'add' e pronto! Já está arrumado o bug dos bans no sqlite :happy2:

 

Atenção: Tutorial 100% meu - Se for utilizar em outro lugar por favor ponha os créditos e me avise via PM!

 

Atenção²: Esse erro pode acontecer não necessariamente na table 'bans'

Editado por Fereu
Atenção²

Compartilhar este post


Link para o post
Majesty    1755
Majesty

Como não vi algum outro tutorial sobre isso, obrigado por sua contribuição.

 

Aprovado.

Compartilhar este post


Link para o post
Fereu    0
Fereu

Ninguém comenta? :'(

 

Eu achei esse bug na database do styller;

Compartilhar este post


Link para o post
Jedi    7
Jedi

É vai ajudar muita gente que não sabe meche... :P

Compartilhar este post


Link para o post
Fereu    0
Fereu

é coisa simples, mas tipo se dé um erro desse mas em outra table ai ja aprende tambem x.x

Compartilhar este post


Link para o post
Adriez    0
Adriez

blz cara?? fala em ingles q eu nao to autorizando a banir como arrumo isso ??? flws vlws

Compartilhar este post


Link para o post
Fereu    0
Fereu

Se mostra que você não tem autorização para banir, ou seu char não tem acesso de GM/GOD ou então o seu talkactions.xml ou commands.xml não está configurado direito, ou até mesmo sua database, sendo que na table groups ele tem um lugar chamado 'violation access' (:

Compartilhar este post


Link para o post
igorga    0
igorga

vlw cara, me ajuda lgl ^^

antes eu bania o carinha e ele volta na outfit de citizen e todo branco no lvl 0 sem vocation, agora ele nem volta + ^^

Compartilhar este post


Link para o post
xTXx    0
xTXx

aqui nao funfo nao sei pq ;/

Compartilhar este post


Link para o post
Fereu    0
Fereu

Como eu disse ali 'Esse erro pode acontecer não necessariamente na table 'bans';

 

O erro pode variar dependendo do que estiver faltando na sua database, exemplo:

OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: table bans has no column named 'type';

 

Esse foi só um exemplo, isso varia.

Compartilhar este post


Link para o post
KwiiBy~    0
KwiiBy~

Ajudará muita gente que ta começando com sql agora =P

Compartilhar este post


Link para o post
Nashans    0
Nashans

muito o bom o tutorial fereu... ajudaram muita gente, porem estou com outro problema

aqui nao aparece os GROUPS e nem o TYPE na tabela account, assim nao sei o numero do meu god

e n tem como faze-lo

me ajude, obg

Compartilhar este post


Link para o post
Fereu    0
Fereu

@Nashans explique-se melhor por favor, você não tem a table 'groups'? se esse for o problema aconselho a usar outra database.

Compartilhar este post


Link para o post
xerreta    0
xerreta

cara eu fiz direitinho oq vc colocou no tutorial

mais agr está dando esse erro

 

[04/12/2010 11:40:21] > Trigger: oncreate_players does not exist, creating it...

[04/12/2010 11:40:21] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "INSERTON": syntax error (CREATE TRIGGER "oncreate_players"AFTER INSERTON "players"BEGIN INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 0, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 1, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 2, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 3, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 4, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 5, 10); INSERT INTO "player_skills" ("player_id", "skillid", "value") VALUES (NEW."id", 6, 10);END; )

[04/12/2010 11:40:21] > Trigger: ondelete_players does not exist, creating it...

[04/12/2010 11:40:21] OTSYS_SQLITE3_PREPARE(): SQLITE ERROR: near "DELETEON": syntax error (CREATE TRIGGER "ondelete_players"BEFORE DELETEON "players"FOR EACH ROWBEGIN SELECT RAISE(ROLLBACK, 'DELETE on table `players` violates foreign: `ownerid` from table `guilds`') WHERE (SELECT "id" FROM "guilds" WHERE "ownerid" = OLD."id") IS NOT NULL; DELETE FROM "account_viplist" WHERE "player_id" = OLD."id"; DELETE FROM "player_viplist" WHERE "player_id" = OLD."id" OR "vip_id" = OLD."id"; DELETE FROM "player_storage" WHERE "player_id" = OLD."id"; DELETE FROM "player_skills" WHERE "player_id" = OLD."id"; DELETE FROM "player_items" WHERE "player_id" = OLD."id"; DELETE FROM "player_depotitems" WHERE "player_id" = OLD."id"; DELETE FROM "player_spells" WHERE "player_id" = OLD."id"; DELETE FROM "player_killers" WHERE "player_id" = OLD."id"; DELETE FROM "player_deaths" WHERE "player_id" = OLD."id"; DELETE FROM "guild_invites" WHERE "player_id" = OLD."id"; DELETE FROM "bans" WHERE "type" IN (2, 5) AND "value" = OLD."id"; UPDATE "houses" SET "owner" = 0 WHERE "owner" = OLD."id";END; )

 

por favor me ajuda aee

Compartilhar este post


Link para o post
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  
  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×