コード例 #1
0
        private void OnClientEventTrigger(Client sender, string eventName, params object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 132)
                {
                    if (API.hasEntityData(sender, "InventoryHolder"))
                    {
                        InventoryHolder ih   = API.getEntityData(sender, "InventoryHolder");
                        var             item = ih.Inventory[(int)arguments[1]];
                        API.setEntityData(sender, "LastSelectedItem", item);
                        List <String> Actions = new List <string>();
                        Actions.Add("Utiliser /Equiper");
                        Actions.Add("Description");
                        Actions.Add("Donner");
                        Actions.Add("Ranger dans le coffre");
                        Actions.Add("Jeter");
                        API.triggerClientEvent(sender, "bettermenuManager", 133, API.getEntitySyncedData(sender, "Nom_Prenom"), "Selectionner l'item :               Poids : " + API.getEntityData(sender.handle, "weight") + " / " + API.getEntityData(sender.handle, "weight_max"), false, Actions);
                    }
                }
                if ((int)arguments[0] == 133)
                {
                    // Utilise Equiper
                    InventoryItem item = API.getEntityData(sender, "LastSelectedItem");
                    if ((int)arguments[1] == 0)
                    {
                        item.Details.Use(sender);
                        API.resetEntityData(sender, "LastSelectedItem");
                    }
                    // Description
                    if ((int)arguments[1] == 1)
                    {
                        object[] ar = new object[2];
                        ar[0] = item.Details.Description;
                        ar[1] = 2000;
                        API.triggerClientEvent(sender, "display_subtitle", ar);
                    }
                    // Donner au joueur
                    if ((int)arguments[1] == 2)
                    {
                        var peopleNearby = API.getPlayersInRadiusOfPlayer(4, sender);
                        peopleNearby.Remove(sender);
                        API.setEntityData(sender, "NearbyList", peopleNearby);
                        List <String> Actions = new List <string>();
                        foreach (Client player in peopleNearby)
                        {
                            Actions.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                        API.triggerClientEvent(sender, "bettermenuManager", 134, API.getEntitySyncedData(sender, "Nom_Prenom"), "Donner l'object au ~g~joueur:", false, Actions);
                    }
                    //Mettre en coffre
                    if ((int)arguments[1] == 3)
                    {
                        API.shared.triggerClientEvent(sender, "get_user_input", 137, "", 3, null);
                    }
                    if ((int)arguments[1] == 4)
                    {
                        var itemS = API.getEntityData(sender, "LastSelectedItem");
                        Items.Items.InventoryHolder invplayer = API.getEntityData(sender, "InventoryHolder");
                        invplayer.RemoveItemFromInventory(item.Details, 1);
                        API.resetEntityData(sender, "LastSelectedItem");
                    }
                }
                // QUANTITE à Donner au Joueur
                if ((int)arguments[0] == 134)
                {
                    API.shared.triggerClientEvent(sender, "get_user_input", 135, "", 3, (int)arguments[1]);
                }
            }

            if (eventName == "menu_handler_user_input")
            {
                // Donner au Joueur VALIDATION
                if ((int)arguments[0] == 135)
                {
                    var item       = API.getEntityData(sender, "LastSelectedItem");
                    var nearbylist = API.getEntityData(sender, "NearbyList");
                    var reciever   = nearbylist[(int)arguments[2]];


                    bool result = Int32.TryParse(arguments[1].ToString(), out int number);
                    if (!result)
                    {
                        API.sendNotificationToPlayer(sender, "Vous devez rentrer exlusivement un nombre."); return;
                    }

                    InventoryHolder invplayer   = API.getEntityData(sender, "InventoryHolder");
                    InventoryHolder invreciever = API.getEntityData(reciever, "InventoryHolder");

                    var itemplayerqty = item.Quantity;
                    if (qty <= itemplayerqty)
                    {
                        if (invreciever.CheckWeightInventory(item.Details, qty))
                        {
                            invplayer.RemoveItemFromInventory(item.Details, qty);
                            invreciever.AddItemToInventory(item.Details, qty);

                            API.sendNotificationToPlayer(sender, "Vous avez donner " + qty.ToString() + " " + item.Details.Name + " à " + (API.getEntitySyncedData(reciever, "Nom_Prenom")).ToString());
                            API.sendNotificationToPlayer(reciever, "Vous avez reçu " + qty.ToString() + " " + item.Details.Name + " de " + (API.getEntitySyncedData(sender, "Nom_Prenom")).ToString());
                            UpdatePlayerInfo(sender);
                            UpdatePlayerInfo(reciever);
                            API.resetEntityData(sender, "LastSelectedItem");
                            API.resetEntityData(sender, "NearbyList");
                        }
                        else
                        {
                            API.sendNotificationToPlayer(sender, (API.getEntitySyncedData(reciever, "Nom_Prenom")).ToString() + " n'a pas la place dans sont inventaire");
                        }
                    }
                    else
                    {
                        API.sendNotificationToPlayer(sender, "Vous en avez pas autant sur vous");
                    }
                }
                // Mettre en coffre VALIDATION
                if ((int)arguments[0] == 137)
                {
                    try
                    {
                        InventoryItem item     = API.getEntityData(sender, "LastSelectedItem");
                        NetHandle     reciever = Vehicles.Vehicle.GetVehicleInRange(sender, 3f);

                        if (Vehicles.Vehicle.LockVehicleState(reciever))
                        {
                            API.sendNotificationToPlayer(sender, "Le véhicule est fermer!");
                            return;
                        }

                        if (item == null || reciever == null)
                        {
                            API.sendNotificationToPlayer(sender, "~r~[ERROR]"); return;
                        }
                        if (API.getEntitySyncedData(reciever, "Locked") == true)
                        {
                            API.sendNotificationToPlayer(sender, "Le véhicule est fermer!");
                        }
                        else
                        {
                            Items.Items.InventoryHolder invplayer   = API.getEntityData(sender, "InventoryHolder");
                            Items.Items.InventoryHolder invreciever = API.getEntityData(reciever, "InventoryHolder");
                            string plate = API.getEntitySyncedData(reciever, "Plate");
                            qty = Convert.ToInt32(arguments[1]);
                            if (qty <= 0)
                            {
                                API.sendNotificationToPlayer(sender, "ERREUR!"); return;
                            }
                            var itemplayerqty = item.Quantity;
                            if (qty <= itemplayerqty)
                            {
                                if (invreciever.CheckWeightInventory(item.Details, qty))
                                {
                                    invplayer.RemoveItemFromInventory(item.Details, qty);
                                    invreciever.AddItemToInventory(item.Details, qty);

                                    API.sendNotificationToPlayer(sender, "Vous avez mis  ~r~" + qty.ToString() + " " + item.Details.Name + " ~s~dans le coffre du véhicule: " + plate);
                                }
                                else
                                {
                                    API.sendNotificationToPlayer(sender, plate + " n'a pas la place dans le coffre.");
                                }
                            }
                            else
                            {
                                API.sendNotificationToPlayer(sender, "Vous en avez pas autant sur vous");
                            }
                            API.resetEntityData(sender, "LastSelectedItem");
                            API.resetEntityData(sender, "NearbyList");
                            UpdatePlayerInfo(sender);
                        }
                    }
                    catch (FormatException)
                    {
                        API.sendNotificationToPlayer(sender, "ERREUR!");
                    }
                }
            }
        }
