CPS as a moving object

Posts 1–9 of 9 · Page 1 of 1
CPS as a moving object
New problem
I want to make some kind of a lift from cps. It has to be going up and down the whole time with commands of a player.
Thanks in advance
Quote Originally Posted by master131 View Post
Just use the SkyBase mod as a guide.
I actually tried to, but I don't get it. I can't find the code for a lift :S
Code:
 self endon("death");
        self waittill("weapon_fired");
        vec = anglestoforward(self getPlayerAngles());
        center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
        level.center = spawn("script_origin", center);
        level.lift = [];
        h=0;k=0;
        origin = level.center.origin;
        for(i=0;i<404;i++)
        {
                if(i<=100)
                        level.lift[k] = spawn("script_model", origin+(-42,42,h));
                else if(i<=201 && i>100)
                        level.lift[k] = spawn("script_model", origin+(42,42,h-2777.5*2));
                else if(i<=302 && i>201)
                        level.lift[k] = spawn("script_model", origin+(-42,-42,h-5555*2));
                else if(i<=404 && i>301)
                        level.lift[k] = spawn("script_model", origin+(42,-42,h-8332.5*2));
                level.lift[i].angles = (90,90,0);
                h+=55;
                k++;
        }
        level.center moveto(level.center.origin+(0,0,15), 0.05);
        wait 0.05;
        level.elevator = [];
        level.elevator[0] = spawn("script_model", origin+(0,42,-15));
        level.elevator[1] = spawn("script_model", origin+(0,-42,-15));
        level.elevator[2] = spawn("script_model", origin+(42,0,-15));
        level.elevator[2].angles = (0,90,0);
        level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
        level.elevator[3].angles = (0,90,0);
        level.elevator[4] = spawn("script_model", origin+(0,14,-15));
        level.elevator[5] = spawn("script_model", origin+(0,-14,-15));
        base = level.center.origin+(-110,182,5513.75);
        level.elevatorcontrol = [];
        level.elevatorcontrol[0] = spawn("script_model", origin+(0,-42,13.75));
        level.elevatorcontrol[0] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[0] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[0] linkto(level.center);
        level.elevatorcontrol[1] = spawn("script_model", origin+(0,-42,28.75));
        level.elevatorcontrol[1] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[1].angles = (0,90,0);
        level.elevatorcontrol[1] linkto(level.center);
        level.elevatorcontrol[2] = spawn("script_model", base+(0,0,28));
        level.elevatorcontrol[2] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[2] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[3] = spawn("script_model", base+(0,0,42));
        level.elevatorcontrol[3] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[3].angles = (0,90,0);
        level.elevatorcontrol[4] = spawn("script_model", level.center.origin+(44,60,40));
        level.elevatorcontrol[4] setModel( "ma_flatscreen_tv_wallmount_01" );
        level.elevatorcontrol[4].angles = (0,180,0);
        level.elevatorcontrol[5] = spawn("script_model", base+(5,224,28));
        level.elevatorcontrol[5] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[5] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[5].angles = (0,45,0);
        level.elevatorcontrol[6] = spawn("script_model", base+(215,224,28));
        level.elevatorcontrol[6] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[6] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[6].angles = (0,-45,0);
        level.elevatorcontrol[7] = spawn("script_model", base+(110,252,28));
        level.elevatorcontrol[7] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[7] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[8] = spawn("script_model", base+(5,224,42));
        level.elevatorcontrol[8] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[8].angles = (0,-45,0);
        level.elevatorcontrol[8].type = "right";
        level.elevatorcontrol[9] = spawn("script_model", base+(215,224,42));
        level.elevatorcontrol[9] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[9].angles = (0,-135,0);
        level.elevatorcontrol[9].type = "left";
        level.elevatorcontrol[10] = spawn("script_model", base+(110,252,42));
        level.elevatorcontrol[10] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[10].angles = (0,-90,0);
        level.elevatorcontrol[10].type = "forward";
        level.elevatorcontrol[11] = spawn("script_model", base+(220,0,42));
        level.elevatorcontrol[11] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[11].angles = (0,90,0);
        level.elevatorcontrol[11].type = "dock";
        level.elevatorcontrol[12] = spawn("script_model", base+(220,0,28));
        level.elevatorcontrol[12] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[12] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[13] = spawn("script_model", base+(232,98,28));
        level.elevatorcontrol[13] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[13] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[13].angles = (0,90,0);
        level.elevatorcontrol[14] = spawn("script_model", base+(232,98,42));
        level.elevatorcontrol[14] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[14].angles = (0,180,0);
        level.elevatorcontrol[14].type = "up";
        level.elevatorcontrol[15] = spawn("script_model", base+(-12,98,28));
        level.elevatorcontrol[15] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[15] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[15].angles = (0,90,0);
        level.elevatorcontrol[16] = spawn("script_model", base+(-12,98,42));
        level.elevatorcontrol[16] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[16].type = "down";
        level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
        level.elevatorcontrol[17] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[17] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[17].angles = (0,-45,0);
        level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
        level.elevatorcontrol[18] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[18].angles = (0,45,0);
        level.elevatorcontrol[18].type = "forcedock";
        level.elevatorcontrol[19] = spawn("script_model", base+(165,0,28));
        level.elevatorcontrol[19] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[19] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[20] = spawn("script_model", base+(165,0,42));
        level.elevatorcontrol[20] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[20].angles = (0,90,0);
        level.elevatorcontrol[20].type = "destroy";
        level.center2 = spawn("script_origin", level.center.origin);
        level.center2 linkto(level.center);
        level.elevatorPlatform = [];
        level.elevatorPlatform[0] = spawn("script_model", origin+(0,-42,-15));
        level.elevatorPlatform[1] = spawn("script_model", origin+(0,-14,-15));
        level.elevatorPlatform[2] = spawn("script_model", origin+(0,14,-15));
        level.elevatorPlatform[3] = spawn("script_model", origin+(0,42,-15));
        level.elevatorBase = [];
        j = 0;
        w = 0;
        for(x=0;x<10;x++)
        {
                for(i=0;i<5;i++)
                {
                        level.elevatorBase[j] = spawn("script_model", base+(i*55,w,0));
                        j++;
                }
                w+= 28;
        }
        level.BaseCenter = spawn("script_origin", base+(110,126,0));
        level.BaseCenterOrigAng = level.BaseCenter.angles;
        level.BaseCenterOrigOrigin = level.BaseCenter.origin;
        for(i=5;i<=level.elevatorcontrol.size;i++)
                level.elevatorcontrol[i] linkto(level.BaseCenter);
        level.elevatorcontrol[17] unlink();
        level.elevatorcontrol[18] unlink();
        level.elevatorcontrol[2] linkto(level.BaseCenter);
        level.elevatorcontrol[3] linkto(level.BaseCenter);
        foreach(elevatorbase in level.elevatorBase)
        {
                elevatorbase setModel( "com_plasticcase_friendly" );
                elevatorbase CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                elevatorbase linkto(level.BaseCenter);
        }
        foreach(platform in level.elevatorPlatform)
        {
                platform linkto(level.center2);
                platform setModel( "com_plasticcase_friendly" );
                platform CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        }
        foreach(elevator in level.elevator)
        {
                elevator CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                elevator setmodel("com_plasticcase_friendly");
                elevator linkto(level.center);
        }
        foreach(lift in level.lift)
        {
                lift CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                lift setmodel("com_plasticcase_friendly");
        }
        thread computers();
        level.elevatorcontrol[8] thread computers2();
        level.elevatorcontrol[9] thread computers2();
        level.elevatorcontrol[10] thread computers2();
        level.elevatorcontrol[11] thread computers2();
        level.elevatorcontrol[14] thread computers2();
        level.elevatorcontrol[16] thread computers2();
        level.elevatorcontrol[18] thread computers2();
        level.elevatorcontrol[20] thread computers2();
}

