diff options
-rw-r--r-- | src/map/pc.c | 18 | ||||
-rw-r--r-- | src/map/script.c | 3 |
2 files changed, 16 insertions, 5 deletions
diff --git a/src/map/pc.c b/src/map/pc.c index 64b835c1b..7da3a7459 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -3761,11 +3761,25 @@ int pc_additem(struct map_session_data *sd,struct item *item_data,int amount,e_l clif_additem(sd,i,amount,0); } log_pick_pc(sd, log_type, amount, &sd->status.inventory[i]); - + sd->weight += w; clif_updatestatus(sd,SP_WEIGHT); //Auto-equip - if(data->flag.autoequip) pc_equipitem(sd, i, data->equip); + if(data->flag.autoequip) + pc_equipitem(sd, i, data->equip); + + /* rental item check */ + if( item_data->expire_time ) { + if( time(NULL) > item_data->expire_time ) { + clif_rental_expired(sd->fd, i, sd->status.inventory[i].nameid); + pc_delitem(sd, i, sd->status.inventory[i].amount, 1, 0, LOG_TYPE_OTHER); + } else { + int seconds = (int)( item_data->expire_time - time(NULL) ); + clif_rental_time(sd->fd, sd->status.inventory[i].nameid, seconds); + pc_inventory_rental_add(sd, seconds); + } + } + return 0; } diff --git a/src/map/script.c b/src/map/script.c index 4b2cedea4..a1bc94bc4 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -6102,9 +6102,6 @@ BUILDIN_FUNC(rentitem) clif_additem(sd, 0, 0, flag); return 1; } - - clif_rental_time(sd->fd, nameid, seconds); - pc_inventory_rental_add(sd, seconds); return 0; } |