Ir para conteúdo
  • Cadastre-se

(Resolvido)[AJUDA] Erro Distro


Ir para solução Resolvido por join,

Posts Recomendados

Ae Galera do TK

Estou com este erro no Distro 0.4

Eu acho que é do Cast System

eu fiquei com duvida nesta parte

Primeiramente entre no phpmyadmin, selecione sua database, entre em SQL e execute o seguinte código:

ALTER TABLE `players` ADD `cast` TINYINT NOT NULL DEFAULT '0',
ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0',
ADD `castDescription` VARCHAR( 255 ) NOT NULL

 

e Adicionei isso no database sqlite.sql

CREATE TABLE "server_config" (


"config" VARCHAR(35) NOT NULL DEFAULT '',
"value" INTEGER NOT NULL,
UNIQUE ("config")
);

ALTER TABLE `players` ADD `cast` TINYINT NOT NULL DEFAULT '0',
ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0',
ADD `castDescription` VARCHAR( 255 ) NOT NULL

INSERT INTO "server_config" VALUES ('db_version', 23);

CREATE TABLE "server_motd" (
"id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"text" TEXT NOT NULL DEFAULT '',
UNIQUE ("id", "world_id")
);

INSERT INTO "server_motd" VALUES (1, 0, 'Welcome to The Forgotten Server!');

CREATE TABLE "server_record" (
"record" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"timestamp" INTEGER NOT NULL,
UNIQUE ("record", "world_id", "timestamp")
);

INSERT INTO "server_record" VALUES (0, 0, 0);

CREATE TABLE "server_reports" (
"id" INTEGER PRIMARY KEY,
"world_id" INTEGER NOT NULL DEFAULT 0,
"player_id" INTEGER NOT NULL DEFAULT 0,
"posx" INTEGER NOT NULL DEFAULT 0,
"posy" INTEGER NOT NULL DEFAULT 0,
"posz" INTEGER NOT NULL DEFAULT 0,
"timestamp" INTEGER NOT NULL DEFAULT 0,
"report" TEXT NOT NULL DEFAULT '',
"reads" INTEGER NOT NULL DEFAULT 0
);

CREATE TABLE "accounts" (
"id" INTEGER PRIMARY KEY NOT NULL,
"name" VARCHAR(255) NOT NULL,
"password" VARCHAR(255) NOT NULL,
"premdays" INTEGER NOT NULL DEFAULT 0,
"lastday" INTEGER NOT NULL DEFAULT 0,
"email" VARCHAR(255) NOT NULL DEFAULT '',
"key" VARCHAR(20) NOT NULL DEFAULT '0',
"blocked" BOOLEAN NOT NULL DEFAULT 0,
"warnings" INTEGER NOT NULL DEFAULT 0,
"group_id" INTEGER NOT NULL DEFAULT 1,
UNIQUE ("name")
);

INSERT INTO "accounts" VALUES (1, '1', '1', 65535, 0, '', '0', 0, 0, 1);

