Skip to content
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Donate
Collapse

Plutonium

  1. Home
  2. BO2 Modding Support & Discussion
  3. [Support] Move Slide Care Package to new Position?

[Support] Move Slide Care Package to new Position?

Scheduled Pinned Locked Moved BO2 Modding Support & Discussion
22 Posts 8 Posters 1.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Rynoxarundefined Rynoxar

    How I can move my Slide Care Package to a new Position or delete the old Slide and Create a new one. So no one can abuse the Create Slide command?

    Radonundefined Offline
    Radonundefined Offline
    Radon
    wrote on last edited by
    #11

    @NOXSYS said in Move Slide Care Package to new Position?:

    How I can move my Slide Care Package to a new Position or delete the old Slide and Create a new one. So no one can abuse the Create Slide command?

    Just make a delete function which deletes the model and kills the thread. Then let the player spawn in a new one:

    self addTextOption(<menu>, "Bounce", self.hasBounce ? "^1Delete" : "^2Spawn", ::<functions>);
    

    Something like that

    1 Reply Last reply
    0
    • Ducxyundefined Ducxy

      Soccer1978 heres my entire script ```
      slideBind() //SLIDES
      {
      self endon("disconnect");
      for(;;)
      {
      if(self getStance() == "crouch" && self actionslotthreebuttonpressed() && self.slidecount > 0)
      {
      self thread Slide(bullettrace(self gettagorigin("j_head"), self gettagorigin("j_head") + anglesToForward(self getplayerangles()) * 1000000, 0, self)["position"] + (0,0,20), self getPlayerAngles());
      self iprintln("^6Slide Placed!");
      self iprintln("^6Knife the carepackage to get launched!");
      self.slidecount -= 1;
      self iprintln("You have ^6"+self.slidecount+"^7 slides left");
      wait .2;
      }
      wait .01;
      }
      wait .2;
      }

      Slide( slidePosition, slideAngles ) //SLIDES

      {

      level endon( "game_ended" );
      
      level.slide[level.numberOfSlides] = spawn("script_model", slidePosition);
      
      level.slide[level.numberOfSlides].angles = (0,slideAngles[1]-90,60);
      
      level.slide[level.numberOfSlides] setModel("t6_wpn_supply_drop_trap");
      
      level.numberOfSlides++;
      
      for(;;)
      
      {
      
          foreach(player in level.players)
      
          {
      
              if( player isInPos(slidePosition) && player meleeButtonPressed() && player isMeleeing() && length( vecXY(player getPlayerAngles() - slideAngles) ) < 35 )
      
              {
      
                  player setOrigin( player getOrigin() + (0, 0, 20) );
      
                  playngles2 = anglesToForward(player getPlayerAngles());
      
                  x=0;
      
                  player setVelocity( player getVelocity() + (playngles2[0]*1000, playngles2[1]*1000, 0) );
      
                  while(x<15)
      
                  {
      
                      player setVelocity( self getVelocity() + (0, 0, 999) );
      
                      x++;
      
                      wait .01;
      
                  }
      
                  wait 1;
      
              }
      
          }
      
      wait .01;
      
      }
      

      }

      vecXY( vec ) //SLIDES

      {

      return (vec[0], vec[1], 0);

      }

      isInPos( sP ) //SLIDES

      {

      if(distance( self.origin, sP ) < 100)
      
          return true;
      
      return false;
      

      }

      this goes onplayerconnect

      player.slidecount = 3;
      
      Soccer1978undefined Offline
      Soccer1978undefined Offline
      Soccer1978
      wrote on last edited by
      #12

      Ducxy this code doesnt seem to work for me

      1 Reply Last reply
      0
      • Sassundefined Offline
        Sassundefined Offline
        Sass
        Plutonium Staff
        wrote on last edited by
        #13

        I came up with a new script. It's basically a "Create/Move Slide" function; it will spawn a slide the first time you use it, and move it if you use the function again. Slides spawns/moves wherever you place your crosshair. There's no delete function, but you can just move it out of the map if you want it off the way.

        • Call manageSlides in your menu.
        • Copy the following in your file :
        manageSlides()
        {
            self endon("death");
            self endon("disconnect");
        
            start = self getTagOrigin("tag_eye");
            end = anglestoforward(self getPlayerAngles()) * 1000000;
            slidePos = BulletTrace(start, end, true, self)["position"] + (0,0,15);
            slideAng = self getPlayerAngles();
        
            if(!isDefined(self.slide))
            {
                self.slide = spawn("script_model", slidePos);
                self.slide.angles = (0, slideAng[1] - 90, 70);
                self.slide setModel("t6_wpn_supply_drop_trap");
            }
            else
            {
                self.slide RotateTo((0, slideAng[1] - 90, 70), 0.1, 0, 0 );
                self.slide MoveTo(slidePos, 0.1, 0, 0 );
                self.slide notify("restartSlideThink"); // Killing thread so it doesn't duplicate
            }
            
            self.slide thread slideThink(slidePos,slideAng);
        }
        
        slideThink(origin, angles)
        {
            self endon("restartSlideThink");
        	
            for(;;)
            {
                foreach(player in level.players)
                {
                    if( distance(player.origin, origin) < 100 && player meleeButtonPressed() && player isMeleeing() && length(anglesXY(player getPlayerAngles() - angles)) < 90)
                    {
                        vec = anglesToForward(player.angles);
                        for(i = 0; i < 10; i++)
                        {
                            player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 ));
                            wait .01;
                        }
                    }
                }
                wait .1;
            }
        }
        
        anglesXY(angles)
        {
            return (angles[0], angles[1], 0);
        }
        
        Soccer1978undefined Rynoxarundefined kalazh441undefined 3 Replies Last reply
        0
        • Sassundefined Sass

          I came up with a new script. It's basically a "Create/Move Slide" function; it will spawn a slide the first time you use it, and move it if you use the function again. Slides spawns/moves wherever you place your crosshair. There's no delete function, but you can just move it out of the map if you want it off the way.

          • Call manageSlides in your menu.
          • Copy the following in your file :
          manageSlides()
          {
              self endon("death");
              self endon("disconnect");
          
              start = self getTagOrigin("tag_eye");
              end = anglestoforward(self getPlayerAngles()) * 1000000;
              slidePos = BulletTrace(start, end, true, self)["position"] + (0,0,15);
              slideAng = self getPlayerAngles();
          
              if(!isDefined(self.slide))
              {
                  self.slide = spawn("script_model", slidePos);
                  self.slide.angles = (0, slideAng[1] - 90, 70);
                  self.slide setModel("t6_wpn_supply_drop_trap");
              }
              else
              {
                  self.slide RotateTo((0, slideAng[1] - 90, 70), 0.1, 0, 0 );
                  self.slide MoveTo(slidePos, 0.1, 0, 0 );
                  self.slide notify("restartSlideThink"); // Killing thread so it doesn't duplicate
              }
              
              self.slide thread slideThink(slidePos,slideAng);
          }
          
          slideThink(origin, angles)
          {
              self endon("restartSlideThink");
          	
              for(;;)
              {
                  foreach(player in level.players)
                  {
                      if( distance(player.origin, origin) < 100 && player meleeButtonPressed() && player isMeleeing() && length(anglesXY(player getPlayerAngles() - angles)) < 90)
                      {
                          vec = anglesToForward(player.angles);
                          for(i = 0; i < 10; i++)
                          {
                              player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 ));
                              wait .01;
                          }
                      }
                  }
                  wait .1;
              }
          }
          
          anglesXY(angles)
          {
              return (angles[0], angles[1], 0);
          }
          
          Soccer1978undefined Offline
          Soccer1978undefined Offline
          Soccer1978
          wrote on last edited by
          #14

          Sass Thanks, works great! Do u maybe know how i make the slides stronger?

          Sassundefined 1 Reply Last reply
          0
          • Soccer1978undefined Soccer1978

            Sass Thanks, works great! Do u maybe know how i make the slides stronger?

            Sassundefined Offline
            Sassundefined Offline
            Sass
            Plutonium Staff
            wrote on last edited by
            #15

            Soccer1978 You'll have to edit this line. Change both "50" to something higher :

            player setVelocity(player getVelocity() + ( vec[0]*(50), vec[1]*(50), 200 ));

            1 Reply Last reply
            0
            • Sassundefined Sass

              I came up with a new script. It's basically a "Create/Move Slide" function; it will spawn a slide the first time you use it, and move it if you use the function again. Slides spawns/moves wherever you place your crosshair. There's no delete function, but you can just move it out of the map if you want it off the way.

              • Call manageSlides in your menu.
              • Copy the following in your file :
              manageSlides()
              {
                  self endon("death");
                  self endon("disconnect");
              
                  start = self getTagOrigin("tag_eye");
                  end = anglestoforward(self getPlayerAngles()) * 1000000;
                  slidePos = BulletTrace(start, end, true, self)["position"] + (0,0,15);
                  slideAng = self getPlayerAngles();
              
                  if(!isDefined(self.slide))
                  {
                      self.slide = spawn("script_model", slidePos);
                      self.slide.angles = (0, slideAng[1] - 90, 70);
                      self.slide setModel("t6_wpn_supply_drop_trap");
                  }
                  else
                  {
                      self.slide RotateTo((0, slideAng[1] - 90, 70), 0.1, 0, 0 );
                      self.slide MoveTo(slidePos, 0.1, 0, 0 );
                      self.slide notify("restartSlideThink"); // Killing thread so it doesn't duplicate
                  }
                  
                  self.slide thread slideThink(slidePos,slideAng);
              }
              
              slideThink(origin, angles)
              {
                  self endon("restartSlideThink");
              	
                  for(;;)
                  {
                      foreach(player in level.players)
                      {
                          if( distance(player.origin, origin) < 100 && player meleeButtonPressed() && player isMeleeing() && length(anglesXY(player getPlayerAngles() - angles)) < 90)
                          {
                              vec = anglesToForward(player.angles);
                              for(i = 0; i < 10; i++)
                              {
                                  player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 ));
                                  wait .01;
                              }
                          }
                      }
                      wait .1;
                  }
              }
              
              anglesXY(angles)
              {
                  return (angles[0], angles[1], 0);
              }
              
              Rynoxarundefined Offline
              Rynoxarundefined Offline
              Rynoxar
              Contributor
              wrote on last edited by
              #16

              Sass said in Move Slide Care Package to new Position?:

              I came up with a new script. It's basically a "Create/Move Slide" function; it will spawn a slide the first time you use it, and move it if you use the function again. Slides spawns/moves wherever you place your crosshair. There's no delete function, but you can just move it out of the map if you want it off the way.

              • Call manageSlides in your menu.
              • Copy the following in your file :
              manageSlides()
              {
                  self endon("death");
                  self endon("disconnect");
              
                  start = self getTagOrigin("tag_eye");
                  end = anglestoforward(self getPlayerAngles()) * 1000000;
                  slidePos = BulletTrace(start, end, true, self)["position"] + (0,0,15);
                  slideAng = self getPlayerAngles();
              
                  if(!isDefined(self.slide))
                  {
                      self.slide = spawn("script_model", slidePos);
                      self.slide.angles = (0, slideAng[1] - 90, 70);
                      self.slide setModel("t6_wpn_supply_drop_trap");
                  }
                  else
                  {
                      self.slide RotateTo((0, slideAng[1] - 90, 70), 0.1, 0, 0 );
                      self.slide MoveTo(slidePos, 0.1, 0, 0 );
                      self.slide notify("restartSlideThink"); // Killing thread so it doesn't duplicate
                  }
                  
                  self.slide thread slideThink(slidePos,slideAng);
              }
              
              slideThink(origin, angles)
              {
                  self endon("restartSlideThink");
              	
                  for(;;)
                  {
                      foreach(player in level.players)
                      {
                          if( distance(player.origin, origin) < 100 && player meleeButtonPressed() && player isMeleeing() && length(anglesXY(player getPlayerAngles() - angles)) < 90)
                          {
                              vec = anglesToForward(player.angles);
                              for(i = 0; i < 10; i++)
                              {
                                  player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 ));
                                  wait .01;
                              }
                          }
                      }
                      wait .1;
                  }
              }
              
              anglesXY(angles)
              {
                  return (angles[0], angles[1], 0);
              }
              

              I LOVE YOU 😍

              1 Reply Last reply
              0
              • Sassundefined Sass

                I came up with a new script. It's basically a "Create/Move Slide" function; it will spawn a slide the first time you use it, and move it if you use the function again. Slides spawns/moves wherever you place your crosshair. There's no delete function, but you can just move it out of the map if you want it off the way.

                • Call manageSlides in your menu.
                • Copy the following in your file :
                manageSlides()
                {
                    self endon("death");
                    self endon("disconnect");
                
                    start = self getTagOrigin("tag_eye");
                    end = anglestoforward(self getPlayerAngles()) * 1000000;
                    slidePos = BulletTrace(start, end, true, self)["position"] + (0,0,15);
                    slideAng = self getPlayerAngles();
                
                    if(!isDefined(self.slide))
                    {
                        self.slide = spawn("script_model", slidePos);
                        self.slide.angles = (0, slideAng[1] - 90, 70);
                        self.slide setModel("t6_wpn_supply_drop_trap");
                    }
                    else
                    {
                        self.slide RotateTo((0, slideAng[1] - 90, 70), 0.1, 0, 0 );
                        self.slide MoveTo(slidePos, 0.1, 0, 0 );
                        self.slide notify("restartSlideThink"); // Killing thread so it doesn't duplicate
                    }
                    
                    self.slide thread slideThink(slidePos,slideAng);
                }
                
                slideThink(origin, angles)
                {
                    self endon("restartSlideThink");
                	
                    for(;;)
                    {
                        foreach(player in level.players)
                        {
                            if( distance(player.origin, origin) < 100 && player meleeButtonPressed() && player isMeleeing() && length(anglesXY(player getPlayerAngles() - angles)) < 90)
                            {
                                vec = anglesToForward(player.angles);
                                for(i = 0; i < 10; i++)
                                {
                                    player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 ));
                                    wait .01;
                                }
                            }
                        }
                        wait .1;
                    }
                }
                
                anglesXY(angles)
                {
                    return (angles[0], angles[1], 0);
                }
                
                kalazh441undefined Offline
                kalazh441undefined Offline
                kalazh441
                wrote on last edited by
                #17

                Sass Thanks alot <333

                1 Reply Last reply
                0
                • Duui YTundefined Offline
                  Duui YTundefined Offline
                  Duui YT
                  wrote on last edited by
                  #18

                  Sass how can i mind it bec when i do this it works but when they die they cant do it again

                  buttonMonitorSlides()
                  {
                      self endon("death");
                      self endon("disconnect");
                      
                      for(;;)
                      {
                          if(self getStance() != "prone" && self actionslotthreebuttonpressed())
                              self manageSlides();
                          wait .05;
                      }
                  } 
                  
                  Cahzundefined 1 Reply Last reply
                  0
                  • Duui YTundefined Duui YT

                    Sass how can i mind it bec when i do this it works but when they die they cant do it again

                    buttonMonitorSlides()
                    {
                        self endon("death");
                        self endon("disconnect");
                        
                        for(;;)
                        {
                            if(self getStance() != "prone" && self actionslotthreebuttonpressed())
                                self manageSlides();
                            wait .05;
                        }
                    } 
                    
                    Cahzundefined Offline
                    Cahzundefined Offline
                    Cahz
                    VIP
                    wrote on last edited by
                    #19

                    Duui YT said in [Support] Move Slide Care Package to new Position?:

                    self endon("death");

                    self endon("death");

                    self endon("death");

                    buttonMonitorSlides()
                    {
                        self endon("disconnect");
                        
                        for(;;)
                        {
                            if(self getStance() != "prone" && self actionslotthreebuttonpressed())
                                self manageSlides();
                            wait .05;
                        }
                    }
                    

                    Literally one line of code dude. Please read the code before posting on the forums 😞

                    Duui YTundefined Sassundefined 2 Replies Last reply
                    0
                    • Cahzundefined Cahz

                      Duui YT said in [Support] Move Slide Care Package to new Position?:

                      self endon("death");

                      self endon("death");

                      self endon("death");

                      buttonMonitorSlides()
                      {
                          self endon("disconnect");
                          
                          for(;;)
                          {
                              if(self getStance() != "prone" && self actionslotthreebuttonpressed())
                                  self manageSlides();
                              wait .05;
                          }
                      }
                      

                      Literally one line of code dude. Please read the code before posting on the forums 😞

                      Duui YTundefined Offline
                      Duui YTundefined Offline
                      Duui YT
                      wrote on last edited by Duui YT
                      #20

                      Cahz is it possible to make it spawn next to you intend at cross hair i cant finger it out

                      1 Reply Last reply
                      0
                      • Cahzundefined Cahz

                        Duui YT said in [Support] Move Slide Care Package to new Position?:

                        self endon("death");

                        self endon("death");

                        self endon("death");

                        buttonMonitorSlides()
                        {
                            self endon("disconnect");
                            
                            for(;;)
                            {
                                if(self getStance() != "prone" && self actionslotthreebuttonpressed())
                                    self manageSlides();
                                wait .05;
                            }
                        }
                        

                        Literally one line of code dude. Please read the code before posting on the forums 😞

                        Sassundefined Offline
                        Sassundefined Offline
                        Sass
                        Plutonium Staff
                        wrote on last edited by
                        #21

                        The self endon("death"); is intentional. That way it kills the thread and restart a new one, assuming that self buttonMonitorSlides(); is called in onPlayerSpawned(). This prevents the function to restart over and over again.

                        1 Reply Last reply
                        1
                        • Duui YTundefined Offline
                          Duui YTundefined Offline
                          Duui YT
                          wrote on last edited by Duui YT
                          #22

                          Sass
                          so this (50) changes how for you go add this how high you go 200 but it dose not do anything when i make it higher or lower is there a different way to make it send me higher up

                          player setVelocity(player getVelocity() + ( vec[0]*(50) , vec[1]*(50), 200 )); 
                          
                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          • 1
                          • 2
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Donate