Esempio n. 1
0
        public static bool PutVehicleBaggageItemByPlayer(Client sender, int vehId, int index)
        {
            var _clientItem = InventoryManager.GetItemFromPlayerInventory(sender, index);

            if (InventoryManager.RemoveItemFromPlayerInventoryByIndex(sender, index))
            {
                if (AddVehicleBaggageItem(_clientItem.Item2, Convert.ToInt64(vehId)))
                {
                    RPGManager rpgMgr = new Managers.RPGManager();
                    rpgMgr.Me(sender, " adlı kişi bagaja bir şeyler yerleştirir.", 8);
                    LookToBaggage(sender);
                }
                else
                {
                    API.shared.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bu eşyayı bagaja koyamazsınız.");
                    InventoryManager.AddItemToPlayerInventory(sender, _clientItem.Item2);
                    //API.shared.consoleOutput(LogCat.Fatal, "Bagaja eklenmedi ancak player'in envanterinden silindi.");
                }
            }
            else
            {
                API.shared.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bir hata oluştu.");
                API.shared.consoleOutput(LogCat.Fatal, "Bagaja eklenemedi.");
            }

            return(true);
        }
Esempio n. 2
0
        public static void onBuildingRingSelected(Client sender, int buildingId, int index)
        {
            var _building = db_Buildings.GetBuilding(buildingId);
            var floor     = _building.Floors[index];

            RPGManager.SendAllPlayersInRange(floor.InteriorPosition, 30, floor.InteriorDimension,
                                             "~p~*****Kapı Zili Çalmaktadır.***"
                                             );
            RPGManager rpgMgr = new Managers.RPGManager();

            rpgMgr.Me(sender, " adlı kişi elini düğmeye uzatır ve zili çalar.");
        }
