Elevator Script

Have questions about CoD4 mapping that aren't covered in the tutorials section? Post here!

Moderator: Core Staff

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Elevator Script

Post by ekat » April 27th, 2013, 6:35 pm

Hey guys..
Again i need ur help with one of my scripts..
I know this script is shit but its my first script that i have written completly by myself..
Its working as it should but all brushes are moving alone and if u block one, everything fucks up.. :D
Video: http://www.youtube.com/watch?v=ugaCyEf4IJA

Code: Select all

main()
{
        level.eledoorDown1 = true;
        level.eledoorMoving1 = false;
 
        level.eledoorDown2 = true;
        level.eledoorMoving2 = false;
 
        level.eledoorDown3 = true;
        level.eledoorMoving3 = false;
 
        level.eledoorDown4 = true;
        level.eledoorMoving4 = false;
        
        level.eledoorDown5 = true;
        level.eledoorMoving5 = false;
 
        level.eledoorDown6 = true;
        level.eledoorMoving6 = false;
        
        level.eledoorDown7 = true;
        level.eledoorMoving7 = false;
        
        level.eledoorDown8 = true;
        level.eledoorMoving8 = false;
        
        level.eleDown1 = true;
        level.eleMoving1 = false;
 
        thread eledoor_start1();
        thread eledoor_start2();
        thread eledoor_start3();
        thread eledoor_start4();
        thread eledoor_start5();
        thread eledoor_start6();
        thread eledoor_start7();
        thread eledoor_start8();
        thread ele_start1();
}
///////////////////////////////////////////////////////////////////
eledoor_start1()
{
        eledoor1 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor1) )
        for (i = 0; i < eledoor1.size; i++)
        eledoor1[i] thread eledoor_think1();
}
 
eledoor_think1()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving1)
                thread eledoor_move1();
        }
}
 
eledoor_move1()
{
        eledoormodel1 = getent ("eledoor1", "targetname");
        level.eledoorMoving1 = true;
        speed = 0.8;
        height =-45;
        if (level.eledoorDown1) 
        {
                self.origin += (0,0,-10000);
                //eledoormodel1 playsound ("door");
                eledoormodel1 movex (height, speed);
                eledoormodel1 waittill ("movedone");
                level.eledoorDown1 = false;
                wait 3;
                //eledoormodel1 playsound ("door");
                eledoormodel1 movex (height - (height * 2), speed);
                eledoormodel1 waittill ("movedone");
                wait 21.6;
                //eledoormodel1 playsound ("door");
                eledoormodel1 movex (height, speed);
                eledoormodel1 waittill ("movedone");
                wait 3;
                //eledoormodel1 playsound ("door");
                eledoormodel1 movex (height - (height * 2), speed);
                eledoormodel1 waittill ("movedone");
                level.eledoorDown1 = true;
                self.origin += (0,0,10000);
        }
        else
        {
                //eledoormodel1 playsound ("door");
                eledoormodel1 movex (height - (height * 2), speed);
                eledoormodel1 waittill ("movedone");
                level.eledoorDown1 = true;
        }
        level.eledoorMoving1 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start2()
{
        eledoor2 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor2) )
        for (i = 0; i < eledoor2.size; i++)
        eledoor2[i] thread eledoor_think2();
}
 
eledoor_think2()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving2)
                thread eledoor_move2();
        }
}
 
eledoor_move2()
{
        eledoormodel2 = getent ("eledoor2", "targetname");
        level.eledoorMoving2 = true;
        speed = 0.8;
        height =45;
        if (level.eledoorDown2) 
        {
                //eledoormodel2 playsound ("door");
                eledoormodel2 movex (height, speed);
                eledoormodel2 waittill ("movedone");
                level.eledoorDown2 = false;
                wait 3;
                //eledoormodel2 playsound ("door");
                eledoormodel2 movex (height - (height * 2), speed);
                eledoormodel2 waittill ("movedone");
                wait 21.6;
                //eledoormodel2 playsound ("door");
                eledoormodel2 movex (height, speed);
                eledoormodel2 waittill ("movedone");
                wait 3;
                //eledoormodel2 playsound ("door");
                eledoormodel2 movex (height - (height * 2), speed);
                eledoormodel2 waittill ("movedone");
                level.eledoorDown2 = true;
        }
        else
        {
                //eledoormodel2 playsound ("door");
                eledoormodel2 movex (height - (height * 2), speed);
                eledoormodel2 waittill ("movedone");
                level.eledoorDown2 = true;
        }
        level.eledoorMoving2 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start3()
{
        eledoor3 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor3) )
        for (i = 0; i < eledoor3.size; i++)
        eledoor3[i] thread eledoor_think3();
}
 
