public void AddVehicleToCarshop(Client sender, VehicleHash hash, VehicleClass vehicleClass, decimal cost, string type, string type2 = "Empty") { if (!sender.HasRank(ServerRank.AdministratorRozgrywki2)) { sender.SendWarning("Nie posiadasz uprawnień do tworzenia pojazdu w salonie."); return; } if (Vehicles.Any(v => v.Hash == hash)) { sender.SendError("Podany pojazd jest już dodany."); return; } MoneyValidator validator = new MoneyValidator(); if (!validator.IsValid(cost)) { sender.SendError("Wprowadzona kwota gotówki jest nieprawidłowa."); return; } CarshopType endType = CarshopType.Empty; CarshopType endType2 = CarshopType.Empty; var carshopTypes = ((CarshopType[])Enum.GetValues(typeof(CarshopType))).ToList(); if (carshopTypes.All(carshopType => carshopType.GetDescription() != type && carshopType.GetDescription() != type2)) { sender.SendError("Wprowadzony typ salonu jest nieprawidłowy."); } foreach (CarshopType item in carshopTypes) { if (item.GetDescription() == type) { endType = item; } if (item.GetDescription() == type2) { endType2 = item; } } if (endType2 != CarshopType.Empty) { endType = endType | endType2; } CarshopVehicleModel vehicle = new CarshopVehicleModel(hash.ToString(), hash, vehicleClass, cost, endType) { CreatorForumName = sender.GetAccountEntity().DbModel.Name }; XmlHelper.AddXmlObject(vehicle, Path.Combine(Utils.XmlDirectory, "CarshopVehicles"), vehicle.Name); }
public void CreateAtm(Client sender, decimal cost, string number) { sender.SendInfo("Ustaw się w wybranej pozycji, a następnie wpisz \"tu.\" użyj ctrl + alt + shift + d aby poznać swoją obecną pozycję."); MoneyValidator moneyValidator = new MoneyValidator(); CellphoneNumberValidator cellphoneNumberValidator = new CellphoneNumberValidator(); if (!moneyValidator.IsValid(cost) || !cellphoneNumberValidator.IsValid(number)) { sender.SendError("Wprowadzono dane w nieprawidłowym formacie."); return; } void Handler(Client o, string message) { if (o == sender && message == "/tu") { TelephoneBoothModel data = new TelephoneBoothModel { CreatorForumName = o.GetAccountEntity().DbModel.Name, Position = new FullPosition { Position = new Vector3 { X = sender.Position.X, Y = sender.Position.Y, Z = sender.Position.Z }, Rotation = new Vector3 { X = sender.Rotation.X, Y = sender.Rotation.Y, Z = sender.Rotation.Z } }, Cost = cost, Number = int.Parse(number) }; XmlHelper.AddXmlObject(data, Path.Combine(Utils.XmlDirectory, nameof(TelephoneBoothModel))); TelephoneBoothEntity booth = new TelephoneBoothEntity(data); booth.Spawn(); Booths.Add(booth); sender.SendInfo("Dodawanie budki zakończyło się pomyślnie."); } } }
public void TransferWalletMoney(Client sender, int id, decimal safeMoneyCount) { MoneyValidator validator = new MoneyValidator(); if (!validator.IsValid(safeMoneyCount)) { sender.SendError("Podano kwotę gotówki w nieprawidłowym formacie."); } CharacterEntity sendingCharacter = sender.GetAccountEntity().CharacterEntity; if (!sendingCharacter.CanPay) { return; } if (!sendingCharacter.HasMoney(safeMoneyCount)) { sender.SendWarning("Nie posiadasz wystarczającej ilości gotówki."); return; } if (sender.GetAccountEntity().ServerId == id) { sender.SendError("Nie możesz podać gotówki samemu sobie."); return; } CharacterEntity gettingPlayer = NAPI.Player.GetPlayersInRadiusOfPlayer(6f, sender).Find( x => x.GetAccountEntity().ServerId == id).GetAccountEntity().CharacterEntity; if (gettingPlayer == null) { sender.SendWarning("Nie znaleziono gracza o podanym Id"); return; } //temu zabieramy sendingCharacter.RemoveMoney(safeMoneyCount); //temu dodajemy gotówke gettingPlayer.AddMoney(safeMoneyCount); sender.SendChatMessage($"~g~Osoba {gettingPlayer.FormatName} otrzymała od ciebie ${safeMoneyCount}."); gettingPlayer.AccountEntity.Client.SendChatMessage($"~g~Osoba {sender.Name} przekazała ci ${safeMoneyCount}."); }