Просмотр исходного кода

* 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 лет назад
Родитель
Сommit
0b4a77d2d2
5 измененных файлов с 12 добавлено и 45 удалено
  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: =========================================
 //= A reference manual for the rAthena scripting language.
 //= Commands are sorted depending on their functionality.
-//===== Additional Comments: =================================
-//= 
 //============================================================
 
 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>.)
 
 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 
 to create flashing marks.
 

+ 2 - 17
src/map/atcommand.c

@@ -7174,19 +7174,8 @@ ACMD_FUNC(mobinfo)
 
 /*=========================================
 * @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)
 {
 	char mob_name[100];
@@ -7240,8 +7229,7 @@ ACMD_FUNC(showmobs)
 			continue; // hide mobs waiting for respawn
 
 		++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);
 
@@ -9372,9 +9360,6 @@ void do_init_atcommand() {
 	
 	atcommand_doload();
 
-	add_timer_func_list(atshowmobs_timer, "atshowmobs_timer");
-
-	return;
 }
 
 void do_final_atcommand() {

+ 3 - 24
src/map/clif.c

@@ -6217,27 +6217,6 @@ int clif_hpmeter(struct map_session_data *sd)
 	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
  * called from unit.c
@@ -13994,7 +13973,7 @@ void clif_bg_hp(struct map_session_data *sd)
 {
 	unsigned char buf[34];
 	const int cmd = 0x2e0;
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 	WBUFW(buf,0) = cmd;
 	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)
 {
 	unsigned char buf[36];
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 	WBUFW(buf,0)=0x2df;
 	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)
 {
 	unsigned char buf[36];
-	nullpo_ret(sd);
+	nullpo_retv(sd);
 
 	WBUFW(buf,0)=0x2df;
 	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_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_move(struct party* p, struct map_session_data* sd, int online);
 void clif_party_xy(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);

+ 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();
 		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);
 	pb_ad->starttime = (int)time(NULL);