eledoor_think3()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving3)
                thread eledoor_move3();
        }
}
 
eledoor_move3()
{
        eledoormodel3 = getent ("eledoor3", "targetname");
        level.eledoorMoving3 = true;
        speed = 0.8;
        height =-45;
        if (level.eledoorDown3) 
        {
                wait 12.7;
                //eledoormodel3 playsound ("door");
                eledoormodel3 movex (height, speed);
                eledoormodel3 waittill ("movedone");
                level.eledoorDown3 = false;
                wait 3;
                //eledoormodel3 playsound ("door");
                eledoormodel3 movex (height - (height * 2), speed);
                eledoormodel3 waittill ("movedone");
                level.eledoorDown3 = true;
        }
        else
        {
                //eledoormodel3 playsound ("door");
                eledoormodel3 movex (height - (height * 2), speed);
                eledoormodel3 waittill ("movedone");
                level.eledoorDown3 = true;
        }
        level.eledoorMoving3 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start4()
{
        eledoor4 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor4) )
        for (i = 0; i < eledoor4.size; i++)
        eledoor4[i] thread eledoor_think4();
}
 
eledoor_think4()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving4)
                thread eledoor_move4();
        }
}
 
eledoor_move4()
{
        eledoormodel4 = getent ("eledoor4", "targetname");
        level.eledoorMoving4 = true;
        speed = 0.8;
        height =45;
        if (level.eledoorDown4) 
        {
                wait 12.7;
                //eledoormodel4 playsound ("door");
                eledoormodel4 movex (height, speed);
                eledoormodel4 waittill ("movedone");
                level.eledoorDown4 = false;
                wait 3;
                //eledoormodel4 playsound ("door");
                eledoormodel4 movex (height - (height * 2), speed);
                eledoormodel4 waittill ("movedone");
                level.eledoorDown4 = true;
        }
        else
        {
                //eledoormodel4 playsound ("door");
                eledoormodel4 movex (height - (height * 2), speed);
                eledoormodel4 waittill ("movedone");
                level.eledoorDown4 = true;
        }
        level.eledoorMoving4 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start5()
{
        eledoor5 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor5) )
        for (i = 0; i < eledoor5.size; i++)
        eledoor5[i] thread eledoor_think5();
}
 
eledoor_think5()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving5)
                thread eledoor_move5();
        }
}
 
eledoor_move5()
{
        eledoormodel5 = getent ("eledoor5", "targetname");
        level.eledoorMoving5 = true;
        speed = 0.8;
        height =-23;
        if (level.eledoorDown5) 
        {
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height, speed);
                eledoormodel5 waittill ("movedone");
                level.eledoorDown5 = false;
                wait 3;
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height - (height * 2), speed);
                eledoormodel5 waittill ("movedone");
                eledoormodel5 movez (436,8);
                eledoormodel5 waittill ("movedone");
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height, speed);
                eledoormodel5 waittill ("movedone");
                wait 3;
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height - (height * 2), speed);
                eledoormodel5 waittill ("movedone");
                wait 0.8;
                eledoormodel5 movez (-436,8);
                eledoormodel5 waittill ("movedone");
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height, speed);
                eledoormodel5 waittill ("movedone");
                wait 3;
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height - (height * 2), speed);
                eledoormodel5 waittill ("movedone");
                level.eledoorDown5 = true;
        }
        else
        {
                //eledoormodel5 playsound ("door");
                eledoormodel5 movex (height - (height * 2), speed);
                eledoormodel5 waittill ("movedone");
                level.eledoorDown5 = true;
        }
        level.eledoorMoving5 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start6()
{
        eledoor6 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor6) )
        for (i = 0; i < eledoor6.size; i++)
        eledoor6[i] thread eledoor_think6();
}
 
eledoor_think6()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving6)
                thread eledoor_move6();
        }
}
 
