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 2.7k 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

                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                          With your input, this post could be even better 💗

                          Register Login
                          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