Browse Source

Fixes an item comparison check when loading chars
* Fixes #4933.
* Adds a missing card slot check when validating items during character loading.
* Also adds the random options to the check.
Thanks to @lukasrmattos!

aleos 2 năm trước cách đây
mục cha
commit
bbb417dab0
1 tập tin đã thay đổi với 2 bổ sung3 xóa
  1. 2 3
      src/char/char.cpp

+ 2 - 3
src/char/char.cpp

@@ -629,9 +629,8 @@ int char_memitemdata_to_sql(const struct item items[], int max, int id, enum sto
 				continue;
 				continue;
 
 
 			if( items[i].nameid == item.nameid
 			if( items[i].nameid == item.nameid
-			&&  items[i].card[0] == item.card[0]
-			&&  items[i].card[2] == item.card[2]
-			&&  items[i].card[3] == item.card[3]
+			&& (memcmp(items[i].card, item.card, sizeof(int) * MAX_SLOTS) == 0)
+			&& (memcmp(items[i].option, item.option, 5 * MAX_ITEM_RDM_OPT) == 0)
 			&&  items[i].unique_id == item.unique_id
 			&&  items[i].unique_id == item.unique_id
 			) {	//They are the same item.
 			) {	//They are the same item.
 				int k;
 				int k;