public static void StartTraid(Client sender, NetHandle pnj)
        {
            try
            {
                int             idtraite   = API.shared.getEntitySyncedData(pnj, "processedItemID");
                int             itemPrice  = API.shared.getEntitySyncedData(pnj, "ItemPrice");
                InventoryHolder ih         = API.shared.getEntityData(sender, "InventoryHolder");
                Item            itemtraite = ItemByID(idtraite);

                InventoryItem items = ih.Inventory.SingleOrDefault(ii => ii.Details.ID == itemtraite.ID);
                if (items == null)
                {
                    return;
                }
                int qtitem = items.Quantity;

                if (qtitem > 0)
                {
                    int price = qtitem * itemPrice;
                    ih.RemoveItemFromInventory(itemtraite, qtitem);
                    Players.Money.GiveMoney(sender, price);
                    API.shared.triggerClientEvent(sender, "display_subtitle", "Vous avez vendu votre ~r~" + itemtraite.Name.ToString() + " ~s~pour la somme de ~r~" + price.ToString() + "~s~$", 30000);
                }
            }
            catch (Exception e)
            {
                API.shared.consoleOutput("~r~[ERROR][INITFARM] : ~s~" + e.ToString());
            }
        }
Exemplo n.º 2
0
        public override void Use(Client c)
        {
            int timeeffect = 32000; //32 sc

            API.shared.triggerClientEvent(c, "display_subtitle", "Un bon petit joint!", 3000);
            API.shared.playPlayerScenario(c, "world_human_drug_dealer");


/*
 *          object[] test = new object[4];
 *
 *          test[0] = c;
 *          test[1] = "WORLD_HUMAN_DRUG_DEALER";
 *          test[2] = 0;
 *          test[3] = true;
 *
 *          API.shared.sendNativeToAllPlayers(Hash.TASK_START_SCENARIO_IN_PLACE, test);
 */
            API.shared.triggerClientEvent(c, "smokeweedeveryday", timeeffect);
            API.shared.sleep(timeeffect);
            API.shared.stopPlayerAnimation(c);
            InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder");

            ih.RemoveItemFromInventory(this, 1);
        }
Exemplo n.º 3
0
        public override void Use(Client c)
        {
            //API.shared.sendNativeToPlayer(c, Hash.ADD_AMMO_TO_PED, args);
            API.shared.setPlayerWeaponAmmo(c, (WeaponHash)WHash, 20);
            InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder");

            ih.RemoveItemFromInventory(this, 1);
        }
Exemplo n.º 4
0
        public override void Use(Client c)
        {
            if (c.vehicle == null)
            {
                API.shared.sendNotificationToPlayer(c, "Vous devez être dans un véhicule pour le réparer");
                return;
            }
            API.shared.setVehicleHealth(c.vehicle, 2000);
            InventoryHolder ih = c.getData("InventoryHolder");

            ih.RemoveItemFromInventory(this, 1);
            API.shared.sendNotificationToPlayer(c, "~g~ Véhicule Réparé");
        }
Exemplo n.º 5
0
        public override void Use(Client c)
        {
            int actualHealth = API.shared.getPlayerHealth(c);
            int NewHeath     = actualHealth + AmountToHeal;

            if (NewHeath > 100)
            {
                NewHeath = 100;
            }
            API.shared.setPlayerHealth(c, NewHeath);
            InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder");

            ih.RemoveItemFromInventory(this, 1);
        }
Exemplo n.º 6
0
        public override void Use(Client c)
        {
            int Thirst    = API.shared.getEntitySyncedData(c, "PLAYER_HUNGRY");
            int newThirst = Thirst + Food;

            if (newThirst > 100)
            {
                newThirst = 100;
            }
            API.shared.setEntitySyncedData(c, "PLAYER_HUNGRY", newThirst);
            API.shared.triggerClientEvent(c, "UpdateSurvival");
            InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder");

            ih.RemoveItemFromInventory(this, 1);
        }
Exemplo n.º 7
0
 public override void Use(Client c)
 {
     if (!API.shared.isPlayerInAnyVehicle(c))
     {
         API.shared.triggerClientEvent(c, "display_subtitle", "Vous devez être dans un véhicule pour réparer ses pneus.");
     }
     else
     {
         for (var i = 0; i < 7; i++)
         {
             API.shared.popVehicleTyre(c.vehicle, i, false);
         }
         InventoryHolder ih = API.shared.getEntityData(c, "InventoryHolder");
         ih.RemoveItemFromInventory(this, 1);
     }
 }
