Bladeren bron

Fixed a problem in the new trade window implementation (from r11830) where no trade acknowledgement messages would get sent (bugreport:1217).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@12427 54d463be-8e91-2dee-dedb-b68131a5f0ec
ultramage 17 jaren geleden
bovenliggende
commit
0e5bd6c09a
1 gewijzigde bestanden met toevoegingen van 6 en 6 verwijderingen
  1. 6 6
      src/map/trade.c

+ 6 - 6
src/map/trade.c

@@ -101,8 +101,8 @@ void trade_tradeack(struct map_session_data *sd, int type)
 		return; //Already trading or no partner set.
 	
 	if ((tsd = map_id2sd(sd->trade_partner)) == NULL) {
-		sd->trade_partner=0;
 		clif_tradestart(sd, 1); // character does not exist
+		sd->trade_partner=0;
 		return;
 	}
 
@@ -113,12 +113,12 @@ void trade_tradeack(struct map_session_data *sd, int type)
 	}
 
 	if (type == 4) { // Cancel
+		clif_tradestart(tsd, type);
+		clif_tradestart(sd, type);
 		sd->state.deal_locked = 0;
 		sd->trade_partner = 0;
 		tsd->state.deal_locked = 0;
 		tsd->trade_partner = 0;
-		clif_tradestart(tsd, type);
-		clif_tradestart(sd, type);
 		return;
 	}
 
@@ -129,9 +129,9 @@ void trade_tradeack(struct map_session_data *sd, int type)
 	if (pc_isGM(tsd) < lowest_gm_level && (sd->bl.m != tsd->bl.m ||
 		!check_distance_bl(&sd->bl, &tsd->bl, TRADE_DISTANCE)
 	)) {
+		clif_tradestart(sd, 0); // too far
 		sd->trade_partner=0;
 		tsd->trade_partner = 0;
-		clif_tradestart(sd, 0); // too far
 		return;
 	}
 
@@ -139,12 +139,12 @@ void trade_tradeack(struct map_session_data *sd, int type)
 	if (sd->npc_id || sd->vender_id || sd->state.storage_flag ||
 		tsd->npc_id || tsd->vender_id || tsd->state.storage_flag)
 	{	//Fail
+		clif_tradestart(sd, 2);
+		clif_tradestart(tsd, 2);
 		sd->state.deal_locked = 0;
 		sd->trade_partner = 0;
 		tsd->state.deal_locked = 0;
 		tsd->trade_partner = 0;
-		clif_tradestart(sd, 2);
-		clif_tradestart(tsd, 2);
 		return;
 	}