User Tag List

Page 4 of 4 FirstFirst ... 2 3 4
Results 31 to 35 of 35

Thread: Checking for integers and floats....

  1. #31
    Keese
    Join Date
    Aug 2005
    Posts
    56
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    830
    Level
    10
    vBActivity - Bars
    Lv. Percent
    8.32%

    Re: Checking for integers and floats....

    Ok, I fixed all the errors. But when I swing the cane, it does absolutely nothing.

    Code:
    import "std.zh"
    item script Somaria{
    
    	int blockY = 0;
    	int blockX = 0;
    	int blockcombo = 0;
    	int blocksecret = 0;
    	int blockCset = 0;
    	int disapear = 0;
    
    		void run(){
    
    		int blockcheckY = 0;
    		int blockcheckX = 0;
    		float RmndrX = 0;
    		float RmndrY = 0;
    		float BlockrmndrX = 0;
    		float BlockrmndrY = 0;
    		int Blockposition = 0;
    
    			if (dispear == 0){
    				
    				if (Link->Dir == 0){
    				blockcheckY = Link->Y - 32;
    				blockcheckX = Link->X;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (ComboAt(blockcheckX, blockcheckY) == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    				if (Link->Dir == 1){
    				blockcheckY = Link->Y + 32;
    				blockcheckX = Link->X;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (ComboAt(blockcheckX, blockcheckY) == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockRmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    
    				if (Link->Dir == 2){
    				blockcheckY = Link->Y;
    				blockcheckX = Link->X - 32;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (ComboAt(blockcheckX, blockcheckY) == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    				if (Link->Dir == 3){
    				blockcheckY = Link->Y;
    				blockcheckX = Link->X + 32;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (ComboAt(blockcheckX, blockcheckY) == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockRmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    			}
    			else
    			{
    			Blockposition = (blockY & 240)+(blockX>>4);
    			Screen->ComboD [Blockposition] = 0;
                    	Screen->ComboF [Blockposition] = 0;
                    	disapear = 0;
    			}
    		
    		} //End of void run
    
    } //End of Script

  2. #32
    Is this the end?
    ZC Developer
    Saffith's Avatar
    Join Date
    Jan 2001
    Age
    41
    Posts
    3,389
    Mentioned
    178 Post(s)
    Tagged
    6 Thread(s)
    vBActivity - Stats
    Points
    6,432
    Level
    24
    vBActivity - Bars
    Lv. Percent
    70%

    Re: Checking for integers and floats....

    Code:
    if (ComboAt(blockcheckX, blockcheckY) == 0){
    I'm guessing you meant Screen->ComboS[ComboAt(blockcheckX, blockcheckY)].

  3. #33
    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.86%

    Re: Checking for integers and floats....

    Also, look at this:

    Code:
    int disapear = 0;
    
    		void run(){
    
    		int blockcheckY = 0;
    		int blockcheckX = 0;
    		float RmndrX = 0;
    		float RmndrY = 0;
    		float BlockrmndrX = 0;
    		float BlockrmndrY = 0;
    		int Blockposition = 0;
    
    			if (dispear == 0){
    You misspelled "disappear" BOTH times. Technically, all that matters is that the first and last variables there aren't the same, so that'll give you many problems. Oh yeah, and thanks for stealing my variables. :mad: Just kidding.

  4. #34
    Keese
    Join Date
    Aug 2005
    Posts
    56
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    830
    Level
    10
    vBActivity - Bars
    Lv. Percent
    8.32%

    Re: Checking for integers and floats....

    Now I seem to be having the same problem as Pikaguy.. the block appears only in the right hand corner and the disappearing function does not work.. Maybe my algorithm is messed up?

    Code:
    import "std.zh"
    item script Somaria{
    
    	int blockY = 0;
    	int blockX = 0;
    	int blockcombo = 0;
    	int blocksecret = 0;
    	int blockCset = 0;
    	int disapear = 0;
    	int Blockposition = 0;
    
    		void run(){
    
    		int blockcheckY = 0;
    		int blockcheckX = 0;
    		float RmndrX = 0;
    		float RmndrY = 0;
    		float BlockrmndrX = 0;
    		float BlockrmndrY = 0;
    		
    
    			if (disapear == 0){
    				
    				if (Link->Dir == 0){
    				blockcheckY = Link->Y - 32;
    				blockcheckX = Link->X;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (Screen->ComboS[ComboAt(blockcheckX, blockcheckY)] == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    				if (Link->Dir == 1){
    				blockcheckY = Link->Y + 32;
    				blockcheckX = Link->X;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (Screen->ComboS[ComboAt(blockcheckX, blockcheckY)] == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    
    				if (Link->Dir == 2){
    				blockcheckY = Link->Y;
    				blockcheckX = Link->X - 32;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (Screen->ComboS[ComboAt(blockcheckX, blockcheckY)] == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    
    				if (Link->Dir == 3){
    				blockcheckY = Link->Y;
    				blockcheckX = Link->X + 32;
    				RmndrX = blockcheckX % 16;
    	
    					if (RmndrX <= 8){
                    			blockcheckX = blockcheckX - RmndrX;
                				}
                				else
                				{
                    			blockcheckX = blockcheckX + 16 - RmndrX;
                				}
                			
    					RmndrY = blockcheckY % 16;
                			
    					if (RmndrY <= 8){
                				
                    			blockcheckY = blockcheckY - RmndrY;
                				}
                				else
                				{
                    			blockcheckY = blockcheckY + 16 - RmndrY;
               			 	}
    
    					if (Screen->ComboS[ComboAt(blockcheckX, blockcheckY)] == 0){
    					BlockrmndrX = blockX % 16;
    				
    					if (BlockrmndrX <= 8){
                    			blockX = blockX - BlockrmndrX;
                				}
                				else
                				{
                    			blockX = blockX + 16 - BlockrmndrX;
                				}
                				BlockrmndrY = blockY % 16;
    
                				if (BlockrmndrY <= 8){
                				
                    			blockY = blockY - BlockrmndrY;
                				}
                				else
                				{
                    			blockY = blockY + 16 - BlockrmndrY;
               				}			
    					Blockposition = (blockY & 240)+(blockX>>4);
    					Screen->ComboD [Blockposition] = blockcombo;
                    			Screen->ComboC [Blockposition] = blockCset;
                    			Screen->ComboF [Blockposition] = blocksecret;
                    			disapear = 1;}
    				}
    			}
    			else
    			{
    			Blockposition = (blockY & 240)+(blockX>>4);
    			Screen->ComboD [Blockposition] = 0;
                    	Screen->ComboF [Blockposition] = 0;
                    	disapear = 0;
    			}
    		
    		} //End of void run
    
    } //End of Script

  5. #35
    Gibdo beefster09's Avatar
    Join Date
    Mar 2006
    Age
    31
    Posts
    699
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    vBActivity - Stats
    Points
    2,709
    Level
    16
    vBActivity - Bars
    Lv. Percent
    97.27%

    Re: Checking for integers and floats....

    Quote Originally Posted by pikaguy900 View Post
    WHAT?! That's not what the Cane of Somaria did in ANY Zelda game. Maybe that script should be called "the Second Cane of Somaria".

    Double-check your script some more. One time, I accidentally forgot to close an "if" statement, which created my "Cane only works when facing North" problem. XD You may have forgotten some braces here and there (Brackets are [], parentheses are (), and BRACES are {}.), so check back over it. It never hurts to double-check your work before you release it, as I have just recently RElearned. (My first learning of it was when I released Adventure in Mysteria. XD I'll never make THAT mistake with quests again.) Then again, it CAN take some people a while to fix some obvious bugs... Sometimes, answers are directly in front of your face, but you'll often miss them. Anyways... Good luck on your script.
    I'm absolutely crazy how I organize my scripts, well how I structure them anyway. ALWAYS, In comments, I put end... and then whatever structural element I'm using I'll add. (i.e. // end while, // end ffc script) It helps me a lot. Also, I always indent and space between elements and everything. You'll know what I'm talking about when I release my Modern-style Beamos script. but that's just me. It makes it a lot easier to deal with later on.

    And Fire Wizz, I think you need an ffc script for it to work. Check that the block placer is using variables and not constants. I've had that happen to me when using TI-BASIC.
    Avatar: Just who the SPAAAACE do you think I am?

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