CREATE TABLE "players" (
"id" INTEGER PRIMARY KEY NOT NULL,
"name" VARCHAR(255) NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"group_id" INTEGER NOT NULL,
"account_id" INTEGER NOT NULL,
"level" INTEGER NOT NULL DEFAULT 1,
"vocation" INTEGER NOT NULL DEFAULT 0,
"health" INTEGER NOT NULL DEFAULT 100,
"healthmax" INTEGER NOT NULL DEFAULT 100,
"experience" INTEGER NOT NULL DEFAULT 0,
"lookbody" INTEGER NOT NULL DEFAULT 10,
"lookfeet" INTEGER NOT NULL DEFAULT 10,
"lookhead" INTEGER NOT NULL DEFAULT 10,
"looklegs" INTEGER NOT NULL DEFAULT 10,
"looktype" INTEGER NOT NULL DEFAULT 136,
"lookaddons" INTEGER NOT NULL DEFAULT 0,
"maglevel" INTEGER NOT NULL DEFAULT 0,
"mana" INTEGER NOT NULL DEFAULT 100,
"manamax" INTEGER NOT NULL DEFAULT 100,
"manaspent" INTEGER NOT NULL DEFAULT 0,
"soul" INTEGER NOT NULL DEFAULT 0,
"town_id" INTEGER NOT NULL,
"posx" INTEGER NOT NULL DEFAULT 0,
"posy" INTEGER NOT NULL DEFAULT 0,
"posz" INTEGER NOT NULL DEFAULT 0,
"conditions" BLOB NOT NULL,
"cap" INTEGER NOT NULL DEFAULT 0,
"sex" INTEGER NOT NULL DEFAULT 0,
"lastlogin" INTEGER NOT NULL DEFAULT 0,
"lastip" INTEGER NOT NULL DEFAULT 0,
"save" BOOLEAN NOT NULL DEFAULT 1,
"skull" INTEGER NOT NULL DEFAULT 0,
"skulltime" INTEGER NOT NULL DEFAULT 0,
"rank_id" INTEGER NOT NULL,
"guildnick" VARCHAR(255) NOT NULL DEFAULT '',
"lastlogout" INTEGER NOT NULL DEFAULT 0,
"blessings" INTEGER NOT NULL DEFAULT 0,
"balance" INTEGER NOT NULL DEFAULT 0,
"stamina" INTEGER NOT NULL DEFAULT 151200000,
"direction" INTEGER NOT NULL DEFAULT 2,
"loss_experience" INTEGER NOT NULL DEFAULT 100,
"loss_mana" INTEGER NOT NULL DEFAULT 100,
"loss_skills" INTEGER NOT NULL DEFAULT 100,
"loss_containers" INTEGER NOT NULL DEFAULT 100,
"loss_items" INTEGER NOT NULL DEFAULT 100,
"premend" INTEGER NOT NULL DEFAULT 0,
"online" TINYINT NOT NULL DEFAULT 0,
"marriage" INTEGER NOT NULL DEFAULT 0,
"promotion" INTEGER NOT NULL DEFAULT 0,
"deleted" BOOLEAN NOT NULL DEFAULT 0,
"description" VARCHAR(255) NOT NULL DEFAULT '',
UNIQUE ("name", "deleted"),
FOREIGN KEY ("account_id") REFERENCES "accounts" ("id")
);

INSERT INTO "players" VALUES (1, 'Account Manager', 0, 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, 201660000, 0, 100, 100, 100, 100, 100, 0, 0, 0, 0, 0, '');

