diff options
author | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-08-25 13:41:58 +0000 |
---|---|---|
committer | Inkfish <Inkfish@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2009-08-25 13:41:58 +0000 |
commit | f15ab412ee4c82036070b48ed5ad3ae18e4dfa75 (patch) | |
tree | 0c175eb34926a08fb11ed02ba3afe6378d31b49b /src/map/clif.c | |
parent | b2cdf64e3c1c2b4bff6972d39cb1f2c5afb84b2d (diff) | |
download | hercules-f15ab412ee4c82036070b48ed5ad3ae18e4dfa75.tar.gz hercules-f15ab412ee4c82036070b48ed5ad3ae18e4dfa75.tar.bz2 hercules-f15ab412ee4c82036070b48ed5ad3ae18e4dfa75.tar.xz hercules-f15ab412ee4c82036070b48ed5ad3ae18e4dfa75.zip |
Implemented Progress Bar.(topic:207933)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14024 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/clif.c')
-rw-r--r-- | src/map/clif.c | 34 |
1 files changed, 33 insertions, 1 deletions
diff --git a/src/map/clif.c b/src/map/clif.c index 14f7730ac..a3f9968e2 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8267,6 +8267,35 @@ void clif_parse_Hotkey(int fd, struct map_session_data *sd) { #endif } +void clif_progressbar(struct map_session_data * sd, unsigned long color, unsigned int second) +{ + int fd = sd->fd; + + WFIFOHEAD(fd,packet_len(0x2f0)); + WFIFOW(fd,0) = 0x2f0; + WFIFOL(fd,2) = color; + WFIFOL(fd,6) = second; + WFIFOSET(fd,packet_len(0x2f0)); +} + +void clif_progressbar_abort(struct map_session_data * sd) +{ + int fd = sd->fd; + + WFIFOHEAD(fd,packet_len(0x2f2)); + WFIFOW(fd,0) = 0x2f2; + WFIFOSET(fd,packet_len(0x2f2)); +} + +void clif_parse_progressbar(int fd, struct map_session_data * sd) +{ + if( gettick() < sd->progressbar.timeout && sd->st ) + sd->st->state = END; + + npc_scriptcont(sd, sd->progressbar.npc_id); + sd->progressbar.npc_id = sd->progressbar.timeout = 0; +} + /*========================================== * *------------------------------------------*/ @@ -8282,6 +8311,8 @@ void clif_parse_WalkToXY(int fd, struct map_session_data *sd) if (sd->sc.opt1 && sd->sc.opt1 == OPT1_STONEWAIT) ; //You CAN walk on this OPT1 value. + else if( sd->progressbar.npc_id ) + clif_progressbar_abort(sd); else if (pc_cant_act(sd)) return; @@ -13438,7 +13469,7 @@ static int packetdb_readdb(void) 0, 0, 0, 0, 0, 30, 0, 0, 0, 3, 0, 65, 4, 71, 10, 0, 0, 0, 0, 0, 0, 0, 6, -1, 10, 10, 3, 0, -1, 32, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 10, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, //#0x0300 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -13657,6 +13688,7 @@ static int packetdb_readdb(void) {clif_parse_EquipTick,"equiptickbox"}, {clif_parse_BattleChat,"battlechat"}, {clif_parse_mercenary_action,"mermenu"}, + {clif_parse_progressbar,"progressbar"}, {NULL,NULL} }; |