Frictional Games Forum (read-only)

Full Version: AddUseItem Callback Not Working
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
To my luck, something else didn't work. I have a crowbar item in one of my maps named "Crowbar". I have a script that requires the item to function properly. So, while testing the mod I got the crowbar and went to the level with the script. The script isn't working for me! Here's the script I'm using:

PHP Code:
void OnStart()
{
        
AddUseItemCallback("""Crowbar""Door""UseCrowbarOnDoor"true);
}

void UseCrowbarOnDoor(string &in asItemstring &in asEntity)
{
        
RemoveItem(asItem);
        
PlaySoundAtEntity("""player_crouch.snt""Player"0.05false);
        
AddTimer(asEntity0.2"TimerPlaceCrowbar");
}
 
void TimerPlaceCrowbar(string &in asTimer)
{
        
SetEntityActive("Joint"true);
        
PlaySoundAtEntity("""puzzle_place_jar.snt"asTimer0false);
}
 
void BreakDoor(string &in asParentstring &in asChildint alState)
{
        
SetEntityActive("Joint"false);
        
SetEntityActive("Broken"true);
 
        
SetSwingDoorLocked("Door"falsefalse);
        
SetSwingDoorClosed("Door"falsefalse);
        
SetSwingDoorDisableAutoClose("Door"true);
 
        
AddPropImpulse("Door"003"world");
 
        
CreateParticleSystemAtEntity("""ps_hit_wood.ps""AreaEffect"false);
        
PlaySoundAtEntity("""break_wood_metal""AreaEffect"0false);
 
        
GiveSanityBoostSmall();
 
        
PlayMusic("10_puzzle01.ogg"false0.70.110false);
 
        
AddTimer(""0.1"TimerPushDoor");
}
 
void TimerPushDoor(string &in asTimer)
{
        
AddPropImpulse("Door", -421"world");
        
AddTimer(""1.1"TimerDoorCanClose");
}
 
void TimerDoorCanClose(string &in asTimer)
{
        
SetSwingDoorDisableAutoClose("Door"false);


I made sure that the names match and that the casing is the same, and I don't use the crowbar in any script except for one to set an entity inactive. What could be the problem?
Are you 100% sure the names are right and you use the Crowbar in the RIGHT door?
Is this the entre script?
This script looks quite standard to me, so i guess that should work fine.
Let us know if the door and Crowbar or good.
You're missing the collide callback for the crowbar and the area.

Code:
AddEntityCollideCallback("Crowbar", "NAME_OF_AREA", "BreakDoor", true, 1);
(04-06-2015, 12:29 PM)Neelke Wrote: [ -> ]You're missing the collide callback for the crowbar and the area.

Code:
AddEntityCollideCallback("Crowbar", "NAME_OF_AREA", "BreakDoor", true, 1);

It's an AddUseItemCallback, not an AddEntityCollideCallback.

OT:
I can't see any problems. As Lange said, check your names again. For capitals and numbers.
(04-07-2015, 07:14 AM)FlawlessHappiness Wrote: [ -> ]
(04-06-2015, 12:29 PM)Neelke Wrote: [ -> ]You're missing the collide callback for the crowbar and the area.

Code:
AddEntityCollideCallback("Crowbar", "NAME_OF_AREA", "BreakDoor", true, 1);

It's an AddUseItemCallback, not an AddEntityCollideCallback.

OT:
I can't see any problems. As Lange said, check your names again. For capitals and numbers.

Then what's this for?

Code:
void BreakDoor(string &in asParent, string &in asChild, int alState)
{
        SetEntityActive("Joint", false);
        SetEntityActive("Broken", true);

        SetSwingDoorLocked("Door", false, false);
        SetSwingDoorClosed("Door", false, false);
        SetSwingDoorDisableAutoClose("Door", true);

        AddPropImpulse("Door", 0, 0, 3, "world");

        CreateParticleSystemAtEntity("", "ps_hit_wood.ps", "AreaEffect", false);
        PlaySoundAtEntity("", "break_wood_metal", "AreaEffect", 0, false);

        GiveSanityBoostSmall();

        PlayMusic("10_puzzle01.ogg", false, 0.7, 0.1, 10, false);

        AddTimer("", 0.1, "TimerPushDoor");
}

If you check the Guest Room in the main game, they use a collide function for being able to determine where the crowbar is located. If this script does not require collide function, then why is this function even here? This script require both an AddUseItemCallback and an AddEntityCollideCallback.
It's true it does, but perhaps he hasn't gotten that far yet, and just wants to check whether his AddUseItemCallback is working.

He says it isn't, so before causing too much confusion can we solve 1 problem at a time, please?
Oh, sorry didn't see that. Then I say the same as Flawless and DnALANGE.
I guess we'll have to hear what OP means by "script not working" because that might just mean that the whole thing isn't working as expected, in which case the collide callback should do it.
(04-07-2015, 09:30 AM)Mudbill Wrote: [ -> ]I guess we'll have to hear what OP means by "script not working" because that might just mean that the whole thing isn't working as expected, in which case the collide callback should do it.

I was thinking the same... Error? Nothing?