Thread Rating:
		
			
				- 0 Votes - 0 Average
 
				- 1
 
				- 2
 
				- 3
 
				- 4
 
				- 5
 
			
		 
 
	
	
		
	
		
		Vaikin   
		
			Apprentice 
			  
			
			 
			
	Posts: 4 
	Likes Given: 0
 
Likes Received: 0 in 0 posts 
	Joined: May 2016
	
 Reputation: 0
  
			
 ![]()  
		
	 | 
	
		
			
RE: DOSWITCH 
			 
			
				Theres an example in the wiki, should be pretty clear. 
Code: 
 ON=@TargOn_Ground 
 
    POINT_INFO <ARGO.P> 
    SRC.SYSMESSAGE The point you targetted was: <VAR.TI_P> 
    DOSWITCH <VAR.TI_LOS> 
 
        SRC.SYSMESSAGE The point is not in your line of sight. 
        SRC.SYSMESSAGE The point is in your line of sight. 
 
    ENDDO 
    SRC.SYSMESSAGE The distance between you and that point is <EVAL <VAR.TI_DISTANCE>> tiles. 
    RETURN 1
  
			 
			
			
			
		 |  
	 
 | 
	| 05-30-2016 08:58 AM | 
	
		
	 | 
	
	
		   
		 
		
	 | 
	
		
		Coruja   
		
			Sphere Developer 
			      
			
			 
			
	Posts: 987 
	Likes Given: 5
 
Likes Received: 226 in 187 posts 
	Joined: Jul 2012
	
 Reputation: 7
  
			Dimension Shard
 ![]()  
		
	 | 
	
		
			
RE: DOSWITCH 
			 
			
				DOSWITCH is like an switch to select an specific pre-defined line on the code 
Code: 
 DOSWITCH 3 
  SYSMESSAGE Message 0 
  SYSMESSAGE Message 1 
  SYSMESSAGE Message 2 
  SYSMESSAGE Message 3 
  SYSMESSAGE Message 4 
ENDDO
  
this will make the code return "SYSMESSAGE Message 3"
 
of course it doesn't make sense use an fixed switch like this example, because if we always want the line 3, it makes more sense use directly "SYSMESSAGE Message 3" instead an useless DOSWITCH with many results but always returning the same fixed result 3
 
so DOSWITCH is usefull on situations where you already have some pre-defined lines and want trigger the correct line based on some other value, like this:
 
Code: 
 DOSWITCH <DIR> //this return an 0-7 value based on the direction your char is facing 
  SYSMESSAGE You are facing N 
  SYSMESSAGE You are facing NE 
  SYSMESSAGE You are facing E 
  SYSMESSAGE You are facing SE 
  SYSMESSAGE You are facing S 
  SYSMESSAGE You are facing SW 
  SYSMESSAGE You are facing W 
  SYSMESSAGE You are facing NW 
ENDDO
  
in other words, DOSWITCH does the same thing as this code below but using an clean/optimized code
 
Code: 
 IF (<DIR>==0) 
  SYSMESSAGE You are facing N 
ELIF (<DIR>==1) 
  SYSMESSAGE You are facing NE 
ELIF (<DIR>==2) 
  SYSMESSAGE You are facing E 
ELIF (<DIR>==3) 
  SYSMESSAGE You are facing SE 
ELIF (<DIR>==4) 
  SYSMESSAGE You are facing S 
ELIF (<DIR>==5) 
  SYSMESSAGE You are facing SW 
ELIF (<DIR>==6) 
  SYSMESSAGE You are facing W 
ELIF (<DIR>==7) 
  SYSMESSAGE You are facing NW 
ENDIF
  
			 
			
			
			
				
(This post was last modified: 05-31-2016 07:53 AM by Coruja.)
 
				
			 
		 |  
	 
 | 
	| 05-30-2016 04:19 PM | 
	
		
	 | 
	
	
		   
		The following 1 user Likes Coruja's post:1 user Likes Coruja's post 
		pointhz (05-31-2016)
	 | 
	
		
		pointhz   
		
			Journeyman 
			  
			
			 
			
	Posts: 148 
	Likes Given: 1
 
Likes Received: 55 in 28 posts 
	Joined: Oct 2013
	
 Reputation: 1
  
			
 ![]()  
		
	 | 
	
		
			
RE: DOSWITCH 
			 
			
				Thanks a lot Coruja    Pretty much clear now xD
 
Thanks for your answer too Vaikin. I'd seen that example already but couldnt figure out how the DOSWITCH function was picking the SYSMESSAGE xD 
 
If I look at the wiki example now I can figure it out. CanSeeLos returns either 0 or 1 and then it will pick either the first line or the second in the DOSWTICH. Makes sense, but it's not easy to find out unless you think about DOSWITCH picking a line by their order based on numbers.
			  
			
			
			
				
(This post was last modified: 05-31-2016 05:31 AM by pointhz.)
 
				
			 
		 |  
	 
 | 
	| 05-31-2016 05:29 AM | 
	
		
	 | 
	
	
		   
		 
		
	 | 
	 
	
	
		
	
	
		
 
	 
	
	
	
	
	
	
	
		
		
	
	
	
User(s) browsing this thread: 1 Guest(s)