Facebook Twitter YouTube Frictional Games | Forum | Privacy Policy | Dev Blog | Dev Wiki | Support | Gametee


Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Script Help Need some script help!
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#1
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
Find
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#2
RE: Need some script help!

No one? :/
02-24-2012, 08:47 PM
Find
Obliviator27 Offline
Posting Freak

Posts: 792
Threads: 10
Joined: Jul 2011
Reputation: 66
#3
RE: Need some script help!

Combine LookAtCallbacks with Timers as well as SetEntityActive and SHowEnemyPlayerPosition.

02-24-2012, 09:09 PM
Find
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#4
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
Find
Obliviator27 Offline
Posting Freak

Posts: 792
Threads: 10
Joined: Jul 2011
Reputation: 66
#5
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
Find
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#6
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
Find
Obliviator27 Offline
Posting Freak

Posts: 792
Threads: 10
Joined: Jul 2011
Reputation: 66
#7
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
Find
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#8
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
Find
Obliviator27 Offline
Posting Freak

Posts: 792
Threads: 10
Joined: Jul 2011
Reputation: 66
#9
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
Find
ammislol Offline
Junior Member

Posts: 24
Threads: 6
Joined: Feb 2012
Reputation: 0
#10
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
Find




Users browsing this thread: 2 Guest(s)