eledoor_move6()
{
        eledoormodel6 = getent ("eledoor6", "targetname");
        level.eledoorMoving6 = true;
        speed = 0.8;
        height =-46;
        if (level.eledoorDown6) 
        {
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height, speed);
                eledoormodel6 waittill ("movedone");
                level.eledoorDown6 = false;
                wait 3;
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height - (height * 2), speed);
                eledoormodel6 waittill ("movedone");
                eledoormodel6 movez (436,8);
                eledoormodel6 waittill ("movedone");
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height, speed);
                eledoormodel6 waittill ("movedone");
                wait 3;
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height - (height * 2), speed);
                eledoormodel6 waittill ("movedone");
                wait 0.8;
                eledoormodel6 movez (-436,8);
                eledoormodel6 waittill ("movedone");
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height, speed);
                eledoormodel6 waittill ("movedone");
                wait 3;
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height - (height * 2), speed);
                eledoormodel6 waittill ("movedone");
                level.eledoorDown6 = true;
        }
        else
        {
                //eledoormodel6 playsound ("door");
                eledoormodel6 movex (height - (height * 2), speed);
                eledoormodel6 waittill ("movedone");
                level.eledoorDown6 = true;
        }
        level.eledoorMoving6 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start7()
{
        eledoor7 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor7) )
        for (i = 0; i < eledoor7.size; i++)
        eledoor7[i] thread eledoor_think7();
}
 
eledoor_think7()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving7)
                thread eledoor_move7();
        }
}
 
eledoor_move7()
{
        eledoormodel7 = getent ("eledoor7", "targetname");
        level.eledoorMoving7 = true;
        speed = 0.8;
        height =46;
        if (level.eledoorDown7) 
        {
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height, speed);
                eledoormodel7 waittill ("movedone");
                level.eledoorDown7 = false;
                wait 3;
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height - (height * 2), speed);
                eledoormodel7 waittill ("movedone");
                eledoormodel7 movez (436,8);
                eledoormodel7 waittill ("movedone");
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height, speed);
                eledoormodel7 waittill ("movedone");
                wait 3;
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height - (height * 2), speed);
                eledoormodel7 waittill ("movedone");
                wait 0.8;
                eledoormodel7 movez (-436,8);
                eledoormodel7 waittill ("movedone");
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height, speed);
                eledoormodel7 waittill ("movedone");
                wait 3;
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height - (height * 2), speed);
                eledoormodel7 waittill ("movedone");
                level.eledoorDown7 = true;
        }
        else
        {
                //eledoormodel7 playsound ("door");
                eledoormodel7 movex (height - (height * 2), speed);
                eledoormodel7 waittill ("movedone");
                level.eledoorDown7 = true;
        }
        level.eledoorMoving7 = false;
}
///////////////////////////////////////////////////////////////////
eledoor_start8()
{
        eledoor8 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(eledoor8) )
        for (i = 0; i < eledoor8.size; i++)
        eledoor8[i] thread eledoor_think8();
}
 
eledoor_think8()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eledoorMoving8)
                thread eledoor_move8();
        }
}
 
eledoor_move8()
{
        eledoormodel8 = getent ("eledoor8", "targetname");
        level.eledoorMoving8 = true;
        speed = 0.8;
        height =23;
        if (level.eledoorDown8) 
        {
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height, speed);
                eledoormodel8 waittill ("movedone");
                level.eledoorDown8 = false;
                wait 3;
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height - (height * 2), speed);
                eledoormodel8 waittill ("movedone");
                eledoormodel8 movez (436,8);
                eledoormodel8 waittill ("movedone");
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height, speed);
                eledoormodel8 waittill ("movedone");
                wait 3;
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height - (height * 2), speed);
                eledoormodel8 waittill ("movedone");
                wait 0.8;
                eledoormodel8 movez (-436,8);
                eledoormodel8 waittill ("movedone");
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height, speed);
                eledoormodel8 waittill ("movedone");
                wait 3;
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height - (height * 2), speed);
                eledoormodel8 waittill ("movedone");
                level.eledoorDown8 = true;
        }
        else
        {
                //eledoormodel8 playsound ("door");
                eledoormodel8 movex (height - (height * 2), speed);
                eledoormodel8 waittill ("movedone");
                level.eledoorDown8 = true;
        }
        level.eledoorMoving8 = false;
}
///////////////////////////////////////////////////////////////////
ele_start1()
{
        ele1 = getentarray ("eledoortrigger1","targetname");
        if ( isdefined(ele1) )
        for (i = 0; i < ele1.size; i++)
        ele1[i] thread ele_think1();
}
 
