Prechádzať zdrojové kódy

[Fixed]:
- Logic errors in run_script

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6875 54d463be-8e91-2dee-dedb-b68131a5f0ec

Lance 19 rokov pred
rodič
commit
4d978e0930
2 zmenil súbory, kde vykonal 13 pridanie a 8 odobranie
  1. 2 0
      Changelog-Trunk.txt
  2. 11 8
      src/map/script.c

+ 2 - 0
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.
 
 2006/05/31
+	* [Fixed]:
+	  - Logic errors in run_script [Lance]
 	* [Added]:
 	  - Partial support for latest login packet. But it seems to have a new security
 	    module. [Lance]

+ 11 - 8
src/map/script.c

@@ -11467,14 +11467,17 @@ int run_script(struct script_code *rootscript,int pos,int rid,int oid)
 		st->state  = RUN;
 		st->script = rootscript;
 	
-		if (sd && sd->stack) {	// if there's a sd and a stack - back it up and restore it if possible.
-			bck_script      = sd->npc_script;
-			bck_scriptroot  = sd->npc_scriptroot;
-			bck_scriptstate = sd->npc_scriptstate;
-			bck_stack = sd->stack;
-			sd->stack = NULL;
-			bck_npcid = sd->npc_id;
-			sd->npc_id = st->oid;
+		if (sd){
+			if(sd->stack) {
+				// if there's a sd and a stack - back it up and restore it if possible.
+				bck_script      = sd->npc_script;
+				bck_scriptroot  = sd->npc_scriptroot;
+				bck_scriptstate = sd->npc_scriptstate;
+				bck_stack = sd->stack;
+				sd->stack = NULL;
+				bck_npcid = sd->npc_id;
+			}
+			sd->npc_id = oid;
 		}
 	}
 	st->pos = pos;