NPCRECT changes by Crwth In the NPC script files, the meaning of the values of FX1, FX2, FY1, FY2 and FZ1 have changed. Because a Scriptwriter doesn't know where the NPC will be placed, a valid set of 'true' coordinates cannot be given for a bounding rectangle or circle. Because of this, the values of the "F" coordinate values will not be interpreted as RELATIVE coordinates - coordinates based on where the NPC was created. For example: 72 73 74 75 76 77 78 79 80 81 __ __ __ __ __ __ __ __ __ __ 78|__|__|__|__|__|__|__|__|__|__| 79|__|__|__|__|__|__|__|__|__|__| 80|__|__|__|__|__|__|__|__|__|__| 81|__|__|__|__|__|__|__|__|__|__| 82|__|__|__|__|__|__|__|__|__|__| 83|__|__|__|__|__|__|__|__|__|__| 84|__|__|__|__|__|__|__|__|__|__| 85|__|__|__|__|__|__|__|__|__|__| 86|__|__|__|__|__|__|__|__|__|__| 87|__|__|__|__|__|__|__|__|__|__| This is a small shop (use your imagination...) If an NPC is added at X=77, Y=82, Z=0, 72 73 74 75 76 77 78 79 80 81 __ __ __ __ __ __ __ __ __ __ 78|__|__|__|__|__|__|__|__|__|__| 79|__|__|__|__|__|__|__|__|__|__| 80|__|__|__|__|__|__|__|__|__|__| 81|__|__|__|__|__|__|__|__|__|__| 82|__|__|__|__|__|XX|__|__|__|__| 83|__|__|__|__|__|__|__|__|__|__| 84|__|__|__|__|__|__|__|__|__|__| 85|__|__|__|__|__|__|__|__|__|__| 86|__|__|__|__|__|__|__|__|__|__| 87|__|__|__|__|__|__|__|__|__|__| we want him to be able to walk anywhere in the store. Optimally, we would like to say that FX1=72, FY1=78, FX2=81, FY2=87, FZ1=-1. For someone just adding in a vendor, though, we'd like them to be able to just click in the center of the shop, and it'll go. With the new system, if we set FX1=-4, this means that the NPC can go as far as 4 squares left (negative on the x-axis) from the starting point. Also, FY1=-4 gives us 4 squares up. With FX2=4 and FY2=4, our NPC will be able to walk in this area: 72 73 74 75 76 77 78 79 80 81 __ __ __ __ __ __ __ __ __ __ 78|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 79|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 80|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 81|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 82|__|oo|oo|oo|oo|XX|oo|oo|oo|oo| 83|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 84|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 85|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 86|__|oo|oo|oo|oo|oo|oo|oo|oo|oo| 87|__|__|__|__|__|__|__|__|__|__| This doesn't quite reach all of the shop, though. Sure, changing the FX1 and FY1 to -5 would work, but we don't have the luxury of knowing this when writing the npc.scp file. Setting them to (-5,-5) (5,5) would give us this: 72 73 74 75 76 77 78 79 80 81 oo oo oo oo oo oo oo oo oo oo oo 78|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 79|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 80|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 81|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 82|oo|oo|oo|oo|oo|XX|oo|oo|oo|oo|oo 83|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 84|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 85|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 86|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo 87|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo|oo This means that the NPC is ALLOWED outside the shop, but there's no way for the NPC to get there. Even (-6,-6) (6,6) would be okay; they could wander around the outside of the building. I don't really know what the size of shops usually are, and of course they can change. Without changing the NPCs wander numbers by hand, there's really no perfect way (unless we had the NPC understand that it was INDOORS, which isn't going to happen soon). If the range is too small, then the vendor just won't walk to the edges of the shop: it's quite possible no one would ever notice that. Making the range a little too big shouldn't be bad, either; the vendor will always "be around". So, for vendors, something like FX1=-6 FY1=-6 FX2=6 FY2=6 FZ1=-1 and for monsters, perhaps FX1=-12 FY1=-12 FX2=12 FY2=12 FZ1=-1 But it's up to you! Some monsters might roam farther, some not at all... of course, what this means is a pile of modifications to npc.scp. But you had nothing else to do, did you? As a final note: if you think it would be better for the user to start the npc off in the top-right corner of an area, then: 72 73 74 75 76 77 78 79 80 81 __ __ __ __ __ __ __ __ __ __ 78|XX|__|__|__|__|__|__|__|__|__| 79|__|__|__|__|__|__|__|__|__|__| 80|__|__|__|__|__|__|__|__|__|__| 81|__|__|__|__|__|__|__|__|__|__| 82|__|__|__|__|__|__|__|__|__|__| 83|__|__|__|__|__|__|__|__|__|__| 84|__|__|__|__|__|__|__|__|__|__| 85|__|__|__|__|__|__|__|__|__|__| 86|__|__|__|__|__|__|__|__|__|__| 87|__|__|__|__|__|__|__|__|__|__| Here is the starting point, and the values to use would be FX1=0 FY1=0 FX2=9 FY2=0 FZ1=-1 Of course, if the user puts the vendor in the middle, she'll be able to wander out of the shop, and never in the topleft half! It's really up to the script team on where the coordinates go; I think the 'centering' idea is probably better, though.