Explorar o código

- Fixed char-server saving skills which have no level associated with them

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15092 54d463be-8e91-2dee-dedb-b68131a5f0ec
epoque11 %!s(int64=13) %!d(string=hai) anos
pai
achega
8b3f6375b8
Modificáronse 1 ficheiros con 5 adicións e 1 borrados
  1. 5 1
      src/char_sql/char.c

+ 5 - 1
src/char_sql/char.c

@@ -608,8 +608,12 @@ int mmo_char_tosql(int char_id, struct mmo_charstatus* p)
 		//insert here.
 		for( i = 0, count = 0; i < MAX_SKILL; ++i )
 		{
-			if(p->skill[i].id != 0 && p->skill[i].flag != SKILL_FLAG_TEMPORARY)
+			if( p->skill[i].id != 0 && p->skill[i].flag != SKILL_FLAG_TEMPORARY )
 			{
+				if( p->skill[i].flag == SKILL_FLAG_PERMANENT && p->skill[i].lv == 0 )
+					continue;
+				if( p->skill[i].flag != SKILL_FLAG_PERMANENT && (p->skill[i].flag - SKILL_FLAG_REPLACED_LV_0) == 0 )
+					continue;
 				if( count )
 					StringBuf_AppendStr(&buf, ",");
 				StringBuf_Printf(&buf, "('%d','%d','%d')", char_id, p->skill[i].id, (p->skill[i].flag == SKILL_FLAG_PERMANENT ? p->skill[i].lv : p->skill[i].flag - SKILL_FLAG_REPLACED_LV_0));