Browse Source

* Added buildin_checkvending and buildin_checkchatting.

modified   Changelog-Trunk.txt
modified   src/map/script.c


git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@9395 54d463be-8e91-2dee-dedb-b68131a5f0ec
Lance 18 years ago
parent
commit
e82fd31056
2 changed files with 38 additions and 0 deletions
  1. 1 0
      Changelog-Trunk.txt
  2. 37 0
      src/map/script.c

+ 1 - 0
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.

+ 37 - 0
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