// TMW2 script // Author: Jesusalva // Manages duplicates - script #dupemaster 32767,{ end; OnInterIfInitOnce: // (dupe_name$, expire_tick) $@_DUPES = htnew(); // Try again if it failed, or if ID is zero if (!$@_DUPES) $@_DUPES = htnew(); debugmes "NPC Duplication database initiated at ID %d", $@_DUPES; end; OnInit: initnpctimer; end; // Cleans every 1s OnTimer1000: .@t = gettimetick(2); .@iter = htiterator($@_DUPES); for (.@key$ = htinextkey(.@iter); hticheck(.@iter); .@key$ = htinextkey(.@iter)) { // Check if the NPC expired, remove from hash table if so if (htget($@_DUPES, .@key$, INT_MAX) <= .@t) { npc_duplicate_remove(.@key$); htput($@_DUPES, .@key$, 0); } } htidelete(.@iter); initnpctimer; end; }