The issue is if you are duplicating an NPC (i.e. multiple NPCs running same script), every time OnPCKillEvent/DieEvent is triggered, it will activate for all NPCs. This script very messy, hard to read for me so don't know what's going on.
But something like this is an example. The following script would cause the script to run 5 times - 1 original and 4 duplicates.
- script Kill Announce FAKE_NPC,{
OnPCKillEvent:
announce("" + strcharinfo(PC_NAME) + " killed somebody.", bc_all);
end;
}
prontera,150,150,3 duplicate(Kill Announce) Kill Announce#1 FAKE_NPC
payon,150,150,3 duplicate(Kill Announce) Kill Announce#2 FAKE_NPC
izlude,150,150,3 duplicate(Kill Announce) Kill Announce#3 FAKE_NPC
alberta,150,150,3 duplicate(Kill Announce) Kill Announce#4 FAKE_NPC
You can edit it like such so it would only announce when killed somebody on your same map.
- script Kill Announce#template FAKE_NPC,{
OnPCKillEvent:
if (strnpcinfo(NPC_NAME_HIDDEN) == "template")
end;
if (strnpcinfo(NPC_MAP) != strcharinfo(PC_MAP))
end;
announce("" + strcharinfo(PC_NAME) + " killed somebody.", bc_all);
end;
}
prontera,150,150,3 duplicate(Kill Announce) Kill Announce#1 FAKE_NPC
payon,150,150,3 duplicate(Kill Announce) Kill Announce#2 FAKE_NPC
izlude,150,150,3 duplicate(Kill Announce) Kill Announce#3 FAKE_NPC
alberta,150,150,3 duplicate(Kill Announce) Kill Announce#4 FAKE_NPC
Idk if this is helpful ,just thought i would put it out there