diff options
author | shennetsind <ind@henn.et> | 2013-11-15 23:05:55 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2013-11-15 23:05:55 -0200 |
commit | 7120b55ce40a6a0c4086da49d57c74baa72609d6 (patch) | |
tree | f815189db7ad9c88673cfc61609b02b64bc44352 /src/map/pc.h | |
parent | f0591e607e05e34d987a7575fbaf9af53daa5908 (diff) | |
download | hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.gz hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.bz2 hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.tar.xz hercules-7120b55ce40a6a0c4086da49d57c74baa72609d6.zip |
Official expiration timer support
As brought up in http://hercules.ws/board/topic/2225-paid-server/
Special Thanks to Haruna for all the help!
Thanks to Beret, Ai4rei for information
Signed-off-by: shennetsind <ind@henn.et>
Diffstat (limited to 'src/map/pc.h')
-rw-r--r-- | src/map/pc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/map/pc.h b/src/map/pc.h index 32ca214c0..71c76b643 100644 --- a/src/map/pc.h +++ b/src/map/pc.h @@ -518,9 +518,14 @@ struct map_session_data { unsigned char delayed_damage;//ref. counter bugreport:7307 [Ind/Hercules] + /* HPM Custom Struct */ struct HPluginData **hdata; unsigned int hdatac; + /* expiration_time timer id */ + int expiration_tid; + time_t expiration_time; + /* */ struct { unsigned int second,third; @@ -741,6 +746,8 @@ struct pc_interface { struct sg_data sg_info[MAX_PC_FEELHATE]; /* */ struct eri *sc_display_ers; + /* global expiration timer id */ + int expiration_tid; /* funcs */ void (*init) (bool minimal); void (*final) (void); @@ -985,6 +992,10 @@ struct pc_interface { void (*scdata_received) (struct map_session_data *sd); void (*bound_clear) (struct map_session_data *sd, enum e_item_bound_type type); + + int (*expiration_timer) (int tid, int64 tick, int id, intptr_t data); + int (*global_expiration_timer) (int tid, int64 tick, int id, intptr_t data); + void (*expire_check) (struct map_session_data *sd); }; struct pc_interface *pc; |