コード例 #2
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                var car = API.getEntityData(sender, "NearbyList");
                if (car == null)
                {
                    return;
                }
                // Menu Vehicule
                if ((int)arguments[0] == 143 && (int)arguments[1] == 0)
                {
                    if (Vehicles.Vehicle.LockVehicleState(car))
                    {
                        API.sendNotificationToPlayer(sender, "Le véhicule est vérrouillé."); return;
                    }
                    List <String> Actions          = new List <string>();
                    Items.Items.InventoryHolder ih = API.getEntityData(car, "InventoryHolder");
                    foreach (Items.Items.InventoryItem item in ih.Inventory)
                    {
                        Actions.Add(item.Details.Name + " :  " + item.Quantity);
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 144, "Inventaire Véhicule", "Selectionner l'item :               Poids : " + API.shared.getEntityData(car, "weight") + " / " + API.shared.getEntityData(car, "weight_max"), false, Actions);
                }

                // QUANTITE à Récupérer du coffre
                if ((int)arguments[0] == 144 && (int)arguments[1] == 0)
                {
                    if (Vehicles.Vehicle.LockVehicleState(car))
                    {
                        API.sendNotificationToPlayer(sender, "Le coffre du véhicule est vérrouillé."); return;
                    }
                    InventoryHolder ih   = API.getEntityData(car, "InventoryHolder");
                    var             item = ih.Inventory[(int)arguments[1]];
                    API.setEntityData(sender, "LastSelectedItem", item);
                    API.shared.triggerClientEvent(sender, "get_user_input", 145, "", 3, null);
                }
                if ((int)arguments[0] == 143 && (int)arguments[1] == 1)
                {
                    API.call("Vehicle", "GetVehicleInfo", sender);
                }

                if ((int)arguments[0] == 143 && (int)arguments[1] == 2)
                {
                    Jobs.Fourriere.CallFourriere(sender);
                }

                if ((int)arguments[0] == 143 && (int)arguments[1] == 3)
                {
                    API.call("Vehicle", "CrocheteVehicle", sender);
                }
            }
            else if (eventName == "menu_handler_user_input")
            {
                // VALIDATION SORTIR DU COFFRE
                if ((int)arguments[0] == 145)
                {
                    try
                    {
                        var item     = API.getEntityData(sender, "LastSelectedItem");
                        var reciever = API.getEntityData(sender, "NearbyList");
                        int qty      = Convert.ToInt32(arguments[1]);
                        Items.Items.InventoryHolder invplayer   = API.getEntityData(reciever, "InventoryHolder");
                        Items.Items.InventoryHolder invreciever = API.getEntityData(sender, "InventoryHolder");

                        int itemplayerqty = item.Quantity;
                        if (qty <= itemplayerqty)
                        {
                            if (invreciever.CheckWeightInventory(item.Details, qty))
                            {
                                invplayer.RemoveItemFromInventory(item.Details, qty);
                                invreciever.AddItemToInventory(item.Details, qty);
                                API.sendNotificationToPlayer(sender, "Vous avez récupéré " + qty.ToString() + " " + item.Details.Name + " du coffre du véhicule");
                                UpdatePlayerInfo(sender);
                                API.resetEntityData(sender, "LastSelectedItem");
                                API.resetEntityData(sender, "NearbyList");
                            }
                            else
                            {
                                API.sendNotificationToPlayer(sender, "Vous n'avez pas la place dans votre inventaire!");
                            }
                        }
                        else
                        {
                            API.sendNotificationToPlayer(sender, "Vous en avez pas autant sur vous");
                        }
                    }
                    catch (FormatException)
                    {
                        API.sendNotificationToPlayer(sender, "ERREUR!");
                    }
                }
            }
        }
