Elevator when hit player go up

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

Moderator: Core Staff

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » July 26th, 2010, 8:44 am

Ok m8, I'll try it when I get home.
Like I just thought of it probably first moved to x=0 y=0 and z=282 ...So that would be fixed with this script for as far as I can see.

User avatar
.:iSpawn:.
CJ Worshipper
CJ Worshipper
Posts: 422
Joined: December 17th, 2008, 4:58 pm

Re: Elevator when hit player go up

Post by .:iSpawn:. » July 27th, 2010, 1:35 am

topics like this make me feel retarted. :cry:
Image

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » July 27th, 2010, 7:53 am

:) No prob m8, I'm not good at scripting either ... but I'm learning :)

Ok I changed the script and the following occurs;

- Elevator goes up when triggered
- I stand under it
- elevator comes down and hits me
- it stays there untill I crouch
- when I crouch I get stuck in the elevator (probably have to move the hit trigger down a bit)
- when I use noclip (while stuck) the elevator moves up.
- when at the top I get a script error saying " move_trig enablelinkto(); was already linked"

Any ideas ?

User avatar
waywaaaard
Core Staff
Core Staff
Posts: 2214
Joined: February 6th, 2006, 3:18 pm
Location: Germany/Bayern

Re: Elevator when hit player go up

Post by waywaaaard » July 27th, 2010, 11:59 am

yes I have ideas though just busy - I will have a look at it in a few hours
THAT HANDS WERE NOT TRACED!
visit my blog: Link
Soviet wrote:Yeah, watch out, Peds will hit you with his +5 D-Battleaxe of homosexuality :roll:

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » July 27th, 2010, 12:12 pm

no prob m8, take your time

User avatar
waywaaaard
Core Staff
Core Staff
Posts: 2214
Joined: February 6th, 2006, 3:18 pm
Location: Germany/Bayern

Re: Elevator when hit player go up

Post by waywaaaard » July 27th, 2010, 12:24 pm

Hm place the trigger so that you can get a part of your head into it. I've added a iprintln then you can see if the trigger triggers or not.

Code: Select all

main(){

	thread elevator_init();
}

elevator_init(){
	
	// elevator 1
	thread elevator_start(getent ("elevatorright_base", "targetname"), 
							getent ("elevatorright", "targetname"), 
							getent ("elevatorhit", "targetname"), 
							getent ("speaker_one", "targetname"),
							"elevator1_hit_player");
}

elevator_start(elevator, move_trig, hit_trig, speaker, elendon){
	
	move_trig enablelinkto();
	move_trig linkto(move);
	
	thread elevator(elevator, move_trig, hit_trig, speaker, elendon);
}

elevator(elevator, move_trig, hit_trig, speaker, elendon){

	level endon(elendon);
	
	default_origin = elevator.origin;
	

   
   thread elevator_hit(elevator, move_trig, hit_trig, speaker, elendon);

   while(1)
   {
		move_trig waittill("trigger");
		elevator moveTo(default_origin + (0, 0, 282), 1.4);
		speaker playsound ("elevator_move");      
		elevator waittill("movedone");
		speaker playsound ("elevator_stop");      
		wait 2;
		elevator moveTo(default_origin - (0, 0, 282), 1.4);   
		speaker playsound ("elevator_move");
		elevator waittill("movedone");
		speaker playsound ("elevator_stop");
	}
}

elevator_hit(elevator, move_trig, hit_trig, speaker, elendon){
	// all elevator parts and triggers
	
	default_origin = elevator.origin;
	
	hit_trig enablelinkto();
	move_trig enablelinkto();
	
	move_trig linkto(move);
	hit_trig linkto(move);
	
	while(1)
	{
		hit_trig waittill("trigger");
		iprintln("hit a player");
		level notify(elendon);
		elevator moveTo(default_origin + (0, 0, 282), 1.4);
		speaker playsound ("elevator_move");
		elevator waittill("movedone");
		
		thread elevator(elevator, move_trig, hit_trig, speaker, elendon);
		
		wait 0.5;
	}
}
THAT HANDS WERE NOT TRACED!
visit my blog: Link
Soviet wrote:Yeah, watch out, Peds will hit you with his +5 D-Battleaxe of homosexuality :roll:

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » July 27th, 2010, 12:52 pm

Ok, I'll try that.

I changed this;

Code: Select all

elevator moveTo(default_origin + (0, 0, 282), 1.4);
into this;

Code: Select all

elevator moveTo((320, 2825, 282), 1.4);
Cause I got errors saying default origin isn't defined (or something like that)
And this works fine.

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » August 1st, 2010, 8:52 pm

