internal void method_65(DatabaseClient class6_0) { try { Dictionary<uint, bool> dictionary = new Dictionary<uint, bool>(); StringBuilder stringBuilder = new StringBuilder(); if (this.list_14.Count > 0) { foreach (RoomItem @class in this.list_14) { try { if (!dictionary.ContainsKey(@class.uint_0)) { class6_0.AddParamWithValue(@class.uint_0 + "Extra1", @class.string_2); class6_0.AddParamWithValue(@class.uint_0 + "Extra2", @class.string_3); class6_0.AddParamWithValue(@class.uint_0 + "Extra3", @class.string_4); class6_0.AddParamWithValue(@class.uint_0 + "Extra4", @class.string_5); class6_0.AddParamWithValue(@class.uint_0 + "Extra5", @class.string_6); stringBuilder.Append(string.Concat(new object[] { "DELETE FROM wired_items WHERE item_id = '", @class.uint_0, "' LIMIT 1; INSERT INTO wired_items (item_id,extra1,extra2,extra3,extra4,extra5) VALUES ('", @class.uint_0, "',@", @class.uint_0, "Extra1,@", @class.uint_0, "Extra2,@", @class.uint_0, "Extra3,@", @class.uint_0, "Extra4,@", @class.uint_0, "Extra5); " })); } dictionary.Add(@class.uint_0, true); } catch { } } } if (this.list_15.Count > 0) { foreach (RoomItem @class in this.list_15) { try { if (!dictionary.ContainsKey(@class.uint_0)) { class6_0.AddParamWithValue(@class.uint_0 + "Extra1", @class.string_2); class6_0.AddParamWithValue(@class.uint_0 + "Extra2", @class.string_3); class6_0.AddParamWithValue(@class.uint_0 + "Extra3", @class.string_4); class6_0.AddParamWithValue(@class.uint_0 + "Extra4", @class.string_5); class6_0.AddParamWithValue(@class.uint_0 + "Extra5", @class.string_6); stringBuilder.Append(string.Concat(new object[] { "DELETE FROM wired_items WHERE item_id = '", @class.uint_0, "' LIMIT 1; INSERT INTO wired_items (item_id,extra1,extra2,extra3,extra4,extra5) VALUES ('", @class.uint_0, "',@", @class.uint_0, "Extra1,@", @class.uint_0, "Extra2,@", @class.uint_0, "Extra3,@", @class.uint_0, "Extra4,@", @class.uint_0, "Extra5); " })); } dictionary.Add(@class.uint_0, true); } catch { } } } if (this.list_16.Count > 0) { foreach (RoomItem @class in this.list_16) { try { if (!dictionary.ContainsKey(@class.uint_0)) { class6_0.AddParamWithValue(@class.uint_0 + "Extra1", @class.string_2); class6_0.AddParamWithValue(@class.uint_0 + "Extra2", @class.string_3); class6_0.AddParamWithValue(@class.uint_0 + "Extra3", @class.string_4); class6_0.AddParamWithValue(@class.uint_0 + "Extra4", @class.string_5); class6_0.AddParamWithValue(@class.uint_0 + "Extra5", @class.string_6); stringBuilder.Append(string.Concat(new object[] { "DELETE FROM wired_items WHERE item_id = '", @class.uint_0, "' LIMIT 1; INSERT INTO wired_items (item_id,extra1,extra2,extra3,extra4,extra5) VALUES ('", @class.uint_0, "',@", @class.uint_0, "Extra1,@", @class.uint_0, "Extra2,@", @class.uint_0, "Extra3,@", @class.uint_0, "Extra4,@", @class.uint_0, "Extra5); " })); } dictionary.Add(@class.uint_0, true); } catch { } } } dictionary.Clear(); if (this.hashtable_3.Count > 0 || this.hashtable_1.Count > 0 || this.hashtable_2.Count > 0 || this.Boolean_4) { foreach (RoomItem @class in this.hashtable_1.Values) { stringBuilder.Append(string.Concat(new object[] { "UPDATE items SET room_id = 0 WHERE Id = '", @class.uint_0, "' AND room_id = '", this.Id, "' LIMIT 1; " })); } this.hashtable_1.Clear(); IEnumerator enumerator2; if (this.hashtable_3.Count > 0) { enumerator2 = this.hashtable_3.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { RoomItem @class = (RoomItem)enumerator2.Current; stringBuilder.Append("UPDATE items SET room_id = 0 WHERE Id = '" + @class.uint_0 + "' LIMIT 1; "); } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } int num = 0; int num2 = 0; enumerator2 = this.hashtable_3.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { RoomItem @class = (RoomItem)enumerator2.Current; if (@class.Boolean_2) { num2++; } else { num++; } } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } if (num2 > 0) { enumerator2 = this.hashtable_3.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { RoomItem @class = (RoomItem)enumerator2.Current; if (@class.Boolean_2) { class6_0.AddParamWithValue("extra_data" + @class.uint_0, @class.ExtraData); stringBuilder.Append(string.Concat(new object[] { "UPDATE items SET room_id = '", this.Id, "', base_item = '", @class.uint_2, "', extra_data = @extra_data", @class.uint_0, ", x = '", @class.Int32_0, "', y = '", @class.Int32_1, "', z = '", @class.Double_0.ToString().Replace(",", "."), "', rot = '", @class.int_3, "', wall_pos = '' WHERE Id = '", @class.uint_0, "' LIMIT 1; " })); } } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } } if (num > 0) { enumerator2 = this.hashtable_3.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { RoomItem @class = (RoomItem)enumerator2.Current; if (@class.Boolean_1) { class6_0.AddParamWithValue("extra_data" + @class.uint_0, @class.ExtraData); class6_0.AddParamWithValue("pos" + @class.uint_0, @class.string_7); stringBuilder.Append(string.Concat(new object[] { "UPDATE items SET room_id = '", this.Id, "', base_item = '", @class.uint_2, "', extra_data = @extra_data", @class.uint_0, ", x = '0', y = '0', z = '0', rot = '0', wall_pos = @pos", @class.uint_0, " WHERE Id = '", @class.uint_0, "' LIMIT 1; " })); } } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } } this.hashtable_3.Clear(); } enumerator2 = this.hashtable_2.Values.GetEnumerator(); try { while (enumerator2.MoveNext()) { RoomItem @class = (RoomItem)enumerator2.Current; stringBuilder.Append(string.Concat(new object[] { "UPDATE items SET x = '", @class.Int32_0, "', y = '", @class.Int32_1, "', z = '", @class.Double_0.ToString().Replace(",", "."), "', rot = '", @class.int_3, "', wall_pos = '' WHERE Id = '", @class.uint_0, "' LIMIT 1; " })); } } finally { IDisposable disposable = enumerator2 as IDisposable; if (disposable != null) { disposable.Dispose(); } } this.hashtable_2.Clear(); foreach (Pet current in this.method_2()) { if (current.DBState == DatabaseUpdateState.NeedsInsert) { class6_0.AddParamWithValue("petname" + current.PetId, current.Name); class6_0.AddParamWithValue("petcolor" + current.PetId, current.Color); class6_0.AddParamWithValue("petrace" + current.PetId, current.Race); stringBuilder.Append(string.Concat(new object[] { "INSERT INTO `user_pets` VALUES ('", current.PetId, "', '", current.OwnerId, "', '", current.RoomId, "', @petname", current.PetId, ", @petrace", current.PetId, ", @petcolor", current.PetId, ", '", current.Type, "', '", current.Expirience, "', '", current.Energy, "', '", current.Nutrition, "', '", current.Respect, "', '", current.CreationStamp, "', '", current.X, "', '", current.Y, "', '", current.Z, "');" })); } else { if (current.DBState == DatabaseUpdateState.NeedsUpdate) { stringBuilder.Append(string.Concat(new object[] { "UPDATE user_pets SET room_id = '", current.RoomId, "', expirience = '", current.Expirience, "', energy = '", current.Energy, "', nutrition = '", current.Nutrition, "', respect = '", current.Respect, "', x = '", current.X, "', y = '", current.Y, "', z = '", current.Z, "' WHERE Id = '", current.PetId, "' LIMIT 1; " })); } } current.DBState = DatabaseUpdateState.Updated; } } if (stringBuilder.Length > 0) { class6_0.ExecuteQuery(stringBuilder.ToString()); } } catch (Exception ex) { Logging.LogCriticalException(string.Concat(new object[] { "Error during saving furniture for room ", this.Id, ". Stack: ", ex.ToString() })); } }
internal void method_19(DatabaseClient class6_0, bool bool_0) { try { if (this.list_1.Count > 0 || this.hashtable_1.Count > 0 || this.hashtable_0.Count > 0) { StringBuilder stringBuilder = new StringBuilder(); foreach (Pet @class in this.hashtable_0.Values) { if (@class.DBState == DatabaseUpdateState.NeedsInsert) { class6_0.AddParamWithValue("petname" + @class.PetId, @class.Name); class6_0.AddParamWithValue("petcolor" + @class.PetId, @class.Color); class6_0.AddParamWithValue("petrace" + @class.PetId, @class.Race); stringBuilder.Append(string.Concat(new object[] { "INSERT INTO `user_pets` VALUES ('", @class.PetId, "', '", @class.OwnerId, "', '", @class.RoomId, "', @petname", @class.PetId, ", @petrace", @class.PetId, ", @petcolor", @class.PetId, ", '", @class.Type, "', '", @class.Expirience, "', '", @class.Energy, "', '", @class.Nutrition, "', '", @class.Respect, "', '", @class.CreationStamp, "', '", @class.X, "', '", @class.Y, "', '", @class.Z, "');" })); } else { if (@class.DBState == DatabaseUpdateState.NeedsUpdate) { stringBuilder.Append(string.Concat(new object[] { "UPDATE user_pets SET room_id = '", @class.RoomId, "', expirience = '", @class.Expirience, "', energy = '", @class.Energy, "', nutrition = '", @class.Nutrition, "', respect = '", @class.Respect, "', x = '", @class.X, "', y = '", @class.Y, "', z = '", @class.Z, "' WHERE Id = '", @class.PetId, "' LIMIT 1; " })); } } @class.DBState = DatabaseUpdateState.Updated; } if (stringBuilder.Length > 0) { class6_0.ExecuteQuery(stringBuilder.ToString()); } } if (bool_0) { Console.WriteLine("Inventory for user: "******" saved."); } } catch (Exception ex) { Logging.LogCacheError("FATAL ERROR DURING DB UPDATE: " + ex.ToString()); } }
public void method_0(DatabaseClient class6_0, int int_0) { Logging.smethod_0(GoldTreeEnvironment.smethod_1("emu_cleandb")); bool flag = true; try { if (int.Parse(GoldTree.GetConfig().data["debug"]) == 1) { flag = false; } } catch { } if (flag) { class6_0.ExecuteQuery("UPDATE users SET online = '0' WHERE online != '0'"); class6_0.ExecuteQuery("UPDATE rooms SET users_now = '0' WHERE users_now != '0'"); class6_0.ExecuteQuery("UPDATE user_roomvisits SET exit_timestamp = UNIX_TIMESTAMP() WHERE exit_timestamp <= 0"); class6_0.ExecuteQuery(string.Concat(new object[] { "UPDATE server_status SET status = '", int_0, "', users_online = '0', rooms_loaded = '0', server_ver = '", GoldTree.PrettyVersion, "', stamp = UNIX_TIMESTAMP() LIMIT 1;" })); } Logging.WriteLine("completed!"); }