Преглед изворни кода

Fixed a cashshop crash after reloaditemdb

Fixes #1234, thanks to @julia40124009.

Please note that it is currently not supported to resend the cashshop data to the players. It is only transmitted once during login as per request from the client.
Lemongrass3110 пре 9 година
родитељ
комит
2170cfc01b
1 измењених фајлова са 6 додато и 1 уклоњено
  1. 6 1
      src/map/cashshop.c

+ 6 - 1
src/map/cashshop.c

@@ -188,9 +188,14 @@ bool cashshop_buylist( struct map_session_data* sd, uint32 kafrapoints, int n, u
 
 		ARR_FIND( 0, cash_shop_items[tab].count, j, nameid == cash_shop_items[tab].item[j]->nameid || nameid == itemdb_viewid(cash_shop_items[tab].item[j]->nameid) );
 
+		if( j == cash_shop_items[tab].count ){
+			clif_cashshop_result( sd, nameid, CASHSHOP_RESULT_ERROR_UNKONWN_ITEM );
+			return false;
+		}
+
 		nameid = *( item_list + i * 5 ) = cash_shop_items[tab].item[j]->nameid; //item_avail replacement
 
-		if( j == cash_shop_items[tab].count || !itemdb_exists( nameid ) ){
+		if( !itemdb_exists( nameid ) ){
 			clif_cashshop_result( sd, nameid, CASHSHOP_RESULT_ERROR_UNKONWN_ITEM );
 			return false;
 		}else if( !itemdb_isstackable( nameid ) && quantity > 1 ){