NPC Change Tool by LightYagami <3

12/02/2025 08:54 LightYagamiXXX#1
Requirements: Python installed

PyQt6 installed (py -m pip install PyQt6)

Tutorial:

1. Turn on brain
2. Open a map

File → Open

Pick a map_jangjuk*.xns (bamboo map example)

3.Find the NPC you want to replace

Use the Search box (type NPC ID or part of name)

4.Click the NPC ID in the list that you would like to change

5.Click the "Copy NPC from another XNS file"
Select the map you wanna copy the NPC from ( in our case shaolin base or map_sorim.xns)
(You want to edit npc ID : 21050 from bamboo for example into ID 3115 from shaolin base and all its components so we will open shao map using the copy npc from another xns feature.)
On source unique ID = the npc you want to end up with (in my case, shaolin skill trainer ID 3115)
so after entering id 3115 and loading the correct map in copy npc (shao base) then i can replace succesfully the NPC.


Tick all options:

Copy basic fields = makes it the new NPC (ID + classes/trade/relations)

Copy name + role = copies text shown in game

Copy scripts = copies dialog/quest/shop/trainer behavior

Preserve target location = keeps the NPC spawn spot (recommended)


Hit OK

File → Save

Pack everything inside VR_ENVIRONMENT.XP and copy that in game launcher, NPC should be swapped succesfully whitout breaking of bytes :bandit:

When you are done, dont forget to add the npc and skill list into the nfofile npc
PM FOR DOWNLOAD



( If you want to improve the code and reupload, you are welcome to ! )
This will not change your npc skin, just give you the interface of the desired npc and its functions!
.xns .xzi etc templates got us very far but 010 editor is kinda weak, hope you enjoy it and many thanks to the original coders of the map templates ! <3
12/03/2025 16:01 Adek#2
Quote:
Originally Posted by LightYagamiXXX View Post
( If you want to improve the code and reupload, you are welcome to ! )
I didn't have time to check it yet, but you could open a Git repository (e.g. on GitHub), so people like me could do some pull requests or forks.
05/10/2026 05:13 nobikun2#3
Quote:
Originally Posted by LightYagamiXXX View Post
Requirements: Python installed

PyQt6 installed (py -m pip install PyQt6)

Tutorial:

1. Turn on brain
2. Open a map

File → Open

Pick a map_jangjuk*.xns (bamboo map example)

3.Find the NPC you want to replace

Use the Search box (type NPC ID or part of name)

4.Click the NPC ID in the list that you would like to change

5.Click the "Copy NPC from another XNS file"
Select the map you wanna copy the NPC from ( in our case shaolin base or map_sorim.xns)
(You want to edit npc ID : 21050 from bamboo for example into ID 3115 from shaolin base and all its components so we will open shao map using the copy npc from another xns feature.)
On source unique ID = the npc you want to end up with (in my case, shaolin skill trainer ID 3115)
so after entering id 3115 and loading the correct map in copy npc (shao base) then i can replace succesfully the NPC.


Tick all options:

Copy basic fields = makes it the new NPC (ID + classes/trade/relations)

Copy name + role = copies text shown in game

Copy scripts = copies dialog/quest/shop/trainer behavior

Preserve target location = keeps the NPC spawn spot (recommended)


Hit OK

File → Save

Pack everything inside VR_ENVIRONMENT.XP and copy that in game launcher, NPC should be swapped succesfully whitout breaking of bytes :bandit:

When you are done, dont forget to add the npc and skill list into the nfofile npc
PM FOR DOWNLOAD



( If you want to improve the code and reupload, you are welcome to ! )
This will not change your npc skin, just give you the interface of the desired npc and its functions!
.xns .xzi etc templates got us very far but 010 editor is kinda weak, hope you enjoy it and many thanks to the original coders of the map templates ! <3
The difficulty in working with NPCs lies in the fact that their scripts lack a fixed pattern for gathering and crafting; even scripts performing the same function can differ between NPCs. Their script classes and CompareClasses lack any established rules, making it very difficult to build tools to modify them without a thorough understanding of the rules.