if fs.exists(".installed") then print("Game is already installed! Stopping script.") return false end local start = microtime(true) local db = sqlite("dk") db:begin() db:create_table("babble", "id INTEGER PRIMARY KEY AUTOINCREMENT", "posted TEXT NOT NULL DEFAULT '00:00:00'", "user_id INTEGER NOT NULL", "babble TEXT NOT NULL", "visible INTEGER NOT NULL DEFAULT 1" ) db:create_table("items", "id INTEGER PRIMARY KEY AUTOINCREMENT", "type INTEGER NOT NULL DEFAULT 0", "name TEXT NOT NULL", "lore TEXT", "base_value INTEGER NOT NULL DEFAULT 0", "attributes_id INTEGER NOT NULL DEFAULT 0", "special TEXT NOT NULL DEFAULT ''" ) db:create_table("attributes", "id INTEGER PRIMARY KEY AUTOINCREMENT", "power INTEGER NOT NULL DEFAULT 0", "toughness INTEGER NOT NULL DEFAULT 0", "agility INTEGER NOT NULL DEFAULT 0", "dexterity INTEGER NOT NULL DEFAULT 0", "magic INTEGER NOT NULL DEFAULT 0", "luck INTEGER NOT NULL DEFAULT 0", "perception INTEGER NOT NULL DEFAULT 0", "uber_power INTEGER NOT NULL DEFAULT 0", "uber_resist INTEGER NOT NULL DEFAULT 0" "hp INTEGER NOT NULL DEFAULT 0", "mp INTEGER NOT NULL DEFAULT 0" ) db:create_table("drops", "id INTEGER PRIMARY KEY AUTOINCREMENT", "name TEXT NOT NULL", "level INTEGER NOT NULL DEFAULT 0", "type INTEGER NOT NULL DEFAULT 0", "attribute_1 TEXT NOT NULL DEFAULT ''", "attribute_2 TEXT NOT NULL DEFAULT ''" ) db:create_table("forum", "id INTEGER PRIMARY KEY AUTOINCREMENT", "author INTEGER NOT NULL", "parent INTEGER NOT NULL DEFAULT 0", "replies INTEGER NOT NULL DEFAULT 0", "title TEXT NOT NULL", "content TEXT NOT NULL", "posted DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP", "latest DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP" ) db:create_table("monsters", "id INTEGER PRIMARY KEY AUTOINCREMENT", "name TEXT NOT NULL", "max_hp INTEGER NOT NULL DEFAULT 1", "max_dmg INTEGER NOT NULL DEFAULT 0", "armor INTEGER NOT NULL DEFAULT 0", "level INTEGER NOT NULL DEFAULT 0", "max_exp INTEGER NOT NULL DEFAULT 0", "max_gold INTEGER NOT NULL DEFAULT 0", "immune INTEGER NOT NULL DEFAULT 0" ) db:create_table("news", "id INTEGER PRIMARY KEY AUTOINCREMENT", "author TEXT NOT NULL DEFAULT 'Guild Master'", "postdate DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP", "content TEXT NOT NULL" ) db:create_table("spells", "id INTEGER PRIMARY KEY AUTOINCREMENT", "name TEXT NOT NULL", "mp INTEGER NOT NULL DEFAULT 0", "power INTEGER NOT NULL DEFAULT 0", "type INTEGER NOT NULL DEFAULT 0" ) db:create_table("towns", "id INTEGER PRIMARY KEY AUTOINCREMENT", "name TEXT NOT NULL", "lat INTEGER NOT NULL DEFAULT 0", "lon INTEGER NOT NULL DEFAULT 0", "inn_price INTEGER NOT NULL DEFAULT 0", "map_price INTEGER NOT NULL DEFAULT 0", "tp_cost INTEGER NOT NULL DEFAULT 0", ) db:create_table("town_shop_items", "town_id INTEGER NOT NULL", "item_id INTEGER NOT NULL", "buy_value INTEGER NOT NULL DEFAULT 1", "sell_value INTEGER NOT NULL DEFAULT 1" ) db:create_table("users", "id INTEGER PRIMARY KEY AUTOINCREMENT", "username TEXT NOT NULL", "password TEXT NOT NULL", "email TEXT NOT NULL", "verified INTEGER NOT NULL DEFAULT 0", "verify_token TEXT NOT NULL DEFAULT ''", "registered DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP", "last_login DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP", "auth INTEGER NOT NULL DEFAULT 0", "lat INTEGER NOT NULL DEFAULT 0", "lon INTEGER NOT NULL DEFAULT 0", "class_id INTEGER NOT NULL DEFAULT 1", "currently TEXT NOT NULL DEFAULT 'In Town'", "fighting INTEGER NOT NULL default 0", "monster_id INTEGER NOT NULL default 0", "monster_hp INTEGER NOT NULL default 0", "monster_sleep INTEGER NOT NULL default 0", "monster_immune INTEGER NOT NULL default 0", "uber_dmg INTEGER NOT NULL default 0", "uber_def INTEGER NOT NULL default 0", "hp INTEGER NOT NULL default 15", "mp INTEGER NOT NULL default 0", "tp INTEGER NOT NULL default 10", "max_hp INTEGER NOT NULL default 15", "max_mp INTEGER NOT NULL default 0", "max_tp INTEGER NOT NULL default 10", "level INTEGER NOT NULL default 1", "gold INTEGER NOT NULL default 100", "exp INTEGER NOT NULL default 0", "gold_bonus INTEGER NOT NULL default 0", "exp_bonus INTEGER NOT NULL default 0", "strength INTEGER NOT NULL default 5", "dexterity INTEGER NOT NULL default 5", "attack INTEGER NOT NULL default 5", "defense INTEGER NOT NULL default 5", "weapon_id INTEGER NOT NULL default 0", "armor_id INTEGER NOT NULL default 0", "shield_id INTEGER NOT NULL default 0", "slot_1_id INTEGER NOT NULL default 0", "slot_2_id INTEGER NOT NULL default 0", "slot_3_id INTEGER NOT NULL default 0", "weapon_name TEXT NOT NULL default 'None'", "armor_name TEXT NOT NULL default 'None'", "shield_name TEXT NOT NULL default 'None'", "slot_1_name TEXT NOT NULL default 'None'", "slot_2_name TEXT NOT NULL default 'None'", "slot_3_name TEXT NOT NULL default 'None'", "drop_code INTEGER NOT NULL default 0", "spells TEXT NOT NULL default '0'", "maps TEXT NOT NULL default '0'" ) db:commit() local time = math.roundto(microtime(true) - start, 4) print(iparse("Game installed in seconds.", {time})) return true