Exemplo n.º 8
0
        private void OnClientEventTrigger(Client sender, string eventName, object[] arguments)
        {
            if (eventName == "menu_handler_select_item")
            {
                if ((int)arguments[0] == 452)
                {
                    InventoryHolder ih = API.getEntityData(sender, "InventoryHolder");
                    ih.RemoveItemFromInventory(ItemByID(93), 1);

                    var    list    = API.getEntityData(sender, "list");
                    int    index   = (int)arguments[1];
                    Client recever = list[index];
                    API.resetEntityData(sender, "list");
                    if (Faction.EMS.Hospital.IsMedic(sender))
                    {
                        Unkillme(recever);
                    }
                    else
                    {
                        Random rnd    = new Random();
                        int    random = rnd.Next(0, 2);
                        if (random == 0)
                        {
                            Unkillme(recever);
                        }
                        else
                        {
                            Iamdead(recever);
                            API.sendNotificationToPlayer(sender, "Vous vous êtes pris pour un médecin, vous avez tué la victime.");
                        }
                    }
                }
            }
            else if (eventName == "suicideEvent")
            {
                Iamdead(sender);
            }
            else if (eventName == "callmedic")
            {
                string msg = "Une personne dans le coma a été signalée.";
                Faction.EMS.Hospital.CallMedic(sender, msg);
            }
        }
        public static void StartTraitement(Client sender, NetHandle pnj)
        {
            try
            {
                if (Players.Player.IsOnProgress(sender))
                {
                    return;
                }
                int idnontraite = API.shared.getEntitySyncedData(pnj, "unprocessedItemID");
                int idtraite    = API.shared.getEntitySyncedData(pnj, "processedItemID");

                InventoryHolder ih            = API.shared.getEntityData(sender, "InventoryHolder");
                Item            itemnontraite = ItemByID(idnontraite);
                Item            itemtraite    = ItemByID(idtraite);

                InventoryItem items = ih.Inventory.SingleOrDefault(ii => ii.Details.ID == itemnontraite.ID);
                if (items != null)
                {
                    int qtitem = items.Quantity;
                    Players.Player.OnProgress(sender);
                    API.shared.triggerClientEvent(sender, "display_subtitle", "Vous traitez vos  ~r~" + qtitem.ToString() + " " + itemnontraite.Name.ToString(), 2000);

                    if (qtitem > 0)
                    {
                        API.shared.setEntitySyncedData(sender.handle, "InProgress", true);
                        API.shared.sleep(30000 + (1000 * qtitem));
                        ih.RemoveItemFromInventory(itemnontraite, qtitem);
                        ih.AddItemToInventory(itemtraite, qtitem);
                        API.shared.setEntitySyncedData(sender.handle, "InProgress", false);
                    }



                    /*
                     * bool _exit = false;
                     * var startTime = DateTime.UtcNow;
                     *
                     * while (!_exit || sender !=null) {
                     *  if(sender.vehicle != null || sender.position.DistanceToSquared(API.getEntityPosition(pnj)) > 60f || DateTime.UtcNow - startTime > TimeSpan.FromSeconds(15 * qtitem)) {
                     *      _exit = true;
                     *      ih.AddItemToInventory(itemnontraite, qtitem);
                     *      Players.Player.OnProgress(sender, false);
                     *      API.sendNotificationToPlayer(sender, "[TRAITEMENT] Abandonné.");
                     *      return;
                     *  }
                     * }
                     *
                     * ih.AddItemToInventory(itemtraite, qtitem);
                     *
                     * API.setEntitySyncedData(sender.handle, "InProgress", false);
                     */
                    UpdatePlayerInfo(sender);
                    API.shared.triggerClientEvent(sender, "display_subtitle", "Vous avez traité vos ~r~" + itemnontraite.Name, 30000);
                    Players.Player.OnProgress(sender, false);
                }
                else
                {
                    API.shared.triggerClientEvent(sender, "display_subtitle", "Vous n'avez rien à traiter", 30000);
                }
            }
            catch (Exception e)
            {
                API.shared.consoleOutput("~r~[ERROR][INITFARM] : ~s~" + e.ToString());
            }
        }
Exemplo n.º 10
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!");
                    }
                }
            }
        }