コード例 #3
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 170)
                {
                    List <String> Actions = new List <string>();
                    List <string> label   = new List <string>();
                    Actions.Add("BMX:");
                    label.Add("100$");
                    Actions.Add("Faggio:");
                    label.Add("250$");
                    Actions.Add("Faggio2");
                    label.Add("350$");
                    Actions.Add("Faggio3");
                    label.Add("350$");
                    API.triggerClientEvent(sender, "bettermenuManager", 171, "Location de scooter", "Sélectionner votre véhicule: ", false, Actions, label);
                }
                else if ((int)arguments[0] == 171)
                {
                    switch ((int)arguments[1])
                    {
                    case 0:
                        RentModel = (VehicleHash)(int)1131912276;     // BMX
                        Price     = 100;
                        break;

                    case 1:
                        RentModel = (VehicleHash)(int)-1842748181;     // FAGGIO
                        Price     = 250;
                        break;

                    case 2:
                        RentModel = (VehicleHash)(int)55628203;     // FAGGIO2
                        Price     = 350;
                        break;

                    case 3:
                        RentModel = (VehicleHash)(int)-1289178744;     // FAGGIO3
                        Price     = 350;
                        break;
                    }
                    if (API.getEntitySyncedData(sender, "Money") <= Price)
                    {
                        API.triggerClientEvent(sender, "display_subtitle", "Vous n'avez pas assez d'argent sur vous!", 30000);
                    }
                    else
                    {
                        API.setEntitySyncedData(sender, "Money", (API.getEntitySyncedData(sender, "Money") - Price));
                        Vehicle scooterRent = API.createVehicle(RentModel, SpawnPos, SpawnRot, 0, 0, 0);
                        vehicle.Add(scooterRent);
                        API.triggerClientEvent(sender, "display_subtitle", "Le magasin de location vous prête un véhicule\n ~s~pour une durée d'une heure.", 30000);

                        Items.Items.InventoryHolder ih = new Items.Items.InventoryHolder();
                        ih.Owner = scooterRent.handle;
                        API.shared.setEntityData(scooterRent, "InventoryHolder", ih);
                        API.setEntitySyncedData(scooterRent, "VEHICLE_FUEL", 100);
                        API.setEntitySyncedData(scooterRent, "VEHICLE_FUEL_MAX", 100);
                        API.setEntityData(scooterRent, "weight", 0);
                        API.setEntityData(scooterRent, "weight_max", 0);
                        API.delay(3600000, true, () => { DeleteThread(sender); });
                    }
                }
            }
        }
