ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
Need some script help!
Hello, I've been trying to fix this - but getting nowhere
I want a script that makes the player look in 4 different directions when he pass a area.
to the left, to the right and backwards. And when looked all those
directions - look at a door "mansion_2"
where a monster "servant_grunt_1" spawns and destroys it and starts chasing you
I have made areas called
ScriptArea_1 - left
ScriptArea_2 - right
ScriptArea_3 - back
ScriptArea_4 - the area you pass and start looking
Is this possible? And if it is, can someone help me?..
Thanks in advance!
(This post was last modified: 02-24-2012, 04:45 PM by ammislol.)
|
|
02-24-2012, 04:43 PM |
|
ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
RE: Need some script help!
No one? :/
|
|
02-24-2012, 08:47 PM |
|
Obliviator27
Posting Freak
Posts: 792
Threads: 10
Joined: Jul 2011
Reputation:
66
|
RE: Need some script help!
Combine LookAtCallbacks with Timers as well as SetEntityActive and SHowEnemyPlayerPosition.
|
|
02-24-2012, 09:09 PM |
|
ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
RE: Need some script help!
(02-24-2012, 09:09 PM)Obliviator27 Wrote: Combine LookAtCallbacks with Timers as well as SetEntityActive and SHowEnemyPlayerPosition. Anyway you could help me with the script? or is it to much mate? :3
|
|
02-24-2012, 09:43 PM |
|
Obliviator27
Posting Freak
Posts: 792
Threads: 10
Joined: Jul 2011
Reputation:
66
|
RE: Need some script help!
void OnStart()
{
AddEntityCollideCallback("Player", "LookArea", "StartLookSequence", true, 1);
}
void StartLookSequence(string &in asParent, string &in asChild, int alState
{
AddTimer("LookTimer1", 4, "NextLook");
AddTimer("LookTimer2", 8, "NextLook");
AddTimer("LookTimer3", 12, "NextLook");
AddTimer("LookTime4", 16, "NextLook");
StartPlayerLookAt("ScriptArea_1", 2, 2, "");
}
void NextLook(string &in asTimer)
{
if(asTimer == "LookTimer1")
{
StartPlayerLookAt("ScriptArea_2", 2, 2, "");
}
if(asTimer == "LookTimer2")
{
StartPlayerLookAt("ScriptArea_3", 2, 2, "");
}
if(asTimer == "LookTimer3")
{
StartPlayerLookAt("ScriptArea_4", 2, 2, "");
}
if(asTimer == "LookTimer4")
{
SetEntityActive("servant_grunt_1", true);
ShowEnemyPlayerPosition("servant_grunt_1");
}
}
|
|
02-24-2012, 09:53 PM |
|
ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
RE: Need some script help!
(02-24-2012, 09:53 PM)Obliviator27 Wrote: void OnStart()
{
AddEntityCollideCallback("Player", "LookArea", "StartLookSequence", true, 1);
}
void StartLookSequence(string &in asParent, string &in asChild, int alState
{
AddTimer("LookTimer1", 4, "NextLook");
AddTimer("LookTimer2", 8, "NextLook");
AddTimer("LookTimer3", 12, "NextLook");
AddTimer("LookTime4", 16, "NextLook");
StartPlayerLookAt("ScriptArea_1", 2, 2, "");
}
void NextLook(string &in asTimer)
{
if(asTimer == "LookTimer1")
{
StartPlayerLookAt("ScriptArea_2", 2, 2, "");
}
if(asTimer == "LookTimer2")
{
StartPlayerLookAt("ScriptArea_3", 2, 2, "");
}
if(asTimer == "LookTimer3")
{
StartPlayerLookAt("ScriptArea_4", 2, 2, "");
}
if(asTimer == "LookTimer4")
{
SetEntityActive("servant_grunt_1", true);
ShowEnemyPlayerPosition("servant_grunt_1");
}
}
Hmm, I get Error : Unexpected end of file, and also.
Is that script activated when i pass the area? I want it when you pass "ScriptArea_5" the script starts - you look at ScriptArea_1, then ScriptArea_2 etcetc.. do you understand?
(This post was last modified: 02-24-2012, 10:08 PM by ammislol.)
|
|
02-24-2012, 09:57 PM |
|
Obliviator27
Posting Freak
Posts: 792
Threads: 10
Joined: Jul 2011
Reputation:
66
|
RE: Need some script help!
(02-24-2012, 09:53 PM)Obliviator27 Wrote: void OnStart()
{
AddEntityCollideCallback("Player", "ScriptArea_5", "StartLookSequence", true, 1);
}
void StartLookSequence(string &in asParent, string &in asChild, int alState)
{
AddTimer("LookTimer1", 4, "NextLook");
AddTimer("LookTimer2", 8, "NextLook");
AddTimer("LookTimer3", 12, "NextLook");
AddTimer("LookTimee4", 16, "NextLook");
StartPlayerLookAt("ScriptArea_1", 2, 2, "");
}
void NextLook(string &in asTimer)
{
if(asTimer == "LookTimer1")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_2", 2, 2, "");
}
if(asTimer == "LookTimer2")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_3", 2, 2, "");
}
if(asTimer == "LookTimer3")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_4", 2, 2, "");
}
if(asTimer == "LookTimer4")
{
StopPlayerLookAt();
SetEntityActive("servant_grunt_1", true);
ShowEnemyPlayerPosition("servant_grunt_1");
}
}
I typed it out hastily. This code should be the fixed one.
What happens is when you hit ScriptArea_5, it forces the player to look at one of the areas and activates a few timers. As each timer runs out, the player looks at the subsequent areas.
|
|
02-24-2012, 10:12 PM |
|
ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
RE: Need some script help!
(02-24-2012, 10:12 PM)Obliviator27 Wrote: (02-24-2012, 09:53 PM)Obliviator27 Wrote: void OnStart()
{
AddEntityCollideCallback("Player", "ScriptArea_5", "StartLookSequence", true, 1);
}
void StartLookSequence(string &in asParent, string &in asChild, int alState)
{
AddTimer("LookTimer1", 4, "NextLook");
AddTimer("LookTimer2", 8, "NextLook");
AddTimer("LookTimer3", 12, "NextLook");
AddTimer("LookTimee4", 16, "NextLook");
StartPlayerLookAt("ScriptArea_1", 2, 2, "");
}
void NextLook(string &in asTimer)
{
if(asTimer == "LookTimer1")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_2", 2, 2, "");
}
if(asTimer == "LookTimer2")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_3", 2, 2, "");
}
if(asTimer == "LookTimer3")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_4", 2, 2, "");
}
if(asTimer == "LookTimer4")
{
StopPlayerLookAt();
SetEntityActive("servant_grunt_1", true);
ShowEnemyPlayerPosition("servant_grunt_1");
}
}
I typed it out hastily. This code should be the fixed one.
What happens is when you hit ScriptArea_5, it forces the player to look at one of the areas and activates a few timers. As each timer runs out, the player looks at the subsequent areas. Okay it works great, tho ive got 2 questions.
1. is there anyway to like lock the camera on each area? Cause now you can move the mouse around while the camera look at each area.
2. when it takes me to area 4, it just stands there and look - it wont release. and no monster is spawning.
Huge thanks in advance
|
|
02-24-2012, 10:19 PM |
|
Obliviator27
Posting Freak
Posts: 792
Threads: 10
Joined: Jul 2011
Reputation:
66
|
RE: Need some script help!
To lock the Camera, put
SetPlayerActive(false); in the StartLookSequence function, and then
I messed up on the timers. Where it says
AddTimer("LookTimee4", 12, "NextLook");
Replace it with
AddTimer("LookTimer4", 12, "NextLook");
And finally, put
SetPlayerActive(true);
where the SetEntityActive script is.
|
|
02-24-2012, 11:29 PM |
|
ammislol
Junior Member
Posts: 24
Threads: 6
Joined: Feb 2012
Reputation:
0
|
RE: Need some script help!
(02-24-2012, 11:29 PM)Obliviator27 Wrote: To lock the Camera, put
SetPlayerActive(false); in the StartLookSequence function, and then
I messed up on the timers. Where it says
AddTimer("LookTimee4", 12, "NextLook");
Replace it with
AddTimer("LookTimer4", 12, "NextLook");
And finally, put
SetPlayerActive(true);
where the SetEntityActive script is. So where excact should i change? my script looks like this atm -
void OnStart()
{
AddEntityCollideCallback("Player", "ScriptArea_5", "StartLookSequence", false, 1);
}
void StartLookSequence(string &in asParent, string &in asChild, int alState)
{
AddTimer("LookTimer1", 4, "NextLook");
AddTimer("LookTimer2", 8, "NextLook");
AddTimer("LookTimer3", 12, "NextLook");
AddTimer("LookTimee4", 12, "NextLook");
StartPlayerLookAt("ScriptArea_1", 2, 2, "");
}
void NextLook(string &in asTimer)
{
if(asTimer == "LookTimer1")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_2", 2, 2, "");
}
if(asTimer == "LookTimer2")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_3", 2, 2, "");
}
if(asTimer == "LookTimer3")
{
StopPlayerLookAt();
StartPlayerLookAt("ScriptArea_4", 2, 2, "");
}
if(asTimer == "LookTimer4")
{
StopPlayerLookAt();
SetEntityActive("servant_grunt_1", true);
ShowEnemyPlayerPosition("servant_grunt_1");
}
}
Sorry for being such a noob :< Great help tho! thanks alot.
|
|
02-24-2012, 11:42 PM |
|
|