Jelajahi Sumber

- Trade-requests now fail if the target is in a NPC.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10214 54d463be-8e91-2dee-dedb-b68131a5f0ec
skotlex 18 tahun lalu
induk
melakukan
ac0c23863d
3 mengubah file dengan 10 tambahan dan 2 penghapusan
  1. 1 0
      Changelog-Trunk.txt
  2. 2 1
      src/map/map.c
  3. 7 1
      src/map/trade.c

+ 1 - 0
Changelog-Trunk.txt

@@ -4,6 +4,7 @@ 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.
 
 2007/04/12
+	* Trade-requests now fail if the target is in a NPC.
 	* Some cleaning of the castend_map code to prevent the menuskill variable
 	  from not being cleared if you made a choice but the skill was not triggered
 	  (due to silence, stun or whatever)

+ 2 - 1
src/map/map.c

@@ -3154,7 +3154,8 @@ void do_abort(void) {
 	//Save all characters and then flush the inter-connection.
 	if (!chrif_isconnect())
 	{
-		ShowFatalError("Server has crashed without a connection to the char-server, character data can't be saved!\n");
+		if (pc_db->size(pc_db))
+			ShowFatalError("Server has crashed without a connection to the char-server, character data can't be saved!\n");
 		return;
 	}
 	ShowError("Server received crash signal! Attempting to save all online characters!\n");

+ 7 - 1
src/map/trade.c

@@ -39,7 +39,13 @@ void trade_traderequest(struct map_session_data *sd, struct map_session_data *ta
 		clif_tradestart(sd, 1); // character does not exist
 		return;
 	}
-	
+
+	if (target_sd->npc_id)
+	{	//Trade fails if you are using an NPC.
+		clif_tradestart(sd, 2);
+		return;
+	}
+
 	if (!battle_config.invite_request_check) {
 		if (target_sd->guild_invite > 0 || target_sd->party_invite > 0) {
 			clif_tradestart(sd, 2);