I'm not sure if anyone's interested, but I'm going to post this anyway....
I'm paranoid about warping in noninstanced zones because my server is fairly populated, so to autoget vxed, I wrote this little addition. It requires advpath.inc and spell_routines.inc, which can be found in mq2's forums (I'm not posting them here because I've altered a few parts of them for other macros, best to just have standards...) spell_routines is just used for Equipment swapping, by the way, so if you don't need to or have another method of doing so it can be left out.
This will be long, so bear with me. I also assume you know a few things about macros, if you are the type who has to have things handed to you you'll have to get someone else to do it.
To start off, before Sub Main, put in:
Rich (BB code):
#include spell_routines.inc
#include advpath.inc
And somewhere in Sub Main before the loop
Replace Event_Zoned with this
Rich (BB code):
Sub Event_Zoned
/if (!(${Zone.Name.Find[Vxed]})&&!(${Zone.Name.Find[Barindu]})) {
/delay 5s
/sit
/delay 1s
/camp desktop
/endmacro
}
/if (${Zone.Name.Find[Barindu]}) /call GetMission
/return
Add this sub
Rich (BB code):
Sub WaitTilThere
:LoopTilThere
/if (${PathingFlag}==1) {
/call AdvPathPoll
/delay 0
/doevents
/goto :LoopTilThere
}
/return
(Necessary for advpath)
And finally add this sub
Rich (BB code):
Sub GetMission
/twist off
|Clicks off Selo's, advpath trips out at high speeds
/if (${Me.Buff[Selo`s Accelerating Chorus].ID}) {
/notify BuffWindow Buff${Int[${Math.Calc[${Me.Buff[Selo`s Accelerating Chorus].ID}-1]}]} leftmouseup
}
/delay 10
| My Selo's/Invis slot is 2, change as needed
/memspell 2 "Shauri`s Sonorous Clouding"
| Equip your flute, make sure to sub in the right name
| Or comment this line out if you have an always-equipped wind item
| Also change mainhand to offhand if it's a secondary instrument
/call EquipItem "YOURFLUTE|mainhand"
/delay 40
| Should match memspell above
/twist 2
:WaitInvis
/delay 30
/if (!${Me.Buff[Shauri`s Sonorous Clouding].ID}) /goto :WaitInvis
/call PlayFunction "VXED 1 cf nopp noz"
/call WaitTilThere
/if (${Me.Buff[Shauri`s Sonorous Clouding].ID}) {
/twist off
/notify BuffWindow Buff${Int[${Math.Calc[${Me.Buff[Shauri`s Sonorous
Clouding].ID}-1]}]} leftmouseup
}
| Get the missiobn
/tar npc Udranda
/delay 10
/say Vxed
/delay 20
/keypress esc
/twist 2
:InvisWait2
/delay 30
/if (!${Me.Buff[Shauri`s Sonorous Clouding].ID}) /goto :InvisWait2
| Run back and zone
/call PlayFunction "VXED2 1 cf nopp noz"
/call WaitTilThere
:ZoneWait
/delay 20
/if (!${Zone.ShortName.Equal[Vxed]}) /goto :ZoneWait
| Equip a brass or percussion instrument as needed
| See notes above
/call EquipItem "YOURINST|mainhand"
/twist off
| Re-Mem Selo's, face east
/memspell 2 "Selo`s Accelerating Chorus"
/delay 40
/twist 2
:SelosWait
/delay 10
/if (!${Me.Buff[Selo`s Accelerating Chorus].ID}) /goto :SelosWait
/face fast heading 270
| Cast DI (I have it memmed in slot 1) and wait for it to take hold
/twist once 1
:DIWait
/delay 1
/if (!${Me.Buff[Kazumi's Note of Preservation].ID}) /goto :DIWait
| Duh
/warp loc 132 -301 447
/delay 5
/circle on 72
| Start Running
/keypress FORWARD hold
| 2 is Selo's (repeating at the end makes it run smoother for me, for some reason)
| 4-8 are DoTs
/twist 2 4 5 6 7 8 2
/return
(Side-Note: I don't have it twisting in a heal, that's because in the main loop I added this line:
Rich (BB code):
/if ((${Me.PctHPs}<100)&&(!${Me.Song[Chorus of Marr].ID})) /twist once 3
where 3 is Chorus of Marr, obviously)
OK, now pathfiles...
If you don't know a lot about advpath, don't worry... just put these in your macro directory under the names I give.
PathFile_VXED.ini
Rich (BB code):
[PFLocs]
0=577.42 -1246.91 -118.42
1=564.33 -1249.18 -118.56
2=550.89 -1251.67 -118.70
3=537.26 -1254.44 -120.75
4=523.11 -1256.96 -118.86
5=508.69 -1258.74 -117.69
6=494.28 -1258.65 -119.26
7=480.09 -1255.66 -119.66
8=466.14 -1251.75 -120.26
9=452.45 -1247.19 -120.94
10=438.82 -1242.56 -121.38
11=424.77 -1238.51 -119.31
12=410.76 -1234.61 -117.60
13=396.71 -1230.56 -118.62
14=382.72 -1226.47 -121.33
15=368.98 -1221.71 -119.77
16=355.29 -1216.68 -121.27
17=341.69 -1211.63 -121.69
18=328.02 -1206.55 -121.69
19=314.41 -1201.49 -121.69
20=300.78 -1196.42 -119.80
21=287.19 -1191.34 -117.78
22=273.77 -1185.55 -118.68
23=260.56 -1179.56 -120.42
24=247.31 -1173.46 -121.38
25=234.76 -1166.01 -119.40
26=223.28 -1157.02 -118.92
27=212.50 -1147.17 -121.69
28=201.92 -1137.14 -121.69
29=192.53 -1125.96 -119.88
30=186.92 -1112.59 -120.96
31=182.50 -1098.81 -121.69
32=178.19 -1084.73 -121.69
33=173.99 -1070.88 -118.86
34=169.75 -1056.92 -116.57
35=165.49 -1042.86 -117.99
36=161.30 -1029.05 -120.56
37=157.03 -1014.99 -120.14
38=152.78 -1000.96 -121.54
39=148.56 -987.07 -119.42
40=144.30 -973.01 -120.63
41=140.02 -958.92 -121.69
42=135.80 -945.00 -121.69
43=131.57 -931.04 -121.69
44=127.47 -917.05 -121.55
45=125.95 -902.47 -121.60
46=130.09 -890.45 -119.76
47=136.69 -879.27 -118.70
48=143.08 -866.93 -117.72
49=149.96 -854.28 -120.53
50=157.25 -841.63 -119.25
51=165.21 -829.33 -116.84
52=173.68 -817.39 -115.22
53=183.16 -806.38 -116.07
54=192.94 -795.52 -114.81
55=202.25 -786.13 -114.19
56=213.80 -780.57 -114.44
57=226.90 -776.34 -116.00
58=241.02 -773.78 -117.75
59=255.25 -771.05 -115.82
PathFile_VXED2.ini
Rich (BB code):
[PFLocs]
0=267.18 -770.05 -119.11
1=254.75 -774.32 -119.38
2=242.95 -778.38 -115.90
3=230.58 -782.64 -117.30
4=217.02 -787.30 -115.64
5=205.69 -791.20 -114.19
6=192.66 -795.68 -114.19
7=178.97 -800.39 -115.01
8=165.10 -805.16 -114.91
9=150.93 -810.04 -117.06
10=139.77 -813.88 -119.68
11=137.01 -827.00 -119.99
12=135.74 -841.48 -121.29
13=135.08 -855.90 -119.62
14=134.52 -870.60 -117.28
15=134.21 -885.40 -118.51
16=134.17 -899.98 -120.82
17=134.31 -914.75 -121.41
18=134.49 -929.22 -121.69
19=134.67 -944.09 -121.69
20=134.85 -958.78 -121.69
21=135.03 -973.29 -121.69
22=135.24 -988.28 -120.76
23=135.70 -1002.74 -120.15
24=136.22 -1017.32 -117.96
25=136.76 -1032.00 -118.98
26=137.29 -1046.43 -121.69
27=137.82 -1060.85 -121.69
28=138.36 -1075.43 -121.69
29=138.90 -1090.11 -121.69
30=139.44 -1104.64 -121.69
31=139.97 -1119.11 -121.69
32=140.51 -1133.64 -121.69
33=141.05 -1148.44 -121.69
34=141.58 -1162.90 -120.07
35=142.12 -1177.44 -117.63
36=142.86 -1192.43 -118.70
37=149.84 -1203.80 -120.13
38=162.35 -1208.27 -121.39
39=175.90 -1213.12 -121.69
40=189.74 -1217.50 -121.69
41=203.87 -1221.50 -121.69
42=217.85 -1225.38 -121.69
43=231.87 -1229.26 -121.69
44=246.62 -1232.74 -121.69
45=260.69 -1235.62 -121.69
46=274.85 -1238.45 -121.69
47=289.04 -1241.27 -120.96
48=303.63 -1244.18 -119.00
49=317.87 -1247.01 -118.94
50=332.17 -1249.85 -118.85
51=346.90 -1252.78 -119.03
52=361.03 -1255.59 -119.25
53=375.26 -1258.42 -119.75
54=389.56 -1261.27 -120.92
55=404.22 -1264.18 -121.20
56=418.59 -1266.59 -121.34
57=432.93 -1267.50 -120.26
58=447.74 -1266.58 -118.75
59=462.20 -1265.08 -118.09
60=476.61 -1263.73 -119.08
61=491.04 -1262.04 -119.01
62=505.72 -1259.09 -118.61
63=519.70 -1256.73 -117.61
64=534.15 -1255.13 -119.40
65=548.58 -1253.68 -121.17
66=563.15 -1252.09 -118.74
67=577.33 -1250.31 -118.58
OK! That is all. Yeah, it's a ton of work compared to warping, but to me reputation is worth it (and it's one less chance for a gm will catch you).
If anyone actually bothers using these, please post any errors you have... if they're genuine problems I'll look into them but I'm far too lazy to answer simply not understanding how to use them.
And that's it. I am half-asleep now (and was when I wrote this) so I know a lot of it is inconsistent and just plain ugly scripting, but I've tested the new functions and they work perfectly for me...