コード例 #4
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 190)
                {
                    API.consoleOutput(arguments[1].ToString());
                    API.setEntityData(sender, "VehicleOfUsingShop", (int)arguments[1]);
                    List <string> Actions = new List <string>();
                    if (File.Exists("paints.xml"))
                    {
                        IEnumerable <XElement> Paints = xelement.Elements();
                        foreach (var p in Paints)
                        {
                            Actions.Add(p.Attribute("Name").Value.ToString());
                        }
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 191, "Concessionnaire", "Sélectionner une peinture:", false, Actions);
                }
                else if ((int)arguments[0] == 191)
                {
                    var    pnj = API.getEntityData(sender, "pnj");
                    double cx  = API.getEntityData(pnj, "cX");
                    double cy  = API.getEntityData(pnj, "cY");
                    double cz  = API.getEntityData(pnj, "cZ");

                    List <KeyValuePair <VehicleHash, int> > Products = new List <KeyValuePair <VehicleHash, int> >();
                    Products = API.getEntityData(sender, "ProductsOfUsingShop");
                    int VehicleChoise = API.getEntityData(sender, "VehicleOfUsingShop");
                    API.resetEntityData(sender, "ProductsOfUsingShop");
                    API.resetEntityData(sender, "VehicleOfUsingShop");
                    KeyValuePair <VehicleHash, int> veharray = Products[(int)VehicleChoise];
                    VehicleHash model = veharray.Key;
                    int         price = veharray.Value;
                    API.consoleOutput(model.ToString());
                    if ((int)model == 0)
                    {
                        API.sendNotificationToPlayer(sender, "~r~[ERREUR] ~s~Le véhicule que vous demandez n'est pas disponible."); return;
                    }
                    if (Money.TakeMoney(sender, price))
                    {
                        Vehicle car2  = API.createVehicle(model, new Vector3(cx, cy, cz), new Vector3(0, 0, 20), 111, 111);
                        string  plate = Vehicles.Vehicle.RandomPlate();
                        API.setVehicleNumberPlate(car2, plate);
                        API.setEntitySyncedData(car2, "Owner", sender.socialClubName);
                        API.setEntitySyncedData(car2, "OwnerName", sender.getSyncedData("Nom_Prenom"));
                        API.setEntitySyncedData(car2, "Plate", plate.ToString());
                        Items.Items.InventoryHolder ih = new Items.Items.InventoryHolder();
                        ih.Owner = car2.handle;
                        API.setEntityData(car2, "InventoryHolder", ih);
                        API.setEntitySyncedData(car2, "VEHICLE_FUEL", 100);
                        API.setEntitySyncedData(car2, "VEHICLE_FUEL_MAX", 100);
                        API.setEntityData(car2, "weight", 0);
                        API.setEntityData(car2, "weight_max", Vehicles.Vehicle.GetVehicleWeight(model));
                        API.setVehicleLocked(car2, true);
                        API.setEntitySyncedData(car2, "Locked", true);
                        string paint = xelement.Descendants("Vehicle").ElementAt((int)arguments[1]).Attribute("Color").Value;
                        int    color = Convert.ToInt32(paint);
                        API.setVehiclePrimaryColor(car2, color);
                        InsertVehicle(sender, model, plate, new Vector3(cx, cy, cz), color);
                        UpdatePlayerMoney(sender);
                        API.setVehicleEngineStatus(car2, false);
                        API.triggerClientEvent(sender, "display_subtitle", "Vendu! Voici les clefs de votre véhicule.", 3000);
                    }
                    else
                    {
                        API.triggerClientEvent(sender, "display_subtitle", "Désolé, vous n'avez pas assez d'argent sur vous!", 3000);
                    }
                }
            }
        }
