(06-23-2011, 01:26 AM)rojkish Wrote: Just simply open 03_archives from the original game, take a look at their code and copy it and change the names so it suits you, if the script doesn't work, post here again and I'll take a look at it.
Okay its not working i have "Areas" ready and books and all set just like a normal game part.
Code:
for(int i=1;i<=3;i++) AddEntityCollideCallback("SecretBook_"+i, "AreaSecretBook_"+i, "CollideSecretBook", false, 0);
void CollideSecretBook(string &in asParent, string &in asChild, int alState)
{
if(alState == 1) {
SetLocalVarInt("Var"+asParent, 1);
AddTimer(asParent, 20, "PushBackBook");
SetPropObjectStuckState(asParent, 1);
PlaySoundAtEntity("Sound"+asParent, "gameplay_tick", asParent, 0.0f, false);
StartScreenShake(0.001f, 0.5f, 0.5f, 0.5f);
PlayGuiSound("16_lever_stuck", 0.3f);
/*DEBUG
*/
AddDebugMessage("Book in area: "+asParent, true);
} else {
SetLocalVarInt("Var"+asParent, 0);
RemoveTimer(asParent);
PlaySoundAtEntity("Sound2"+asParent, "lock_door", asParent, 1.5f, false);
PlayGuiSound("16_lever_stuck", 0.2f);
StopSound("Sound"+asParent, 1.0f);
/*DEBUG
*/
AddDebugMessage("Book out of area: "+asParent, true);
}
/*All books are pulled before time is out and the secret room is revealed.
*/
if(GetLocalVarInt("VarSecretBook_1") == 1 && GetLocalVarInt("VarSecretBook_2") == 1 && GetLocalVarInt("VarSecretBook_3") == 1) {
FadeLightTo("PointLight_30", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 3.0f);
SetMoveObjectState("shelf_secret_door_1", 1);
SetPropObjectStuckState("SecretBook_*", -1);
SetEntityInteractionDisabled("SecretBook_*", true);
PlaySoundAtEntity("BooksDone", "lock_door", "Player", 0, false);
CreateParticleSystemAtEntity("dust", "ps_dust_falling_door_quick", "AreaDoorParticle", false);
for(int i=1;i<=3;i++){ RemoveTimer("SecretBook_"+i); StopSound("SoundSecretBook_"+i, 0.0f); }
GiveSanityBoostSmall();
PlayMusic("03_puzzle_secret.ogg", false, 0.7f, 0, 10, false);
CompleteQuest("03Books", "03Books");
/*DEBUG
*/
AddDebugMessage("All books in position, move shelf!", true);
}
}
void PushBackBook(string &in asTimer)
{
SetPropObjectStuckState(asTimer, -1);
AddTimer("2"+asTimer, 0.25f, "PushBackBook02");
/*DEBUG
*/
AddDebugMessage("Push back book: "+asTimer, true);
}
void PushBackBook02(string &in asTimer)
{
if(asTimer == "2SecretBook_1") SetPropObjectStuckState("SecretBook_1", 0);
else if(asTimer == "2SecretBook_2") SetPropObjectStuckState("SecretBook_2", 0);
else SetPropObjectStuckState("SecretBook_3", 0);
}
/*Give quest after the visions about the books
*/
void VisionOverBooks()
{
AddQuest("03Books", "03Books");
SetEntityPlayerInteractCallback("shelf_secret_door_1", "InteractMoveShelf", true);
AddTimer("enemys", 1.0f, "TimerPlayEnemy");
}
Where is the problem?