Jump to content

Photo

this isnt working right


  • Please log in to reply
No replies to this topic

#1 Nightmeres

Nightmeres

    Defender

  • Members

Posted 27 March 2020 - 11:44 AM

This is supposed to be a sequential tier of secrets that eventually triggers a master secret but its not working.
this is the new debug revision Moscowmodder helped me with, bless him he is an excellent scripter and i appreciate the time he put into this, he even made the original. version of zc i'm using is 2.53 23
ffc script remoteMultiTrigger{void run ( int dmap, int screen, int d, int bit, int mode ){int origCombo = Screen->ComboD[ComboAt(CenterX(this), CenterY(this))];int log[]="Preparing to Screen->D[] for:";TraceS(log);Trace(dmap);Trace(screen);Trace(d);Trace(bit);//Wait until secret triggeredwhile (!Screen->State[ST_SECRET]) {    Waitframe();}//SetSetScreenDBit(dmap, screen, d, bit, true);int log2[]="Secrets triggered; remote D value now equal to:";TraceS(log2);TraceB(GetScreenDBit(dmap, screen, d, bit));}}ffc script remoteMultiSecret{void run ( int d, int bit, int combo, int cset, int mode ){int log[]="Waiting for Screen->D[] bit:";TraceS(log);Trace(d);Trace(bit);//Wait for bit to be triggeredwhile ( !GetScreenDBit(d, bit) )Waitframe();if(mode == 0){this->Data = combo;this->CSet = cset;}else{Screen->ComboD[ComboAt(this->X, this->Y)] = combo;Screen->ComboC[ComboAt(this->X, this->Y)] = cset;}int log2[]="Successfully triggered by Screen->D[] bit:";TraceS(log2);Trace(d);Trace(bit);}}//Triggers screen secrets when all remoteMultiSecrets have been triggeredffc script multiSecretMaster{void run (){int ffcScriptName[] = "remoteMultiSecret";int ffcScriptNum = Game->GetFFCScript(ffcScriptName);//Quit if secrets already triggeredif ( Screen->State[ST_SECRET] ) {    int log[]="Secrets were already triggered; quitting";    TraceS(log);    return;}int log2[]="Waiting for remoteMultiSecret FFCs to quit";TraceS(log2);//Wait for all scripts to start and then enddo{Waitframe();}while ( CountFFCsRunning(ffcScriptNum) > 0 );int log3[]="Done; all secrets triggered";TraceS(log3);Game->PlaySound(SFX_SECRET);permaSecrets();}}
here is the original:
//Triggers a partial secret on another screen//D0: DMap to trigger on//D1: Screen to trigger on//D2-3: Screen->D variable and bit on target screen to save to//D4: Mode    //0: Trigger when screen permanent secrets triggered    //1: Trigger when combo under FFC changes (on layer 0)ffc script remoteMultiTrigger{    void run ( int dmap, int screen, int d, int bit, int mode ){        int origCombo = Screen->ComboD[ComboAt(CenterX(this), CenterY(this))];                //Wait until secret triggered        while ( (mode == 0 && !Screen->State[ST_SECRET])            || mode == 1 && Screen->ComboD[ComboAt(CenterX(this), CenterY(this))] == origCombo )			   SetScreenDBit(dmap, screen, d, bit, true);		int log[]="Setting Screen->D[] for:";TraceS(log);Trace(dmap);Trace(screen);Trace(d);Trace(bit);            Waitframe();                //Set         }	}//Triggers a partial secret on another screen//D0: DMap to trigger on//D1: Screen to trigger on//D2-3: Screen->D variable and bit on target screen to save to//D4: Mode    //0: Trigger when screen permanent secrets triggered    //1: Trigger when combo under FFC changes (on layer 0)ffc script remoteMultiTrigger{    void run ( int dmap, int screen, int d, int bit, int mode ){        int origCombo = Screen->ComboD[ComboAt(CenterX(this), CenterY(this))];                //Wait until secret triggered        while ( (mode == 0 && !Screen->State[ST_SECRET])            || mode == 1 && Screen->ComboD[ComboAt(CenterX(this), CenterY(this))] == origCombo )			   SetScreenDBit(dmap, screen, d, bit, true);		int log[]="Setting Screen->D[] for:";TraceS(log);Trace(dmap);Trace(screen);Trace(d);Trace(bit);            Waitframe();                //Set         }	}//Triggers screen secrets when all remoteMultiSecrets have been triggeredffc script multiSecretMaster{    void run (){        int ffcScriptName[] = "remoteMultiSecret";        int ffcScriptNum = Game->GetFFCScript(ffcScriptName);                //Quit if secrets already triggered        if ( Screen->State[ST_SECRET] )            return;                    //Wait for all scripts to start and then end        do{            Waitframe();        }while ( CountFFCsRunning(ffcScriptNum) > 0 );                Game->PlaySound(SFX_SECRET);        permaSecrets();    }}
here are some pictures of the rooms in zquest:


http://www.mediafire...c38r1a4a/shared

here is an alegro debug of the script:

FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 5.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 42.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 6.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 22.0000
FFC script 20 (remoteMultiTrigger): 34.0000
FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 5.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 42.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 6.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 1.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 2.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 3.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 18 (multiSecretMaster): Waiting for remoteMultiSecret FFCs to quitFFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 4.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 5.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 42.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 6.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 1.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): 6.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 3.0000
FFC script 20 (remoteMultiTrigger): 25.0000
FFC script 20 (remoteMultiTrigger): 7.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 2.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): 7.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 3.0000
FFC script 20 (remoteMultiTrigger): 22.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 8.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 3.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 8.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 3.0000
FFC script 20 (remoteMultiTrigger): 66.0000
FFC script 20 (remoteMultiTrigger): 9.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): false
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 9.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 4.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 24.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 5.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 20 (remoteMultiTrigger): Preparing to Screen->D[] for:FFC script 20 (remoteMultiTrigger): 5.0000
FFC script 20 (remoteMultiTrigger): 42.0000
FFC script 20 (remoteMultiTrigger): 0.0000
FFC script 20 (remoteMultiTrigger): 6.0000
FFC script 20 (remoteMultiTrigger): Secrets triggered; remote D value now equal to:FFC script 20 (remoteMultiTrigger): true
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 1.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 2.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 3.0000
FFC script 19 (remoteMultiSecret): 0.0000
FFC script 18 (multiSecretMaster): Waiting for remoteMultiSecret FFCs to quitFFC script 19 (remoteMultiSecret): Waiting for Screen->D[] bit:FFC script 19 (remoteMultiSecret): 4.0000
FFC script 19 (remoteMultiSecret): 0.0000

again version of zc i'm using is 2.53 23 one of the ones zorria worked on

I've tried all sorts of combinations and tips from moscowmoder and we both are at an wall.
i hope someone else could take the time and possibly see what is wrong here. cause we know the triggers are triggering from the debug file. any help is appreciated.

Edited by Nightmeres, 02 April 2020 - 12:44 PM.



1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users