Ok, the trigger works like a charme now but when the elevator is up I get this error;
You do not have the required permissions to view the files attached to this post.

User avatar
waywaaaard
Core Staff
Core Staff
Posts: 2214
Joined: February 6th, 2006, 3:18 pm
Location: Germany/Bayern

Re: Elevator when hit player go up

Post by waywaaaard » August 1st, 2010, 10:10 pm

ah jesus stupid mistake - if i thread the normal elevator thread it starts another hit_trig thread that tries to linkto again -.- Try this

Code: Select all

main(){

	thread elevator_init();
}

elevator_init(){
	
	// elevator 1
	thread elevator_start(getent ("elevatorright_base", "targetname"), 
							getent ("elevatorright", "targetname"), 
							getent ("elevatorhit", "targetname"), 
							getent ("speaker_one", "targetname"),
							"elevator1_hit_player");
}

elevator_start(elevator, move_trig, hit_trig, speaker, elendon){
	
	move_trig enablelinkto();
	move_trig linkto(move);
	
	hit_trig enablelinkto();
	hit_trig linkto(move);
	
	
	thread elevator(elevator, move_trig, speaker, elendon);
	thread elevator_hit(elevator, move_trig, hit_trig, speaker, elendon);
}

elevator(elevator, move_trig, speaker, elendon){

	level endon(elendon);
	
	default_origin = elevator.origin;
	
   while(1)
   {
		move_trig waittill("trigger");
		elevator moveTo(default_origin + (0, 0, 282), 1.4);
		speaker playsound ("elevator_move");      
		elevator waittill("movedone");
		speaker playsound ("elevator_stop");      
		wait 2;
		elevator moveTo(default_origin - (0, 0, 282), 1.4);   
		speaker playsound ("elevator_move");
		elevator waittill("movedone");
		speaker playsound ("elevator_stop");
	}
}

elevator_hit(elevator, move_trig, hit_trig, speaker, elendon){
	// all elevator parts and triggers
	
	default_origin = elevator.origin;

	while(1)
	{
		hit_trig waittill("trigger");
		iprintln("hit a player");
		level notify(elendon);
		elevator moveTo(default_origin + (0, 0, 282), 1.4);
		speaker playsound ("elevator_move");
		elevator waittill("movedone");
		
		thread elevator(elevator, move_trig, hit_trig, speaker, elendon);
		
		wait 0.5;
	}
}
THAT HANDS WERE NOT TRACED!
visit my blog: Link
Soviet wrote:Yeah, watch out, Peds will hit you with his +5 D-Battleaxe of homosexuality :roll:

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » August 1st, 2010, 11:08 pm

aha, ok.
with this script the error is gone but the elevator stops at the top and stays there untill it gets triggered. I want it to comedown again without being triggered.

I modified your script btw m8;

Code: Select all

main(){

   thread elevator_init();
}

elevator_init(){
   
   // elevator 1
   thread elevator_start(getent ("elevatorright_base", "targetname"), 
                     getent ("elevatorright", "targetname"), 
                     getent ("elevatorhit", "targetname"), 
                     getent ("speaker_one", "targetname"),
                     "elevator1_hit_player");
}

elevator_start(elevator, move_trig, hit_trig, speaker, elendon){
   
   move_trig enablelinkto();
   move_trig linkto(elevator);
   
   hit_trig enablelinkto();
   hit_trig linkto(elevator);
   
   
   thread elevator(elevator, move_trig, speaker, elendon);
   thread elevator_hit(elevator, move_trig, hit_trig, speaker, elendon);
}

elevator(elevator, move_trig, speaker, elendon){

   level endon(elendon);

   while(1)
   {
      

      move_trig waittill("trigger");
      elevator moveTo((-128, 2128, 304), 1.4);
      speaker playsound ("elevator_move");      
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");      
      wait 2;
      elevator moveTo((-128, 2128, 10), 1.4);   
      speaker playsound ("elevator_move");
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");
   }
}

elevator_hit(elevator, move_trig, hit_trig, speaker, elendon){
   // all elevator parts and triggers
   
   while(1)
   {
      hit_trig waittill("trigger");
      level notify(elendon);
      elevator moveTo((-128, 2128, 304), 1.4);
      speaker playsound ("elevator_move");
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");

      thread elevator(elevator, move_trig, speaker, elendon);
      wait 0.5;
}   
}

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

Re: Elevator when hit player go up

Post by megazor » August 3rd, 2010, 3:28 am