コード例 #5
0
        private void OnClientEventTrigger(Client sender, string eventName, params object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 128)
                {
                    Client player = EntityManager.GetClientName((string)arguments[2]);
                    string _txt   = String.Format("Nom: {0}\nPrenom: {1}\nAge: {2}",
                                                  sender.getSyncedData("Nom"),
                                                  sender.getSyncedData("Prenom"),
                                                  sender.getSyncedData("Age")
                                                  );
                    API.sendNotificationToPlayer(player, _txt);
                }
                // INVENTAIRE
                if ((int)arguments[0] == 121 && (int)arguments[1] == 0)
                {
                    if (API.hasEntityData(sender, "InventoryHolder"))
                    {
                        List <String> Actions          = new List <string>();
                        Items.Items.InventoryHolder ih = API.getEntityData(sender, "InventoryHolder");
                        foreach (Items.Items.InventoryItem item in ih.Inventory)
                        {
                            Actions.Add(item.Details.Name + " :  " + "Quantité: " + item.Quantity);
                        }
                        API.triggerClientEvent(sender, "bettermenuManager", 132, API.getEntitySyncedData(sender, "Nom_Prenom"), "Selectionner l'item :               Poids : " + API.getEntityData(sender.handle, "weight") + " / " + API.getEntityData(sender.handle, "weight_max"), false, Actions);
                    }
                }

                // DONNER DE L'ARGENT
                if ((int)arguments[0] == 121 && (int)arguments[1] == 1)
                {
                    var nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    API.setEntityData(sender, "NearbyList", nearbylist);
                    List <String> Actions = new List <string>();
                    nearbylist.Remove(sender);
                    foreach (Client player in nearbylist)
                    {
                        Actions.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 123, API.getEntitySyncedData(sender, "Nom_Prenom"), "Donner de l'argent au ~g~joueur:", false, Actions);
                }
                if ((int)arguments[0] == 123)
                {
                    API.shared.triggerClientEvent(sender, "get_user_input", 125, "", 144, (int)arguments[1]);
                }

                // ANIMATION
                if ((int)arguments[0] == 121 && (int)arguments[1] == 2)
                {
                    if (sender.vehicle == null)
                    {
                        var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                        List <String> Actions    = new List <string>();
                        foreach (KeyValuePair <string, string> anim in AnimationList)
                        {
                            Actions.Add(anim.Key.ToString());
                        }
                        API.triggerClientEvent(sender, "bettermenuManager", 124, API.getEntitySyncedData(sender, "Nom_Prenom"), "Selectionner l'animation:", false, Actions);
                    }
                }
                if ((int)arguments[0] == 124)
                {
                    API.playPlayerAnimation(sender, 0, AnimationList[(int)arguments[1]].Value.Split()[0], AnimationList[(int)arguments[1]].Value.Split()[1]);
                }

                // Donner les papiers
                if ((int)arguments[0] == 121 && (int)arguments[1] == 3)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> Actions    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            Actions.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 128, API.getEntitySyncedData(sender, "Nom_Prenom"), "Donner les papiers à:", false, Actions);
                }
                //Menoter
                if ((int)arguments[0] == 121 && (int)arguments[1] == 4)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> Actions    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            Actions.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 203, API.getEntitySyncedData(sender, "Nom_Prenom"), "Menotter", false, Actions);
                }

                //DeMenoter
                if ((int)arguments[0] == 121 && (int)arguments[1] == 5)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> Actions    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            Actions.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }
                    API.triggerClientEvent(sender, "bettermenuManager", 204, API.getEntitySyncedData(sender, "Nom_Prenom"), "Demenotter", false, Actions);
                }

                //Jail
                if ((int)arguments[0] == 121 && (int)arguments[1] == 6)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> players    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            players.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }
                    List <string> _Duree = new List <string>();
                    for (int i = 0; i < 50; i++)
                    {
                        _Duree.Add(i.ToString());
                    }
                    List <string> _Money = new List <string>();
                    for (int i = 0; i < 100000; i += 1000)
                    {
                        _Money.Add(i.ToString());
                    }


                    List <string> Actions = new List <string>();
                    Actions.Add("Envoyer en prison");
                    Actions.Add("Annuler");

                    List <string>[] _ConteneurListe = new List <string> [3];
                    _ConteneurListe[0] = players;
                    _ConteneurListe[1] = _Duree;
                    _ConteneurListe[2] = _Money;

                    List <string> _NomListe = new List <string>();
                    _NomListe.Add("Joueur");
                    _NomListe.Add("Duree (minutes)");
                    _NomListe.Add("Prix");

                    API.triggerClientEvent(sender, "jailmenu", 205, "Menu prison", "", _NomListe, _ConteneurListe, Actions);
                }
                if ((int)arguments[0] == 121 && (int)arguments[1] == 7)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> players    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            players.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }
                    List <string> _Money = new List <string>();
                    for (int i = 0; i < 10000; i += 500)
                    {
                        _Money.Add(i.ToString());
                    }

                    List <string> Actions = new List <string>();
                    Actions.Add("Donner une amende");
                    Actions.Add("Annuler");

                    List <string>[] _ConteneurListe = new List <string> [2];
                    _ConteneurListe[0] = players;
                    _ConteneurListe[1] = _Money;

                    List <string> _NomListe = new List <string>();
                    _NomListe.Add("Joueur");
                    _NomListe.Add("Montant");

                    API.triggerClientEvent(sender, "amende", 206, "Menu Amende", "", _NomListe, _ConteneurListe, Actions);
                }
                if ((int)arguments[0] == 121 && (int)arguments[1] == 8)
                {
                    var           nearbylist = API.getPlayersInRadiusOfPlayer(10, sender);
                    List <string> players    = new List <string>();
                    foreach (Client player in nearbylist)
                    {
                        if (!(player.name == sender.name))
                        {
                            players.Add(API.getEntitySyncedData(player, "Nom_Prenom"));
                        }
                    }

                    List <string> Actions = new List <string>();
                    Actions.Add("Fouiller");
                    Actions.Add("Annuler");

                    List <string>[] _ConteneurListe = new List <string> [1];
                    _ConteneurListe[0] = players;

                    List <string> _NomListe = new List <string>();
                    _NomListe.Add("Joueur");

                    API.triggerClientEvent(sender, "fouiller", 207, "Fouille", "", _NomListe, _ConteneurListe, Actions);
                }
            }

            // DONNER L'ARGENT
            if (eventName == "menu_handler_user_input")
            {
                if ((int)arguments[0] == 125)
                {
                    int currentmoney = API.getEntitySyncedData(sender, "Money");

                    var nearbylist = API.getEntityData(sender, "NearbyList");
                    var reciever   = nearbylist[(int)arguments[2]];
                    int amount     = Convert.ToInt32(arguments[1]);
                    API.resetEntityData(sender, "NearbyList");
                    if (currentmoney >= amount)
                    {
                        API.sendNotificationToPlayer(reciever, "Vous avez reçu de la part de ~r~" + API.getEntitySyncedData(sender, "Nom_Prenom") + " ~s~la somme de ~r~" + amount + "$");
                        Players.Money.GiveMoneyToOther(sender, reciever, amount);
                        UpdatePlayerMoney(sender);
                        UpdatePlayerMoney(reciever);
                    }
                    else
                    {
                        API.sendNotificationToPlayer(sender, "Vous n'avez pas assez d'argent sur vous!");
                    }
                }
            }
        }
