Rapsis
Member
Posts: 69
Threads: 6
Joined: Oct 2012
Reputation:
0
RE: Script fatal error?
(10-13-2012, 06:48 PM) The chaser Wrote: (10-13-2012, 06:31 PM) Rapsis Wrote: (10-13-2012, 06:22 PM) andyrockin123 Wrote: Hello! There is one error in your script file:
-You cannot use a function as a header; it has to be something like: void func(callback syntax)
-All callbacks should be placed under OnStart (very few exceptions) regardless of when they're used in the map.
Here's a fix, simply delete your current .hps file's content then copy & paste this in:
Spoiler below!
void OnStart()
{
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0);
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true);
}
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("mansion_2", true, true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("mansion_1", false, true);
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false);
RemoveItem("bedroomkey_1");
}
void OnLeave()
{
}
Yes, this made my game turn on, thanks! Though the door doesn't open when I enter the script area. None of the names have mistakes. Any help?
Whoops, silly me, I'm doing it wrong! Thanks for the help!
Ok, I don't get this at all, I simply added a new line:
void OnStart()
{
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0);
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true);
}
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("mansion_2", true, true);
SetSwingDoorLocked("mansion_2");
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("mansion_1", false, true);
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false);
RemoveItem("bedroomkey_1");
}
void OnLeave()
{
}
And now it gives me a "No matching signatures" error!void OnStart()
{
AddEntityCollideCallback("Player", "Studydooropen", "CollideRoomTwo", true, 0);
AddUseItemCallback("", "bedroomkey_1", "mansion_1", "UsedKeyOnDoor", true);
}
void CollideRoomTwo(string &in asParent, string &in asChild, int alState)
{
SetSwingDoorClosed("mansion_2", true, true);
SetSwingDoorLocked("mansion_2", false, true);
}
void UsedKeyOnDoor(string &in asItem, string &in asEntity)
{
SetSwingDoorLocked("mansion_1", false, true);
PlaySoundAtEntity("", "unlock_door", "mansion_1", 0, false);
RemoveItem("bedroomkey_1");
}
void OnLeave()
{
}
This should solve the problem. The structure of SetSwingDoorLocked is:
void SetSwingDoorLocked(string& asName, bool abLocked, bool abEffects);It worked when you did it, though when I did it 10 minutes ago, it didn't! Dafuq?