I won't explain exactly how to do this, but you could simply use the following information
OnPCKillEvent:
This special label triggers when a player kills another player. The variable
'killedrid' is set to the ID of the player killed.
*getmapxy("<variable for map name>",<variable for x>,<variable for y>{,<type>,"<search value>"})
*getcharid(<type>{,"<character name>"}) // Type = 3 (for Account ID)
#KAFRAPOINTS
*attachrid(<account_id>);
- Attaches Script to Account ID (reads information from attached account)
Using the information here, we can determine the following:
When the Trigger Runs, we can use getmapxy to determine the location of the user and check the map that they are on, the NPC should be hidden with a -1 and placed on the map... I believe it will only trigger if ON that map, but I could be mistaken, hence the reason to use getmapxy and check...
Once you determined if they are on that map, the next thing to do, would be to set a variable called origrid = getcharid(3); // this will allow you to go "back" to this user, once we go to the killed user to get their information...
So, then using attachrid(killedrid); you can attach the script to the killed player, and then store a variable (npc variable) to store the #KAFRAPOINTS they had, and no you can set those to ZERO...
Then reattach the script back to the origrid and add that npc variable with the #KAFRAPOINTS to the original killer's #KAFRAPOINTS