summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog-Trunk.txt1
-rw-r--r--src/map/script.c37
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