I tried to put this mod on my eAthena emulator but give error when will compile .. could someone help me?
Diff
Index: conf/msg_conf/map_msg.conf
===================================================================--- conf/msg_conf/map_msg.conf (revision 17251)+++ conf/msg_conf/map_msg.conf (working copy)@@-1457,5+1457,10@@1434:You're already in the '%s' channel.
1435: You're now in the '#%s' channel for'%s'.+// ----- @partybuff / @spb ----- //+1450:You're not in a party.
+1451: Displaying party member's buffs disabled.+1452:Displaying party member's buffs enabled.
+
//Custom translations
//import: conf/msg_conf/import/map_msg_eng_conf.txt
Index: src/map/atcommand.c
===================================================================
--- src/map/atcommand.c (revision 17251)
+++ src/map/atcommand.c (working copy)
@@ -9100,6 +9100,29 @@
return 0;
}
+ACMD_FUNC(partybuff)
+{
+ struct party_data* p = NULL;
+ nullpo_retr(-1, sd);
+
+ if( !sd->status.party_id ) {
+ clif_displaymessage(fd, msg_txt(sd,1450)); // You're notin a party.+return-1;+}++ p = party_search(sd->status.party_id);++if( sd->state.spb ){+ sd->state.spb =0;+ clif_displaymessage(fd, msg_txt(sd,1451));// Displaying party member's buffs disabled.+}else{+ sd->state.spb =1;+ clif_displaymessage(fd, msg_txt(sd,1452));// Displaying party member's buffs enabled.+}++ clif_party_info(p,sd);+return0;+}/**
* Fills the reference of available commands in atcommand DBMap
**/@@-9111,6+9134,8@@**/AtCommandInfo atcommand_base[]={
ACMD_DEF2("warp", mapmove),+ ACMD_DEF(partybuff),+ ACMD_DEF2("spb", partybuff),
ACMD_DEF(where),
ACMD_DEF(jumpto),
ACMD_DEF(jump),Index: src/map/clif.c
===================================================================--- src/map/clif.c (revision 17251)+++ src/map/clif.c (working copy)@@-455,6+455,7@@case PARTY_WOS:case PARTY_SAMEMAP:case PARTY_SAMEMAP_WOS:+case PARTY_BUFF_INFO:if(sd && sd->status.party_id)
p = party_search(sd->status.party_id);@@-469,12+470,15@@if( sd->bl.id == bl->id &&(type == PARTY_WOS || type == PARTY_SAMEMAP_WOS || type == PARTY_AREA_WOS))continue;-if( type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m )+if( type != PARTY_BUFF_INFO && type != PARTY && type != PARTY_WOS && bl->m != sd->bl.m )continue;if((type == PARTY_AREA || type == PARTY_AREA_WOS)&&(sd->bl.x < x0 || sd->bl.y < y0 || sd->bl.x > x1 || sd->bl.y > y1))continue;+if( type == PARTY_BUFF_INFO &&!sd->state.spb )+continue;+if( packet_db[sd->packet_ver][RBUFW(buf,0)].len ){// packet must exist for the client version
WFIFOHEAD(fd,len);@@-6557,8+6561,9@@void clif_party_info(struct party_data* p,struct map_session_data *sd){unsignedchar buf[2+2+NAME_LENGTH+(4+NAME_LENGTH+MAP_NAME_LENGTH_EXT+1+1)*MAX_PARTY];-struct map_session_data* party_sd = NULL;+struct map_session_data* party_sd = NULL,*target = NULL;int i, c;+char output[NAME_LENGTH+10];
nullpo_retv(p);@@-6585,6+6590,33@@}elseif(party_sd){// send to whole party
clif_send(buf, WBUFW(buf,2),&party_sd->bl, PARTY);}++for(i =0; i < MAX_PARTY; i++)+{+if((target = p->data[i].sd))+{+ strcpy(output,"[");+if( target->sc.data[SC_BLESSING]) strcat(output,"B");+else strcat(output,"_");+if( target->sc.data[SC_INCREASEAGI]) strcat(output,"A");+else strcat(output,"_");+if( target->sc.data[SC_CP_WEAPON]&& target->sc.data[SC_CP_SHIELD]&&+ target->sc.data[SC_CP_ARMOR]&& target->sc.data[SC_CP_HELM]) strcat(output,"F");+else strcat(output,"_");+if( target->sc.data[SC_SPIRIT]) strcat(output,"S");+else strcat(output,"_");+if( target->sc.data[SC_DEVOTION]) strcat(output,"+");+else strcat(output,"_");+ strcat(output,"]");+ strncat(output, p->data[i].sd->status.name, NAME_LENGTH);+ safestrncpy((char*)WBUFP(buf,28+i*46+4), output, NAME_LENGTH);+}+}++if( sd && sd->state.spb )+ clif_send(buf, WBUFW(buf,2),&sd->bl, SELF);+elseif( party_sd )+ clif_send(buf, WBUFW(buf,2),&party_sd->bl, PARTY_BUFF_INFO);}Index: src/map/clif.h
===================================================================--- src/map/clif.h (revision 17251)+++ src/map/clif.h (working copy)@@-65,6+65,7@@
PARTY_SAMEMAP_WOS,
PARTY_AREA,
PARTY_AREA_WOS,+ PARTY_BUFF_INFO,
GUILD,
GUILD_WOS,
GUILD_SAMEMAP,Index: src/map/party.c
===================================================================--- src/map/party.c (revision 17251)+++ src/map/party.c (working copy)@@-563,12+563,17@@
memset(&p->data[i],0,sizeof(p->data[0]));
p->party.count--;
party_check_state(p);+ clif_party_info(p, NULL);}}if( sd && sd->status.party_id == party_id && sd->status.char_id == char_id ){
sd->status.party_id =0;+if( sd->state.spb ){+ sd->state.spb =0;+ clif_displaymessage(sd->fd, msg_txt(sd,1451));+}
clif_charnameupdate(sd);//Update name display [Skotlex]//TODO: hp bars should be cleared tooif( p->instance_id )Index: src/map/pc.h
===================================================================--- src/map/pc.h (revision 17251)+++ src/map/pc.h (working copy)@@-164,6+164,7@@struct guild *gmaster_flag;unsignedint prevend :1;//used to flag wheather you've spent 40sp to open the vending or not.unsignedint warping :1;//states whether you're in the middle of a warp processing+unsignedint spb :1;// @spb / @partybuffunsignedint permanent_speed :1;// When 1, speed cannot be changed through status_calc_pc().} state;struct{Index: src/map/status.c
===================================================================--- src/map/status.c (revision 17251)+++ src/map/status.c (working copy)@@-31,6+31,7@@#include"mercenary.h"#include"elemental.h"#include"vending.h"+#include "party.h"#include<time.h>#include<stdio.h>@@-9113,6+9114,15@@if( opt_flag&2&& sd && sd->touching_id )
npc_touchnext_areanpc(sd,false);// run OnTouch_ on next char in range+if( sd && sd->status.party_id &&(+ type == SC_BLESSING || type == SC_INCREASEAGI || type == SC_CP_WEAPON || type == SC_CP_SHIELD ||+ type == SC_CP_ARMOR || type == SC_CP_HELM || type == SC_SPIRIT || type == SC_DEVOTION )+)+{+struct party_data *p = party_search(sd->status.party_id);+ clif_party_info(p, NULL);+}+return1;}@@-9884,6+9894,15@@if(opt_flag&2&& sd && map_getcell(bl->m,bl->x,bl->y,CELL_CHKNPC))
npc_touch_areanpc(sd,bl->m,bl->x,bl->y);//Trigger on-touch event.+if( sd && sd->status.party_id &&(+ type == SC_BLESSING || type == SC_INCREASEAGI || type == SC_CP_WEAPON || type == SC_CP_SHIELD ||+ type == SC_CP_ARMOR || type == SC_CP_HELM || type == SC_SPIRIT || type == SC_DEVOTION )+)+{+struct party_data *p = party_search(sd->status.party_id);+ clif_party_info(p, NULL);+}+
ers_free(sc_data_ers, sce);return1;}
[erro console compiler]
clif.c:Infunction'clif_bl_type':
clif.c:443: warning: comparison is always true due to limited range of data type
clif.c:445: warning: comparison is always true due to limited range of data type
clif.c:Infunction'clif_setdisguise':
clif.c:1469: warning: comparison is always true due to limited range of data type
clif.c:At top level:
clif.c:6670: error: expected identifier or'(' before 'for'
clif.c:6670: error: expected '=',',',';','asm'or'__attribute__' before '<' token
clif.c:6670: error: expected '=',',',';','asm'or'__attribute__' before '++' token
clif.c:6692: error: expected identifier or'(' before 'if'
clif.c:6694: error: expected identifier or'(' before 'else'
clif.c:6697: error: expected identifier or'(' before 'return'
clif.c:6698: error: expected identifier or'(' before '}' token
make[1]:***[obj_sql/clif.o]Error1
make[1]:Leaving directory `/home/emulador/src/map'
make: *** [map_sql] Error 2
-bash-3.2#
-bash-3.2#
I tried to put this mod on my eAthena emulator but give error when will compile .. could someone help me?
Diff
[erro console compiler]
Share this post
Link to post
Share on other sites