Obsolete
Junior Member
Posts: 5
Threads: 3
Joined: Jul 2015
Reputation:
0
|
Script crash
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?
|
|
08-15-2015, 10:50 AM |
|
Spelos
Banned
Posts: 231
Threads: 19
Joined: Sep 2014
|
RE: Script crash
You need to have the third parameter of the timer script in quotation marks
AddTimer("Timer1", 2, TeleportToArea1);
Change it to
AddTimer("Timer1", 2, "TeleportToArea1");
And do that for all of your timers.
|
|
08-15-2015, 11:21 AM |
|
Obsolete
Junior Member
Posts: 5
Threads: 3
Joined: Jul 2015
Reputation:
0
|
RE: Script crash
(08-15-2015, 11:21 AM)Spelos Wrote: You need to have the third parameter of the timer script in quotation marks
AddTimer("Timer1", 2, TeleportToArea1);
Change it to
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!
|
|
08-15-2015, 12:28 PM |
|
7heDubz
Posting Freak
Posts: 1,329
Threads: 40
Joined: Feb 2013
Reputation:
41
|
RE: Script crash
So that you can try to figure out the error on your own from now on,
These two lines,
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 |
|
FlawlessHappiness
Posting Freak
Posts: 3,980
Threads: 145
Joined: Mar 2012
Reputation:
171
|
RE: Script crash
(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,
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: )
Trying is the first step to success.
|
|
08-15-2015, 07:26 PM |
|
|