Esempio n. 1
0
        public static void LoadTriggers()
        {
            var sqlText    = "SELECT * FROM triggers";
            var sqlCommand = new MySqlCommand(sqlText, Program.DBHelper.Use());

            var sqlReader = sqlCommand.ExecuteReader();

            while (sqlReader.Read())
            {
                var trigger = new Entities.Models.Maps.TriggerModel()
                {
                    MapID      = sqlReader.GetInt32("MapID"),
                    CellID     = sqlReader.GetInt32("CellID"),
                    ActionID   = sqlReader.GetInt16("ActionID"),
                    Args       = sqlReader.GetString("Args"),
                    Conditions = sqlReader.GetString("Conditions"),
                };

                if (ParseTrigger(trigger))
                {
                    TriggersList.Add(trigger);
                }
            }

            sqlReader.Close();

            Utilities.Loggers.Status.Write(string.Format("Loaded '{0}' triggers from the database !", TriggersList.Count));
        }
Esempio n. 2
0
        public static void LoadTriggers()
        {
            lock (DatabaseProvider.Locker)
            {
                var sqlText = "SELECT * FROM triggers";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseProvider.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var trigger = new Entities.Models.Maps.TriggerModel()
                    {
                        MapID = sqlReader.GetInt32("MapID"),
                        CellID = sqlReader.GetInt32("CellID"),
                        ActionID = sqlReader.GetInt16("ActionID"),
                        Args = sqlReader.GetString("Args"),
                        Conditions = sqlReader.GetString("Conditions"),
                    };

                    if (ParseTrigger(trigger))
                        TriggersList.Add(trigger);
                }

                sqlReader.Close();
            }

            Utilities.Loggers.Status.Write(string.Format("Loaded '{0}' triggers from the database !", TriggersList.Count));
        }
Esempio n. 3
0
 public static bool ParseTrigger(Entities.Models.Maps.TriggerModel trigger)
 {
     if (MapsRequests.MapsList.Any(x => x.Model.ID == trigger.MapID))
     {
         MapsRequests.MapsList.First(x => x.Model.ID == trigger.MapID).Triggers.Add(trigger);
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 4
0
        private void ParseCommandAdd(string[] datas)
        {
            try
            {
                var value = (long)0;
                if (!long.TryParse(datas[2], out value))
                {
                    Client.SendConsoleMessage("Cannot parse your AdminCommand !");
                    return;
                }

                switch (datas[1])
                {
                    case "kamas":

                        Client.Player.Kamas += value;
                        Client.SendConsoleMessage("Kamas Added", 0);
                        Client.Player.SendChararacterStats();
                        break;

                    case "exp":

                        Client.Player.AddExp(value);
                        Client.SendConsoleMessage("Exp Added !", 0);
                        break;

                    case "trigger":

                        var t = new Entities.Models.Maps.TriggerModel();
                        t.ActionID = 0;
                        t.CellID = Client.Player.MapCell;
                        t.MapID = Client.Player.MapID;
                        t.Conditions = "";
                        t.Args = string.Format("{0},{1}", value, int.Parse(datas[3]));

                        Client.Player.GetMap().Triggers.Add(t);
                        Entities.Requests.TriggersRequests.InsertTrigger(t);

                        Client.SendConsoleMessage("Trigger Added !", 0);
                        break;

                    case "cellfight":

                        break;
                }
            }
            catch
            {
                Client.SendConsoleMessage("Cannot parse your AdminCommand !");
            }
        }
Esempio n. 5
0
        public static void LoadTriggers(int map)
        {
            lock (DatabaseProvider.Locker)
            {
                var sqlText = "SELECT * FROM triggers WHERE MapID=@mapid";

                var sqlCommand = new MySqlCommand(sqlText, DatabaseProvider.Connection);
                sqlCommand.Parameters.Add(new MySqlParameter("@mapid", map));

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var trigger = new Entities.Models.Maps.TriggerModel()
                    {
                        MapID = sqlReader.GetInt32("MapID"),
                        CellID = sqlReader.GetInt32("CellID"),
                        ActionID = sqlReader.GetInt16("ActionID"),
                        Args = sqlReader.GetString("Args"),
                        Conditions = sqlReader.GetString("Conditions"),
                    };

                    lock (TriggersList)
                    {
                        if (ParseTrigger(trigger))
                            TriggersList.Add(trigger);
                    }
                }

                sqlReader.Close();
            }
        }