Robby
Posting Freak
Posts: 2,549
Threads: 38
Joined: Jun 2009
Reputation:
47
|
RE: Problem with script
(08-21-2012, 07:27 PM)swamphag Wrote: Hello everyone.
I am new to the amnesia level editor and today i was scripting, but when I tested out the script in game, it didn't work.. basically, I made a script so when I used a crowbar on a locked cabinet, it unlocked. When I try using the crowbar on it, it does become the crowbar joint, although when I try to move the joint to unlock it, it doesn't work. It just moves around, doing nothing.
Here is the code:
void OnStart()
{
AddUseItemCallback("", "crowbar_1", "cabinet_simple_1", "UsedCrowbarOnDoor", true);
AddEntityCollideCallback("crowbar_joint_1", "ScriptArea_1", "CollideAreaBreakDoor", true, 1);
}
void UsedCrowbarOnDoor(string &in asItem, string &in asEntity)
{
AddTimer("", 0.2, "TimerSwitchShovel");
RemoveItem("crowbar_1");
}
void TimerSwitchShovel(string &in asTimer)
{
PlaySoundAtEntity("","puzzle_place_jar.snt", "", 0, false);
SetEntityActive("crowbar_joint_1", true);
}
void CollideAreaBreakDoor(string &in asParent, string &in asChild, int alState)
{
AddPlayerSanity(25);
PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);
SetSwingDoorLocked("cabinet_simple_1", false, true);
AddPropImpulse("cabinet_simple_1", 0, 0, -50, "World");
SetSwingDoorDisableAutoClose("cabinet_simple_1", true);
SetSwingDoorClosed("cabinet_simple_1", false, false);
SetMoveObjectState("cabinet_simple_1", 1);
PlaySoundAtEntity("","break_wood_metal", "AreaBreakEffect", 0, false);
CreateParticleSystemAtEntity("", "ps_hit_wood", "AreaBreakEffect", false);
SetEntityActive("crowbar_joint_1", false);
SetLocalVarInt("Door", 1);
}
void OnEnter()
{
}
void OnLeave()
{
}
Also, whilst I'm here I want to ask, how do you put items (e.g lantern) inside a cabinet? I can't help with the script, but I can with the lantern though.
Just select the cabinet, "focus" on it (you know, make it appear on the center), zoom in so you're inside the cabinet, grab the lantern from the "items" section of the "Entities" bar, and place it in there. Use the option "Create on Surface" if necessary.
Infrequently active. Don't expect an immediate response. Best to contact me at a different locale. If I create a thread, expect me to be quite active.
|
|