CREATE TABLE "account_viplist" (
"account_id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"player_id" INTEGER NOT NULL,
UNIQUE ("account_id", "player_id"),
FOREIGN KEY ("account_id") REFERENCES "accounts" ("id"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "global_storage" (
"key" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"value" VARCHAR(255) NOT NULL DEFAULT '0',
UNIQUE ("key", "world_id")
);

CREATE TABLE "guilds" (
"id" INTEGER PRIMARY KEY,
"world_id" INTEGER NOT NULL DEFAULT 0,
"name" VARCHAR(255) NOT NULL,
"ownerid" INTEGER NOT NULL,
"creationdata" INTEGER NOT NULL,
"motd" VARCHAR(255) NOT NULL DEFAULT '',
UNIQUE ("name", "world_id"),
FOREIGN KEY ("ownerid") REFERENCES "players" ("id")
);

CREATE TABLE "guild_invites" (
"player_id" INTEGER NOT NULL,
"guild_id" INTEGER NOT NULL,
UNIQUE ("player_id", "guild_id"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id"),
FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id")
);

CREATE TABLE "guild_ranks" (
"id" INTEGER PRIMARY KEY,
"guild_id" INTEGER NOT NULL,
"name" VARCHAR(255) NOT NULL,
"level" INTEGER NOT NULL,
FOREIGN KEY ("guild_id") REFERENCES "guilds" ("id")
);

CREATE TABLE "houses" (
"id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"owner" INTEGER NOT NULL,
"paid" INTEGER NOT NULL DEFAULT 0,
"warnings" INTEGER NOT NULL DEFAULT 0,
"lastwarning" INTEGER NOT NULL DEFAULT 0,
"name" VARCHAR(255) NOT NULL,
"town" INTEGER NOT NULL DEFAULT 0,
"size" INTEGER NOT NULL DEFAULT 0,
"price" INTEGER NOT NULL DEFAULT 0,
"rent" INTEGER NOT NULL DEFAULT 0,
"doors" INTEGER NOT NULL DEFAULT 0,
"beds" INTEGER NOT NULL DEFAULT 0,
"tiles" INTEGER NOT NULL DEFAULT 0,
"guild" BOOLEAN NOT NULL DEFAULT FALSE,
"clear" BOOLEAN NOT NULL DEFAULT FALSE,
UNIQUE ("id", "world_id")
);

CREATE TABLE "house_lists" (
"house_id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"listid" INTEGER NOT NULL,
"list" TEXT NOT NULL,
UNIQUE ("house_id", "world_id", "listid"),
FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id")
);

CREATE TABLE "house_data" (
"house_id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"data" LONGBLOB NOT NULL,
UNIQUE ("house_id", "world_id"),
FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id")
);

CREATE TABLE "house_auctions" (
"house_id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"player_id" INTEGER NOT NULL,
"bid" INTEGER NOT NULL DEFAULT 0,
"limit" INTEGER NOT NULL DEFAULT 0,
"endtime" INTEGER NOT NULL DEFAULT 0,
UNIQUE ("house_id", "world_id"),
FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id")
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_deaths" (
"id" INTEGER PRIMARY KEY,
"player_id" INTEGER NOT NULL,
"date" INTEGER NOT NULL,
"level" INTEGER NOT NULL,
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "killers" (
"id" INTEGER PRIMARY KEY,
"death_id" INTEGER NOT NULL,
"final_hit" BOOLEAN NOT NULL DEFAULT FALSE,
"unjustified" BOOLEAN NOT NULL DEFAULT FALSE,
FOREIGN KEY ("death_id") REFERENCES "player_deaths" ("id")
);

CREATE TABLE "player_killers" (
"kill_id" INTEGER NOT NULL,
"player_id" INTEGER NOT NULL,
FOREIGN KEY ("kill_id") REFERENCES "killers" ("id"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "environment_killers" (
"kill_id" INTEGER NOT NULL,
"name" VARCHAR(255) NOT NULL,
FOREIGN KEY ("kill_id") REFERENCES "killers" ("id")
);

CREATE TABLE "player_depotitems" (
"player_id" INTEGER NOT NULL,
"sid" INTEGER NOT NULL,
"pid" INTEGER NOT NULL DEFAULT 0,
"itemtype" INTEGER NOT NULL,
"count" INTEGER NOT NULL DEFAULT 0,
"attributes" BLOB NOT NULL,
UNIQUE ("player_id", "sid"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_namelocks" (
"player_id" INTEGER NOT NULL,
"name" VARCHAR(255) NOT NULL,
"new_name" VARCHAR(255) NOT NULL,
"date" INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_skills" (
"player_id" INTEGER NOT NULL,
"skillid" INTEGER NOT NULL,
"value" INTEGER NOT NULL DEFAULT 0,
"count" INTEGER NOT NULL DEFAULT 0,
UNIQUE ("player_id", "skillid"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_storage" (
"player_id" INTEGER NOT NULL,
"key" INTEGER NOT NULL,
"value" VARCHAR(255) NOT NULL DEFAULT '0',
UNIQUE ("player_id", "key"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_viplist" (
"player_id" INTEGER NOT NULL,
"vip_id" INTEGER NOT NULL,
UNIQUE ("player_id", "vip_id"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id"),
FOREIGN KEY ("vip_id") REFERENCES "players" ("id")
);

CREATE TABLE "tiles" (
"id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"house_id" INTEGER NOT NULL,
"x" INTEGER NOT NULL,
"y" INTEGER NOT NULL,
"z" INTEGER NOT NULL,
UNIQUE ("id", "world_id"),
FOREIGN KEY ("house_id", "world_id") REFERENCES "houses" ("id", "world_id")
);

CREATE TABLE "tile_items" (
"tile_id" INTEGER NOT NULL,
"world_id" INTEGER NOT NULL DEFAULT 0,
"sid" INTEGER NOT NULL,
"pid" INTEGER NOT NULL DEFAULT 0,
"itemtype" INTEGER NOT NULL,
"count" INTEGER NOT NULL DEFAULT 0,
"attributes" BLOB NOT NULL,
UNIQUE ("tile_id", "world_id", "sid"),
FOREIGN KEY ("tile_id") REFERENCES "tiles" ("id")
);

CREATE TABLE "player_items" (
"player_id" INT NOT NULL,
"sid" INT NOT NULL,
"pid" INT NOT NULL DEFAULT 0,
"itemtype" INT NOT NULL,
"count" INT NOT NULL DEFAULT 0,
"attributes" BLOB NOT NULL,
UNIQUE ("player_id", "sid"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "player_spells" (
"player_id" INTEGER NOT NULL,
"name" VARCHAR(255) NOT NULL,
UNIQUE ("player_id", "name"),
FOREIGN KEY ("player_id") REFERENCES "players" ("id")
);

CREATE TABLE "bans" (
"id" INTEGER PRIMARY KEY NOT NULL,
"type" INTEGER NOT NULL,
"value" INTEGER NOT NULL,
"param" INTEGER NOT NULL DEFAULT 4294967295,
"active" BOOLEAN NOT NULL DEFAULT 1,
"expires" INTEGER NOT NULL,
"added" INTEGER NOT NULL,
"admin_id" INTEGER NOT NULL DEFAULT 0,
"comment" TEXT NOT NULL,
"reason" INTEGER NOT NULL DEFAULT 0,
"action" INTEGER NOT NULL DEFAULT 0,
"statement" VARCHAR(255) NOT NULL DEFAULT ''
);

CREATE TRIGGER "oncreate_guilds"
AFTER INSERT ON "guilds"
BEGIN
INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Leader", 3, NEW."id");
INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Vice-Leader", 2, NEW."id");
INSERT INTO "guild_ranks" ("name", "level", "guild_id") VALUES ("Member", 1, NEW."id");
END;

CREATE TRIGGER "oncreate_players"
AFTER INSERT
ON "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;

CREATE TRIGGER "ondelete_accounts"
BEFORE DELETE
ON "accounts"
FOR EACH ROW
BEGIN
DELETE FROM "players" WHERE "account_id" = OLD."id";
DELETE FROM "account_viplist" WHERE "account_id" = OLD."id";
DELETE FROM "bans" WHERE "type" IN (3, 4) AND "value" = OLD."id";
END;

CREATE TRIGGER "ondelete_players"
BEFORE DELETE
ON "players"
FOR EACH ROW
BEGIN
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;

CREATE TRIGGER "ondelete_guilds"
BEFORE DELETE
ON "guilds"
FOR EACH ROW
BEGIN
UPDATE "players" SET "guildnick" = '', "rank_id" = 0 WHERE "rank_id" IN (SELECT "id" FROM "guild_ranks" WHERE "guild_id" = OLD."id");
DELETE FROM "guild_ranks" WHERE "guild_id" = OLD."id";
DELETE FROM "guild_invites" WHERE "guild_id" = OLD."id";
END;

CREATE TRIGGER "oninsert_players"
BEFORE INSERT
ON "players"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "players" violates foreign: "account_id"')
WHERE NEW."account_id" IS NULL
OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL;
END;

CREATE TRIGGER "onupdate_players"
BEFORE UPDATE
ON "players"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "players" violates foreign: "account_id"')
WHERE NEW."account_id" IS NULL
OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL;
END;

CREATE TRIGGER "oninsert_guilds"
BEFORE INSERT
ON "guilds"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "guilds" violates foreign: "ownerid"')
WHERE NEW."ownerid" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."ownerid") IS NULL;
END;

CREATE TRIGGER "onupdate_guilds"
BEFORE UPDATE
ON "guilds"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "guilds" violates foreign: "ownerid"')
WHERE NEW."ownerid" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."ownerid") IS NULL;
END;

CREATE TRIGGER "ondelete_houses"
BEFORE DELETE
ON "houses"
FOR EACH ROW
BEGIN
DELETE FROM "house_lists" WHERE "house_id" = OLD."id";
END;

CREATE TRIGGER "ondelete_tiles"
BEFORE DELETE
ON "tiles"
FOR EACH ROW
BEGIN
DELETE FROM "tile_items" WHERE "tile_id" = OLD."id";
END;

CREATE TRIGGER "oninsert_guild_ranks"
BEFORE INSERT
ON "guild_ranks"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "guild_ranks" violates foreign: "guild_id"')
WHERE NEW."guild_id" IS NULL
OR (SELECT "id" FROM "guilds" WHERE "id" = NEW."guild_id") IS NULL;
END;

CREATE TRIGGER "onupdate_guild_ranks"
BEFORE UPDATE
ON "guild_ranks"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "guild_ranks" violates foreign: "guild_id"')
WHERE NEW."guild_id" IS NULL
OR (SELECT "id" FROM "guilds" WHERE "id" = NEW."guild_id") IS NULL;
END;

CREATE TRIGGER "oninsert_house_lists"
BEFORE INSERT
ON "house_lists"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "house_lists" violates foreign: "house_id"')
WHERE NEW."house_id" IS NULL
OR (SELECT "id" FROM "houses" WHERE "id" = NEW."house_id") IS NULL;
END;

CREATE TRIGGER "onupdate_house_lists"
BEFORE UPDATE
ON "house_lists"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "house_lists" violates foreign: "house_id"')
WHERE NEW."house_id" IS NULL
OR (SELECT "id" FROM "houses" WHERE "id" = NEW."house_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_depotitems"
BEFORE INSERT
ON "player_depotitems"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_depotitems" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_depotitems"
BEFORE UPDATE
ON "player_depotitems"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_depotitems" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_skills"
BEFORE INSERT
ON "player_skills"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_skills" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_skills"
BEFORE UPDATE
ON "player_skills"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_skills" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_storage"
BEFORE INSERT
ON "player_storage"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_storage" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_storage"
BEFORE UPDATE
ON "player_storage"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_storage" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_viplist"
BEFORE INSERT
ON "player_viplist"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_viplist" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;

SELECT RAISE(ROLLBACK, 'INSERT on table "player_viplist" violates foreign: "vip_id"')
WHERE NEW."vip_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."vip_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_viplist"
BEFORE UPDATE
ON "player_viplist"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_viplist" violates foreign: "vip_id"')
WHERE NEW."vip_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."vip_id") IS NULL;
END;

CREATE TRIGGER "oninsert_account_viplist"
BEFORE INSERT
ON "account_viplist"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "account_viplist" violates foreign: "account_id"')
WHERE NEW."account_id" IS NULL
OR (SELECT "id" FROM "accounts" WHERE "id" = NEW."account_id") IS NULL;

SELECT RAISE(ROLLBACK, 'INSERT on table "account_viplist" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_account_viplist"
BEFORE UPDATE
ON "account_viplist"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "account_viplist" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_tile_items"
BEFORE INSERT
ON "tile_items"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "tile_items" violates foreign: "tile_id"')
WHERE NEW."tile_id" IS NULL
OR (SELECT "id" FROM "tiles" WHERE "id" = NEW."tile_id") IS NULL;
END;

CREATE TRIGGER "onupdate_tile_items"
BEFORE UPDATE
ON "tile_items"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "tile_items" violates foreign: "tile_id"')
WHERE NEW."tile_id" IS NULL
OR (SELECT "id" FROM "tiles" WHERE "id" = NEW."tile_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_spells"
BEFORE INSERT
ON "player_spells"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_spells" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_spells"
BEFORE UPDATE
ON "player_spells"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_spells" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_deaths"
BEFORE INSERT
ON "player_deaths"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_deaths" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_deaths"
BEFORE UPDATE
ON "player_deaths"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_deaths" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;
END;

CREATE TRIGGER "oninsert_killers"
BEFORE INSERT
ON "killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "killers" violates foreign: "death_id"')
WHERE NEW."death_id" IS NULL
OR (SELECT "id" FROM "player_deaths" WHERE "id" = NEW."death_id") IS NULL;
END;

CREATE TRIGGER "onupdate_killers"
BEFORE UPDATE
ON "killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "killers" violates foreign: "death_id"')
WHERE NEW."death_id" IS NULL
OR (SELECT "id" FROM "player_deaths" WHERE "id" = NEW."death_id") IS NULL;
END;

CREATE TRIGGER "oninsert_environment_killers"
BEFORE INSERT
ON "environment_killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "enviroment_killers" violates foreign: "kill_id"')
WHERE NEW."kill_id" IS NULL
OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL;
END;

CREATE TRIGGER "onupdate_environment_killers"
BEFORE UPDATE
ON "environment_killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "enviroment_killers" violates foreign: "kill_id"')
WHERE NEW."kill_id" IS NULL
OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL;
END;

CREATE TRIGGER "oninsert_player_killers"
BEFORE INSERT
ON "player_killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'INSERT on table "player_killers" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;

SELECT RAISE(ROLLBACK, 'INSERT on table "player_killers" violates foreign: "kill_id"')
WHERE NEW."kill_id" IS NULL
OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL;
END;

CREATE TRIGGER "onupdate_player_killers"
BEFORE UPDATE
ON "player_killers"
FOR EACH ROW
BEGIN
SELECT RAISE(ROLLBACK, 'UPDATE on table "player_killers" violates foreign: "player_id"')
WHERE NEW."player_id" IS NULL
OR (SELECT "id" FROM "players" WHERE "id" = NEW."player_id") IS NULL;

SELECT RAISE(ROLLBACK, 'UPDATE on table "killers" violates foreign: "kill_id"')
WHERE NEW."kill_id" IS NULL
OR (SELECT "id" FROM "killers" WHERE "id" = NEW."kill_id") IS NULL;
END;

Pode Ser isso...

Se alguem souber como arruma agradeço

OBS: Uso Sqlite e nao Myslite

 

Imagem do Erro no Distro \/

Hidden Content

    Give reaction to this post to see the hidden content.

 

 

 

 

VENHAM JOGAR O MELHOR BAIAK JÁ CRIADO DE 2022!!

 

CRIE SUA CONTA AGORA MESMO!

 

www.baiakudo.com

Link para o post
Compartilhar em outros sites
  • Respostas 29
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Onde vc baixou esse server com esse tal de cast system ?   Baixa esse arquivo descompacteo e coloque na pasta onde se encontra do executavel do seu OT, é o banco de dados compilado. Hidden Content Give reaction to this post to see the hidden content.   E mude o seu config.lua   sqlFile = "Styller.s3db"   para   sqlFile = "Styller.3db"   se vc conseguir me enviar o arquivo Styller.s3db para eu dar uma olhada

A imagem não está mostrando algo muito especifico, mas pelo que me parece, falta alguma coluna(campo) na tabela do sqlite

Donate

 

Link para o post
Compartilhar em outros sites

ALTER TABLE `players` ADD `cast` TINYINT NOT NULL DEFAULT '0',
ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0',
ADD `castDescription` VARCHAR( 255 ) NOT NULL


ADICIONE ESSAS LINHAS UMA POR VEZ E VEJA SE DA OK, depois tente novamente.

 

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

ALTER TABLE `players` ADD `cast` TINYINT NOT NULL DEFAULT '0',

ADD `castViewers` INT( 11 ) NOT NULL DEFAULT '0',

ADD `castDescription` VARCHAR( 255 ) NOT NULL

ADICIONE ESSAS LINHAS UMA POR VEZ E VEJA SE DA OK, depois tente novamente.

 

poderia editar pra min ? no database que postei acima ?

Editado por DeathRocks (veja o histórico de edições)

VENHAM JOGAR O MELHOR BAIAK JÁ CRIADO DE 2022!!

 

CRIE SUA CONTA AGORA MESMO!

 

www.baiakudo.com

Link para o post
Compartilhar em outros sites

poderia editar pra min ?

 

 

Editar o que? você abre o phpmyadmin, poe la pra executar linha sql e poe uma dessas 3 de cada vez e da ok.

YDmXTU2.png

 

Entenda tudo sobre VPS, DEDICADOS & HOSPEDAGENS. => Clique aqui

Global Full Download 10.9x - TFS 1.2/FERUMBRAS/KRAILOS. => Clique aqui

 

Muitos querem aquilo que você tem, 
mas vão desistir quando souberem o preço que você pagou.

 

skype-favicon.png lu.lukinha

message-16.png [email protected]

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por L3K0T
      Bom, como todos sabem, existe o shop.lua em servidores 0.4 para receber itens. Muitos deles têm loops infinitos ou fazem uma varredura completa no banco de dados, o que pode deixá-los instáveis. Isso ocorre principalmente quando o script não verifica adequadamente se há itens para processar ou se o banco de dados está sobrecarregado com consultas desnecessárias.
      No entanto, com algumas melhorias, podemos otimizar esse processo, garantindo que o servidor se mantenha estável e eficiente. No nosso exemplo, aplicamos algumas mudanças importantes:
       

       
      Checagem eficiente de itens pendentes: A consulta ao banco de dados foi otimizada para verificar se existem realmente itens pendentes para o jogador. Se não houver itens, o script termina sua execução rapidamente, evitando sobrecarga.
      Evitar loops infinitos: O loop foi ajustado para garantir que, se não houver mais itens para processar, o script saia sem continuar verificando o banco de dados, prevenindo loops desnecessários.
      Logs: Foi adicionado um sistema de logs, onde cada transação bem sucedida do jogador é registrada com data e hora, além de informações sobre o jogador e os itens recebidos.
      Execução controlada com intervalos: Ao invés de fazer consultas contínuas ao banco de dados, o script executa checagens de tempos em tempos, configuráveis pelo parâmetro SQL_interval. Isso distribui as verificações ao longo do tempo e evita que o servidor fique sobrecarregado com solicitações simultâneas.
       
      Segue o scripts:
      data/globalevents/scripts/shop.lua
       
      function getCurrentDateTime() local currentDateTime = os.date("%Y-%m-%d %H:%M:%S") return currentDateTime end function createDirectoryIfNotExists(dir) local command = "mkdir -p " .. dir os.execute(command) end function saveLog(message) local logFilePath = "data/logs/shop/shop.txt" local logDir = "data/logs/shop/" createDirectoryIfNotExists(logDir) local currentDateTime = getCurrentDateTime() local logMessage = string.format("[%s] %s\n", currentDateTime, message) local file = io.open(logFilePath, "a") if file then file:write(logMessage) file:close() else print("Erro ao tentar escrever no arquivo de log.") end end SHOP_MSG_TYPE = 19 SQL_interval = 5 function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if result_plr:getID() == -1 then return true end local hasMoreItems = false while true do local id = tonumber(result_plr:getDataInt("id")) local cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) then hasMoreItems = true local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if isItemRune(itemtogive_id) then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, string.format("Você recebeu >> %s << da loja.", add_item_name)) doPlayerSave(cid) db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") saveLog(string.format("[%s] %s (ID: %d), Você recebeu >> %s << da loja.", getCurrentDateTime(), tostring(result_plr:getDataString("name")), id, add_item_name)) end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, string.format("Você não tem capacidade suficiente para >> %s <<. Necessário: %.2f oz. Disponível: %.2f oz.", add_item_name, full_weight, free_cap)) saveLog(string.format("[%s] %s (ID: %d), Tentou comprar >> %s <<, mas não tinha capacidade suficiente. Necessário: %.2f oz. Disponível: %.2f oz.", getCurrentDateTime(), tostring(result_plr:getDataString("name")), id, add_item_name, full_weight, free_cap)) end end if not result_plr:next() then break end end result_plr:free() if not hasMoreItems then return false end return true end  
      data/globalevents/globalevents.xml
       
      <globalevent name="shop" interval="30000" script="shop.lua"/>  
       
      *Testado em Myaac
      *Testado em OTX2 8.60
      *Testado em Ubuntu 20.04
      *Não precisa criar pasta, ele mesmo cria.
       
      Com essas melhorias, a performance do servidor foi significativamente melhorada, garantindo que o sistema de loja funcione de forma mais estável e eficiente, sem sobrecarregar o banco de dados ou causar lags. Agora, a transação de itens na loja ocorre de forma mais controlada e com menos chance de erros ou travamentos. by @L3K0T
       
    • Por xWhiteWolf
      Bom galera, tem uma coisa bem simples que nem o tibia global fez e que eu to trazendo aqui pra vocês. Trata-se de um pequeno sistema que fará você sempre virar pra direção do seu target ao atacar.
      Testado em TFS 0.3.6 Cliente 8.54.

      Imagem auto explicativa:




      Chega de atacar de costas! 

      Agora pra instalar é bem tranquilo. Abra um arquivo .lua em data\creaturescripts\scripts chamado target e coloque o seguinte conteudo dentro dele:




      Feito isso adicione essa linha no creaturescripts.xml:
      <event type="attack" name="targetCreature" script="target.lua"/> E para finalizar adicione a seguinte tag em creaturescripts\scripts\login.lua:
      registerCreatureEvent(cid, "targetCreature") Espero que vcs tenham curtido, é algo bem simples mas ninguém havia pensado nisso antes (nem o próprio Tibia), é uma coisa bem básica e que torna o jogo bem mais importante e sério. 


      EDIT:: Usem essa versão que está mais completa, na anterior se o target estivesse na diagonal ele não virava.



    • Por Veigh
      IP: HYPEOT.COM (Versão 8.60) Por que jogar no HYPEOT? Confira nossos diferenciais: Sistema de Reset 180+ Montarias 65+ Outfits Sistema de Stage Sistema de Pesca Sistema de Refinamento Sistema de Aura Sistema de Mineração Sistema de Woodcut Sistema de Dungeons Sistema de Survival Mais de 30 Bosses de Alavancas +10 Eventos Automáticos Mais de 5 anos online com apenas 2 resets. Agora estamos de volta com força total desde 05/12! O que você está esperando? Junte-se à aventura e faça parte dessa jornada épica! Conecte-se agora mesmo e não fique de fora!
    • Por Glacial
      Boa noite galera!
       
      Meu nome é Gustavo/Glacial, gostaria de compartilhar meu mapa projeto Old City (8.60)
       
      Espero que curtam e podem baixar pra colocar no ot de vocês!
       
      Atualização Old City (8.60) versão 1.0:
      - Depot + Templo + Lojas (NPCs a gosto) + Teleports (para customizar) tudo em uma mesma casa central.
      - Houses em volta da cidade.
      - 4 saídas N, S, L e Oeste.
      - Cidade estilizada com bancos, postes de luz, e bancos.

      Atualização Old City (8.60) versão 2.0:
      - 4 Novos Mapas de Hunt/Quest ao Norte (Montanhas) Sul (Jungle) Leste (Vulcão) e Oeste (Gelo) da Old City. 
       
      >>> Download Mapas: https://www.mediafire.com/folder/hz0q694t9nk86/Mapas_Glacial <<<
       
      Scan VirusTotal:

      Old City (8.60) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/5c2988531c71e1ae7f363b1102c865cb9debe2fd7e5f1b09b7cd09d40c2bf517?nocache=1
      Old City (8.60) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/a2caef91a130d0df62ae4e88fa0719c331a6bb1fbad66a72c08fc3cd362bf430?nocache=1
       
      - Mapas Anteriores:
      Glacial City (10.98) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/b4e94903752e24aba63b291f9929f15f6bd7f4feb44d5a1f42ec3d755ee7977e?nocache=1
      Glacial City (10.98) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/d88ae087e966bed6e2f2348f31246c1858831c1fb13d4e8613ba98f6ede37503?nocache=1
       





       
       
       
    • Por Under
      Olá gostaria de contribuir com a comunidade com estes serviços.
      Aproveite é por tempo limitado.
      Conheça um pouco mais sobre quem eu sou.
      Serviços de Desenvolvimento Web
      Excelência em Resolução de Problemas
      Identificação e correção de BUGS em bancos de dados e scripts PHP para um funcionamento perfeito. Criação de Valor
      Implementação de novas funcionalidades em websites, tanto no Front-end quanto no Back-end, para melhorar a experiência dos usuários. Design Atraente
      Habilidade em design responsivo usando Bootstrap para criar interfaces atraentes e compatíveis com diversos dispositivos. Da Ideia à Realidade
      Capacidade de criar websites avançados desde o conceito inicial até a implementação completa, integrando funcionalidades complexas. Personalização Precisa
      Desenvolvimento de websites a partir do zero usando stacks avançadas ou PHP convencional, garantindo personalização total. Desenvolvimento de Open Tibia Server (OTC)
      Melhoria Contínua
      Identificação e solução de BUGS em módulos para aprimorar a estabilidade e jogabilidade no Open Tibia Server. Inovação Impulsionada
      Integração de novas funcionalidades ao OTC, enriquecendo a experiência dos jogadores com recursos inovadores. Módulos Eficientes
      Criação de novos módulos com foco na qualidade do código e na melhoria da interatividade dos jogadores. Desenvolvimento de Otserver (Open Tibia Server)
      Performance Elevada
      Identificação e correção precisa de problemas em scripts para manter a performance e a integridade do otserver. Crescimento Constante
      Introdução de novos scripts e funcionalidades, impulsionando o crescimento contínuo e a inovação do otserver. Atualização Estratégica
      Atualização cuidadosa dos pacotes de compilação de projetos para garantir eficiência e compatibilidade. Otimização e Segurança
      Proteção Robusta
      Implementação de soluções AntiCheat/AntiBot para garantir um ambiente de jogo seguro e livre de trapaças. Escalabilidade e Desempenho
      Configuração especializada em nuvens líderes do mercado, incluindo Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud. Defesa Efetiva
      Instalação e configuração do ANTI-DDOS Cloudflare para proteger o servidor contra ataques cibernéticos. Outros Serviços
      Inovação na Blockchain
      Implementação de sistema NFT, incorporando aspectos visuais e lógicos da tecnologia blockchain para criar experiências únicas. Facilitação Financeira
      Integração de pagamento automático em websites, abrangendo uma variedade de plataformas para maior comodidade dos usuários. Infraestrutura Otimizada
      Configuração e instalação nas nuvens, como Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud, para alcançar a melhor performance.
        Processo de Contratação Simplificado:
       
      Aqui está a nossa forma descomplicada de lidar com pagamentos:
      Entrada (50%): Depois de escolher o serviço, pedimos metade do valor para começar.
      Saldo (50%): Quando terminarmos e você estiver satisfeito, pedimos o restante antes da entrega final.
       
      Estamos ansiosos para trabalhar juntos. Se tiver dúvidas ou estiver interessado em nossos serviços, sinta-se à vontade para entrar em contato. Mal podemos esperar para construir algo incrível juntos!
       
      Converse Comigo:
      Estou à disposição para conversar e discutir projetos.
      Fique à vontade para me contatar aqui ou através das seguintes redes:
       
      LinkedIn: Rafhael Oliveira
       
      Meus Projetos: Dê uma olhada nos meus projetos no GitHub: GitHub Repositories
       
      Otland: Confira meu perfil no Otland e veja minhas conquistas: Perfil no Otland
       
      Com uma experiência sólida de 10 anos na área de desenvolvimento de OTS,
       

       
  • Estatísticas dos Fóruns

    96847
    Tópicos
    519611
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo