Can maybe use the ID's of each trader by town:Quote:
I think the GetAgentByName() function is broken that seems to be what is going on to make it work in any town.
I got it to work in eye of the north will salvage and buy kits and withdraw gold from chest if needed.
You can change lines
Code:24 ZoneMap(642) ; to the town you want 128 GoNearestNPCToCoords(-2748.00, 1019.00) ; to the merchant in the same town of your choice
Code:
;~ Description: Return merchant depending on MapID.
Func GetMerchant($aMapID = GetMapID())
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 209
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 196
Case 10, 11, 12, 139, 141, 142, 49, 857
Return 2036
Case 109, 120, 154
Return 1993
Case 116, 117, 118, 152, 153, 38
Return 1994
Case 122, 35
Return 2136
Case 123, 124
Return 2137
Case 129, 348, 390
Return 3402
Case 130, 218, 230, 287, 349, 388
Return 3403
Case 131, 21, 25, 36
Return 2086
Case 132, 135, 28, 29, 30, 32, 39, 40
Return 2101
Case 133, 155, 156, 157, 158, 159, 206, 22, 23, 24
Return 2107
Case 134, 81
Return 2011
Case 136, 137, 14, 15, 16, 19, 57, 73
Return 1989
Case 138
Return 1975
Case 193, 234, 278, 288, 391
Return 3618
Case 194, 213, 214, 225, 226, 242, 250, 283, 284, 291, 292
Return 3275
Case 216, 217, 249, 251
Return 3271
Case 219, 224, 273, 277, 279, 289, 297, 350, 389
Return 3617
Case 220, 274, 51
Return 3273
Case 222, 272, 286, 77
Return 3401
Case 248
Return 1207
Case 303
Return 3272
Case 376, 378, 425, 426, 477, 478
Return 5385
Case 381, 387, 421, 424, 427, 554
Return 5386
Case 393, 396, 403, 414, 476
Return 5666
Case 398, 407, 428, 433, 434, 435
Return 5665
Case 431
Return 4721
Case 438, 545
Return 5621
Case 440, 442, 469, 473, 480, 494, 496
Return 5613
Case 450, 559
Return 4989
Case 474, 495
Return 5614
Case 479, 487, 489, 491, 492, 502, 818
Return 4720
Case 555
Return 4988
Case 624
Return 6758
Case 638
Return 6060
Case 639, 640
Return 6757
Case 641
Return 6063
Case 642
Return 6047
Case 643, 645, 650
Return 6383
Case 644
Return 6384
Case 648
Return 6589
Case 652
Return 6231
Case 675
Return 6190
Case 808
Return 7448
Case 814
Return 104
EndSwitch
EndFunc ;==>GetMerchant
;~ Description: Return material trader depending on MapID.
Func GetMaterialTrader($aMapID)
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 204
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 191
Case 109, 49, 81
Return 2017
Case 193
Return 3624
Case 194, 242, 857
Return 3285
Case 250
Return 3286
Case 376
Return 5391
Case 398
Return 5671
Case 414
Return 5674
Case 424
Return 5392
Case 433
Return 5672
Case 438
Return 5624
Case 491
Return 4726
Case 492
Return 4727
Case 638
Return 6763
Case 640
Return 6764
Case 641
Return 6065
Case 642
Return 6050
Case 643
Return 6389
Case 644
Return 6390
Case 652
Return 6233
Case 77
Return 3415
Case 808
Return 7452
Case 818
Return 4729
EndSwitch
EndFunc ;==>GetMaterialTrader
;~ Description: Return rare material trader depending on MapID.
Func GetRareMaterialTrader($aMapID)
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 205
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 192
Case 109
Return 2003
Case 193
Return 3627
Case 194, 250, 857
Return 3288
Case 242
Return 3287
Case 376
Return 5394
Case 398, 433
Return 5673
Case 414
Return 5674
Case 424
Return 5393
Case 438
Return 5619
Case 49
Return 2044
Case 491, 818
Return 4729
Case 492
Return 4728
Case 638
Return 6766
Case 640
Return 6765
Case 641
Return 6066
Case 642
Return 6051
Case 643
Return 6392
Case 644
Return 6391
Case 652
Return 6234
Case 77
Return 3416
Case 81
Return 2089
EndSwitch
EndFunc ;==>GetRareMaterialTrader
;~ Description: Return rune trader depending on MapID.
Func GetRuneTrader($aMapID)
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 203
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 190
Case 109, 814
Return 2005
Case 193
Return 3630
Case 194, 242, 250
Return 3291
Case 248, 857
Return 1981
Case 396
Return 5678
Case 414
Return 5677
Case 438
Return 5626
Case 477
Return 5396
Case 487
Return 4732
Case 49
Return 2045
Case 502
Return 4733
Case 624
Return 6770
Case 640
Return 6769
Case 642
Return 6052
Case 643, 645
Return 6395
Case 644
Return 6396
Case 77
Return 3421
Case 808
Return 7456
Case 81
Return 2091
Case 818
Return 4711
EndSwitch
EndFunc ;==>GetRuneTrader
;~ Description: Return dye trader depending on MapID.
Func GetDyeTrader($aMapID)
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 206
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 193
Case 109, 49, 81, 857
Return 2016
Case 193
Return 3623
Case 194, 242
Return 3284
Case 250
Return 3283
Case 286
Return 3408
Case 381, 477
Return 5389
Case 403
Return 5669
Case 414
Return 5670
Case 640
Return 6762
Case 642
Return 6049
Case 644
Return 6388
Case 77
Return 3407
Case 812
Return 2113
Case 818
Return 4725
EndSwitch
EndFunc ;==>GetDyeTrader
; ~ Description: Return scroll trader depending on MapID.
Func GetScrollTrader($aMapID)
Switch $aMapID
Case 4, 5, 6, 52, 176, 177, 178, 179 ; proph gh
Return 207
Case 275, 276, 359, 360, 529, 530, 537, 538 ; factions and nf gh
Return 194
Case 109
Return 2004
Case 193
Return 3629
Case 194
Return 3289
Case 287
Return 3419
Case 396, 414
Return 5675
Case 426, 857
Return 5398
Case 442, 480
Return 5627
Case 49
Return 2046
Case 624
Return 6767
Case 638
Return 6062
Case 639, 640
Return 6768
Case 643, 644
Return 6393
Case 645
Return 6394
Case 77
Return 3418
Case 808
Return 7454
EndSwitch
EndFunc ;==>GetScrollTrader