• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Lua [TFS1.2] Problem with Skull Remover

Haskys

Member
Joined
Jul 19, 2019
Messages
97
Reaction score
8
Location
Poland
Hello,


My "Skull Remover" doesn't work. It seems to me that there is a problem with referring to the database because the variables are different.
Could someone help fix this?

Lua:
function onUse(cid, item, fromPosition, item2, toPosition)
        local noRemove = {SKULL_WHITE, SKULL_YELLOW}
        local playerSkull = getPlayerSkullType(cid)
        if isInArray(noRemove, playerSkull) then
            doPlayerSendCancel(cid, "You can't remove this type of skull.")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
            return true
        elseif playerSkull == SKULL_NONE then
            doPlayerSendCancel(cid, "You don't have skull.")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
            return true
        else
            db.executeQuery("UPDATE [ICODE]killers[/ICODE] SET [ICODE]unjustified[/ICODE] = 0 WHERE [ICODE]id[/ICODE] IN (SELECT [ICODE]kill_id[/ICODE] FROM [ICODE]player_killers[/ICODE] WHERE [ICODE]player_id[/ICODE] = " .. getPlayerGUID(cid) .. ")")
            doPlayerSendTextMessage(cid, 27, "Your frags & your skull have been removed!")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
            doSendAnimatedText(getPlayerPosition(cid), "POFF!", 180)
            doCreatureSetSkullType(cid,0)
            doPlayerSetSkullEnd(cid, 0, playerSkull)
            doRemoveItem(item.uid, 1)
        end
        return true
end

Schema SQL:

