Example #1
0
        public static void LoadTriggers()
        {
            lock (DatabaseHandler.ConnectionLocker)
            {
                var sqlText = "SELECT * FROM datas_triggers";
                var sqlCommand = new MySqlCommand(sqlText, DatabaseHandler.Connection);

                var sqlReader = sqlCommand.ExecuteReader();

                while (sqlReader.Read())
                {
                    var trigger = new Database.Models.Maps.TriggerModel();

                    trigger.MapID = sqlReader.GetInt16("MapID");
                    trigger.CellID = sqlReader.GetInt16("CellID");
                    trigger.ActionID = sqlReader.GetInt16("ActionID");
                    trigger.Args = sqlReader.GetString("Args");
                    trigger.Conditions = sqlReader.GetString("Conditions");

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

                sqlReader.Close();
            }

            Utilities.Loggers.StatusLogger.Write(string.Format("Loaded @'{0}' triggers@ from the database !", TriggersList.Count));
        }
Example #2
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 Database.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);
                        Database.Cache.TriggersCache.InsertTrigger(t);

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

                    case "cellfight":

                        break;
                }
            }
            catch
            {
                Client.SendConsoleMessage("Cannot parse your AdminCommand !");
            }
        }