diff options
author | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-08-20 18:52:41 +0000 |
---|---|---|
committer | Paradox924X <Paradox924X@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-08-20 18:52:41 +0000 |
commit | db231938e3326a22d90cfb1bc3c3ac6b4bc11728 (patch) | |
tree | f5d731dedac64402b0fa71c37f05d8ffadcaab47 | |
parent | 0828cd6660ce9bc0e0fae7d6f9af01051937b82b (diff) | |
download | hercules-db231938e3326a22d90cfb1bc3c3ac6b4bc11728.tar.gz hercules-db231938e3326a22d90cfb1bc3c3ac6b4bc11728.tar.bz2 hercules-db231938e3326a22d90cfb1bc3c3ac6b4bc11728.tar.xz hercules-db231938e3326a22d90cfb1bc3c3ac6b4bc11728.zip |
Made it so global events don't get executed in duplicates to prevent unnecessary reprocessing of events that only need to be run once. This potentially reduces the total number of global events by hundreds, even thousands.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14388 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 2 | ||||
-rw-r--r-- | src/map/npc.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index f0efb1fbf..a066ac439 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2010/08/20 + * Made it so global events don't get executed in duplicates to prevent unnecessary reprocessing of events that only need to be run once. + This potentially reduces the total number of global events by hundreds, even thousands. [Paradox924X] * Added a few missing updates to the last packet update to properly support player clones and disguising. [Skotlex] 2010/08/19 * Rev. 14384 Follow up to r14383, changed use of clif_font_area to clif_font, seems Skotlex forgot them. [L0ne_W0lf] diff --git a/src/map/npc.c b/src/map/npc.c index 8db2036a2..bce543dd8 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -282,7 +282,7 @@ int npc_event_doall_sub(DBKey key, void* data, va_list ap) rid = va_arg(ap, int); p = strchr(p, ':'); // match only the event name - if( p && strcmpi(name, p) == 0 ) + if( p && strcmpi(name, p) == 0 && !ev->nd->src_id ) // Do not run on duplicates. [Paradox924X] { if(rid) // a player may only have 1 script running at the same time npc_event_sub(map_id2sd(rid),ev,key.str); |