ele_think1()
{
        while (1)
        {
                self waittill ("trigger");
                if (!level.eleMoving1)
                thread ele_move1();
        }
}
 
ele_move1()
{
        elemodel1 = getent ("ele1", "targetname");
        level.eleMoving1 = true;
        speed = 8;
        height =436;
        if (level.eleDown1) 
        {
                wait 4.7;
                //elemodel1 playloopsound ("elevator");
                elemodel1 movez (height, speed);
                elemodel1 waittill ("movedone");
                level.eleDown1 = false;
                //elemodel1 stoploopsound();
                wait 5.5;
                //elemodel1 playloopsound ("elevator");
                elemodel1 movez (height - (height * 2), speed);
                elemodel1 waittill ("movedone");
                level.eleDown1 = true;
                //elemodel1 stoploopsound();
        }
        else
        {
                //elemodel1 playloopsound ("elevator");
                elemodel1 movez (height - (height * 2), speed);
                elemodel1 waittill ("movedone");
                level.eleDown1 = true;
                //elemodel1 stoploopsound();
        }
        level.eleMoving1 = false;
}
///////////////////////////////////////////////////////////////////
 
How could i change the script to make everything working without problems? :x
I want that the elevator checks if all doors are closed and only then starts to move.. :x

Little testmap download:
http://unpure-gaming.de/~unpure/downloa ... evator.zip

Sorry for my bad english and sorry for this bad script.. :D
I hope someone can help me here.. :)
Thank you! :P

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » April 28th, 2013, 3:22 am

As KS said, you need to work on removing redundancy and also formatting. Add a few break in the lines to make it more 'readable', this makes it easier to find mistakes and generally easier to read.

Ok, I am going to go through this step by step, removing the redundancy and saving the script after what I have fixed.
Search for "***" inside each script for a quick explanation of what and why things are removed/changed.

Hopefully from the changes I make, you can get an understanding of how you can simplify and reduce redundancy within the script.

In the following zip, you will find 8 files.
script_base - is your current script.
script_[1-6] - are the progressive changes.
script_final - is the final product

I have not tested this code, so it may have errors - let me know if it does.
script.zip
In regards to solving the problem:
You can link a trigger to the door (like a seal around the edge) that when a player touches it, the lift will either not move or kill the player.

Or, instead of using "moveX" you use "moveTo", this will make sure the brushes always go to the correct place.
You do not have the required permissions to view the files attached to this post.
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » April 28th, 2013, 5:55 am

Because i dont have that much time for now i just tested the final script
First error:

Code: Select all

******* script compile error *******
Error: bad syntax: (file 'maps/mp/_eletest.gsc', line 23)
 for(i<0;i<doorTrig.size;i++)
      *
************************************
If i change

Code: Select all

	for(i<0;i<doorTrig.size;i++)
		doorTrig[i] thread elevator_think();
to

Code: Select all

	for(i=0;i<doorTrig.size;i++)
		doorTrig[i] thread elevator_think();
(is that right?)
i get:

Code: Select all

******* script compile error *******
Error: bad syntax: (file 'maps/mp/_eletest.gsc', line 47)
  }
  *
************************************
but i cant find the problem with "}" o.O

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » April 28th, 2013, 2:20 pm

Yep, that change is correct, should be i=0.

When you get an error with a line number, it is often the line before that has the error.
I missed a ";" on the end of line 46.

You may find a few more of these errors, I wrote it tired and didn't proof read or test it :P
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » April 28th, 2013, 4:34 pm

With ";" next error:

Code: Select all

********************
ERROR: script compile error
uninitialised variable 'doortrig'
   level.elevator["doors"][1] thread elevator_door_typeA(0.8, -45, doorTrig);
(see console for details)
If i delete the ", doorTrig" part et the end of the line i can start the map but if i use the trigger it finds the next error:

Code: Select all

******* script runtime error *******
undefined is not a field object: (file 'maps/mp/_elevator.gsc', line 60)
  trig.origin += (0,0,-10000);
  *
Error: called from:
(file 'maps/mp/_elevator.gsc', line 38)
   level.elevator["doors"][1] thread elevator_door_typeA(0.8, -45);
                                     *
Error: started from:
(file 'maps/mp/_elevator.gsc', line 31)
  self waittill ("trigger");
       *
Error: ************************************
If i change

Code: Select all

trig.origin += (0,0,-10000);
[...]
trig.origin += (0,0,10000);
to

