Jump to content

Photo

Newbie Boss Help

help

  • Please log in to reply
17 replies to this topic

#1 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 26 May 2017 - 10:05 AM

I wasn't sure weather to put this in here or zquest editor help. I opted for here.

I have just added the newbie boss script (http://www.purezc.ne...=scripts&id=269) to my quest, because all my bosses are bad. i have started by making a water boss. However after setting it all up, when I go to the boss room, nothing happens. The enemy is there, but it is only 1 tile big, when it should be 3x3 and it is also invisible. It does nothing, however you can hit it and eventually kill it. I'm not sure

what I have done wrong to cause this. I have set all the enemy attributes, script constants, etc, but it doesn't seem to be working. As well as this, how do I actually get the script to activate, do i just place a ffc with it (it is a ffc script) or what. I don't know because this is my first time using an autoghost enemy.

 

Attached here are some images showing how I set up the combos and the enemy attributes.

 

Thank you for your time!

 



#2 Sans

Sans

    Hey kid wanna buy hot dogs ?

  • Members
  • Location:Judgement Hall

Posted 26 May 2017 - 10:10 AM

The easy way to setting up your boss is to check the exemple quest and do the same thing as the another quest. Make sure to setting Arguments 12, it's your ffc script slot.

And don't forget; If you imput your enemy with correct tiles the boss will works perfectly.

#3 Architect Abdiel

Architect Abdiel

    Kingdom Builder

  • Members
  • Real Name:Michael
  • Location:Florida

Posted 26 May 2017 - 11:08 AM

I had the same issue. And it was the FFC script slot as Cedric said. To find the slot, check your list of FFC scripts after you compile. The numbered slot is what you use for Argument 12.

Edited by Maikeru D. Shinigami, 26 May 2017 - 11:09 AM.


#4 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 26 May 2017 - 11:18 AM

I already did that, as seen here:

https://drive.google...YUlNZEZrSzlMQXc

it says that it is slot 24.

So I set atrribute 12 to 24;

https://drive.google...eDlRQV8zNTRxekk

Any other ideas as to what I've done wrong, or do I simply not understand what you mean?



#5 Architect Abdiel

Architect Abdiel

    Kingdom Builder

  • Members
  • Real Name:Michael
  • Location:Florida

Posted 26 May 2017 - 12:14 PM

Do you have ghost.zh as your active global script?

#6 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 26 May 2017 - 12:45 PM

No, because other scripts that I'm using are set there (I didn't even know ghost.zh used a global script).

Do I need to join them together?

-If so, I'm hopeless at it, so could you please do it for me because I'm bad at it. (here is my current script)

 

Thanks for your help so far and thanks again if you or anyone else is willing to help me join them together (or whatever else I need to do)



#7 Russ

Russ

    Caelan, the Encouraging

  • Administrators
  • Location:Washington

Posted 26 May 2017 - 02:07 PM