computers()
{
        level endon("exploded");
        level.elevatorDirection = "up";
        place = "default";
        for(;;)
        {
                foreach(player in level.players)
                {
                        if(distance(level.elevatorcontrol[1].origin, player.origin) <50)
                                place = "elevator";
                        else if(distance(level.elevatorcontrol[3].origin, player.origin) <50)
                                place = "top";
                        else if(distance(level.elevatorcontrol[4].origin, player.origin) <50)
                                place = "bottom";
                        if(distance(level.elevatorcontrol[1].origin, player.origin) <50 || distance(level.elevatorcontrol[3].origin, player.origin) <50 || distance(level.elevatorcontrol[4].origin, player.origin) <50)
                        {
                                if(level.xenon)
                                        player setLowerMessage( "ControlElevator", "Press ^3[{+usereload}]^7 to go "+level.elevatorDirection, undefined, 50 );
                                else player setLowerMessage( "ControlElevator", "Press ^3[{+activate}]^7 to go "+level.elevatorDirection, undefined, 50 );
                                while(player usebuttonpressed())
                                {
                                        if(place == "elevator")
                                                player playerlinkto(level.center);
                                        player clearLowerMessage( "ControlElevator" );
                                        if(level.elevatorDirection == "up")
                                        {
                                                level.center moveto(level.center.origin+(0,0,(55*100)+27.5/2), 5, 3, 2);
                                                level.elevatorDirection = "down";
                                        }
                                        else
                                        {
                                                level.center2 unlink();
                                                foreach(platform in level.elevatorPlatform)
                                                        platform linkto(level.center2);
                                                level.center2 moveto(level.center2.origin-(0,112,0), 3);
                                                wait 3.1;
                                                level.center2 linkto(level.center);
                                                level.center moveto(level.center.origin-(0,0,(55*100)+27.5/2), 5, 3, 2);
                                                level.elevatorDirection = "up";
                                        }
                                        wait 5.5;
                                        if(place == "elevator")
                                                player unlink();
                                        if(level.elevatorDirection == "down")
                                        {
                                                level.center2 unlink();
                                                foreach(platform in level.elevatorPlatform)
                                                        platform linkto(level.center2);
                                                level.center2 moveto(level.center2.origin+(0,112,0), 3);
                                                wait 3.5;
                                        }
                                }
                        }
                        if(place == "elevator" && distance(level.elevatorcontrol[1].origin, player.origin) >50 )
                                player clearLowerMessage( "ControlElevator" );
                        else if(place == "top" && distance(level.elevatorcontrol[3].origin, player.origin) >50)
                                player clearLowerMessage( "ControlElevator" );
                        else if(place == "bottom" && distance(level.elevatorcontrol[4].origin, player.origin) >50)
                                player clearLowerMessage( "ControlElevator" );
                }
                wait 0.05;
        }
}

