Browse Source

* Merged changes up to eAthena 15061.

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@15477 54d463be-8e91-2dee-dedb-b68131a5f0ec
eathenabot 13 years ago
parent
commit
0b4a77d2d2
5 changed files with 12 additions and 45 deletions
  1. 2 3
      doc/script_commands.txt
  2. 2 17
      src/map/atcommand.c
  3. 3 24
      src/map/clif.c
  4. 0 1
      src/map/clif.h
  5. 5 0
      src/map/party.c

+ 2 - 3
doc/script_commands.txt

@@ -9,8 +9,6 @@
 //===== Description: =========================================
 //===== Description: =========================================
 //= A reference manual for the rAthena scripting language.
 //= A reference manual for the rAthena scripting language.
 //= Commands are sorted depending on their functionality.
 //= Commands are sorted depending on their functionality.
-//===== Additional Comments: =================================
-//= 
 //============================================================
 //============================================================
 
 
 This document is a reference manual for all the scripting commands and functions 
 This document is a reference manual for all the scripting commands and functions 
@@ -6020,7 +6018,8 @@ used to color text in 'mes' output, but are written as hexadecimal numbers in C.
 (They look like 0x<six numbers>.)
 (They look like 0x<six numbers>.)
 
 
 Action is what you want to do with a point, 1 will set it, while 2 will clear 
 Action is what you want to do with a point, 1 will set it, while 2 will clear 
-it. Point number is the number of the point - you can have several. If more than 
+it. 0 will also set it, but automatically removes the point after 15 seconds.
+Point number is the number of the point - you can have several. If more than 
 one point is drawn at the same coordinates, they will cycle, which can be used 
 one point is drawn at the same coordinates, they will cycle, which can be used 
 to create flashing marks.
 to create flashing marks.
 
 

+ 2 - 17
src/map/atcommand.c

@@ -7174,19 +7174,8 @@ ACMD_FUNC(mobinfo)
 
 
 /*=========================================
 /*=========================================
 * @showmobs by KarLaeda
 * @showmobs by KarLaeda
-* => For 5 sec displays the mobs on minimap
+* => For 15 sec displays the mobs on minimap
 *------------------------------------------*/
 *------------------------------------------*/
-int atshowmobs_timer(int tid, unsigned int tick, int id, intptr_t data)
-{
-	struct map_session_data* sd = map_id2sd(id);
-	if( sd == NULL )
-		return 0;
-
-	// remove indicator
-	clif_viewpoint(sd, 1, 2, 0, 0, (int)data, 0xFFFFFF);
-	return 1;
-}
-
 ACMD_FUNC(showmobs)
 ACMD_FUNC(showmobs)
 {
 {
 	char mob_name[100];
 	char mob_name[100];
@@ -7240,8 +7229,7 @@ ACMD_FUNC(showmobs)
 			continue; // hide mobs waiting for respawn
 			continue; // hide mobs waiting for respawn
 
 
 		++number;
 		++number;
-		clif_viewpoint(sd, 1, 1, md->bl.x, md->bl.y, number, 0xFFFFFF);
-		add_timer(gettick()+5000, atshowmobs_timer, sd->bl.id, number);
+		clif_viewpoint(sd, 1, 0, md->bl.x, md->bl.y, number, 0xFFFFFF);
 	}
 	}
 	mapit_free(it);
 	mapit_free(it);
 
 
@@ -9372,9 +9360,6 @@ void do_init_atcommand() {
 	
 	
 	atcommand_doload();
 	atcommand_doload();
 
 
-	add_timer_func_list(atshowmobs_timer, "atshowmobs_timer");
-
-	return;
 }
 }
 
 
 void do_final_atcommand() {
 void do_final_atcommand() {

+ 3 - 24
src/map/clif.c

@@ -6217,27 +6217,6 @@ int clif_hpmeter(struct map_session_data *sd)
 	return 0;
 	return 0;
 }
 }
 
 
