Frictional Games Forum (read-only)

Full Version: Script crash
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi,

I edited a script file for my custom story, but now it crashes.
There seems to be something wrong with my Addtimer functions, but I have no idea what's the cause.

ERROR:

main (33,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea1)'
main (40,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea2)'

Script File:

void OnStart()
{
AddUseItemCallback("", "Cellarkey", "Cellardoor", "UseCellarkeyOnCellardoor", true);

PlayMusic("amb_tomb.ogg", true, 0.6, 4, 1, false);

AddEntityCollideCallback("Player", "AreaMemento1", "AddMemento1", true, 1);
AddEntityCollideCallback("Player", "AreaMemento2", "AddMemento2", true, 1);
AddEntityCollideCallback("Player", "FinishQuest", "Reward", true, 1);
SetEntityPlayerInteractCallback("LadderInteractArea1", "Teleport1", false);
SetEntityPlayerInteractCallback("LadderInteractArea2", "Teleport2", false);
}

void UseCellarkeyOnCellardoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("Cellardoor", false, true);
RemoveItem(asItem);
}

void AddMemento1(string &in asParent, string &in asChild, int alState)
{
AddQuest("area1", "enterarea1");
}

void AddMemento2(string &in asParent, string &in asChild, int alState)
{
AddQuest("area2", "enterarea2");
}

void Teleport1(string &in asEntity)
{
FadeOut(1);
AddTimer("Timer1", 2, TeleportToArea1);

}

void Teleport2(string &in asEntity)
{
FadeOut(1);
AddTimer("Timer2", 2, TeleportToArea2);
}

void TeleportToArea1(string &in asTimer)
{
TeleportPlayer("Area1");
FadeIn(1);
RemoveTimer("Timer1");
}

void TeleportToArea2(string &in asTimer)
{
TeleportPlayer("Area2");
FadeIn(1);
RemoveTimer("Timer2");
}

void Reward(string &in asParent, string &in asChild, int alState)
{
CompleteQuest("area1", "enterarea1");
CompleteQuest("area2", "enterarea2");
GiveSanityBoost();
}

Can someone please help me with this?
You need to have the third parameter of the timer script in quotation marks

PHP Code:
AddTimer("Timer1"2TeleportToArea1); 

Change it to

PHP Code:
AddTimer("Timer1"2"TeleportToArea1"); 

And do that for all of your timers.
(08-15-2015, 11:21 AM)Spelos Wrote: [ -> ]You need to have the third parameter of the timer script in quotation marks

PHP Code:
AddTimer("Timer1"2TeleportToArea1); 

Change it to

PHP Code:
AddTimer("Timer1"2"TeleportToArea1"); 

And do that for all of your timers.

Lol that I did not see that mistake. Anyways, thank you very much! Smile
So that you can try to figure out the error on your own from now on,

These two lines,
Code:
main (33,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea1)'
main (40,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea2)'
Tell you where your error is. Line 33, 2 characters over, is one error. and line 40 2 characters over is another.
(08-15-2015, 07:20 PM)7heDubz Wrote: [ -> ]So that you can try to figure out the error on your own from now on,

These two lines,
Code:
main (33,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea1)'
main (40,2): ERR : No matching signatures to 'AddTimer(string@&, const uint, TeleportToArea2)'
Tell you where your error is. Line 33, 2 characters over, is one error. and line 40 2 characters over is another.

Adding to this:
Sometimes the error shows a place later than where the actual error is. This is because that's where the script registered the error.
So it's not always exactly there, but close by.

...unless you get the "Unexpected end of file". This error always shows in the end of the script, because something has been opened and not closed again.

This could be:

A bracket: {
Closed with: }

Quotation mark: "
Closed with: "

Parenthesies: (
Closed with: )