Frictional Games Forum (read-only)
[SCRIPT] Offering Script Help - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Amnesia: The Dark Descent (https://www.frictionalgames.com/forum/forum-6.html)
+--- Forum: Custom Stories, TCs & Mods - Development (https://www.frictionalgames.com/forum/forum-38.html)
+---- Forum: Development Support (https://www.frictionalgames.com/forum/forum-39.html)
+---- Thread: [SCRIPT] Offering Script Help (/thread-16497.html)



Offering Script Help - GoranGaming - 06-25-2012

It is summer holidays, I have nothing to do. So, if you need help with any scripts I can help you. Just PM me and I will see what I can do Smile


RE: Offering Script Help - MaZiCUT - 06-25-2012

You should start working on my friend Jagsr28 custom story, He usually ends up shitting up his script and he's a beginner at it, he could use alot of help.


RE: Offering Script Help - GoranGaming - 06-25-2012

If he contacts me I can help Smile


RE: Offering Script Help - GoranGaming - 06-25-2012

Anyone else?


RE: Offering Script Help - ModestWalrus - 06-25-2012

I am trying to get a hang of how to make a key unlock a door, I got the extra_english.lang working but now its just not functioning. If you can help me out, ill love you forever.


RE: Offering Script Help - Demondays1 - 06-26-2012

(06-25-2012, 11:26 PM)ModestWalrus Wrote: I am trying to get a hang of how to make a key unlock a door, I got the extra_english.lang working but now its just not functioning. If you can help me out, ill love you forever.

Try this:

void OnEnter()

{


AddUseItemCallback("", "Key'sname_1", "Nameofdoor", "UsedKeyOnDoor", true);

}

void UsedKeyOnDoor(string &in item, string &in door)

{

SetSwingDoorLocked("Nameofdoor", false, true);

PlaySoundAtEntity("", "unlock_door", "Nameofdoor", 0, false);

RemoveItem("Key'sname_1");

}

Key's name is the name of the key and nameofdoor is the name of the door you want the key to unlock to.




hope I helped.


RE: Offering Script Help - ApeCake - 06-26-2012

You got summer holidays... dangit. I have still one week exams left D:

Anyway, in my very first map (it was a test map) I had some trouble regarding levers. They wouldn't stay up if I pulled them and same story when I pulled them down. I know I can change some part of that in the entity section of the lever - but I still couldn't figure it out. Any advice? I do have the script set out already... copied from the wiki.
void func_shelf(string &in asEntity, int alState)
{
if (alState == 1)
{
AddLocalVarInt("Var1", 1);
func01();
}
}


void func_shelf_1(string &in asEntity, int alState)
{
if (alState == 1)
{
AddLocalVarInt("Var1", 1);
func01();
}
}


void func01()
{
if(GetLocalVarInt("Var1") == 2)
{
SetMoveObjectState("shelf",1.0f);
PlaySoundAtEntity("", "quest_completed.snt", "shelf", 0, false);
}
}

However, here's my REAL question; is there any way of detecting if a lamp is lit or not? In script sense, that is.


RE: Offering Script Help - GoranGaming - 06-26-2012

(06-26-2012, 05:04 PM)ApeCake Wrote: You got summer holidays... dangit. I have still one week exams left D:

Anyway, in my very first map (it was a test map) I had some trouble regarding levers. They wouldn't stay up if I pulled them and same story when I pulled them down. I know I can change some part of that in the entity section of the lever - but I still couldn't figure it out. Any advice? I do have the script set out already... copied from the wiki.
void func_shelf(string &in asEntity, int alState)
{
if (alState == 1)
{
AddLocalVarInt("Var1", 1);
func01();
}
}


void func_shelf_1(string &in asEntity, int alState)
{
if (alState == 1)
{
AddLocalVarInt("Var1", 1);
func01();
}
}


void func01()
{
if(GetLocalVarInt("Var1") == 2)
{
SetMoveObjectState("shelf",1.0f);
PlaySoundAtEntity("", "quest_completed.snt", "shelf", 0, false);
}
}

However, here's my REAL question; is there any way of detecting if a lamp is lit or not? In script sense, that is.
I have a better version of that script, in the script you use there is an really annoying bug. Try this instead:

void func_shelf(string &in asEntity, int alState)
{
if(alState == 1){
SetLocalVarInt("Lever1", 1);
}
}


void func_shelf_1(string &in asEntity, int alState)
{
if(alState == 1){
SetLocalVarInt("Lever2", 1);
}
}

void func01()
{
if(GetLocalVarInt("Lever1") ==1 && GetLocalVarInt("Lever2") == 1){
SetMoveObjectState("shelf",1.0f); PlaySoundAtEntity("", "quest_completed.snt", "shelf", 0, false);
}
}
Yes there is, you can use LocalVarInt's like:

void LitLamp(string &in asParent, string &in asChild, int alState)
{
SetLampLit("Lamp1", true, false);
SetLocalVarInt("Lamp1", 1);
}

Then you can check with "GetLocalVarInt".

Any questions?