-/*==========================================
- * (?) Server tells 'sd' party members that 'sd' state 'changed'
- *------------------------------------------*/
-void clif_party_move(struct party* p, struct map_session_data* sd, int online)
-{
-	unsigned char buf[128];
-
-	nullpo_retv(sd);
-	nullpo_retv(p);
-
-	WBUFW(buf, 0) = 0x104;
-	WBUFL(buf, 2) = sd->status.account_id;
-	WBUFL(buf, 6) = 0;
-	WBUFW(buf,10) = sd->bl.x;
-	WBUFW(buf,12) = sd->bl.y;
-	WBUFB(buf,14) = !online;
-	memcpy(WBUFP(buf,15),p->name, NAME_LENGTH);
-	memcpy(WBUFP(buf,39),sd->status.name, NAME_LENGTH);
-	mapindex_getmapname_ext(map[sd->bl.m].name, (char*)WBUFP(buf,63));
-	clif_send(buf,packet_len(0x104),&sd->bl,PARTY);
-}
 /*==========================================
 /*==========================================
  * Server tells client to attack bl, if not in range of attack (rhw.range) it'll move to bl
  * Server tells client to attack bl, if not in range of attack (rhw.range) it'll move to bl
  * called from unit.c
  * called from unit.c
@@ -13994,7 +13973,7 @@ void clif_bg_hp(struct map_session_data *sd)
 {
 {
 	unsigned char buf[34];
 	unsigned char buf[34];
 	const int cmd = 0x2e0;
 	const int cmd = 0x2e0;
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 
 	WBUFW(buf,0) = cmd;
 	WBUFW(buf,0) = cmd;
 	WBUFL(buf,2) = sd->status.account_id;
 	WBUFL(buf,2) = sd->status.account_id;
@@ -14017,7 +13996,7 @@ void clif_bg_hp(struct map_session_data *sd)
 void clif_bg_xy(struct map_session_data *sd)
 void clif_bg_xy(struct map_session_data *sd)
 {
 {
 	unsigned char buf[36];
 	unsigned char buf[36];
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 
 	WBUFW(buf,0)=0x2df;
 	WBUFW(buf,0)=0x2df;
 	WBUFL(buf,2)=sd->status.account_id;
 	WBUFL(buf,2)=sd->status.account_id;
@@ -14032,7 +14011,7 @@ void clif_bg_xy(struct map_session_data *sd)
 void clif_bg_xy_remove(struct map_session_data *sd)
 void clif_bg_xy_remove(struct map_session_data *sd)
 {
 {
 	unsigned char buf[36];
 	unsigned char buf[36];
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 
 	WBUFW(buf,0)=0x2df;
 	WBUFW(buf,0)=0x2df;
 	WBUFL(buf,2)=sd->status.account_id;
 	WBUFL(buf,2)=sd->status.account_id;

+ 0 - 1
src/map/clif.h

@@ -497,7 +497,6 @@ void clif_party_inviteack(struct map_session_data* sd, const char* nick, int res
 void clif_party_option(struct party_data *p,struct map_session_data *sd,int flag);
 void clif_party_option(struct party_data *p,struct map_session_data *sd,int flag);
 void clif_party_withdraw(struct party_data* p, struct map_session_data* sd, int account_id, const char* name, int flag);
 void clif_party_withdraw(struct party_data* p, struct map_session_data* sd, int account_id, const char* name, int flag);
 void clif_party_message(struct party_data* p, int account_id, const char* mes, int len);
 void clif_party_message(struct party_data* p, int account_id, const char* mes, int len);
-void clif_party_move(struct party* p, struct map_session_data* sd, int online);
 void clif_party_xy(struct map_session_data *sd);
 void clif_party_xy(struct map_session_data *sd);
 void clif_party_xy_single(int fd, struct map_session_data *sd);
 void clif_party_xy_single(int fd, struct map_session_data *sd);
 void clif_party_hp(struct map_session_data *sd);
 void clif_party_hp(struct map_session_data *sd);

+ 5 - 0
src/map/party.c

@@ -1174,6 +1174,11 @@ void party_booking_register(struct map_session_data *sd, short level, short mapi
 		pb_ad = create_party_booking_data();
 		pb_ad = create_party_booking_data();
 		idb_put(party_booking_db, sd->status.char_id, pb_ad);
 		idb_put(party_booking_db, sd->status.char_id, pb_ad);
 	}
 	}
+	else
+	{// already registered
+		clif_PartyBookingRegisterAck(sd, 2);
+		return;
+	}
 	
 	
 	memcpy(pb_ad->charname,sd->status.name,NAME_LENGTH);
 	memcpy(pb_ad->charname,sd->status.name,NAME_LENGTH);
 	pb_ad->starttime = (int)time(NULL);
 	pb_ad->starttime = (int)time(NULL);