From 7a5f7db21c5b9f7dc974067312b6b83753a74dbf Mon Sep 17 00:00:00 2001 From: panikon Date: Thu, 10 Apr 2014 02:40:55 -0300 Subject: Fixed issue: 8140 http://hercules.ws/board/tracker/issue-8140-toucan-npc-error-message/ That error usually happens when the player clicked on a NPC that has the view id of a mob, to activate this kind of npc it's needed to be in a 2,2 range from it. If the OnTouch area of a npc, coincides with the 2,2 range of another it's expected that the OnTouch event be put first in stack, because unit_walktoxy_timer is executed before any other function in this case. So it's best practice to put an 'end;' before OnTouch events in npcs that have view ids of mobs to avoid this kind of error. Also updated script_commands.txt to add this recomendation. --- src/map/npc.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src') diff --git a/src/map/npc.c b/src/map/npc.c index 3018cceeb..5f9422e9f 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -1146,6 +1146,13 @@ int npc_click(struct map_session_data* sd, struct npc_data* nd) { nullpo_retr(1, sd); + // This usually happens when the player clicked on a NPC that has the view id + // of a mob, to activate this kind of npc it's needed to be in a 2,2 range + // from it. If the OnTouch area of a npc, coincides with the 2,2 range of + // another it's expected that the OnTouch event be put first in stack, because + // unit_walktoxy_timer is executed before any other function in this case. + // So it's best practice to put an 'end;' before OnTouch events in npcs that + // have view ids of mobs to avoid this kind of error [Panikon] if (sd->npc_id != 0) { ShowError("npc_click: npc_id != 0\n"); return 1; -- cgit v1.2.3-60-g2f50