コード例 #6
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 34)
                {
                    if (Players.Money.TakeMoney(sender, 500))
                    {
                        API.setPlayerHealth(sender, 100);
                        API.sendNotificationToPlayer(sender, "Vous avez été soigné.");
                    }
                    else
                    {
                        API.sendNotificationToPlayer(sender, "Vous n'avez pas assez d'argent sur vous.");
                    }
                }

                else if ((int)arguments[0] == 450 && (int)arguments[1] == 0)
                {
                    if (!IsMedic(sender))
                    {
                        API.shared.setEntitySyncedData(sender, "IsMedic", true);
                        API.sendNotificationToPlayer(sender, "Vous avez pris votre service.");
                        PriseServiceEMS(sender);
                    }
                    else
                    {
                        API.shared.setEntitySyncedData(sender, "IsMedic", false);
                        API.sendNotificationToPlayer(sender, "Vous avez quitté votre service.");
                        QuitterServiceEMS(sender);
                    }
                }
                else if ((int)arguments[0] == 450 && (int)arguments[1] == 1)
                {
                    if (!IsMedic(sender))
                    {
                        return;
                    }
                    Vehicle EMS = API.createVehicle(VehicleHash.Ambulance, new Vector3(331.3084, -1478.712, 29.77438), new Vector3(0, 0, -59.07445), 0, 0, 0);
                    API.setVehicleNumberPlate(EMS, "LS-EMS");
                    API.setEntitySyncedData(EMS, "Owner", "EMS");
                    Items.Items.InventoryHolder ih = new Items.Items.InventoryHolder();
                    ih.Owner = EMS.handle;
                    API.setEntityData(EMS, "InventoryHolder", ih);
                    API.setEntitySyncedData(EMS, "VEHICLE_FUEL", 100);
                    API.setEntitySyncedData(EMS, "VEHICLE_FUEL_MAX", 100);
                    API.setEntityData(EMS, "weight", 0);
                    API.setEntityData(EMS, "weight_max", 0);
                    API.setVehicleLocked(EMS, true);
                    API.setEntitySyncedData(EMS, "Locked", true);
                }
                else if ((int)arguments[0] == 450 && (int)arguments[1] == 2)
                {
                    List <string> Actions = new List <string>();
                    List <string> label   = new List <string>();
                    foreach (KeyValuePair <int, int> entry in products)
                    {
                        Item item = ItemByID(entry.Key);
                        Actions.Add(item.Name);
                        label.Add("Prix: $" + entry.Value);
                    }
                    API.shared.triggerClientEvent(sender, "bettermenuManager", 454, "Pharmacie", "Sélectionner un item:", false, Actions, label);
                    API.shared.setEntityData(sender, "ProductsOfUsingShop", products);
                }
                else if ((int)arguments[0] == 450 && (int)arguments[1] == 3)
                {
                    List <string> Actions = new List <string>();
                    List <string> label   = new List <string>();
                    foreach (KeyValuePair <int, int> entry in superetteProducts)
                    {
                        Item item = ItemByID(entry.Key);
                        Actions.Add(item.Name);
                        label.Add("Prix: $" + entry.Value);
                    }
                    API.shared.triggerClientEvent(sender, "bettermenuManager", 454, "Supérette EMS", "Sélectionner un item:", false, Actions, label);

                    API.shared.setEntityData(sender, "ProductsOfUsingShop", superetteProducts);
                }

                else if ((int)arguments[0] == 451 && (int)arguments[1] == 0)
                {
                    if (sender.vehicle == null)
                    {
                        return;
                    }
                    API.deleteEntity(sender.vehicle);
                    API.sendNotificationToPlayer(sender, "Vous avez ranger votre véhicule.");
                }

                else if ((int)arguments[0] == 454)
                {
                    var Products = API.getEntityData(sender, "ProductsOfUsingShop");
                    var item     = ItemByID(Products[(int)arguments[1]].Key);
                    API.resetEntityData(sender, "ProductsOfUsingShop");
                    InventoryHolder ih = API.getEntityData(sender, "InventoryHolder");
                    if (ih.CheckWeightInventory(item, 1))
                    {
                        ih.AddItemToInventory(item, 1);
                        API.triggerClientEvent(sender, "display_subtitle", "Item ajouté à votre inventaire", 3000);
                    }
                    else
                    {
                        API.triggerClientEvent(sender, "display_subtitle", "Désolé, vous n'avez pas assez de place dans votre inventaire.", 3000);
                    }
                }
            }
        }
