- 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
This commit is contained in:
Lance 2006-06-14 08:57:38 +00:00
parent 23f8c655ff
commit 4ef75d85f3
2 changed files with 11 additions and 13 deletions

View File

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

View File

@ -1898,19 +1898,19 @@ static int npc_parse_script (char *w1,char *w2,char *w3,char *w4,char *first_lin
} else { } else {
// duplicate·é // duplicate·é
char srcname[128]; char srcname[128];
struct npc_data *nd2; struct npc_data *dnd;
if (sscanf(w2, "duplicate(%[^)])", srcname) != 1) { if (sscanf(w2, "duplicate(%[^)])", srcname) != 1) {
ShowError("bad duplicate name (in %s)! : %s", current_file, w2); ShowError("bad duplicate name (in %s)! : %s", current_file, w2);
return 0; 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); ShowError("bad duplicate name (in %s)! (not exist) : %s\n", current_file, srcname);
return 0; return 0;
} }
script = nd2->u.scr.script; script = dnd->u.scr.script;
label_dup = nd2->u.scr.label_list; label_dup = dnd->u.scr.label_list;
label_dupnum = nd2->u.scr.label_list_num; label_dupnum = dnd->u.scr.label_list_num;
src_id = nd2->bl.id; src_id = dnd->bl.id;
}// end of ƒXƒNƒŠƒvƒg‰ð<E280B0>Í }// end of ƒXƒNƒŠƒvƒg‰ð<E280B0>Í
@ -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); 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.prev = nd->bl.next = NULL;
nd->bl.m = m; nd->bl.m = m;
nd->bl.x = x; 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.type = BL_NPC;
nd->bl.subtype = SCRIPT; 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++) for (i = 0; i < MAX_EVENTTIMER; i++)
nd->eventtimer[i] = -1; nd->eventtimer[i] = -1;
if (m >= 0) { if (m >= 0) {