From a30098328dd23029f3385d8e8f74bac626850dbe Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 28 Feb 2007 15:21:24 +0000 Subject: - Added a check to prevent trades from being commited if either character is in final-save state. - Checked and cleaned up the online_check code in the char-server. Further connections to the char-server are rejected when the account already has a connection (previously this would happen only if there was already another character IN game, not just waiting on the char-select screen). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9934 54d463be-8e91-2dee-dedb-b68131a5f0ec --- src/map/trade.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/map') diff --git a/src/map/trade.c b/src/map/trade.c index f6c587ddb..e4bb4a4b1 100644 --- a/src/map/trade.c +++ b/src/map/trade.c @@ -162,7 +162,7 @@ int impossible_trade_check(struct map_session_data *sd) { nullpo_retr(1, sd); - if(sd->deal.zeny > sd->status.zeny) + if(sd->deal.zeny > sd->status.zeny) { pc_setglobalreg(sd,"ZENY_HACKER",1); return -1; @@ -223,6 +223,9 @@ int trade_check(struct map_session_data *sd, struct map_session_data *tsd) { struct item_data *data; int trade_i, i, amount, n; + if(sd->state.finalsave || tsd->state.finalsave) + return 0; //Item transferring fails + // check zenys value against hackers (Zeny was already checked on time of adding, but you never know when you lost some zeny since then. if(sd->deal.zeny > sd->status.zeny || (tsd->status.zeny > MAX_ZENY - sd->deal.zeny)) return 0; -- cgit v1.2.3-70-g09d2