Code: Select all

self.origin += (0,0,-10000);
[...]
self.origin += (0,0,10000);
Everything works but its the same problem with the doors.. If i stop the doors, the elevator is moving without them like in my video.. :x

//edit:
Oh and it seems like "self.origin" doesnt work because it moves the outside doors and not the trigger.. :D

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » April 28th, 2013, 7:21 pm

level.elevator["doors"][1] thread elevator_door_typeA(0.8, -45, self);

:)
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » April 29th, 2013, 4:49 am

Ok, now everything works fine! :)
But how can i change the elevator/script that the elevator stops moving if a door isnt closed?
I think a linked trigger is the easiest way but i dont know how to stop everything with it?

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » April 29th, 2013, 11:59 am

This is where it gets complicated.

The way I would do it is split the movements into different threads as KS said earlier:
doorsOpen
doorsClose
moveElevator

You then call these functions when you need to.
Now when you do "doorsClose" you can thread a function to check if anyone touches the new trigger blocking the door, if the door is blocked you call "doorsOpen", else you send the lift.

I suggest you also use moveTo() in stead of moveZ(), etc.
You can simulate the change quite easily, for example:

"moveZ(100, 0.2)"

is the same as

"org = ent getOrigin();
moveTo(org[0], org[1], org[2]+100, 0.2);
"
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

megazor
CJ Worshipper
CJ Worshipper
Posts: 414
Joined: July 22nd, 2009, 3:02 am
Location: Russia, Vladivostok

Re: Elevator Script

Post by megazor » April 30th, 2013, 10:48 am

Drofder2004 wrote:
"moveZ(100, 0.2)"

is the same as

"org = ent getOrigin();
moveTo(org[0], org[1], org[2]+100, 0.2);
"
Actually it is moveTo((org[0], org[1], org[2]+100), 0.2);

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » April 30th, 2013, 1:27 pm

megazor wrote:Actually it is moveTo((org[0], org[1], org[2]+100), 0.2);
Oops, my bad.
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » May 2nd, 2013, 10:58 pm

Ok so i reworked the whole script to get it working as it should without the need of any new trigger.
It works perfect now and the elevator/doors cant be bugged..^^
But to get it working i destroyed most of the changed script.
I tried my best to avoid redundancy but i think the script is a big piece of crap now.. :D
Drofder can u maybe rewatch the script now and tell me/show me everything i made wrong here?
I'm new on all these scripts but i want to learn it! :)
New download:
http://unpure-gaming.de/~unpure/downloa ... evator.zip

Oh and are there any tutorials for "moveto"? I realy dont understand it how to get the position of a brush.

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » May 3rd, 2013, 1:12 am

If I am not too busy tomorrow, I will take a look after work, but little time for stuff for next couple of weeks.
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » May 3rd, 2013, 3:43 am

KillerSam wrote:You can add an "origin" brush as part of the brush model
So without script.origin its not possible to use moveto?
I know the way with origin brushes but i thought it would be possible without..
Drofder2004 wrote:If I am not too busy tomorrow, I will take a look after work
That would be amazing! Thank you! :)

ekat
CJ Newbie
CJ Newbie
Posts: 53
Joined: September 15th, 2010, 4:56 pm

Re: Elevator Script

Post by ekat » May 3rd, 2013, 3:32 pm

KillerSam wrote:which is only really useful for rotations, granted.
ye thats from what i know the origin..^^ Opening doors or crates^^

User avatar
Drofder2004
Core Staff
Core Staff
Posts: 13313
Joined: April 13th, 2005, 8:22 pm
Location: UK, London

Re: Elevator Script

Post by Drofder2004 » May 3rd, 2013, 7:58 pm

KillerSam wrote:
ekat wrote:
KillerSam wrote:which is only really useful for rotations, granted.
ye thats from what i know the origin..^^ Opening doors or crates^^
The point I was trying to make with moveTo though is that it's relative. using moveX e.t.c simply adds that much to the current position. With moveTo it moves relative to the start position. So you can return an object to where it started with moveTo(0,0,0) which is DIFFERENT from 0,0,0 map co-ordinates (the ones on the radiant grid).
Wrong way round.

moveTo will move to a specific set of coordinates that are equal to the map/radiant, as long as an origin is defined
http://www.zeroy.com/Script/motion/moveto.htm
Image
Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010

Post Reply

Who is online

Users browsing this forum: No registered users and 41 guests