コード例 #7
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 50)
                {
                    int ID = sender.getData("Housing_ID");
                    //sender.resetData("Housing_ID"); // A reset seulement quand la personne quitte l'appart
                    var HousingColshape = OutcolshapeList.Find(x => x.getData("Housing_ID") == ID);
                    int Place           = HousingColshape.getData("Housing_Place");
                    int Price           = HousingColshape.getData("Housing_Price");

                    /****************************************************************************/
                    /*                                  ACHETER                                 */
                    /****************************************************************************/

                    if ((int)arguments[1] == 0)
                    {
                        if (CheckNumberRentHousing(ID, Place))
                        {
                            if (GetHousePlayer(ID, sender.socialClubName).Rows.Count != 0)
                            {
                                API.sendNotificationToPlayer(sender, "Vous avez déjà une maison / appartement ici.");
                            }
                            else
                            {
                                if (Money.TakeBankMoney(sender, Price))
                                {
                                    AddHouseOwner(sender, ID, RandomHouseDimension());
                                    API.sendNotificationToPlayer(sender, "Vous avez acheté une maison / appartement pour la somme de $" + Price.ToString());
                                }
                                else
                                {
                                    API.sendNotificationToPlayer(sender, "Vous n'avez pas assez d'argent sur votre compte en banque.");
                                }
                            }
                        }
                        else
                        {
                            API.sendChatMessageToPlayer(sender, "Vous n'avez pas de maison / appartement de disponible ici.");
                        }
                    }
                    /****************************************************************************/
                    /*                                  VENDRE                                  */
                    /****************************************************************************/
                    else if ((int)arguments[1] == 1)
                    {
                        int SellPrice = CalculeSellHousePrice(Price);
                        if (GetHousePlayer(ID, sender.socialClubName).Rows.Count != 0)
                        {
                            SellHouseOwner(ID, sender.socialClubName);
                            Money.GiveMoney(sender, SellPrice);
                            API.sendNotificationToPlayer(sender, "Vous avez vendu une maison / appartement pour la somme de $" + SellPrice.ToString());
                        }
                        else
                        {
                            API.sendNotificationToPlayer(sender, "Vous n'avez pas de maison / appartement à vendre ici.");
                        }
                    }
                    else
                    {
                        /****************************************************************************/
                        /*                                  DEMANDE                                 */
                        /****************************************************************************/

                        Client HouseOwner = HouseOwnerList[(int)arguments[1] - 2];
                        if (HouseOwner == sender)
                        {
                            PutInMyHome(sender);
                        }
                        else
                        {
                            if (HouseOwner.hasData("InHouse") && HouseOwner.getData("InHouse") == ID)
                            {
                                HouseOwner.setData("Housing_Wait_Enter", sender.getSyncedData("Nom_Prenom"));
                                List <string> Actions = new List <string>();
                                Actions.Add("Ouvrir la porte");
                                Actions.Add("Refuser d'ouvrir");
                                API.triggerClientEvent(HouseOwner, "bettermenuManager", 51, "Immobilier", sender.getSyncedData("Nom_Prenom") + " Sonne à la porte", false, Actions);
                            }
                            else
                            {
                                API.sendNotificationToPlayer(sender, HouseOwner.getSyncedData("Nom_Prenom") + " n'est pas chez lui.");
                            }
                        }
                    }
                }
                /****************************************************************************/
                /*                                  RENTRER                                 */
                /****************************************************************************/
                else if ((int)arguments[0] == 51)
                {
                    string GetEnterClientName = sender.getData("Housing_Wait_Enter");
                    Client GetEnterClient     = EntityManager.GetClientName(GetEnterClientName);
                    int    ID = sender.getData("Housing_ID");
                    var    HousingColshape = OutcolshapeList.Find(x => x.getData("Housing_ID") == ID);


                    if ((int)arguments[1] == 0)
                    {
                        Vector3   IntPos = (Vector3)HousingColshape.getData("Housing_IntPos");
                        DataTable houseplayerinfotable = GetHousePlayer(ID, sender.socialClubName);
                        if (houseplayerinfotable.Rows.Count != 0)
                        {
                            foreach (DataRow row in houseplayerinfotable.Rows)
                            {
                                GetEnterClient.dimension = Convert.ToInt32(row["Dimension"]);
                                GetEnterClient.setData("Housing_Owner", sender.socialClubName);
                            }
                        }

                        GetEnterClient.position = IntPos;
                        GetEnterClient.setData("Housing_ID", ID);
                    }
                    else if ((int)arguments[1] == 1)
                    {
                        API.sendNotificationToPlayer(GetEnterClient, "Personne n'ouvre la porte.");
                    }
                }
                /****************************************************************************/
                /*                                  SORTIR                                  */
                /****************************************************************************/
                else if ((int)arguments[0] == 52)
                {
                    OnExitHouse(sender);
                }
                /****************************************************************************/
                /*                                  INVENTAIRE                              */
                /****************************************************************************/
                // OUVERTURE DU MENU
                else if ((int)arguments[0] == 53)
                {
                    OpenHouseInventory(sender);
                }
                // CHOIX DE LA QUANTITE
                else if ((int)arguments[0] == 54)
                {
                    InventoryHolder ih   = API.getEntityData(sender, "Home_InventoryHolder");
                    var             item = ih.Inventory[(int)arguments[1]];
                    API.setEntityData(sender, "LastSelectedItem", item);
                    API.shared.triggerClientEvent(sender, "get_user_input", 55, "", 3, null);
                }
            }
            else if (eventName == "menu_handler_user_input")
            {
                // COMFIRMATION
                if ((int)arguments[0] == 55)
                {
                    InventoryItem item = (InventoryItem)API.getEntityData(sender, "LastSelectedItem");
                    int           qty  = Convert.ToInt32(arguments[1]);
                    Items.Items.InventoryHolder invHome     = API.getEntityData(sender, "Home_InventoryHolder");
                    Items.Items.InventoryHolder invreciever = API.getEntityData(sender, "InventoryHolder");
                    API.consoleOutput(qty.ToString());
                    int itemplayerqty = item.Quantity;
                    if (qty <= itemplayerqty)
                    {
                        if (invreciever.CheckWeightInventory(item.Details, qty))
                        {
                            invHome.RemoveItemFromInventory(item.Details, qty);
                            invreciever.AddItemToInventory(item.Details, qty);
                            API.sendNotificationToPlayer(sender, "Vous avez récupéré " + qty.ToString() + " " + item.Details.Name + " de votre coffre.");
                            UpdatePlayerInfo(sender);

                            string OwnerHouseName = sender.getData("Housing_Owner"); // check à qui appartient l'appartement
                            int    ID             = sender.getData("Housing_ID");    // check de l'id de l'appartement
                            SaveHouseInventory(sender, ID, OwnerHouseName);

                            API.resetEntityData(sender, "LastSelectedItem");
                            API.resetEntityData(sender, "NearbyList");
                            API.resetEntityData(sender, "Home_InventoryHolder");
                        }
                        else
                        {
                            API.sendNotificationToPlayer(sender, "Vous n'avez pas la place dans votre inventaire!");
                        }
                    }
                    else
                    {
                        API.sendNotificationToPlayer(sender, "Vous en avez pas autant sur vous");
                    }
                }
            }
        }