User Tag List

Page 2 of 3 FirstFirst 1 2 3 LastLast
Results 11 to 20 of 22

Thread: Am I doing something wrong, or is this a bug?

  1. #11
    Ultimate Prankster Lucario QDB Manager
    Just registered
    Nimono's Avatar
    Join Date
    Nov 2005
    Location
    Static Void Kingdom
    Age
    32
    Posts
    1,963
    Mentioned
    5 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    6,276
    Level
    24
    vBActivity - Bars
    Lv. Percent
    43.92%

    Re: Am I doing something wrong, or is this a bug?

    I finally figured out my problem while turning some things into arrays. Apparently, whenever I needed to set the IsPlaced value for a Bomb to false after the explosion, I ALWAYS USED IsPlaced1, never anything else. Thus, the explosions never ended past the first, and problems were created. I finally fixed this.

    Now to explore a new path- Bomberman is a custom enemy controlled by the global script, and the player is set elsewhere. :O

    EDIT: Err... New problem. The Bomb's explosion refuses to damage enemies... It can't be due to its Step being 0, because as an lweapon, the Bomb affects enemies. (I changed it to a mere layered tile so it WON'T affect enemies...) But never did the fires hurt enemies...

    Code:
    			if(IsPlaced[0])
    			{
    				if(bombtimer[0] > 0)
    				{
    					if(!isremote && !IsRem[0])
    					{
    						bombtimer[0]--;
    					}
    					Screen->DrawTile(2, BombX1, BombY1-2, BombTile[0], 1, 1, 7, 1, 0, 0, 0, 0, true, 128);
    				}
    				if(Link->InputB && isremote && IsRem[0])
    				{
    					bombtimer[0] = 0;
    				}
    				if(bombtimer[0] == 0)
    				{
    					bombcount--;
    					if(Screen->ComboS[ComboAt(BombX1, BombY1-16)] == 0)
    					{
    						Screen->CreateLWeapon(254);
    						int numwpns = Screen->NumLWeapons();
    						Fire1[0] = Screen->LoadLWeapon(numwpns);
    						Fire1[0]->Step = 0;
    						Fire1[0]->HitHeight = 16;
    						Fire1[0]->HitWidth = 16;
    						Fire1[0]->Damage = 2;
    						Fire1[0]->X = BombX1;
    						Fire1[0]->Y = BombY1 - 16;
    						Fire1[0]->ASpeed = 8;
    						Fire1[0]->NumFrames = 8;
    						Fire1[0]->OriginalTile = 440;
    						Fire1[0]->DeadState = 40;
    						Fire1[0]->CSet = 7;
    					}
    					if(Screen->ComboS[ComboAt(BombX1-16, BombY1)] == 0)
    					{
    						Screen->CreateLWeapon(254);
    						int numwpns = Screen->NumLWeapons();
    						Fire2[0] = Screen->LoadLWeapon(numwpns);
    						Fire2[0]->Step = 0;
    						Fire2[0]->HitHeight = 16;
    						Fire2[0]->HitWidth = 16;
    						Fire2[0]->Damage = 2;
    						Fire2[0]->X = BombX1 - 16;
    						Fire2[0]->Y = BombY1;
    						Fire2[0]->ASpeed = 8;
    						Fire2[0]->NumFrames = 8;
    						Fire2[0]->OriginalTile = 385;
    						Fire2[0]->DeadState = 40;
    						Fire2[0]->CSet = 7;
    					}
    					if(Screen->ComboS[ComboAt(BombX1+16, BombY1)] == 0)
    					{
    						Screen->CreateLWeapon(254);
    						int numwpns = Screen->NumLWeapons();
    						Fire3[0] = Screen->LoadLWeapon(numwpns);
    						Fire3[0]->Step = 0;
    						Fire3[0]->HitHeight = 16;
    						Fire3[0]->HitWidth = 16;
    						Fire3[0]->Damage = 2;
    						Fire3[0]->X = BombX1 + 16;
    						Fire3[0]->Y = BombY1;
    						Fire3[0]->ASpeed = 8;
    						Fire3[0]->NumFrames = 8;
    						Fire3[0]->OriginalTile = 405;
    						Fire3[0]->DeadState = 40;
    						Fire3[0]->CSet = 7;
    					}
    					if(Screen->ComboS[ComboAt(BombX1, BombY1+16)] == 0)
    					{
    						Screen->CreateLWeapon(254);
    						int numwpns = Screen->NumLWeapons();
    						Fire4[0] = Screen->LoadLWeapon(numwpns);
    						Fire4[0]->Step = 0;
    						Fire4[0]->HitHeight = 16;
    						Fire4[0]->HitWidth = 16;
    						Fire4[0]->Damage = 2;
    						Fire4[0]->X = BombX1;
    						Fire4[0]->Y = BombY1 + 16;
    						Fire4[0]->ASpeed = 8;
    						Fire4[0]->NumFrames = 8;
    						Fire4[0]->OriginalTile = 500;
    						Fire4[0]->DeadState = 40;
    						Fire4[0]->CSet = 7;
    					}
    					Screen->CreateLWeapon(254);
    					int numwpns = Screen->NumLWeapons();
    					Fire5[0] = Screen->LoadLWeapon(numwpns);
    					Fire5[0]->Step = 0;
    					Fire5[1]->HitHeight = 16;
    					Fire5[1]->HitWidth = 16;
    					Fire5[0]->Damage = 2;
    					Fire5[0]->X = BombX1;
    					Fire5[0]->Y = BombY1;
    					Fire5[0]->ASpeed = 8;
    					Fire5[0]->NumFrames = 8;
    					Fire5[0]->OriginalTile = 480;
    					Fire5[0]->DeadState = 40;
    					Fire5[0]->CSet = 7;
    					Game->PlaySound(3);
    					IsPlaced[0] = false;
    (Yes, I know that this isn't closed up properly. I don't feel like copying the rest of the code in that section because it's unrelated.)

    There's the code for the fire...

  2. #12
    Ultimate Prankster Lucario QDB Manager
    Just registered
    Nimono's Avatar
    Join Date
    Nov 2005
    Location
    Static Void Kingdom
    Age
    32
    Posts
    1,963
    Mentioned
    5 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    6,276
    Level
    24
    vBActivity - Bars
    Lv. Percent
    43.92%

    Re: Am I doing something wrong, or is this a bug?

    Sorry for the bump and double-post, but I'd like some attention for this question.

    First off, disregard my previous question, as I solved it already. (I need to find a weapon that stays in place and doesn't vanish when an enemy hits it, like the Fire and Golden Arrow do...but I don't know of any way to apply that effect to any other weapon.) Anyways, here comes the question.

    Is there any way I can remove the current message on-screen? I'd like to have a message that remains on-screen until a new one appears, but if I do that, I'd have to delete the old message before displaying the new one, because new messages don't make old ones vanish... Pretty much what I'm doing is making a menu screen. You've got 3 choices, and I want a message to pop up when you have one selected that describes it. :/

    Thanks in advance!

  3. #13
    Lynel
    ZC Developer
    pkmnfrk's Avatar
    Join Date
    Jan 2004
    Location
    Toronto
    Age
    37
    Posts
    1,248
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    3,142
    Level
    18
    vBActivity - Bars
    Lv. Percent
    10.56%
    I would kill for this functionality. Needless to say, it does not currently exist.
    Tale of the Cave - a web comic - Updates Monday, Wednesday, Friday
    ZC Tutorials - Tutorials and Script Library - Updated July 30, 2008
    ZeldaGuard - Corruption in my save files? It's more likely than you think!
    I do script requests!

  4. #14
    The Time-Loop Continues ZC Developer
    Gleeok's Avatar
    Join Date
    Apr 2007
    Posts
    4,826
    Mentioned
    259 Post(s)
    Tagged
    10 Thread(s)
    vBActivity - Stats
    Points
    12,959
    Level
    33
    vBActivity - Bars
    Lv. Percent
    26.21%

    Re: Am I doing something wrong, or is this a bug?

    Quote Originally Posted by pikaguy900 View Post
    (I need to find a weapon that stays in place and doesn't vanish when an enemy hits it, like the Fire and Golden Arrow do...but I don't know of any way to apply that effect to any other weapon.) Anyways, here comes the question.
    You just have to use your imagination. Look at the script file in my megaman tileset. The Hurricane Kick and Shuriken achieve this. If you've played Street Fighter then you know the controls for those yes?
    http://www.mediafire.com/file/ztzwzt..._ver0.54.1.qst -Uses 887.


    Quote Originally Posted by pikaguy900 View Post
    Is there any way I can remove the current message on-screen? I'd like to have a message that remains on-screen until a new one appears, but if I do that, I'd have to delete the old message before displaying the new one, because new messages don't make old ones vanish... Pretty much what I'm doing is making a menu screen. You've got 3 choices, and I want a message to pop up when you have one selected that describes it. :/

    Thanks in advance!
    You're going to have to script custom messages. It's not too hard though. pkmnfrk and I both have made a custom message script. there's a thread somewhere...around...here.....hmm....

    Well good luck to you sir.
    This post contains the official Gleeok seal of approval. Look for these and other posts in an area near you.

  5. #15
    Developer
    ZC Developer

    Join Date
    Aug 2006
    Location
    Australia
    Age
    37
    Posts
    2,777
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,851
    Level
    25
    vBActivity - Bars
    Lv. Percent
    37.71%

    Re: Am I doing something wrong, or is this a bug?

    Quote Originally Posted by pikaguy900 View Post
    Is there any way I can remove the current message on-screen?
    Screen->Message(0);

    EDIT: Actually, this doesn't work. Nevermind.

  6. #16
    Octorok
    Join Date
    Jan 2008
    Age
    32
    Posts
    129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    939
    Level
    10
    vBActivity - Bars
    Lv. Percent
    63.72%

    Re: Am I doing something wrong, or is this a bug?

    Pitwarp Link to the same screen? Though that method would restore the enemies on screen... :S

  7. #17
    Developer
    ZC Developer

    Join Date
    Aug 2006
    Location
    Australia
    Age
    37
    Posts
    2,777
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    6,851
    Level
    25
    vBActivity - Bars
    Lv. Percent
    37.71%

    Re: Am I doing something wrong, or is this a bug?


  8. #18
    Ultimate Prankster Lucario QDB Manager
    Just registered
    Nimono's Avatar
    Join Date
    Nov 2005
    Location
    Static Void Kingdom
    Age
    32
    Posts
    1,963
    Mentioned
    5 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    6,276
    Level
    24
    vBActivity - Bars
    Lv. Percent
    43.92%

    Re: Am I doing something wrong, or is this a bug?

    New problem, guys~

    Code:
    ffc script MonsterBlast
    {
    	void run(int ID1, int ID2, int ID3, int ID4, int MaxNPC)
    	{
    		Screen->ComboT[0] = 0;
    		P1Score = 0;
    		P2Score = 0;
    		frame = 0;
    		Reload1 = 180;
    		Reload2 = 180;
    		FlameTimer1 = 0;
    		FlameTimer2 = 0;
    		IsSpecial = true;
    		while(true)
    		{
    			if(Screen->NumNPCs() < MaxNPC)
    			{
    				Waitframes(10);
    				int RandomNum = Rand(4);
    				if(RandomNum == 0)
    				{
    					Screen->CreateNPC(ID1);
    				}
    				else if(RandomNum == 1)
    				{
    					Screen->CreateNPC(ID2);
    				}
    				else if(RandomNum == 2)
    				{
    					Screen->CreateNPC(ID3);
    				}
    				else
    				{
    					Screen->CreateNPC(ID4);
    				}
    				for(int c=0; c<10; c++)
    				{
    					npc E = Screen->LoadNPC(c);
    					if(E->X == 0 && E->Y == 0)
    					{
    						E->X = 112;
    						E->Y = 80;
    					}
    				}
    			}
    			if(P1Score >= 9)
    			{
    				MaxNPC = 0;
    				for(int c=0; c<10; c++)
    				{
    					npc E = Screen->LoadNPC(c);
    					E->HP = 0;
    				}
    				Waitframes(120);
    				Screen->ComboT[0] = 94;
    			}
    			else if(P2Score >= 9)
    			{
    				MaxNPC = 0;
    				for(int c=0; c<10; c++)
    				{
    					npc E = Screen->LoadNPC(c);
    					E->HP = 0;
    				}
    				Waitframes(120);
    				Screen->ComboT[0] = 95;
    			}
    			Waitframe();
    		}
    	}
    }
    This is part of the multiplayer minigame I scripted. (Don't ask about it- I posted it at PureZC and CZC. Go look for it if you REALLY want to play it. ) This is just the check for if someone's won yet...and the creating of the enemies when destroyed. Anyways, all that works fine. What DON'T are the parts that change a combo to auto-warp. THOSE works fine until you warp. They warp you to a victory screen, but when you warp there, YOU AUTOMATICALLY WARP USING THE SIDE WARP B!

    Code:
    ffc script VictoryScreen
    {
    	void run()
    	{
    		P1Score = 0;
    		P2Score = 0;
    		bool AStop = false;
    		bool BStop = false;
    		IsSpecial = false;
    		while(true)
    		{
    			if(Link->InputA && !AStop)
    			{
    				AStop = true;
    				Screen->ComboT[0] = 94;
    			}
    			if(Link->InputB && !BStop)
    			{
    				BStop = true;
    				Screen->ComboT[0] = 95;
    			}
    			if(!Link->InputA)
    			{
    				AStop = false;
    			}
    			if(!Link->InputB)
    			{
    				BStop = false;
    			}
    			Waitframe();
    		}
    	}
    }
    NONE of those buttons are pressed when you first enter the screen, yet the Combo in Position 0 automatically gets set to Combo Type 95, Auto Warp B. Now, this isn't a problem with the Victory Screen script...

    Code:
    ffc script StoryMode
    {
    	void run()
    	{
    		IsDisallow = false;
    	}
    }
    All this does is re-enables the normal use of Bombs for the Single-Player Mode. Yet, if you play the Minigame before going to this FFC's screen, when you enter it, YOU WARP AGAIN!! I CANNOT understand or figure out why the HECK this is happening. Please help! REWARD: 1 Thank You. *runs*

  9. #19
    Octorok
    Join Date
    Jan 2008
    Age
    32
    Posts
    129
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    939
    Level
    10
    vBActivity - Bars
    Lv. Percent
    63.72%

    Re: Am I doing something wrong, or is this a bug?

    Maybe try putting a Waitframes(60=1 second); after warping the player to let the time for Link to finish warping. Also, it would be smart that you disable the input that has been pushed for at least one frame.

    I don't quite understand the script itself though.

  10. #20
    Ultimate Prankster Lucario QDB Manager
    Just registered
    Nimono's Avatar
    Join Date
    Nov 2005
    Location
    Static Void Kingdom
    Age
    32
    Posts
    1,963
    Mentioned
    5 Post(s)
    Tagged
    2 Thread(s)
    vBActivity - Stats
    Points
    6,276
    Level
    24
    vBActivity - Bars
    Lv. Percent
    43.92%

    Re: Am I doing something wrong, or is this a bug?

    No, that didn't help anything, lucas. Hmm... Maybe it's shared combos? ...No, that wouldn't make sense for the victory screen. Hmm.. Oh well.

    Another problem now.

    Code:
    void DestroyWall(int X, int Y, int time, int Bomb)
    {
    	int Items[8] = {0,0,0,0,0,0,123,123};
    	int randomnumber;
    	bool Stop1 = false;
    	bool Stop2 = false;
    	bool Stop3 = false;
    	bool Stop4 = false;
    	for(int i=0; i<=Game->Counter[5]; i++)
    	{
    		if((Screen->ComboS[ComboAt(X, Y-((i*16)+16))] == 0 && !Stop1))
    		{
    			if(Screen->ComboI[ComboAt(X, Y-(i*16))] == 6)
    			{
    				Screen->ComboD[ComboAt(X, Y-(i*16))] += 1;
    				randomnumber = Floor(Rand(9));
    				if(Items[randomnumber] != 0)
    				{
    					Screen->CreateItem(Items[randomnumber]);
    					int numitms = Screen->NumItems();
    					item RndmItm = Screen->LoadItem(numitms);
    					RndmItm->X = X;
    					RndmItm->Y = Y - (i*16);
    				}
    			}
    		}
    		else
    		{
    			Stop1 = true;
    		}
    		if(Screen->ComboS[ComboAt(X, Y+((i*16)-16))] == 0 && !Stop2)
    		{
    			if(Screen->ComboI[ComboAt(X, Y+(i*16))] == 6)
    			{
    				Screen->ComboD[ComboAt(X, Y+(i*16))] += 1;
    				randomnumber = Floor(Rand(9));
    				if(Items[randomnumber] != 0)
    				{
    					Screen->CreateItem(Items[randomnumber]);
    					int numitms = Screen->NumItems();
    					item RndmItm = Screen->LoadItem(numitms);
    					RndmItm->X = X;
    					RndmItm->Y = Y + (i*16);
    				}
    			}
    		}
    		else
    		{
    			Stop2 = true;
    		}
    		if(Screen->ComboS[ComboAt(X-((i*16)+16), Y)] == 0 && !Stop3)
    		{
    			if(Screen->ComboI[ComboAt(X-(i*16), Y)] == 6)
    			{
    				Screen->ComboD[ComboAt(X-(i*16), Y)] += 1;
    				randomnumber = Floor(Rand(9));
    				if(Items[randomnumber] != 0)
    				{
    					Screen->CreateItem(Items[randomnumber]);
    					int numitms = Screen->NumItems();
    					item RndmItm = Screen->LoadItem(numitms);
    					RndmItm->X = X - (i*16);
    					RndmItm->Y = Y;
    				}
    			}
    		}
    		else
    		{
    			Stop3 = true;
    		}
    		if(Screen->ComboS[ComboAt(X+((i*16)-16), Y)] == 0 && !Stop4)
    		{
    			if(Screen->ComboI[ComboAt(X+(i*16), Y)] == 6)
    			{
    				Screen->ComboD[ComboAt(X+(i*16), Y)] += 1;
    				randomnumber = Floor(Rand(9));
    				if(Items[randomnumber] != 0)
    				{
    					Screen->CreateItem(Items[randomnumber]);
    					int numitms = Screen->NumItems();
    					item RndmItm = Screen->LoadItem(numitms);
    					RndmItm->X = X + (i*16);
    					RndmItm->Y = Y;
    				}
    			}
    		}
    		else
    		{
    			Stop4 = true;
    		}
    	}
    }
    I run this when my Bomb explodes so I can keep it seperate from the rest of the code, and thus, it looks just a wee bit neater. ...not much, though. Anyways, I have a problem with this stuff. If a block next to the Bomb is solid, and it's set to be Bombable, the wall is changed to the next combo, which removes it, as it's a cycling combo. Minor problem! For some reason, you cannot blow up walls below you unless the explosion is also blocked on the left and right, or maybe just left. Likewise, you cannot blow up a wall on your right unless the explosion is blocked on the BOTTOM! So, you cannot blow up more than one wall at a time, no matter how many walls your explosions are hitting. And I don't even know why the heck this is! Everything looks perfectly fine, right?! D:

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