Просмотр исходного кода

- A quick fix for lazy scripters -_- sheesh

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@7154 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lance 19 лет назад
Родитель
Сommit
4ef75d85f3
2 измененных файлов с 11 добавлено и 13 удалено
  1. 0 2
      Changelog-Trunk.txt
  2. 11 11
      src/map/npc.c

+ 0 - 2
Changelog-Trunk.txt

@@ -7,8 +7,6 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
 	* [Improved]:
 	  - script_save_mapreg for MapregSQL Saving to display perfomance only in slow
 	    queries. [Lance]
-	* [Improved]:
-	  - npc_parse_script to show information and remove duplicated NPCs [Lance]
 2006/06/13
 	* Updated mob_db.sql and item_db.sql to latest. [Skotlex]
 	* Added account_id index to char table. Thanks to Buuyo for reporting it.

+ 11 - 11
src/map/npc.c

@@ -1898,19 +1898,19 @@ static int npc_parse_script (char *w1,char *w2,char *w3,char *w4,char *first_lin
 	} else {
 		// duplicate‚·‚é
 		char srcname[128];
-		struct npc_data *nd2;
+		struct npc_data *dnd;
 		if (sscanf(w2, "duplicate(%[^)])", srcname) != 1) {
 			ShowError("bad duplicate name (in %s)! : %s", current_file, w2);
 			return 0;
 		}
-		if ((nd2 = npc_name2id(srcname)) == NULL) {
+		if ((dnd = npc_name2id(srcname)) == NULL) {
 			ShowError("bad duplicate name (in %s)! (not exist) : %s\n", current_file, srcname);
 			return 0;
 		}
-		script = nd2->u.scr.script;
-		label_dup = nd2->u.scr.label_list;
-		label_dupnum = nd2->u.scr.label_list_num;
-		src_id = nd2->bl.id;
+		script = dnd->u.scr.script;
+		label_dup = dnd->u.scr.label_list;
+		label_dupnum = dnd->u.scr.label_list_num;
+		src_id = dnd->bl.id;
 
 	}// end of ƒXƒNƒŠƒvƒg‰ð�Í
 
@@ -1953,6 +1953,11 @@ static int npc_parse_script (char *w1,char *w2,char *w3,char *w4,char *first_lin
 		memcpy(nd->exname, w3, NAME_LENGTH-1);
 	}
 
+	if((dnd = npc_name2id(nd->exname))){
+		ShowInfo("npc_parse_script: Overriding NPC '%s::%s' to '%s::%d'.. (Duplicated System Name - Lazy scripters >_>) \n",nd->name,nd->exname,nd->name,npc_script);
+		sprintf(nd->exname, "%d", npc_script);
+	}
+
 	nd->bl.prev = nd->bl.next = NULL;
 	nd->bl.m = m;
 	nd->bl.x = x;
@@ -1967,11 +1972,6 @@ static int npc_parse_script (char *w1,char *w2,char *w3,char *w4,char *first_lin
 	nd->bl.type = BL_NPC;
 	nd->bl.subtype = SCRIPT;
 
-	if((dnd = npc_name2id(nd->exname))){
-		ShowInfo("npc_parse_script: Removing duplicated NPC '%s::%s'...\n", dnd->name, dnd->exname);
-		npc_unload(dnd);
-	}
-
 	for (i = 0; i < MAX_EVENTTIMER; i++)
 		nd->eventtimer[i] = -1;
 	if (m >= 0) {