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.
  • 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;
    
    Sassundefined Offline
    Sassundefined Offline
    Sass
    Plutonium Staff
    wrote on last edited by
    #10

    Ducxy This still doesn't move or replace the first crate, which is literally the question that was asked. But I guess you can go this way.

    1 Reply Last reply
    0
    • 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