User Tag List

Results 1 to 10 of 15

Thread: I can't push the block

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Keese
    Join Date
    Nov 2018
    Posts
    39
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    270
    Level
    6
    vBActivity - Bars
    Lv. Percent
    6.92%

    I can't push the block

    Hi

    I have a problem and hope we can solve it.

    I can't push the block to open the shutter, if a guy (no enemy) is in the room. Or does a guy count as enemy? Without a guy the trigger opens the door, but with a guy in the room I can't push the block.


  2. #2
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    Quote Originally Posted by Joeiiii View Post
    Hi

    I have a problem and hope we can solve it.

    I can't push the block to open the shutter, if a guy (no enemy) is in the room. Or does a guy count as enemy? Without a guy the trigger opens the door, but with a guy in the room I can't push the block.

    Room guys are enemies. If Link has the bracelet, try Push->Heavy instead of Push->Wait.

  3. #3
    Keese
    Join Date
    Nov 2018
    Posts
    39
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    270
    Level
    6
    vBActivity - Bars
    Lv. Percent
    6.92%
    With push-heavy I can move to block to the trigger, but nothing happens. The door stay closed.

    Maybe it's a silly question, but why are guys enemies? And why they are not in the list of enemies? So it would be possible to set the guys in the enemy editor as not beatable "enemies". Maybe an idea for a update?

    The "problem" in the posted picture: It is from a dungeon named "hall of wisdom", where Link can learn something about secrets and items. And because it is always good if he is learning by doing, the guy tells him, that he should push the block to the colored tile, so that the door get open. But it is not possible, if a helping guy is a bad enemy.

  4. #4
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    Quote Originally Posted by Joeiiii View Post
    With push-heavy I can move to block to the trigger, but nothing happens. The door stay closed.

    Maybe it's a silly question, but why are guys enemies? And why they are not in the list of enemies? So it would be possible to set the guys in the enemy editor as not beatable "enemies". Maybe an idea for a update?

    The "problem" in the posted picture: It is from a dungeon named "hall of wisdom", where Link can learn something about secrets and items. And because it is always good if he is learning by doing, the guy tells him, that he should push the block to the colored tile, so that the door get open. But it is not possible, if a helping guy is a bad enemy.

    Hmm...err... Use Flag 61 on the block itself, as an inherent flag That's |Push, 4-Way, Many. It'll work. The actual problem might be that the screen flag Block->Shutters requires enemies to be dead, but I don't think thaqt's the case. It's been a while since I made a Z1 dungeon, so I'll need to check.

    Jer originally made these types of sprited objects:
    GUYS, WEAPONS, ITEMS

    Every |C object derives in some way from those. Screen guys, shooting statues, enemies, and faeries are all in the GUYS class. In the future, I may allow marking screen guys in such a way that they don't interfere; and likewise with faeries.

    I can write a quick 'room guy' script that you can use here, to simulate the screen guy, if that'd suffice for now, and nothing else works:

    Code:
    //////////////////////////
    /// Fake Room Guy FFC  ///
    /// v0.1               ///
    /// 9th December, 2018 ///
    /// By: ZoriaRPG       ///
    //////////////////////////
    
    // Instructions
    //Put a solid combo down where you want the fake guy, 
    //then add an ffc to the screen. 
    //Set the FFC combo to the combo of a guy.
    //Set its script to fakeroomguy, then as the script args:
    
    // D0: The Screen Message to show. This is mandatory.
    // D1: Override the X position of the string. This is optional.
    // D2: Override the Y position of the string. This is optional.
    // D3: Override the default (white in Classic) string colour. 
    // D4: Override the default Z1 font.
    
    ffc script fakeroomguy
    {
    	void run(int zqstring, int mx, int my, int mcolour, int mfont)
    	{
    		if ( !mx ) mx = 24;
    		if ( !my ) my = 32;
    		if ( !mcolour ) mcolour = 0x01;
    		if ( !mfont ) mfont = FONT_Z1;
    		int buffer[100];
    		Game->GetMessage(zqstring, buffer);
    		while(1)
    		{
    			
    			Screen->DrawString(1, mx, my, mfont, mcolour, -1, 0, buffer, 128);
    			Waitframe();
    		}
    	}
    }

  5. #5
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    P.S. Do you have Block->Shutters, or Enemies->Shutters set in Screen Flags @Joeiiii ?

  6. #6
    Keese
    Join Date
    Nov 2018
    Posts
    39
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    270
    Level
    6
    vBActivity - Bars
    Lv. Percent
    6.92%
    Quote Originally Posted by ZoriaRPG View Post
    P.S. Do you have Block->Shutters, or Enemies->Shutters set in Screen Flags @Joeiiii ?
    With a guy in the room: If Block->Shutters is checked OR unchecked, the door is closed (and the block unmoveable)

    Without a guy:

    If Block->Shutters is unchecked, the door is open and I can move the stone. But for what? To open an open door?

    If Block->Shutters is checked, the door is closed, I can move the stone and the trigger makes the door open (as it should be).


    The other problem: I get the following error message, if I try to load your script:


  7. #7
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    Quote Originally Posted by Joeiiii View Post
    With a guy in the room: If Block->Shutters is checked OR unchecked, the door is closed (and the block unmoveable)

    Without a guy:

    If Block->Shutters is unchecked, the door is open and I can move the stone. But for what? To open an open door?

    If Block->Shutters is checked, the door is closed, I can move the stone and the trigger makes the door open (as it should be).
    You want Block>Shutters enabled, but not Enemies->Shutters. If that solved your problem, then you likely won't need the script, unless you run into a situation where you need a room guy, and you need something such as Enemies->Secret.

    Try it with your screen Guy set as 'Empty'. I think that may both show your message, and still alliow Enemy secrets.


    The other problem: I get the following error message, if I try to load your script:

    That's not at ASM script. You'd compile it in the ZScript buffer:

    Press the 'Y' key to open the ZScript dialogue, or go to Quest->Scripts->Compile ZScript
    Click the Import button
    Select the file by typing in the filename under which you saved it--2.50.2 will only list files with an extension of .z--I fixed this starting in 2.53.
    At the top of the buffer, add:
    Code:
    import "std.zh"
    Close the buffer. When the dialogue asks if you wish to save it, confirm with 'Yes', then click 'Compile'.

    When the compiler finishes, youll see the 'Assign to slot' dialogue.

    Click on the FFC tab. click the script name, and click the assign << button t assign it to the lowest unused slot.

    Click the OK button to complete the process. The script will now be available to the FFC editor dialogues.

    -----or

    http://timelord.insomnia247.nl/zc-de...keroomguy.zasm

    Download that, and use the Import ASM FFC Script dialogue to load it to your lowest-numbered, unused ffc script slot.

  8. #8
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    P.S.

    Here's an update of the script, that fully-emulates the Z1 message speed and text sound:

    Code:
    import "std.zh"
    
    ///////////////////////////
    /// Fake Room Guy FFC   ///
    /// v0.3                ///
    /// 11th December, 2018 ///
    /// By: ZoriaRPG        ///
    ///////////////////////////
    
    // Instructions
    //Put a solid combo down where you want the fake guy, 
    //then add an ffc to the screen. 
    //Set the FFC combo to the combo of a guy.
    //Set its script to fakeroomguy, then as the script args:
    
    // D0: The Screen Message to show. This is mandatory.
    // D1: Override the X position of the string. This is optional.
    // D2: Override the Y position of the string. This is optional.
    // D3: Override the default (white in Classic) string colour. 
    // D4: Override the default Z1 font.
    // D5: Delay between characters output to the screen. Emulates Z1 messages. 
    
    ffc script fakeroomguy
    {
    	void run(int zqstring, int mx, int my, int mcolour, int mfont, int delay)
    	{
    		if ( !mx ) mx = 24;
    		if ( !my ) my = 32;
    		if ( !mcolour ) mcolour = 0x01;
    		if ( !mfont ) mfont = FONT_Z1;
    		if ( !delay ) delay = 8;
    		int buffer[100];
    		GetMessage(zqstring, buffer);
    		for ( int q = 99; q > 0; --q )
    		{
    			if ( buffer[q] != 0 && buffer[q] != ' ' ) break;
    			else buffer[q] = 0;
    		}
    		int msg[100]; int pos; int f; bool trail; bool done = false;
    		while(1)
    		{
    			
    			++f; ++g;
    			if ( !(f%delay) && !done ) 
    			{
    				if ( !buffer[pos] ) 
    				{
    					done = true;
    				}
    				else
    				{
    					msg[pos] = buffer[pos];
    					if ( buffer[pos] != 0 ) Game->PlaySound(18);
    					++pos;
    				}
    			}
    			
    			Screen->DrawString(1, mx, my, mfont, mcolour, -1, 0, msg, 128);
    			Waitframe();
    		}
    	}
    }
    ...and the ZASM Script

  9. #9
    The Timelord
    QDB Manager
    ZC Developer

    Join Date
    Oct 2006
    Location
    Prydon Academy
    Posts
    1,396
    Mentioned
    112 Post(s)
    Tagged
    1 Thread(s)
    vBActivity - Stats
    Points
    4,760
    Level
    21
    vBActivity - Bars
    Lv. Percent
    68.7%
    That file is incorrect, or corrupt. The ZIP contained what reported to be an ISO file.

    Please use a host without adware, or send the file to me over Discord.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
About us
Armageddon Games is a game development group founded in 1997. We are extremely passionate about our work and our inspirations are mostly drawn from games of the 8-bit and 16-bit era.
Social