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
-
driftinsupra
- Official loudmouth

- Posts: 212
- Joined: Tue Jan 28, 2003 9:25 pm
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]
-
blueninja
- 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

- 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
-
driftinsupra
- 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?
-
blueninja
- 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

- 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