global script slot2{
	void run(){
	
		//Barrier stuff
		// Initialize variables used to listen on screen changes
		int curscreen = -1;
		
		//Hole/Lava stuff
		//Initialize variables used to store Link's strating position on Screen Init.
        int olddmap = Game->GetCurDMap();
        int oldscreen = Game->GetCurDMapScreen();
        int startx = Link->X;
        int starty = Link->Y;
        int startdir = Link->Dir;
 
        //Clear global variables used by Bottomless pits.
        Falling = 0;
        Warping = false;
		
		//Bottle Stuff
		RefreshBottles();
		
		//Setup variables for ice combos.
        Setup_IceCombos();
		
		//This initializes Ghost
		StartGhostZH();
		
		while(true){
			ScrollFix(); //This said to keep at the top of the while loop, but I'm not sure what it is
			if (Game->GetCurScreen() != curscreen) { //Barrier script
				curscreen = Game->GetCurScreen();
				Barriers_NewScreen();
			}
			EmptyBottleGlobal(); //Bottle stuff
			UpdateGhostZH1(); //Important ghost stuff
			
			Waitdraw(); //This is the magic half way point. Stuff above this is done BEFORE drawing, stuff below this AFTER drawing
			
			UpdateGhostZH2(); //More important ghost stuff		
			BombsScreenShake(); //Bomb Screen Shake script
			if(Link->Action != LA_SCROLLING) //Start of Hole/Lava stuff
            {
                Update_HoleLava(startx, starty, olddmap, oldscreen, startdir);
                if(Link->Z==0 && !Falling && (oldscreen != Game->GetCurDMapScreen() || olddmap != Game->GetCurDMap()))
                {
                    olddmap = Game->GetCurDMap();
                    oldscreen = Game->GetCurDMapScreen();
                    startx = Link->X;
                    starty = Link->Y;
                    startdir = Link->Dir;
                }
            } //End of Hole/Lava stuff
			Update_IceCombos(oldscreen); //Ice combo stuff
            oldscreen = Game->GetCurScreen(); //This too
			Waitframe();
		}
	}
}
(Not sure why Pure's messing with the formatting of that... but anyways)
Here you go. Use this instead of any other script called global in your script file.

If you want to understand what's happening, I've tried to annotate this decently. The gist of it, you can only have one global script running, so you combine all of them together. Most global scripts come in functions, which you add to the global in the right spot. For example, let's say you want to add a new global that looks like this.
 
void ReallyCoolGlobalScript(){ //Put this before the waitdraw in your global
	//Scary code goes here
}
All you would need to do is add this line:
ReallyCoolGlobalScript();
Somewhere above the "Waitdraw();" line in the global script, like how all the other functions have been added there.

#8 Timelord

Timelord

    The Timelord

  • Banned
  • Location:Prydon Academy

Posted 27 May 2017 - 02:11 AM

[...]

.

Been like that for a long time. The code auto=0 tag is broken. Use [ code ] in raw view to prevent that, or remove auto=0 from the form and make the wysiwyg editor use the normal [ code ] tag for now.

Edited by ZoriaRPG, 27 May 2017 - 02:12 AM.


#9 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 27 May 2017 - 02:35 AM

Thanks! The global script works. Also, thanks for trying to explain how to put the global scripts together. I think I understand how to do it, I'm just unfamiliar with programming code in the way it is done in zelda classic, because I use python which is quite different. However I think i understand what I'm meant to do now.

 

However, even after fixing the global scripts, my boss still does nothing.

I think the reason it may not be working might be because I've not actually got the script to work with my boss enemy.

How would I do this because it is a ffc script?

-Do I just place a ffc with the script attatched to it?

-Is it nothing to do with a ffc?

Is it somehting else that isn't working?

 

Thank for your time! Hopefully if I can get this enemy to work I shouldn't have problems with any others in the future!



#10 Architect Abdiel

Architect Abdiel

    Kingdom Builder

  • Members
  • Real Name:Michael
  • Location:Florida

Posted 27 May 2017 - 06:36 AM

You should be able to place it on the screen as an enemy. What are your arguments for the enemy?

Apologies for yesterday. I kinda disappeared. I don't really know how to set up a global script the way Russ did. I mean, I kind of understand, but I've never done it. I really should so I can have more global scripts running.

Edited by Maikeru D. Shinigami, 27 May 2017 - 06:39 AM.


#11 Avaro

Avaro

    o_o

  • Members
  • Real Name:Robin
  • Location:Germany

Posted 27 May 2017 - 07:47 AM

Yeah you should not place the FFC on the screen, you just place the enemy. Did you load the global script into the Active slot?



#12 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 27 May 2017 - 08:58 AM

yes I did.

 

Enemy arguments here:

https://drive.google...dV9DcXhnbTN1bkk

https://drive.google...djdsOUljaXFoM3c


Edited by TheLink, 29 May 2017 - 02:03 AM.


#13 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 30 May 2017 - 02:07 AM

I am going to post here everything about the enemy that I have done in case it helps.

 

The enemy arguments I used were:

 

Data 1:

Old: No tiles, w = 0, h = 0

Special: No tiles, w = 0, h = 0

New: the top left tile of the boss, w = 1, h = 1

Name: Water Boss

HP: 55

Damage: 4

W. damage: 2

Hunger: 0 

Use Pal CSet - not ticked

Random Rate: 0

Halt Rate: 4

Homing Factor: 0

Step Speed: 50

Pal CSet: -1

F. Rate: 0 (greyed out)

F. Rate: 0

Weapon: fireball

Type: other

O. Anim: none (greyed out

E. anim: none

Item Set:none

 

Data 2:

Misc. Attr. 1: 5

Misc. Attr. 2: 14

Misc. Attr. 3: 9

Misc. Attr. 4: 1

Misc. Attr. 5: 0

Misc. Attr. 6: 0

Misc. Attr. 7: 3

Misc. Attr. 8: 0

Misc. Attr. 9: 0

Misc. Attr. 10: 61

Misc. Attr. 11; 34816

Misc. Attr. 12: 24

BG Sound: 0 (none)

Hit Sound: Boss Hit

Death Sound: Boss Dies

 

Misc. Flags:

All of them aren't ticked.

 

Defences:

none for everything

 

Spawn Flags:

all tick boxes aren't ticked.

Spawn animation: Puff


Edited by TheLink, 30 May 2017 - 03:29 AM.


#14 TheLink

TheLink

    An octorok under a duck?!?!

  • Members
  • Location:UK

Posted 30 May 2017 - 04:07 AM

I just tried recreating it in the example quest for the Newbie Boss Script and it worked. It was exactly the same as my boss that isn't working.

I recorded it all, so that you can see if there is anything I haven't said/shown you: video link

 

Any ideas as to what isn't working???

 

Thanks for your time.



#15 Moosh

Moosh

    Tiny Little Questmaker

  • ZC Developers

Posted 30 May 2017 - 04:22 AM

So looking at what happened in that video, it seems apparent that the issue is with the ghost.zh global script which isn't calling the enemy script in the first place. One possible reason for this is that you didn't create a new save between adding ghost to your quest and testing it. If that's not it I may have to look at your script files. Particularly the one with the global script currently assigned to your Active global script slot.





Also tagged with one or more of these keywords: help

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users