diff options
-rw-r--r-- | Changelog-Trunk.txt | 1 | ||||
-rw-r--r-- | src/map/script.c | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index a3e098dfb..a9827a882 100644 --- a/Changelog-Trunk.txt +++ b/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. 2006/12/02 + * Added buildin_checkvending and buildin_checkchatting. [Lance] * Enabled atcommand parsing for clients with Korean langtype and version. [Lance] * Added missing min/max definitions to cbasetypes.h, needed for the @send change. [FlavioJS] * Replaced @send with the version I use for testing packets. diff --git a/src/map/script.c b/src/map/script.c index 56547df55..b3b559312 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -3582,6 +3582,8 @@ int buildin_setitemscript(struct script_state *st); int buildin_disguise(struct script_state *st); int buildin_undisguise(struct script_state *st); int buildin_getmonsterinfo(struct script_state *st); // [Lupus] +int buildin_checkvending(struct script_state *st); // check vending [Nab4] +int buildin_checkchatting(struct script_state *st); // check chatting [Marka] #ifdef PCRE_SUPPORT int buildin_defpattern(struct script_state *st); // MouseJstr @@ -3918,6 +3920,8 @@ struct script_function buildin_func[] = { {buildin_homunculus_evolution,"homevolution",""}, //[orn] {buildin_eaclass,"eaclass","*"}, //[Skotlex] {buildin_roclass,"roclass","i*"}, //[Skotlex] + {buildin_checkvending,"checkvending","*"}, + {buildin_checkchatting,"checkchatting","*"}, {NULL,NULL,NULL}, }; @@ -11865,6 +11869,39 @@ int buildin_getmonsterinfo(struct script_state *st) return 0; } +int buildin_checkvending(struct script_state *st){ // check vending [Nab4] + struct map_session_data *sd = NULL; + + if(st->end > st->start + 2) + sd = map_nick2sd(conv_str(st,&st->stack->stack_data[st->start+2])); + else + sd = script_rid2sd(st); + + if(sd) + push_val(st->stack, C_INT, (sd->vender_id != 0)); + else + push_val(st->stack, C_INT, 0); + + return 0; +} + + +int buildin_checkchatting(struct script_state *st){ // check chatting [Marka] + struct map_session_data *sd = NULL; + + if(st->end > st->start + 2) + sd = map_nick2sd(conv_str(st,&st->stack->stack_data[st->start+2])); + else + sd = script_rid2sd(st); + + if(sd) + push_val(st->stack, C_INT, (sd->chatID != 0)); + else + push_val(st->stack, C_INT, 0); + + return 0; +} + int axtoi(char *hexStg) { int n = 0; // position in string int m = 0; // position in digit[] to shift |