Esempio n. 3
0
        public void VehicleLicenseMainCommand(Client sender, string type)
        {
            if ("basla".StartsWith(type.ToLower()))
            {
                var _inventory = (Inventory)API.getEntityData(sender, "inventory");
                if (_inventory.ItemList.FirstOrDefault(x => x.ItemId == db_Items.GameItems.Values.FirstOrDefault(f => f.Type == ItemType.License && f.Value_0 == "0").ID) != null)
                {
                    API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Zaten ehliyetiniz bulunuyor."); return;
                }

                var licenseTakingPoint = db_LicensePoints.CurrentLicenseTakings.Item1.FirstOrDefault(x => x.LicenseType == 0);
                if (licenseTakingPoint == null)
                {
                    API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Şu anda herhangi bir ehliyet kursu bulunmuyor."); return;
                }
                if (Vector3.Distance(sender.position, licenseTakingPoint.Position) > 3)
                {
                    API.sendChatMessageToPlayer(sender, "~r~UYARI: ~s~Herhangi bir ehliyet alma noktasının yakınında değilsiniz.");
                    return;
                }
                var _HealthReport = _inventory.ItemList.FirstOrDefault(x => x.ItemId == db_Items.GameItems.Values.FirstOrDefault(f => f.Type == ItemType.License && f.Value_0 == "-1").ID);
                if (_HealthReport != null)
                {
                    int money = API.getEntityData(sender, "Money");
                    if (money >= licenseTakingPoint.Price)
                    {
                        money -= licenseTakingPoint.Price;
                        API.setEntityData(sender, "Money", money);
                        API.triggerClientEvent(sender, "update_money_display", money);
                        InventoryManager.RemoveItemFromPlayerInventory(sender, _HealthReport.ItemId);
                        var pos = db_Vehicles.FindNearestVehicle(sender.position, 99).VehicleOnMap.position;
                        API.setEntityData(sender, ON_LICENSE_EXAM, "-1");
                        Clients.ClientManager.ShowBlip(sender, pos.X, pos.Y, pos.Z);
                        API.sendChatMessageToPlayer(sender, "~s~Ehliyet sınavı için araca binin ve ~y~/ehliyet sınav~s~ yazın.");

                        return;
                    }
                    else
                    {
                        API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Ehliyet alabilmek için yeterli paranız bulunmuyor. Gerekli olan: ~g~" + licenseTakingPoint.Price + "$");
                    }
                }
                else
                {
                    API.shared.sendChatMessageToPlayer(sender, "~r~UYARI: ~s~Bunun için öncelikle sağlık raporu almalısınız.");
                }
            }
            else
            if (type.ToLower().StartsWith("goster"))
            {
                var licenses = InventoryManager.GetItemsFromPlayerInventory(sender, ItemType.License).Where(x => x.Item1.Value_0 == "0").ToList();
                var splitted = type.Split(' ');
                if (splitted.Length < 2)
                {
                    API.shared.sendChatMessageToPlayer(sender, "/ehliyet goster [OyuncuID]"); return;
                }
                var targetPlayer = db_Accounts.GetPlayerById(Convert.ToInt32(splitted[1]));
                if (targetPlayer == null)
                {
                    API.shared.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Oyuncu bulunamadı."); return;
                }

                User userInformation = new User(sender.socialClubName);
                if (licenses.Count > 1)
                {
                    try
                    {
                        userInformation = db_Accounts.GetOfflineUserDatas(licenses[Convert.ToInt32(splitted[2])].Item2.SpecifiedValue);
                    }
                    catch (Exception ex)
                    {
                        if (ex.GetType() == typeof(ArgumentOutOfRangeException) || ex.GetType() == typeof(IndexOutOfRangeException))
                        {
                            API.sendChatMessageToPlayer(sender, "~y~Envanterinizde birden fazla kimlik var. Göstermek istediğinizin numarasını yazın.");
                            API.sendChatMessageToPlayer(sender, "~s~/ehliyet goster [OyuncuID] ~y~[Ehliyet Numarası]");
                            string strIdentities = ""; int index = 0;
                            foreach (var item in licenses)
                            {
                                strIdentities += "~y~" + index + " ~s~- " + (String.IsNullOrEmpty(item.Item2.SpecifiedValue) ? "Belirsiz" : db_Accounts.GetOfflineUserDatas(item.Item2.SpecifiedValue).CharacterName) + "\n";
                                index++;
                            }
                            API.shared.sendChatMessageToPlayer(sender, strIdentities); return;
                        }
                    }
                }
                else
                {
                    userInformation = db_Accounts.GetOfflineUserDatas(licenses.FirstOrDefault().Item2.SpecifiedValue);
                }

                if (userInformation == null)
                {
                    userInformation.CharacterName = "Belirsiz";
                }

                API.shared.sendChatMessageToPlayer(targetPlayer, "~y~Adı: ~s~" + userInformation.CharacterName + "~y~ | ~s~Sürücü yetkinliği: ~g~VAR");
                RPGManager rpgMgr = new Managers.RPGManager();
                rpgMgr.Me(sender, " adlı kişi " + API.getEntityData(targetPlayer, "CharacterName") + " adlı kişiye ehliyetini gösterir.");
            }
            if ("sinav".StartsWith(type.ToLower()) || "sınav".StartsWith(type.ToLower()))
            {
                if (sender.isInVehicle)
                {
                    if (API.getEntityData(sender, ON_LICENSE_EXAM) == "-1")
                    {
                        var _vehicle = db_Vehicles.FindNearestVehicle(sender.position);
                        if (_vehicle.JobId == 99)
                        {
                            Clients.ClientManager.RemoveBlip(sender);
                            sender.vehicle.repair();
                            API.setEntityData(sender, ON_LICENSE_EXAM, 0);
                            API.setEntityData(sender.vehicle, ON_LICENSE_EXAM_OWNER, API.getEntityData(sender, "ID"));
                            var firstPoint = db_LicensePoints.currentVehLicenseCheckpoints.Items.FirstOrDefault();
                            if (firstPoint != null)
                            {
                                Clients.ClientManager.ShowBlip(sender, firstPoint.Position.X, firstPoint.Position.Y, firstPoint.Position.Z);
                            }
                            else
                            {
                                API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Şu anda ehliyet için bir rota bulunmuyor.");
                            }
                        }
                        else
                        {
                            API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Ehliyet aracında olmalısınız.");
                        }
                    }
                    else
                    {
                        API.sendChatMessageToPlayer(sender, "~r~UYARI: ~s~Öncelikle ehliyet kursuna başlamış olmalısınız.");
                    }
                }
                else
                {
                    API.sendChatMessageToPlayer(sender, "~r~HATA: ~s~Bunun için ehliyet aracında olmalısınız.");
                }
            }
        }