public static void ReloadSubarea(string value, WorldClient client) { DatabaseManager.GetInstance().Reload <SubareaRecord>(); foreach (MapRecord map in MapRecord.Maps) { map.SubArea = SubareaRecord.GetSubarea(map.SubAreaId); } client.Character.Reply("Reloaded"); }
public static void ReloadSubareas(string input) { DatabaseManager.GetInstance().Reload <SubareaRecord>(); foreach (var map in MapRecord.Maps) { map.SubArea = SubareaRecord.GetSubarea(map.SubAreaId); } foreach (var client in WorldServer.Instance.GetOnlineClients()) { client.Character.UpdateServerExperience(client.Character.Map.SubArea.ExperienceRate); } logger.White("Subareas reloaded!"); }
private static bool GiftXPModifier(Character character, SubareaRecord subarea, int hours) { if (character.Map.SubArea.ExperienceRate >= 20) { character.Reply("L'experience de la zone est déja a son maximum!"); return(false); } int rate = character.Map.SubArea.ExperienceRate; string msg = string.Format("Le multiplicateur d'experience de la zone {0} passe de x{1} a x{2} pendant {3}h ! merci a {4}!", character.Map.SubArea.Name, rate, rate + 1, hours, character.Name); WorldServer.Instance.OnClients(x => x.Character.Notification(msg)); character.Map.SubArea.ExperienceRate += 1; character.UpdateServerExperience(character.Map.SubArea.ExperienceRate); MapRecord map = character.Map; ActionTimer timer = new ActionTimer(3600000 * hours, new Action(() => { map.SubArea.ExperienceRate -= 1; }), false); timer.Start(); return(true); }
public static void GetSubarea(string value, WorldClient client) { SubareaRecord subAreaRecord = client.Character.Map.SubArea; client.Character.Reply($"Subarea: {subAreaRecord.Name} ({subAreaRecord.Id})."); }