SQL:
CREATE TABLE IF NOT EXISTS [ICODE]accounts[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]name[/ICODE] varchar(32) NOT NULL,
  [ICODE]password[/ICODE] char(40) NOT NULL,
  [ICODE]secret[/ICODE] char(16) DEFAULT NULL,
  [ICODE]type[/ICODE] int(11) NOT NULL DEFAULT '1',
  [ICODE]premdays[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]lastday[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]email[/ICODE] varchar(255) NOT NULL DEFAULT '',
  [ICODE]creation[/ICODE] int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  UNIQUE KEY [ICODE]name[/ICODE] ([ICODE]name[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]players[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]name[/ICODE] varchar(255) NOT NULL,
  [ICODE]group_id[/ICODE] int(11) NOT NULL DEFAULT '1',
  [ICODE]account_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]level[/ICODE] int(11) NOT NULL DEFAULT '1',
  [ICODE]vocation[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]health[/ICODE] int(11) NOT NULL DEFAULT '150',
  [ICODE]healthmax[/ICODE] int(11) NOT NULL DEFAULT '150',
  [ICODE]experience[/ICODE] bigint(20) NOT NULL DEFAULT '0',
  [ICODE]lookbody[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]lookfeet[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]lookhead[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]looklegs[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]looktype[/ICODE] int(11) NOT NULL DEFAULT '136',
  [ICODE]lookaddons[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]maglevel[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]mana[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]manamax[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]manaspent[/ICODE] int(11) unsigned NOT NULL DEFAULT '0',
  [ICODE]soul[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]town_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]posx[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]posy[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]posz[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]conditions[/ICODE] blob NOT NULL,
  [ICODE]cap[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]sex[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]lastlogin[/ICODE] bigint(20) unsigned NOT NULL DEFAULT '0',
  [ICODE]lastip[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]save[/ICODE] tinyint(1) NOT NULL DEFAULT '1',
  [ICODE]skull[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]skulltime[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]lastlogout[/ICODE] bigint(20) unsigned NOT NULL DEFAULT '0',
  [ICODE]blessings[/ICODE] tinyint(2) NOT NULL DEFAULT '0',
  [ICODE]onlinetime[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]deletion[/ICODE] bigint(15) NOT NULL DEFAULT '0',
  [ICODE]balance[/ICODE] bigint(20) unsigned NOT NULL DEFAULT '0',
  [ICODE]offlinetraining_time[/ICODE] smallint(5) unsigned NOT NULL DEFAULT '43200',
  [ICODE]offlinetraining_skill[/ICODE] int(11) NOT NULL DEFAULT '-1',
  [ICODE]stamina[/ICODE] smallint(5) unsigned NOT NULL DEFAULT '2520',
  [ICODE]skill_fist[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_fist_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_club[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_club_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_sword[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_sword_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_axe[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_axe_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_dist[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_dist_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_shielding[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_shielding_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  [ICODE]skill_fishing[/ICODE] int(10) unsigned NOT NULL DEFAULT 10,
  [ICODE]skill_fishing_tries[/ICODE] bigint(20) unsigned NOT NULL DEFAULT 0,
  PRIMARY KEY ([ICODE]id[/ICODE]),
  UNIQUE KEY [ICODE]name[/ICODE] ([ICODE]name[/ICODE]),
  FOREIGN KEY ([ICODE]account_id[/ICODE]) REFERENCES [ICODE]accounts[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE,
  KEY [ICODE]vocation[/ICODE] ([ICODE]vocation[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]account_bans[/ICODE] (
  [ICODE]account_id[/ICODE] int(11) NOT NULL,
  [ICODE]reason[/ICODE] varchar(255) NOT NULL,
  [ICODE]banned_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]expires_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]banned_by[/ICODE] int(11) NOT NULL,
  PRIMARY KEY ([ICODE]account_id[/ICODE]),
  FOREIGN KEY ([ICODE]account_id[/ICODE]) REFERENCES [ICODE]accounts[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY ([ICODE]banned_by[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]account_ban_history[/ICODE] (
  [ICODE]id[/ICODE] int(10) unsigned NOT NULL AUTO_INCREMENT,
  [ICODE]account_id[/ICODE] int(11) NOT NULL,
  [ICODE]reason[/ICODE] varchar(255) NOT NULL,
  [ICODE]banned_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]expired_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]banned_by[/ICODE] int(11) NOT NULL,
  PRIMARY KEY ([ICODE]id[/ICODE]),
  FOREIGN KEY ([ICODE]account_id[/ICODE]) REFERENCES [ICODE]accounts[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY ([ICODE]banned_by[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]ip_bans[/ICODE] (
  [ICODE]ip[/ICODE] int(10) unsigned NOT NULL,
  [ICODE]reason[/ICODE] varchar(255) NOT NULL,
  [ICODE]banned_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]expires_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]banned_by[/ICODE] int(11) NOT NULL,
  PRIMARY KEY ([ICODE]ip[/ICODE]),
  FOREIGN KEY ([ICODE]banned_by[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_namelocks[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]reason[/ICODE] varchar(255) NOT NULL,
  [ICODE]namelocked_at[/ICODE] bigint(20) NOT NULL,
  [ICODE]namelocked_by[/ICODE] int(11) NOT NULL,
  PRIMARY KEY ([ICODE]player_id[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY ([ICODE]namelocked_by[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]account_viplist[/ICODE] (
  [ICODE]account_id[/ICODE] int(11) NOT NULL COMMENT 'id of account whose viplist entry it is',
  [ICODE]player_id[/ICODE] int(11) NOT NULL COMMENT 'id of target player of viplist entry',
  [ICODE]description[/ICODE] varchar(128) NOT NULL DEFAULT '',
  [ICODE]icon[/ICODE] tinyint(2) unsigned NOT NULL DEFAULT '0',
  [ICODE]notify[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  UNIQUE KEY [ICODE]account_player_index[/ICODE] ([ICODE]account_id[/ICODE],[ICODE]player_id[/ICODE]),
  FOREIGN KEY ([ICODE]account_id[/ICODE]) REFERENCES [ICODE]accounts[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE,
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guilds[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]name[/ICODE] varchar(255) NOT NULL,
  [ICODE]ownerid[/ICODE] int(11) NOT NULL,
  [ICODE]creationdata[/ICODE] int(11) NOT NULL,
  [ICODE]motd[/ICODE] varchar(255) NOT NULL DEFAULT '',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  UNIQUE KEY ([ICODE]name[/ICODE]),
  UNIQUE KEY ([ICODE]ownerid[/ICODE]),
  FOREIGN KEY ([ICODE]ownerid[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guild_invites[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]guild_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]player_id[/ICODE],[ICODE]guild_id[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE,
  FOREIGN KEY ([ICODE]guild_id[/ICODE]) REFERENCES [ICODE]guilds[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guild_ranks[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]guild_id[/ICODE] int(11) NOT NULL COMMENT 'guild',
  [ICODE]name[/ICODE] varchar(255) NOT NULL COMMENT 'rank name',
  [ICODE]level[/ICODE] int(11) NOT NULL COMMENT 'rank level - leader, vice, member, maybe something else',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  FOREIGN KEY ([ICODE]guild_id[/ICODE]) REFERENCES [ICODE]guilds[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guild_membership[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]guild_id[/ICODE] int(11) NOT NULL,
  [ICODE]rank_id[/ICODE] int(11) NOT NULL,
  [ICODE]nick[/ICODE] varchar(15) NOT NULL DEFAULT '',
  PRIMARY KEY ([ICODE]player_id[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY ([ICODE]guild_id[/ICODE]) REFERENCES [ICODE]guilds[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE,
  FOREIGN KEY ([ICODE]rank_id[/ICODE]) REFERENCES [ICODE]guild_ranks[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guild_wars[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]guild1[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]guild2[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]name1[/ICODE] varchar(255) NOT NULL,
  [ICODE]name2[/ICODE] varchar(255) NOT NULL,
  [ICODE]status[/ICODE] tinyint(2) NOT NULL DEFAULT '0',
  [ICODE]started[/ICODE] bigint(15) NOT NULL DEFAULT '0',
  [ICODE]ended[/ICODE] bigint(15) NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  KEY [ICODE]guild1[/ICODE] ([ICODE]guild1[/ICODE]),
  KEY [ICODE]guild2[/ICODE] ([ICODE]guild2[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]guildwar_kills[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]killer[/ICODE] varchar(50) NOT NULL,
  [ICODE]target[/ICODE] varchar(50) NOT NULL,
  [ICODE]killerguild[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]targetguild[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]warid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]time[/ICODE] bigint(15) NOT NULL,
  PRIMARY KEY ([ICODE]id[/ICODE]),
  FOREIGN KEY ([ICODE]warid[/ICODE]) REFERENCES [ICODE]guild_wars[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]houses[/ICODE] (
  [ICODE]id[/ICODE] int(11) NOT NULL AUTO_INCREMENT,
  [ICODE]owner[/ICODE] int(11) NOT NULL,
  [ICODE]paid[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]warnings[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]name[/ICODE] varchar(255) NOT NULL,
  [ICODE]rent[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]town_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]bid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]bid_end[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]last_bid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]highest_bidder[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]size[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]beds[/ICODE] int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  KEY [ICODE]owner[/ICODE] ([ICODE]owner[/ICODE]),
  KEY [ICODE]town_id[/ICODE] ([ICODE]town_id[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]house_lists[/ICODE] (
  [ICODE]house_id[/ICODE] int(11) NOT NULL,
  [ICODE]listid[/ICODE] int(11) NOT NULL,
  [ICODE]list[/ICODE] text NOT NULL,
  FOREIGN KEY ([ICODE]house_id[/ICODE]) REFERENCES [ICODE]houses[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]market_history[/ICODE] (
  [ICODE]id[/ICODE] int(10) unsigned NOT NULL AUTO_INCREMENT,
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]sale[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]itemtype[/ICODE] int(10) unsigned NOT NULL,
  [ICODE]amount[/ICODE] smallint(5) unsigned NOT NULL,
  [ICODE]price[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]expires_at[/ICODE] bigint(20) unsigned NOT NULL,
  [ICODE]inserted[/ICODE] bigint(20) unsigned NOT NULL,
  [ICODE]state[/ICODE] tinyint(1) unsigned NOT NULL,
  PRIMARY KEY ([ICODE]id[/ICODE]),
  KEY [ICODE]player_id[/ICODE] ([ICODE]player_id[/ICODE], [ICODE]sale[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]market_offers[/ICODE] (
  [ICODE]id[/ICODE] int(10) unsigned NOT NULL AUTO_INCREMENT,
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]sale[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]itemtype[/ICODE] int(10) unsigned NOT NULL,
  [ICODE]amount[/ICODE] smallint(5) unsigned NOT NULL,
  [ICODE]created[/ICODE] bigint(20) unsigned NOT NULL,
  [ICODE]anonymous[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]price[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]id[/ICODE]),
  KEY [ICODE]sale[/ICODE] ([ICODE]sale[/ICODE],[ICODE]itemtype[/ICODE]),
  KEY [ICODE]created[/ICODE] ([ICODE]created[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]players_online[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  PRIMARY KEY ([ICODE]player_id[/ICODE])
) ENGINE=MEMORY;

CREATE TABLE IF NOT EXISTS [ICODE]player_deaths[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]time[/ICODE] bigint(20) unsigned NOT NULL DEFAULT '0',
  [ICODE]level[/ICODE] int(11) NOT NULL DEFAULT '1',
  [ICODE]killed_by[/ICODE] varchar(255) NOT NULL,
  [ICODE]is_player[/ICODE] tinyint(1) NOT NULL DEFAULT '1',
  [ICODE]mostdamage_by[/ICODE] varchar(100) NOT NULL,
  [ICODE]mostdamage_is_player[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]unjustified[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  [ICODE]mostdamage_unjustified[/ICODE] tinyint(1) NOT NULL DEFAULT '0',
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE,
  KEY [ICODE]killed_by[/ICODE] ([ICODE]killed_by[/ICODE]),
  KEY [ICODE]mostdamage_by[/ICODE] ([ICODE]mostdamage_by[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_depotitems[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]sid[/ICODE] int(11) NOT NULL COMMENT 'any given range eg 0-100 will be reserved for depot lockers and all > 100 will be then normal items inside depots',
  [ICODE]pid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]itemtype[/ICODE] smallint(6) NOT NULL,
  [ICODE]count[/ICODE] smallint(5) NOT NULL DEFAULT '0',
  [ICODE]attributes[/ICODE] blob NOT NULL,
  UNIQUE KEY [ICODE]player_id_2[/ICODE] ([ICODE]player_id[/ICODE], [ICODE]sid[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_inboxitems[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]sid[/ICODE] int(11) NOT NULL,
  [ICODE]pid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]itemtype[/ICODE] smallint(6) NOT NULL,
  [ICODE]count[/ICODE] smallint(5) NOT NULL DEFAULT '0',
  [ICODE]attributes[/ICODE] blob NOT NULL,
  UNIQUE KEY [ICODE]player_id_2[/ICODE] ([ICODE]player_id[/ICODE], [ICODE]sid[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_items[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]pid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]sid[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]itemtype[/ICODE] smallint(6) NOT NULL DEFAULT '0',
  [ICODE]count[/ICODE] smallint(5) NOT NULL DEFAULT '0',
  [ICODE]attributes[/ICODE] blob NOT NULL,
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE,
  KEY [ICODE]sid[/ICODE] ([ICODE]sid[/ICODE])
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_spells[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL,
  [ICODE]name[/ICODE] varchar(255) NOT NULL,
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]player_storage[/ICODE] (
  [ICODE]player_id[/ICODE] int(11) NOT NULL DEFAULT '0',
  [ICODE]key[/ICODE] int(10) unsigned NOT NULL DEFAULT '0',
  [ICODE]value[/ICODE] int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY ([ICODE]player_id[/ICODE],[ICODE]key[/ICODE]),
  FOREIGN KEY ([ICODE]player_id[/ICODE]) REFERENCES [ICODE]players[/ICODE]([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

CREATE TABLE IF NOT EXISTS [ICODE]server_config[/ICODE] (
  [ICODE]config[/ICODE] varchar(50) NOT NULL,
  [ICODE]value[/ICODE] varchar(256) NOT NULL DEFAULT '',
  PRIMARY KEY [ICODE]config[/ICODE] ([ICODE]config[/ICODE])
) ENGINE=InnoDB;

INSERT INTO [ICODE]server_config[/ICODE] ([ICODE]config[/ICODE], [ICODE]value[/ICODE]) VALUES ('db_version', '19'), ('motd_hash', ''), ('motd_num', '0'), ('players_record', '0');

CREATE TABLE IF NOT EXISTS [ICODE]tile_store[/ICODE] (
  [ICODE]house_id[/ICODE] int(11) NOT NULL,
  [ICODE]data[/ICODE] longblob NOT NULL,
  FOREIGN KEY ([ICODE]house_id[/ICODE]) REFERENCES [ICODE]houses[/ICODE] ([ICODE]id[/ICODE]) ON DELETE CASCADE
) ENGINE=InnoDB;

DROP TRIGGER IF EXISTS [ICODE]ondelete_players[/ICODE];
DROP TRIGGER IF EXISTS [ICODE]oncreate_guilds[/ICODE];

DELIMITER //
CREATE TRIGGER [ICODE]ondelete_players[/ICODE] BEFORE DELETE ON [ICODE]players[/ICODE]
FOR EACH ROW BEGIN
    UPDATE [ICODE]houses[/ICODE] SET [ICODE]owner[/ICODE] = 0 WHERE [ICODE]owner[/ICODE] = OLD.[ICODE]id[/ICODE];
END
//
CREATE TRIGGER [ICODE]oncreate_guilds[/ICODE] AFTER INSERT ON [ICODE]guilds[/ICODE]
FOR EACH ROW BEGIN
    INSERT INTO [ICODE]guild_ranks[/ICODE] ([ICODE]name[/ICODE], [ICODE]level[/ICODE], [ICODE]guild_id[/ICODE]) VALUES ('the Leader', 3, NEW.[ICODE]id[/ICODE]);
    INSERT INTO [ICODE]guild_ranks[/ICODE] ([ICODE]name[/ICODE], [ICODE]level[/ICODE], [ICODE]guild_id[/ICODE]) VALUES ('a Vice-Leader', 2, NEW.[ICODE]id[/ICODE]);
    INSERT INTO [ICODE]guild_ranks[/ICODE] ([ICODE]name[/ICODE], [ICODE]level[/ICODE], [ICODE]guild_id[/ICODE]) VALUES ('a Member', 1, NEW.[ICODE]id[/ICODE]);
END
//
DELIMITER ;

EDIT: Something happened with the display of scripts so I attach them to files.

Haskys
 

Attachments

Solution
This script is meant for TFS 0.4

Hello,


My "Skull Remover" doesn't work. It seems to me that there is a problem with referring to the database because the variables are different.
Could someone help fix this?

Lua:
function onUse(cid, item, fromPosition, item2, toPosition)
        local noRemove = {SKULL_WHITE, SKULL_YELLOW}
        local playerSkull = getPlayerSkullType(cid)
        if isInArray(noRemove, playerSkull) then
            doPlayerSendCancel(cid, "You can't remove this type of skull.")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
            return true
        elseif playerSkull == SKULL_NONE then
            doPlayerSendCancel(cid, "You don't have skull.")...
This script is meant for TFS 0.4

Hello,


My "Skull Remover" doesn't work. It seems to me that there is a problem with referring to the database because the variables are different.
Could someone help fix this?

Lua:
function onUse(cid, item, fromPosition, item2, toPosition)
        local noRemove = {SKULL_WHITE, SKULL_YELLOW}
        local playerSkull = getPlayerSkullType(cid)
        if isInArray(noRemove, playerSkull) then
            doPlayerSendCancel(cid, "You can't remove this type of skull.")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
            return true
        elseif playerSkull == SKULL_NONE then
            doPlayerSendCancel(cid, "You don't have skull.")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
            return true
        else
            db.executeQuery("UPDATE [ICODE]killers[/ICODE] SET [ICODE]unjustified[/ICODE] = 0 WHERE [ICODE]id[/ICODE] IN (SELECT [ICODE]kill_id[/ICODE] FROM [ICODE]player_killers[/ICODE] WHERE [ICODE]player_id[/ICODE] = " .. getPlayerGUID(cid) .. ")")
            doPlayerSendTextMessage(cid, 27, "Your frags & your skull have been removed!")
            doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
            doSendAnimatedText(getPlayerPosition(cid), "POFF!", 180)
            doCreatureSetSkullType(cid,0)
            doPlayerSetSkullEnd(cid, 0, playerSkull)
            doRemoveItem(item.uid, 1)
        end
        return true
end



Try this:
Lua:
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local player = Player(cid)
    if not isInArray({SKULL_RED, SKULL_BLACK}, player:getSkull()) then
        player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You can only remove red or black skulls!")
        return true
    end

    player:setSkull(0)
    player:setSkullTime(0)
    player:getPosition():sendMagicEffect(CONST_ME_MAGIC_GREEN)
    player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Your skull has been removed!")
    Item(item.uid):remove(1)
    return true
end
 
Solution
Back
Top