btw, adding an origin brush isn't necessary, I usually add to a brushmodel the key origin (and its value, ofc).

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

Re: Elevator when hit player go up

Post by megazor » August 3rd, 2010, 3:38 am

as far as i understand, your code doesn't work. if it works, don't read above.

Code: Select all

elevator_hit(elevator, move_trig, hit_trig, speaker, elendon){
   // all elevator parts and triggers
   
   while(1)
   {
      hit_trig waittill("trigger");
      elevator notify("movedone"); //this is what i added
      //level notify(elendon);
      elevator moveTo((-128, 2128, 304), 1.4);
      speaker playsound ("elevator_move");
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");

      thread elevator(elevator, move_trig, speaker, elendon);
      wait 0.5;
}   
}
try that. but im afraid the notify function will fuck elevator's origin up - it will become the point of where the stopped elevator has been moving to, but the elevator won't be actually at that origin.

if that code won't work, try that:

Code: Select all

org = elevator.origin;
elevator notify("movedone");
elevator moveTo((org), 10);
elevator notify("movedone");

User avatar
<LT>YosemiteSam[NL]
Core Staff
Core Staff
Posts: 2155
Joined: December 7th, 2004, 2:07 am
Location: Netherlands
Contact:

Re: Elevator when hit player go up

Post by <LT>YosemiteSam[NL] » August 3rd, 2010, 8:38 am

megazor wrote:as far as i understand, your code doesn't work. if it works, don't read above.
It works up to the point where the elevator moves up when it hit the player. It stays up and waits for the trigger. It has to come down and again go up when it hits player.

I'll try that m8, thx.

User avatar
waywaaaard
Core Staff
Core Staff
Posts: 2214
Joined: February 6th, 2006, 3:18 pm
Location: Germany/Bayern

Re: Elevator when hit player go up

Post by waywaaaard » August 3rd, 2010, 10:17 am

The code works pretty good though I just didn't thought of the going down again. But I have an idea.

We just move it down at the start of the other function if its up :D
THAT HANDS WERE NOT TRACED!
visit my blog: Link
Soviet wrote:Yeah, watch out, Peds will hit you with his +5 D-Battleaxe of homosexuality :roll:

User avatar
waywaaaard
Core Staff
Core Staff
Posts: 2214
Joined: February 6th, 2006, 3:18 pm
Location: Germany/Bayern

Re: Elevator when hit player go up

Post by waywaaaard » August 3rd, 2010, 10:22 am

Code: Select all

main(){

   thread elevator_init();
}

elevator_init(){
   
   // elevator 1
   thread elevator_start(getent ("elevatorright_base", "targetname"), 
                     getent ("elevatorright", "targetname"), 
                     getent ("elevatorhit", "targetname"), 
                     getent ("speaker_one", "targetname"),
                     "elevator1_hit_player");
}

elevator_start(elevator, move_trig, hit_trig, speaker, elendon){
   
   move_trig enablelinkto();
   move_trig linkto(elevator);
   
   hit_trig enablelinkto();
   hit_trig linkto(elevator);
   
   
   thread elevator(elevator, move_trig, speaker, elendon);
   thread elevator_hit(elevator, move_trig, hit_trig, speaker, elendon);
}

elevator(elevator, move_trig, speaker, elendon){

   level endon(elendon);
      
	  move_trig waittill("trigger");
	  // if we are already at this position it the elevator won't move
      elevator moveTo((-128, 2128, 304), 1.4); 
      if(elevator.origin != (-128, 2128, 304))
		speaker playsound ("elevator_move");      
      elevator waittill("movedone");

   while(1)
   {
      move_trig waittill("trigger");
      elevator moveTo((-128, 2128, 304), 1.4);
      speaker playsound ("elevator_move");      
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");      
      wait 2;
      elevator moveTo((-128, 2128, 10), 1.4);   
      speaker playsound ("elevator_move");
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");
   }
}

elevator_hit(elevator, move_trig, hit_trig, speaker, elendon){
   // all elevator parts and triggers
   
   while(1)
   {
      hit_trig waittill("trigger");
      level notify(elendon);
      elevator moveTo((-128, 2128, 304), 1.4);
      speaker playsound ("elevator_move");
      elevator waittill("movedone");
      speaker playsound ("elevator_stop");

      thread elevator(elevator, move_trig, speaker, elendon);
      wait 0.5;
}   
}
here you go
THAT HANDS WERE NOT TRACED!
visit my blog: Link
Soviet wrote:Yeah, watch out, Peds will hit you with his +5 D-Battleaxe of homosexuality :roll:

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests