VisualTech48 
 
 
		
			Junior Member 
			
			
			
 
			
	Posts: 21 
	Threads: 5 
	Joined: Apr 2012
	
 Reputation: 
0
		
	 | 
	
		
			
Timer help 
			 
			
				Hi, I have ran into a problem where i have no clue how to script this. 
Here is the overview of the situation
 
1.A player enters a room and colides with script area ["TheTime"]
 
2. The timer must be 30 sek 
3. After 30 sek the monster comes in [Brakes the door, but with script and ps]
 
Case2# If the player findes the key early, the monster brakes the door immediately
 
And if he dies by the monster "Death" That the sequence happens again (So you dont commit suiced and then just chill walk trought the room)
 
If anyone could help me it whould be great, Ty   
			 
			
			
 
- Order and Law! - The new Mod[WIP] 
			
				
(This post was last modified: 03-15-2013, 08:06 PM by VisualTech48.)
 
				
			 
		 |  
	 
 | 
 
	| 03-13-2013, 02:28 PM  | 
	
		
	 | 
 
 
	
		
		PutraenusAlivius 
 
 
		
			Posting Freak 
			
			
			
 
			
	Posts: 4,713 
	Threads: 75 
	Joined: Dec 2012
	
 Reputation: 
119
		
	 | 
	
		
			
RE: Timer help 
			 
			
				void OnStart() {     AddEntityCollideCallback("Player", "TheTime", "MonsterTimerBegin", true, 1); //TheTime is the script area you mention. }
  void MonsterTimerBegin(string &in asParent, string &in asChild, int alState) {            AddTimer("", 30.0f, "MonsterTimer"); //Begins the timer with the duration of 30 sec. }
  void MonsterTimer(string &in asTimer) {         SetEntityActive("MONSTERNAME", true);   //Change MONSTERNAME to whatever your monster's name is. } 
 
 I don't know how to script Case2, but i think it uses the if else statement.
			  
			
			
 
"Veni, vidi, vici." 
"I came, I saw, I conquered." 
			
		 |  
	 
 | 
 
	| 03-13-2013, 03:45 PM  | 
	
		
	 | 
 
 
	
		
		VisualTech48 
 
 
		
			Junior Member 
			
			
			
 
			
	Posts: 21 
	Threads: 5 
	Joined: Apr 2012
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Timer help 
			 
			
				 (03-13-2013, 03:45 PM)JustAnotherPlayer Wrote:  void OnStart() {     AddEntityCollideCallback("Player", "TheTime", "MonsterTimerBegin", true, 1); //TheTime is the script area you mention. }
  void MonsterTimerBegin(string &in asParent, string &in asChild, int alState) {            AddTimer("", 30.0f, "MonsterTimer"); //Begins the timer with the duration of 30 sec. }
  void MonsterTimer(string &in asTimer) {         SetEntityActive("MONSTERNAME", true);   //Change MONSTERNAME to whatever your monster's name is. } 
 
  I don't know how to script Case2, but i think it uses the if else statement. 
Ty man, but still waiting if anyone cound help me make Case 2#
			  
			
			
 
- Order and Law! - The new Mod[WIP] 
			
		 |  
	 
 | 
 
	| 03-13-2013, 05:21 PM  | 
	
		
	 | 
 
 
	
		
		Adrianis 
 
 
		
			Senior Member 
			
			
			
 
			
	Posts: 620 
	Threads: 6 
	Joined: Feb 2012
	
 Reputation: 
27
		
	 | 
	
		
			
RE: Timer help 
			 
			
				void OnStart() 
{ 
    AddEntityCollideCallback("Player", "TheTime", "MonsterTimerBegin", true, 1); //TheTime is the script area you mention. 
        SetLocalVarInt("MonTimLoopVal", 0); 
} 
 
void MonsterTimerBegin(string &in asParent, string &in asChild, int alState) 
{    
        AddTimer("MonTimLoop", 1.0f, "MonsterTimerLoop"); //Begins the timer with the duration of 30 sec. 
} 
 
void MonsterTimerLoop(string &in asTimer) 
{     
    AddLocalVarInt("MonTimLoopVal", 1); // adds 1 to var each time function is called 
       if ((GetLocalVarInt("MonTimLoopVal") == 30) || (HasItem("KEYNAMEHERE"))) { 
            SetEntityActive("MONSTERNAME", true);   //Change MONSTERNAME to whatever your monster's name is. 
       } 
       else { 
         AddTimer("MonTimLoop", 1, "MonsterTimerLoop"); 
       } 
}
 
In the MonsterTimerLoop function, the 'if' is checking whether... 
A. 30 seconds have expired 
OR 
B. Player has the key in their inventory 
THEN  
Spawn the monster 
and if neither 30 seconds has gone by nor the player has the key, add another timer with 1 second to call the same func 
Next time the func is called, 1 gets added to the total var for time keeping, and so on and so forth
 
Word of warning, I just wrote this at work so I havent tested whether it works, let me know if you get any errors
			  
			
			
 
			
				
(This post was last modified: 03-13-2013, 05:36 PM by Adrianis.)
 
				
			 
		 |  
	 
 | 
 
	| 03-13-2013, 05:35 PM  | 
	
		
	 | 
 
 
	
		
		VisualTech48 
 
 
		
			Junior Member 
			
			
			
 
			
	Posts: 21 
	Threads: 5 
	Joined: Apr 2012
	
 Reputation: 
0
		
	 | 
	
		
			
RE: Timer help 
			 
			
				 (03-13-2013, 05:35 PM)Adrianis Wrote:  void OnStart() 
{ 
    AddEntityCollideCallback("Player", "TheTime", "MonsterTimerBegin", true, 1); //TheTime is the script area you mention. 
        SetLocalVarInt("MonTimLoopVal", 0); 
} 
 
void MonsterTimerBegin(string &in asParent, string &in asChild, int alState) 
{    
        AddTimer("MonTimLoop", 1.0f, "MonsterTimerLoop"); //Begins the timer with the duration of 30 sec. 
} 
 
void MonsterTimerLoop(string &in asTimer) 
{     
    AddLocalVarInt("MonTimLoopVal", 1); // adds 1 to var each time function is called 
       if ((GetLocalVarInt("MonTimLoopVal") == 30) || (HasItem("KEYNAMEHERE"))) { 
            SetEntityActive("MONSTERNAME", true);   //Change MONSTERNAME to whatever your monster's name is. 
       } 
       else { 
         AddTimer("MonTimLoop", 1, "MonsterTimerLoop"); 
       } 
}
  
In the MonsterTimerLoop function, the 'if' is checking whether... 
A. 30 seconds have expired 
OR 
B. Player has the key in their inventory 
THEN  
Spawn the monster 
and if neither 30 seconds has gone by nor the player has the key, add another timer with 1 second to call the same func 
Next time the func is called, 1 gets added to the total var for time keeping, and so on and so forth 
 
Word of warning, I just wrote this at work so I havent tested whether it works, let me know if you get any errors Ty, gona try when i come back home, hope it works     
			 
			
			
 
- Order and Law! - The new Mod[WIP] 
			
		 |  
	 
 | 
 
	| 03-13-2013, 06:15 PM  | 
	
		
	 | 
 
 
	 
 |