public void CheckSetupAccount(Steamworks.CSteamID id)
        {
            try
            {
                var connection = createConnection();
                var command    = connection.CreateCommand();
                var exists     = 0;
                command.CommandText = "SELECT EXISTS(SELECT 1 FROM `" +
                                      AdminSync.Instance.Configuration.Instance.databaseTableName +
                                      "` WHERE `steamId` ='" + id + "' LIMIT 1);";
                connection.Open();
                var result = command.ExecuteScalar();
                if (result != null)
                {
                    int.TryParse(result.ToString(), out exists);
                }
                connection.Close();

                if (exists == 0)
                {
                    command.CommandText = "insert ignore into `" +
                                          AdminSync.Instance.Configuration.Instance.databaseTableName +
                                          "` (isadmin,steamId,lastUpdated) values(" + 0.ToString() + ",'" +
                                          id.ToString() + "',now())";
                    connection.Open();
                    command.ExecuteNonQuery();
                    connection.Close();
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
        }
Beispiel #2
0
        public void CheckSetupAccount(Steamworks.CSteamID id)
        {
            try
            {
                /*MySqlConnection connection = createConnection();
                 * MySqlCommand command = connection.CreateCommand();
                 * int exists = 0;
                 * command.CommandText = "SELECT EXISTS(SELECT 1 FROM `" + Uconomy.Instance.Configuration.Instance.DatabaseTableName + "` WHERE `steamId` ='" + id + "' LIMIT 1);";
                 * connection.Open();
                 * object result = command.ExecuteScalar();
                 * if (result != null) Int32.TryParse(result.ToString(), out exists);
                 * connection.Close();
                 *
                 * if (exists == 0)
                 * {
                 *  command.CommandText = "insert ignore into `" + Uconomy.Instance.Configuration.Instance.DatabaseTableName + "` (balance,steamId,lastUpdated) values(" + Uconomy.Instance.Configuration.Instance.InitialBalance + ",'" + id.ToString() + "',now())";
                 *  connection.Open();
                 *  command.ExecuteNonQuery();
                 *  connection.Close();
                 * }*/

                using (var db = new LiteDatabase(Uconomy.Instance.Directory + @"/file.db"))
                {
                    var col = db.GetCollection <Account>("accounts");

                    var find = col.Query().Where(x => x.steamId == id.ToString()).FirstOrDefault();

                    if (find == null)
                    {
                        col.Insert(new Account
                        {
                            steamId = id.ToString(),
                            balance = Uconomy.Instance.Configuration.Instance.InitialBalance
                        });
                    }
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
        }
        private void Patch_OnPlayerLockVehicle(Steamworks.CSteamID steamId, uint instanceId, bool locked)
        {
            if (!locked || Provider.server == steamId)
            {
                return;
            }
            AsyncHelper.RunSync(async() =>
            {
                var pBunch = await m_KeysManager.TryGetPlayerBunch(steamId.ToString());
                var user   = PlayerTool.getPlayer(steamId);
                InteractableVehicle vehicle = VehicleManager.findVehicleByNetInstanceID(instanceId);
                if (pBunch != null)
                {
                    if (locked)
                    {
                        if (pBunch.VehiclesKey.Count >= m_Configuration.GetSection("configuration:max_keys").Get <int>())
                        {
                            await UniTask.SwitchToMainThread();
                            VehicleManager.instance.channel.send("tellVehicleLock", ESteamCall.ALL, ESteamPacket.UPDATE_RELIABLE_BUFFER, new object[]
                            {
                                instanceId,
                                steamId,
                                user.quests.groupID,
                                false
                            });

                            ChatManager.say(steamId, m_StringLocalizer["translations:max_keys_reach"], Color.red, EChatMode.SAY, false);
                        }
                        else
                        {
                            await m_KeysManager.TryAddKeyToBunch(steamId.ToString(), new Key {
                                InstanceId = instanceId, VehicleName = vehicle.asset.name
                            });
                            await UniTask.SwitchToMainThread();
                            ChatManager.say(steamId, m_StringLocalizer["translations:vehicle_added", new { vehicleId = instanceId, vehicle = vehicle.asset.name }], Color.red, EChatMode.SAY, false);
                        }
                    }
                }
            });
        }
Beispiel #4
0
        private void DA_OnPlayerDeath(RocketPlayer player, SDG.Unturned.EDeathCause cause, SDG.Unturned.ELimb limb, Steamworks.CSteamID murderer)
        {
            if (!this.Loaded || !this.Configuration.Enabled)
            {
                return;
            }

            //TODO need proper steamid conversion, this is ugly
            if (murderer.ToString() == "90071992547409920")
            {
                murderer = (Steamworks.CSteamID) 0;
            }
            if (murderer == null)
            {
                murderer = (Steamworks.CSteamID) 0;
            }

            string Killer = string.Empty;

            if (murderer.ToString().Length > 1)
            {
                Killer = RocketPlayer.FromCSteamID(murderer)?.CharacterName;
            }

            string Message = "";

            if (String.IsNullOrEmpty(Killer) && !String.IsNullOrEmpty(CauseLookup[cause].AltMessage))
            {
                Message = CauseLookup[cause].AltMessage.Replace(@"%P", player.CharacterName);
            }
            else
            {
                Message = CauseLookup[cause].Message.Replace(@"%K", Killer);
                Message = Message.Replace(@"%P", player.CharacterName);
            }

            Say(Message, CauseLookup[cause].Color);
        }
Beispiel #5
0
        public void CheckSetupAccount(Steamworks.CSteamID id)
        {
            try
            {
                MySqlConnection connection = createConnection();
                MySqlCommand    command    = connection.CreateCommand();
                int             exists     = 0;
                command.CommandText = "SELECT EXISTS(SELECT 1 FROM `" + Reputation.Instance.Configuration.Instance.DatabaseTableName + "` WHERE `steamId` ='" + id + "' LIMIT 1);";
                connection.Open();
                object result = command.ExecuteScalar();
                if (result != null)
                {
                    Int32.TryParse(result.ToString(), out exists);
                }
                connection.Close();

                if (exists == 0)
                {
                    command.CommandText = "insert ignore into `" + Reputation.Instance.Configuration.Instance.DatabaseTableName + "` (Reputation,steamId) values(" + Reputation.Instance.Configuration.Instance.DefaultReputation + ",'" + id.ToString() + "')";
                    connection.Open();
                    command.ExecuteNonQuery();
                    connection.Close();
                }
            }
            catch (Exception ex)
            {
                Logger.LogException(ex);
            }
        }
 public static bool IsPlayer(Steamworks.CSteamID caller)
 {
     return(caller != null && !String.IsNullOrEmpty(caller.ToString()) && caller.ToString() != "0");
 }