computers2()
{
        for(;;)
        {
                foreach(player in level.players)
                {
                        if(distance(self.origin, player.origin)<50)
                        {
                                if(self.type == "left" || self.type == "right")
                                {
                                        if(self.type == "left")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "MoveLeft", "Hold ^3[{+usereload}]^7 to go right", undefined, 50 );
                                                else player setLowerMessage( "MoveLeft", "Hold ^3[{+activate}]^7 to go right", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "MoveRight", "Hold ^3[{+usereload}]^7 to go left", undefined, 50 );
                                                else player setLowerMessage( "MoveRight", "Hold ^3[{+activate}]^7 to go left", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                if(self.type == "left")
                                                        level.BaseCenter rotateyaw(-2, 0.05);
                                                else level.BaseCenter rotateyaw(2, 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "forward")
                                {
                                        if(level.xenon)
                                                player setLowerMessage( "MoveForward", "Hold ^3[{+usereload}]^7 to go forward", undefined, 50 );
                                        else player setLowerMessage( "MoveForward", "Hold ^3[{+activate}]^7 to go forward", undefined, 50 );
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                vec = anglestoright(level.BaseCenter.angles);
                                                center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
                                                level.BaseCenter moveto(center, 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "dock" || self.type == "forcedock")
                                {
                                        if(self.type == "dock")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Redock", "Press ^3[{+usereload}]^7 to redock", undefined, 50 );
                                                else player setLowerMessage( "Redock", "Press ^3[{+activate}]^7 to redock", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "forcedock", "Press ^3[{+usereload}]^7 to force redock [Host Only]", undefined, 50 );
                                                else player setLowerMessage( "forcedock", "Press ^3[{+activate}]^7 to force redock [Host Only]", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                if(player isHost() && self.type == "forcedock")
                                                {
                                                        speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
                                                        level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
                                                        level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
                                                        wait 0.05;
                                                }
                                                else if(self.type == "dock")
                                                {
                                                        player.fakelink = spawn("script_origin", player.origin);
                                                        player playerlinkto(player.fakelink);
                                                        player.fakelink linkto(self);
                                                        speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
                                                        level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
                                                        level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
                                                        while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
                                                                wait 0.05;
                                                        wait 0.05;
                                                        player unlink();
                                                        player.fakelink delete();
                                                }
                                                else if(self.type == "forcedock" && !player ishost())
                                                        player iprintlnbold("^1You must be host");
                                                wait 0.05;
                                        }
                                }
                                if(self.type == "up" || self.type == "down")
                                {
                                        if(self.type == "up")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Moveup", "Hold ^3[{+usereload}]^7 to go up", undefined, 50 );
                                                else player setLowerMessage( "Moveup", "Hold ^3[{+activate}]^7 to go up", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Movedown", "Hold ^3[{+usereload}]^7 to go down", undefined, 50 );
                                                else player setLowerMessage( "Movedown", "Hold ^3[{+activate}]^7 to go down", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                if(self.type == "up")
                                                        level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
                                                else level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "destroy")
                                {
                                        self endon("endNuke");
                                        if(level.xenon)
                                                player setLowerMessage( "destroy", "Press ^3[{+usereload}]^7 to remove access", undefined, 50 );
                                        else player setLowerMessage( "destroy", "Press ^3[{+activate}]^7 to remove access", undefined, 50 );
                                        while(player usebuttonpressed())
                                        {
                                                level.elevatorcontrol[2] setmodel("com_plasticcase_enemy");
                                                level.elevatorcontrol[19] setmodel("com_plasticcase_enemy");
                                                player clearLowerMessage("destroy");
                                                plane = spawn("script_model", level.center.origin+(30000,0,0));
                                                plane setmodel("vehicle_av8b_harrier_jet_opfor_mp");
                                                plane.angles = (0,-180,0);
                                                plane moveto(level.center.origin, 5);
                                                wait 5;
                                                playfx( level._effect[ "emp_flash" ], plane.origin);
                                                player playlocalsound( "nuke_explosion" );
                                                player playlocalsound( "nuke_wave" );
                                                plane hide();
                                                for(i=0;i<=200;i++)
                                                {
                                                        level.lift[i] unlink();
                                                        level.lift[i] PhysicsLaunchServer( plane.origin, (i*-10,0,randomint(1000)) );
                                                }
                                                wait 4;
                                                for(i=200;i<=level.lift.size;i++)
                                                {
                                                        level.lift[i] unlink();
                                                        level.lift[i] PhysicsLaunchServer( plane.origin, (i*-5,i,0) );
                                                }
                                                foreach(elevator in level.elevator)
                                                {
                                                        elevator unlink();
                                                        elevator PhysicsLaunchServer( plane.origin, (i*-10,0,1000) );
                                                }
                                                foreach(platform in level.elevatorPlatform)
                                                {
                                                        platform unlink();
                                                        platform PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                }
                                                level.elevatorcontrol[0] unlink();
                                                level.elevatorcontrol[1] unlink();
                                                level.elevatorcontrol[4] unlink();
                                                level.elevatorcontrol[17] unlink();
                                                level.elevatorcontrol[18] unlink();
                                                level.elevatorcontrol[0] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[1] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[4] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[17] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[18] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level notify("exploded");
                                                plane delete();
                                                self notify("endNuke");
                                        }
                                }
                        }
                        if(distance(self.origin, player.origin) > 50)
                        {
                                if(self.type == "left")
                                        player clearLowerMessage("MoveLeft");
                                else if(self.type == "right")
                                        player clearLowerMessage("MoveRight");
                                else if(self.type == "forward")
                                        player clearLowerMessage("MoveForward");
                                else if(self.type == "dock")
                                        player clearLowerMessage("Redock");
                                else if(self.type == "up")
                                        player clearLowerMessage("Moveup");
                                else if(self.type == "down")
                                        player clearLowerMessage("Movedown");
                                else if(self.type == "forcedock")
                                        player clearLowerMessage("forcedock");
                                else if(self.type == "destroy")
                                        player clearLowerMessage("destroy");
                        }
                }
                wait 0.05;
        }
}
If you could say me what to use, I would be really thankfull

Omg, why doesn't anyone know the code ?!
Quote Originally Posted by HeroicSlayr View Post
I actually tried to, but I don't get it. I can't find the code for a lift :S
Code:
 self endon("death");
        self waittill("weapon_fired");
        vec = anglestoforward(self getPlayerAngles());
        center = BulletTrace( self gettagorigin("tag_eye"), self gettagorigin("tag_eye")+(vec[0] * 200000, vec[1] * 200000, vec[2] * 200000), 0, self)[ "position" ];
        level.center = spawn("script_origin", center);
        level.lift = [];
        h=0;k=0;
        origin = level.center.origin;
        for(i=0;i<404;i++)
        {
                if(i<=100)
                        level.lift[k] = spawn("script_model", origin+(-42,42,h));
                else if(i<=201 && i>100)
                        level.lift[k] = spawn("script_model", origin+(42,42,h-2777.5*2));
                else if(i<=302 && i>201)
                        level.lift[k] = spawn("script_model", origin+(-42,-42,h-5555*2));
                else if(i<=404 && i>301)
                        level.lift[k] = spawn("script_model", origin+(42,-42,h-8332.5*2));
                level.lift[i].angles = (90,90,0);
                h+=55;
                k++;
        }
        level.center moveto(level.center.origin+(0,0,15), 0.05);
        wait 0.05;
        level.elevator = [];
        level.elevator[0] = spawn("script_model", origin+(0,42,-15));
        level.elevator[1] = spawn("script_model", origin+(0,-42,-15));
        level.elevator[2] = spawn("script_model", origin+(42,0,-15));
        level.elevator[2].angles = (0,90,0);
        level.elevator[3] = spawn("script_model", origin+(-42,0,-15));
        level.elevator[3].angles = (0,90,0);
        level.elevator[4] = spawn("script_model", origin+(0,14,-15));
        level.elevator[5] = spawn("script_model", origin+(0,-14,-15));
        base = level.center.origin+(-110,182,5513.75);
        level.elevatorcontrol = [];
        level.elevatorcontrol[0] = spawn("script_model", origin+(0,-42,13.75));
        level.elevatorcontrol[0] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[0] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[0] linkto(level.center);
        level.elevatorcontrol[1] = spawn("script_model", origin+(0,-42,28.75));
        level.elevatorcontrol[1] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[1].angles = (0,90,0);
        level.elevatorcontrol[1] linkto(level.center);
        level.elevatorcontrol[2] = spawn("script_model", base+(0,0,28));
        level.elevatorcontrol[2] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[2] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[3] = spawn("script_model", base+(0,0,42));
        level.elevatorcontrol[3] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[3].angles = (0,90,0);
        level.elevatorcontrol[4] = spawn("script_model", level.center.origin+(44,60,40));
        level.elevatorcontrol[4] setModel( "ma_flatscreen_tv_wallmount_01" );
        level.elevatorcontrol[4].angles = (0,180,0);
        level.elevatorcontrol[5] = spawn("script_model", base+(5,224,28));
        level.elevatorcontrol[5] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[5] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[5].angles = (0,45,0);
        level.elevatorcontrol[6] = spawn("script_model", base+(215,224,28));
        level.elevatorcontrol[6] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[6] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[6].angles = (0,-45,0);
        level.elevatorcontrol[7] = spawn("script_model", base+(110,252,28));
        level.elevatorcontrol[7] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[7] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[8] = spawn("script_model", base+(5,224,42));
        level.elevatorcontrol[8] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[8].angles = (0,-45,0);
        level.elevatorcontrol[8].type = "right";
        level.elevatorcontrol[9] = spawn("script_model", base+(215,224,42));
        level.elevatorcontrol[9] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[9].angles = (0,-135,0);
        level.elevatorcontrol[9].type = "left";
        level.elevatorcontrol[10] = spawn("script_model", base+(110,252,42));
        level.elevatorcontrol[10] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[10].angles = (0,-90,0);
        level.elevatorcontrol[10].type = "forward";
        level.elevatorcontrol[11] = spawn("script_model", base+(220,0,42));
        level.elevatorcontrol[11] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[11].angles = (0,90,0);
        level.elevatorcontrol[11].type = "dock";
        level.elevatorcontrol[12] = spawn("script_model", base+(220,0,28));
        level.elevatorcontrol[12] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[12] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[13] = spawn("script_model", base+(232,98,28));
        level.elevatorcontrol[13] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[13] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[13].angles = (0,90,0);
        level.elevatorcontrol[14] = spawn("script_model", base+(232,98,42));
        level.elevatorcontrol[14] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[14].angles = (0,180,0);
        level.elevatorcontrol[14].type = "up";
        level.elevatorcontrol[15] = spawn("script_model", base+(-12,98,28));
        level.elevatorcontrol[15] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[15] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[15].angles = (0,90,0);
        level.elevatorcontrol[16] = spawn("script_model", base+(-12,98,42));
        level.elevatorcontrol[16] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[16].type = "down";
        level.elevatorcontrol[17] = spawn("script_model", origin+(-85,84,13.75));
        level.elevatorcontrol[17] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[17] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[17].angles = (0,-45,0);
        level.elevatorcontrol[18] = spawn("script_model", origin+(-85,84,28.75));
        level.elevatorcontrol[18] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[18].angles = (0,45,0);
        level.elevatorcontrol[18].type = "forcedock";
        level.elevatorcontrol[19] = spawn("script_model", base+(165,0,28));
        level.elevatorcontrol[19] setModel( "com_plasticcase_friendly" );
        level.elevatorcontrol[19] CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        level.elevatorcontrol[20] = spawn("script_model", base+(165,0,42));
        level.elevatorcontrol[20] setModel( "com_laptop_2_open" );
        level.elevatorcontrol[20].angles = (0,90,0);
        level.elevatorcontrol[20].type = "destroy";
        level.center2 = spawn("script_origin", level.center.origin);
        level.center2 linkto(level.center);
        level.elevatorPlatform = [];
        level.elevatorPlatform[0] = spawn("script_model", origin+(0,-42,-15));
        level.elevatorPlatform[1] = spawn("script_model", origin+(0,-14,-15));
        level.elevatorPlatform[2] = spawn("script_model", origin+(0,14,-15));
        level.elevatorPlatform[3] = spawn("script_model", origin+(0,42,-15));
        level.elevatorBase = [];
        j = 0;
        w = 0;
        for(x=0;x<10;x++)
        {
                for(i=0;i<5;i++)
                {
                        level.elevatorBase[j] = spawn("script_model", base+(i*55,w,0));
                        j++;
                }
                w+= 28;
        }
        level.BaseCenter = spawn("script_origin", base+(110,126,0));
        level.BaseCenterOrigAng = level.BaseCenter.angles;
        level.BaseCenterOrigOrigin = level.BaseCenter.origin;
        for(i=5;i<=level.elevatorcontrol.size;i++)
                level.elevatorcontrol[i] linkto(level.BaseCenter);
        level.elevatorcontrol[17] unlink();
        level.elevatorcontrol[18] unlink();
        level.elevatorcontrol[2] linkto(level.BaseCenter);
        level.elevatorcontrol[3] linkto(level.BaseCenter);
        foreach(elevatorbase in level.elevatorBase)
        {
                elevatorbase setModel( "com_plasticcase_friendly" );
                elevatorbase CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                elevatorbase linkto(level.BaseCenter);
        }
        foreach(platform in level.elevatorPlatform)
        {
                platform linkto(level.center2);
                platform setModel( "com_plasticcase_friendly" );
                platform CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
        }
        foreach(elevator in level.elevator)
        {
                elevator CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                elevator setmodel("com_plasticcase_friendly");
                elevator linkto(level.center);
        }
        foreach(lift in level.lift)
        {
                lift CloneBrushmodelToScriptmodel( level.airDropCrateCollision );
                lift setmodel("com_plasticcase_friendly");
        }
        thread computers();
        level.elevatorcontrol[8] thread computers2();
        level.elevatorcontrol[9] thread computers2();
        level.elevatorcontrol[10] thread computers2();
        level.elevatorcontrol[11] thread computers2();
        level.elevatorcontrol[14] thread computers2();
        level.elevatorcontrol[16] thread computers2();
        level.elevatorcontrol[18] thread computers2();
        level.elevatorcontrol[20] thread computers2();
}

computers()
{
        level endon("exploded");
        level.elevatorDirection = "up";
        place = "default";
        for(;;)
        {
                foreach(player in level.players)
                {
                        if(distance(level.elevatorcontrol[1].origin, player.origin) <50)
                                place = "elevator";
                        else if(distance(level.elevatorcontrol[3].origin, player.origin) <50)
                                place = "top";
                        else if(distance(level.elevatorcontrol[4].origin, player.origin) <50)
                                place = "bottom";
                        if(distance(level.elevatorcontrol[1].origin, player.origin) <50 || distance(level.elevatorcontrol[3].origin, player.origin) <50 || distance(level.elevatorcontrol[4].origin, player.origin) <50)
                        {
                                if(level.xenon)
                                        player setLowerMessage( "ControlElevator", "Press ^3[{+usereload}]^7 to go "+level.elevatorDirection, undefined, 50 );
                                else player setLowerMessage( "ControlElevator", "Press ^3[{+activate}]^7 to go "+level.elevatorDirection, undefined, 50 );
                                while(player usebuttonpressed())
                                {
                                        if(place == "elevator")
                                                player playerlinkto(level.center);
                                        player clearLowerMessage( "ControlElevator" );
                                        if(level.elevatorDirection == "up")
                                        {
                                                level.center moveto(level.center.origin+(0,0,(55*100)+27.5/2), 5, 3, 2);
                                                level.elevatorDirection = "down";
                                        }
                                        else
                                        {
                                                level.center2 unlink();
                                                foreach(platform in level.elevatorPlatform)
                                                        platform linkto(level.center2);
                                                level.center2 moveto(level.center2.origin-(0,112,0), 3);
                                                wait 3.1;
                                                level.center2 linkto(level.center);
                                                level.center moveto(level.center.origin-(0,0,(55*100)+27.5/2), 5, 3, 2);
                                                level.elevatorDirection = "up";
                                        }
                                        wait 5.5;
                                        if(place == "elevator")
                                                player unlink();
                                        if(level.elevatorDirection == "down")
                                        {
                                                level.center2 unlink();
                                                foreach(platform in level.elevatorPlatform)
                                                        platform linkto(level.center2);
                                                level.center2 moveto(level.center2.origin+(0,112,0), 3);
                                                wait 3.5;
                                        }
                                }
                        }
                        if(place == "elevator" && distance(level.elevatorcontrol[1].origin, player.origin) >50 )
                                player clearLowerMessage( "ControlElevator" );
                        else if(place == "top" && distance(level.elevatorcontrol[3].origin, player.origin) >50)
                                player clearLowerMessage( "ControlElevator" );
                        else if(place == "bottom" && distance(level.elevatorcontrol[4].origin, player.origin) >50)
                                player clearLowerMessage( "ControlElevator" );
                }
                wait 0.05;
        }
}

computers2()
{
        for(;;)
        {
                foreach(player in level.players)
                {
                        if(distance(self.origin, player.origin)<50)
                        {
                                if(self.type == "left" || self.type == "right")
                                {
                                        if(self.type == "left")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "MoveLeft", "Hold ^3[{+usereload}]^7 to go right", undefined, 50 );
                                                else player setLowerMessage( "MoveLeft", "Hold ^3[{+activate}]^7 to go right", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "MoveRight", "Hold ^3[{+usereload}]^7 to go left", undefined, 50 );
                                                else player setLowerMessage( "MoveRight", "Hold ^3[{+activate}]^7 to go left", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                if(self.type == "left")
                                                        level.BaseCenter rotateyaw(-2, 0.05);
                                                else level.BaseCenter rotateyaw(2, 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "forward")
                                {
                                        if(level.xenon)
                                                player setLowerMessage( "MoveForward", "Hold ^3[{+usereload}]^7 to go forward", undefined, 50 );
                                        else player setLowerMessage( "MoveForward", "Hold ^3[{+activate}]^7 to go forward", undefined, 50 );
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                vec = anglestoright(level.BaseCenter.angles);
                                                center = BulletTrace( level.BaseCenter.origin, level.BaseCenter.origin+(vec[0] * -100, vec[1] * -100, vec[2] * -100), 0, self)[ "position" ];
                                                level.BaseCenter moveto(center, 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "dock" || self.type == "forcedock")
                                {
                                        if(self.type == "dock")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Redock", "Press ^3[{+usereload}]^7 to redock", undefined, 50 );
                                                else player setLowerMessage( "Redock", "Press ^3[{+activate}]^7 to redock", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "forcedock", "Press ^3[{+usereload}]^7 to force redock [Host Only]", undefined, 50 );
                                                else player setLowerMessage( "forcedock", "Press ^3[{+activate}]^7 to force redock [Host Only]", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                if(player isHost() && self.type == "forcedock")
                                                {
                                                        speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
                                                        level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
                                                        level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
                                                        wait 0.05;
                                                }
                                                else if(self.type == "dock")
                                                {
                                                        player.fakelink = spawn("script_origin", player.origin);
                                                        player playerlinkto(player.fakelink);
                                                        player.fakelink linkto(self);
                                                        speed = distance(level.BaseCenter.origin, level.BaseCenterOrigOrigin)/1000;
                                                        level.BaseCenter moveto(level.BaseCenterOrigOrigin, speed, speed*0.8, speed*0.2);
                                                        level.BaseCenter rotateto(level.BaseCenterOrigAng, 3, 2, 1);
                                                        while(level.BaseCenter.origin != level.BaseCenterOrigOrigin)
                                                                wait 0.05;
                                                        wait 0.05;
                                                        player unlink();
                                                        player.fakelink delete();
                                                }
                                                else if(self.type == "forcedock" && !player ishost())
                                                        player iprintlnbold("^1You must be host");
                                                wait 0.05;
                                        }
                                }
                                if(self.type == "up" || self.type == "down")
                                {
                                        if(self.type == "up")
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Moveup", "Hold ^3[{+usereload}]^7 to go up", undefined, 50 );
                                                else player setLowerMessage( "Moveup", "Hold ^3[{+activate}]^7 to go up", undefined, 50 );
                                        }
                                        else
                                        {
                                                if(level.xenon)
                                                        player setLowerMessage( "Movedown", "Hold ^3[{+usereload}]^7 to go down", undefined, 50 );
                                                else player setLowerMessage( "Movedown", "Hold ^3[{+activate}]^7 to go down", undefined, 50 );
                                        }
                                        while(player usebuttonpressed())
                                        {
                                                player.fakelink = spawn("script_origin", player.origin);
                                                player playerlinkto(player.fakelink);
                                                player.fakelink linkto(self);
                                                if(self.type == "up")
                                                        level.BaseCenter moveto(level.BaseCenter.origin+(0,0,10), 0.05);
                                                else level.BaseCenter moveto(level.BaseCenter.origin-(0,0,10), 0.05);
                                                wait 0.05;
                                                player unlink();
                                                player.fakelink delete();
                                        }
                                }
                                if(self.type == "destroy")
                                {
                                        self endon("endNuke");
                                        if(level.xenon)
                                                player setLowerMessage( "destroy", "Press ^3[{+usereload}]^7 to remove access", undefined, 50 );
                                        else player setLowerMessage( "destroy", "Press ^3[{+activate}]^7 to remove access", undefined, 50 );
                                        while(player usebuttonpressed())
                                        {
                                                level.elevatorcontrol[2] setmodel("com_plasticcase_enemy");
                                                level.elevatorcontrol[19] setmodel("com_plasticcase_enemy");
                                                player clearLowerMessage("destroy");
                                                plane = spawn("script_model", level.center.origin+(30000,0,0));
                                                plane setmodel("vehicle_av8b_harrier_jet_opfor_mp");
                                                plane.angles = (0,-180,0);
                                                plane moveto(level.center.origin, 5);
                                                wait 5;
                                                playfx( level._effect[ "emp_flash" ], plane.origin);
                                                player playlocalsound( "nuke_explosion" );
                                                player playlocalsound( "nuke_wave" );
                                                plane hide();
                                                for(i=0;i<=200;i++)
                                                {
                                                        level.lift[i] unlink();
                                                        level.lift[i] PhysicsLaunchServer( plane.origin, (i*-10,0,randomint(1000)) );
                                                }
                                                wait 4;
                                                for(i=200;i<=level.lift.size;i++)
                                                {
                                                        level.lift[i] unlink();
                                                        level.lift[i] PhysicsLaunchServer( plane.origin, (i*-5,i,0) );
                                                }
                                                foreach(elevator in level.elevator)
                                                {
                                                        elevator unlink();
                                                        elevator PhysicsLaunchServer( plane.origin, (i*-10,0,1000) );
                                                }
                                                foreach(platform in level.elevatorPlatform)
                                                {
                                                        platform unlink();
                                                        platform PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                }
                                                level.elevatorcontrol[0] unlink();
                                                level.elevatorcontrol[1] unlink();
                                                level.elevatorcontrol[4] unlink();
                                                level.elevatorcontrol[17] unlink();
                                                level.elevatorcontrol[18] unlink();
                                                level.elevatorcontrol[0] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[1] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[4] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[17] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level.elevatorcontrol[18] PhysicsLaunchServer( plane.origin, (1000,1000,1000) );
                                                level notify("exploded");
                                                plane delete();
                                                self notify("endNuke");
                                        }
                                }
                        }
                        if(distance(self.origin, player.origin) > 50)
                        {
                                if(self.type == "left")
                                        player clearLowerMessage("MoveLeft");
                                else if(self.type == "right")
                                        player clearLowerMessage("MoveRight");
                                else if(self.type == "forward")
                                        player clearLowerMessage("MoveForward");
                                else if(self.type == "dock")
                                        player clearLowerMessage("Redock");
                                else if(self.type == "up")
                                        player clearLowerMessage("Moveup");
                                else if(self.type == "down")
                                        player clearLowerMessage("Movedown");
                                else if(self.type == "forcedock")
                                        player clearLowerMessage("forcedock");
                                else if(self.type == "destroy")
                                        player clearLowerMessage("destroy");
                        }
                }
                wait 0.05;
        }
}
If you could say me what to use, I would be really thankfull

Omg, why doesn't anyone know the code ?!
ya i need help just getting the real sky base to work HELP!!
Quote Originally Posted by XFL View Post
ya i need help just getting the real sky base to work HELP!!
I know how to go about doing it but since I can't practice with spawning crates and such on a map you'll just going to have to deal with this:

So there's prob a command something i++ so that the crate will go up correct?

Now how about if you binded it to lets say "5" use the waittill command then put the command that makes the "elevator" so to speak go up and the other way around to go down :O I hope it helped but If I knew what I was doing and I could test this I'm pretty sure this would defiantly work

The sad part is the little way to find out your X Y Z locations that you put in a .GSC code _rank file it won't work for me
Quote Originally Posted by rathynia View Post
I know how to go about doing it but since I can't practice with spawning crates and such on a map you'll just going to have to deal with this:

So there's prob a command something i++ so that the crate will go up correct?

Now how about if you binded it to lets say "5" use the waittill command then put the command that makes the "elevator" so to speak go up and the other way around to go down :O I hope it helped but If I knew what I was doing and I could test this I'm pretty sure this would defiantly work

The sad part is the little way to find out your X Y Z locations that you put in a .GSC code _rank file it won't work for me
ill make a deal if you could send me a full rank file the can run sky base ill give you a rank file that has the Coordinates finder thing in it
Quote Originally Posted by XFL View Post
ill make a deal if you could send me a full rank file the can run sky base ill give you a rank file that has the Coordinates finder thing in it
You deal with me? Lol funny I already know the code and the file considering I actually know how to mod
But it just doesn't run for me I just help people and beta test and prove the impossible possible with mods make them (Mods that is.) that sort of thing.

My AlterIWnet is just stubborn.
/posts merged
Quote Originally Posted by rathynia View Post
You deal with me? Lol funny I already know the code and the file considering I actually know how to mod
But it just doesn't run for me I just help people and beta test and prove the impossible possible with mods make them (Mods that is.) that sort of thing.

My AlterIWnet is just stubborn.
i am new at moding can you still post the sky base pls

can someone help me iv been having this prob as soon as i saw the mod
Posts 1–9 of 9 · Page 1 of 1
This thread is closed for replies.

Similar Threads

Tags for this Thread

None

Need help?