Problem with loc's......

Need some help with that macro you're working on or aren't quite sure how to get your macro to do something? Ask here!

Moderator: MacroQuest Developers

User avatar
driftinsupra
Official loudmouth
Official loudmouth
Posts: 212
Joined: Tue Jan 28, 2003 9:25 pm

Problem with loc's......

Post by driftinsupra » Thu Dec 11, 2003 6:16 pm

Ok I am wokring on making a bazaar script that will find the lowest of an item and go buy it but I am having a problem witha subrouting

Code: Select all

Sub traderisle(xloc,yloc)
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-770 /if n @yloc<-589 /varset isle 61
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-770 /if n @yloc<-589 /varset isle 62
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-772 /if n @yloc<-590 /varset isle 81
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-772 /if n @yloc<-590 /varset isle 82
   /if n @xloc>-240 /if n @xloc<-171 /if n @yloc>-713 /if n @yloc<-527 /varset islen 91
   /if n @xloc<-240 /if n @xloc>-233 /if n @yloc>-713 /if n @yloc<-527 /varset isle 92
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-571 /varset isle 51
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-514 /varset isle 52
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-495 /if n @yloc<-296 /varset isle 21
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-495 /if n @yloc<-296 /varset isle 22
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-495 /if n @yloc<-296 /varset isle 31
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-495 /if n @yloc<-296 /varset isle 32
   /return
What this should do is assign isle a number based on the location of the seller. The problem i am having is this. Say a seller is at 78,-364. The problem I am having is the /if statemtns up there dont set isle to anything although from the logic I am looking at they should be doing that. When I go through and look at it with the coords it should be settting isle to 22 yet it comes out equaling nothing. Anyone got any ideas?[/code]

User avatar
blueninja
a grimling bloodguard
a grimling bloodguard
Posts: 541
Joined: Thu Aug 28, 2003 7:03 am
Location: Göteborg, Sweden

Post by blueninja » Thu Dec 11, 2003 7:31 pm

The problem is not in the /if statements. I tested the following and it set isle to 22. You must have some other problem, the line where you call the sub.

Code: Select all

Sub Main
   /declare isle global
   /call traderisle 78 -364
   /echo isle:@isle
/return

Sub traderisle(xloc,yloc)
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-770 /if n @yloc<-589 /varset isle 61
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-770 /if n @yloc<-589 /varset isle 62
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-772 /if n @yloc<-590 /varset isle 81
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-772 /if n @yloc<-590 /varset isle 82
   /if n @xloc>-240 /if n @xloc<-171 /if n @yloc>-713 /if n @yloc<-527 /varset islen 91
   /if n @xloc<-240 /if n @xloc>-233 /if n @yloc>-713 /if n @yloc<-527 /varset isle 92
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-571 /varset isle 51
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-514 /varset isle 52
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-495 /if n @yloc<-296 /varset isle 21
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-495 /if n @yloc<-296 /varset isle 22
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-495 /if n @yloc<-296 /varset isle 31
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-495 /if n @yloc<-296 /varset isle 32
/return

ml2517
a grimling bloodguard
a grimling bloodguard
Posts: 1216
Joined: Wed Nov 12, 2003 1:12 am

Post by ml2517 » Thu Dec 11, 2003 7:38 pm

You also have a typo on one of the lines:

Code: Select all

Sub Main 
   /declare isle global 
   /call traderisle 78 -364 
   /echo isle:@isle 
/return 

Sub traderisle(xloc,yloc) 
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-770 /if n @yloc<-589 /varset isle 61 
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-770 /if n @yloc<-589 /varset isle 62 
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-772 /if n @yloc<-590 /varset isle 81 
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-772 /if n @yloc<-590 /varset isle 82 
   /if n @xloc>-240 /if n @xloc<-171 /if n @yloc>-713 /if n @yloc<-527 /varset [color=red]islen[/color] 91 
   /if n @xloc<-240 /if n @xloc>-233 /if n @yloc>-713 /if n @yloc<-527 /varset isle 92 
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-571 /varset isle 51 
   /if n @xloc>-118 /if n @xloc<107 /if n @yloc<-541 /if n @yloc>-514 /varset isle 52 
   /if n @xloc>95 /if n @xloc<129 /if n @yloc>-495 /if n @yloc<-296 /varset isle 21 
   /if n @xloc<95 /if n @xloc>62 /if n @yloc>-495 /if n @yloc<-296 /varset isle 22 
   /if n @xloc>-104 /if n @xloc<-72 /if n @yloc>-495 /if n @yloc<-296 /varset isle 31 
   /if n @xloc<-104 /if n @xloc>-145 /if n @yloc>-495 /if n @yloc<-296 /varset isle 32 
/return 

User avatar
driftinsupra
Official loudmouth
Official loudmouth
Posts: 212
Joined: Tue Jan 28, 2003 9:25 pm

Post by driftinsupra » Fri Dec 12, 2003 1:52 am

hmmm...when I called traderisle I had a comma in between the locs...could that be it?

User avatar
blueninja
a grimling bloodguard
a grimling bloodguard
Posts: 541
Joined: Thu Aug 28, 2003 7:03 am
Location: Göteborg, Sweden

Post by blueninja » Fri Dec 12, 2003 3:55 am

Yes, that would set xloc to 78,-364 and yloc undefined. They're separated by spaces.

ml2517
a grimling bloodguard
a grimling bloodguard
Posts: 1216
Joined: Wed Nov 12, 2003 1:12 am

Post by ml2517 » Fri Dec 12, 2003 11:47 am

You could do it like this also I think:

Code: Select all

Sub Main 
   /declare aisle global 
   /call traderaisle 78 -364 
   /echo aisle:@aisle 
/return 

Sub traderaisle
   /if n @Param0>95 /if n @Param0<129 /if n @Param1>-770 /if n @Param1<-589 /varset aisle 61 
   /if n @Param0<95 /if n @Param0>62 /if n @Param1>-770 /if n @Param1<-589 /varset aisle 62 
   /if n @Param0>-104 /if n @Param0<-72 /if n @Param1>-772 /if n @Param1<-590 /varset aisle 81 
   /if n @Param0<-104 /if n @Param0>-145 /if n @Param1>-772 /if n @Param1<-590 /varset aisle 82 
   /if n @Param0>-240 /if n @Param0<-171 /if n @Param1>-713 /if n @Param1<-527 /varset aisle 91 
   /if n @Param0<-240 /if n @Param0>-233 /if n @Param1>-713 /if n @Param1<-527 /varset aisle 92 
   /if n @Param0>-118 /if n @Param0<107 /if n @Param1<-541 /if n @Param1>-571 /varset aisle 51 
   /if n @Param0>-118 /if n @Param0<107 /if n @Param1<-541 /if n @Param1>-514 /varset aisle 52 
   /if n @Param0>95 /if n @Param0<129 /if n @Param1>-495 /if n @Param1<-296 /varset aisle 21 
   /if n @Param0<95 /if n @Param0>62 /if n @Param1>-495 /if n @Param1<-296 /varset aisle 22 
   /if n @Param0>-104 /if n @Param0<-72 /if n @Param1>-495 /if n @Param1<-296 /varset aisle 31 
   /if n @Param0<-104 /if n @Param0>-145 /if n @Param1>-495 /if n @Param1<-296 /varset aisle 32 
/return