示例#1
0
        public static void changePlayerLifeTexture(MyPlayer myPlayer)
        {
            var hunger = textureList.Find(x => x.name == "Hungery");

            if (hunger != null)
            {
                if (myPlayer.playerLife >= 51 && hunger.textureID != 51)
                {
                    hunger.texture   = Game.CreateTextureFromFile(playerFeaturesTexturePath + "notHungry.png");
                    hunger.textureID = 51;
                }
                else if (myPlayer.playerLife <= 50 && myPlayer.playerLife > 20 && hunger.textureID != 50)
                {
                    hunger.texture   = Game.CreateTextureFromFile(playerFeaturesTexturePath + "littlyHungry.png");
                    hunger.textureID = 50;
                }
                else if (myPlayer.playerLife <= 20 && hunger.textureID != 20)
                {
                    hunger.texture   = Game.CreateTextureFromFile(playerFeaturesTexturePath + "imStarving.png");
                    hunger.textureID = 20;
                }
                else if (myPlayer.playerLife <= 0)
                {
                    Game.DisplayHelp("~r~You died~s~ because you have not eaten");
                    myPlayer.playerLife = 40.0f;
                    HungerManager.UpdatePlayerLife(myPlayer);
                    Game.LocalPlayer.Character.Kill();
                }
            }
        }
示例#2
0
        public static void OnTimerEvent(object obj, ElapsedEventArgs e, MyPlayer myPlayer)
        {
            HungerManager.UpdatePlayerLife(myPlayer);

            // Online saves
            if (PlayerAuthenticate.isLogged && PlayerAuthenticate.playOnline == "true")
            {
                if (Game.LocalPlayer.Character.IsInAnyVehicle(false))
                {
                    var position = Game.LocalPlayer.Character.Position;
                    LiveTicker.AddTicker("I'm on Duty, on <font color=\"Orange\">" + World.GetStreetName(position) + "</font>");
                }
                var postData = new List <KeyValuePair <string, string> >();
                postData.Add(new KeyValuePair <string, string>("Methode", "SaveDaten"));
                postData.Add(new KeyValuePair <string, string>("Money", myPlayer.playerMoney.ToString()));
                var responseObject = new WebRequestManager.RequestResponseObject();
                responseObject.handler = new WebRequestManager.getWebRequestResponse(saveDatenResponse);
                WebRequestManager.SendResponse(postData, responseObject);
            }
        }
示例#3
0
        protected override void OnUse(Ped playerped, DBVehicle dbVehicle, MyPlayer myPlayer)
        {
            if (EatPoint.Any(r => r.IsInRange(playerped.Position)))
            {
                NativeFunction.CallByName <uint>("SET_VEHICLE_DOOR_OPEN", vehicle, 5, false, false);
                Ped[] ped       = playerped.GetNearbyPeds(1);
                Ped   burgerPed = ped[0];
                if (myPlayer.playerLife >= 80 && !eaten)
                {
                    if (!answer)
                    {
                        Game.DisplayHelp("Give an answer by pressing Key 1 or 2");
                        Game.DisplaySubtitle("~y~Burgermen~s~: Unfortunately I have no more food, Check back soon ~b~officer", 1000);
                        NotificationManager.addNotification("~b~Your~s~ answers:\n\n1 - No problem, i come again later\n2 - Make your job properly!");
                    }
                    if (answer)
                    {
                        if (goodAnswer)
                        {
                            goodAnswer = false;
                            Game.DisplaySubtitle("~b~You~s~: No problem, they do a good job! i'll be back later", 4000);
                            GameFiber.Sleep(4000);
                            Game.DisplaySubtitle("~y~Burgermen~s~: Thank you for your understanding! You're a good officer", 10000);
                            if (PlayerAuthenticate.isLogged)
                            {
                                ExperienceManager.UpdateExp(5, "Good Behavior");
                            }

                            GameFiber.Sleep(10000);
                        }
                        else if (badAnswer)
                        {
                            badAnswer = false;
                            Game.DisplaySubtitle("~b~You~s~: Make their job properly Sir! I need my food ... !!", 4000);
                            GameFiber.Sleep(4000);
                            Game.DisplaySubtitle("~y~Burgermen~s~: I can not hear it! .. i .. i ... I quit my job!!!", 15000);
                            Vehicle[] _vehicle = burgerPed.GetNearbyVehicles(1);
                            _vehicle[0].LockStatus     = VehicleLockStatus.Unlocked;
                            _vehicle[0].FuelTankHealth = 500.0f;
                            burgerPed.Tasks.EnterVehicle(_vehicle[0], 5000, -1).WaitForCompletion();
                            _vehicle[0].LockStatus = VehicleLockStatus.Locked;
                            NativeFunction.CallByName <uint>("START_VEHICLE_HORN", vehicle, 5000, 0, true);
                            burgerPed.Dismiss();
                            GameFiber.Sleep(10000);
                            GameFiber.Yield();
                        }
                    }

                    if (Game.IsKeyDown(Keys.D1))
                    {
                        answer     = true;
                        goodAnswer = true;
                    }
                    else if (Game.IsKeyDown(Keys.D2))
                    {
                        answer    = true;
                        badAnswer = true;
                    }
                    return;
                }

                if (playerped.IsInAnyVehicle(false))
                {
                    Game.DisplaySubtitle("~y~Burgermen~s~: Officer " + PlayerAuthenticate.onlineUsername + ", please get out of the vehicle I can not understand you", 1000);
                    return;
                }

                if (!menuSelection && !eaten)
                {
                    Vector3 directionFromPlayerToPed = (playerped.Position - burgerPed.Position);
                    directionFromPlayerToPed.Normalize();
                    float heading = MathHelper.ConvertDirectionToHeading(directionFromPlayerToPed);
                    burgerPed.Heading = heading;
                    Game.DisplayHelp("Give an answer by pressing Key 1 or 2");
                    Game.DisplaySubtitle("~y~Burgermen~s~: Nice to see you, what do you want to buy ?", 1000);
                    NotificationManager.addNotification("~b~Choose a key ~s~for your food:\n\n1 - Burger with cheese\n" + "2 - HotDog with a drink");
                    GameFiber.Yield();
                }

                if (Game.IsKeyDown(Keys.D1))
                {
                    menuSelection = true;
                    Game.DisplaySubtitle("~y~Burgermen~s~: Okay, you want a burger. ~g~Good choice i prepare it ", 5000);
                    GameFiber.Sleep(5000);
                    eaten = true;
                    Game.DisplaySubtitle("~y~Burgermen~s~: Thank you for your visit ~b~Officer " + PlayerAuthenticate.onlineUsername + "~s~, Here your food, ~p~Bon Appetit ", 9000);
                    myPlayer.playerLife = 100;
                    HungerManager.UpdatePlayerLife(myPlayer);
                    GameFiber.Yield();
                }
                else if (Game.IsKeyDown(Keys.D2))
                {
                    menuSelection = true;
                    Game.DisplaySubtitle("~y~Burgermen~s~: I cook a hotdog for you. I prepare it one moment please", 5000);
                    GameFiber.Sleep(5000);
                    eaten = true;
                    Game.DisplaySubtitle("~y~Burgermen~s~: Thank you for your visit ~b~Officer " + PlayerAuthenticate.onlineUsername + "~s~, Here your food, ~p~Bon Appetit ", 9000);
                    myPlayer.playerLife = 100;
                    HungerManager.UpdatePlayerLife(myPlayer);
                    GameFiber.Yield();
                }
            }
            else
            {
                eaten = false;
            }
            base.OnUse(playerped, dbVehicle, myPlayer);
        }