Frictional Games Forum (read-only)

Full Version: How do I get a Phonograph Working?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
As simply put as the title, I am trying to get a phonograph to play a song, but it's not working... Don't shake your head that I have scripted it wrong... I haven't worked with a wheel/valve yet. =[

//____________________

void OnStart()
{
SetMultiSliderCallback("phonograph_1", "playsong"); //this was in the function wiki that sounded like what I needed

}



void playsong(string &in asEntity, int alState)
{
if(alState == 1)
{
PlaySoundAtEntity("", "phonosong.snt", "phonograph_1", 0, true);
}
if(alState == -1)
{

}
}
It was done using ConnectionState in the ptest maps. You might want to try using the "ConnectionStateChange" callback which can be set in the level editor or through script using:
Code:
SetEntityConnectionStateChangeCallback(asName, asCallback);
//Callback syntax: void Func(string &in asEntity, int alState)

Onstart()
{
SetEntityPlayerInteractCallback("phonograph_1", "PlaySong", true);
}


void PlaySong(string &in asEntity)
{
SetWheelStuckState("phonograph_1", 0, false);
PlaySoundAtEntity("", "12_make_drill.snt", asEntity, 0.0f,false);
SetEntityInteractionDisabled(asEntity, true);
AddTimer("PlayTimer", 4.0f , "PlayTimerX");
}


void PlayTimerX(string &in asTimer)
{
PlaySoundAtEntity("", "Alexandria_Song.snt", "phonograph_1", 0.5f, false);
}

(12-30-2011, 06:22 PM)Apjjm Wrote: [ -> ]It was done using ConnectionState in the ptest maps. You might want to try using the "ConnectionStateChange" callback which can be set in the level editor or through script using:
Code:
SetEntityConnectionStateChangeCallback(asName, asCallback);
//Callback syntax: void Func(string &in asEntity, int alState)
I tried that and it didn't do anything... >>

(12-30-2011, 06:24 PM)Statyk Wrote: [ -> ]I tried that and it didn't do anything... >>
The following worked fine for me. Are you sure the problem isn't with the sound / misnaming?
Code:
void OnStart()
{
SetEntityConnectionStateChangeCallback("phonograph_1","cbConStatePhono1");
}

void cbConStatePhono1(string &in asEntity, int alState)
{
AddDebugMessage("Connection State Changed for: " + asEntity + " to "  + alState,false);
}
are you saying I should check for a debug response?
Okay... hold on for a second, I might have this...
....... This is going to be hard to admit, so don't lose faith in me...

But.

I was working on the wrong .hps the whole time.

See, I have 2 Theater.hps's, one for Sciophobia's "custom_story" folder, and one in the full conversion folder. I was working on the CS one, and testing the FC... >>

Thanks though! You still helped me out Apjjm, I really appreciate it =]