Added @noask command: enable/disable deals/invites autorejecting.
git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@6376 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
367dec7ccf
commit
c2276ce3e2
@ -4,6 +4,8 @@ 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.
|
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK.
|
||||||
|
|
||||||
2006/04/29
|
2006/04/29
|
||||||
|
* Added @noask command: enable/disable deals/invites autorejecting.
|
||||||
|
[LuzZza]
|
||||||
* Removed unreferenced local variable in pc.c [Lance]
|
* Removed unreferenced local variable in pc.c [Lance]
|
||||||
* Reverted npc_checknear to exclude check for class_ -1.
|
* Reverted npc_checknear to exclude check for class_ -1.
|
||||||
* Removed npc_checknear in npc_buysellsel, npc_selllist and npc_buylist
|
* Removed npc_checknear in npc_buysellsel, npc_selllist and npc_buylist
|
||||||
|
@ -119,6 +119,9 @@ aw: 1
|
|||||||
// Main chat
|
// Main chat
|
||||||
main: 1
|
main: 1
|
||||||
|
|
||||||
|
// Autorejecting Deals/Invites
|
||||||
|
noask: 1
|
||||||
|
|
||||||
//---------------------------
|
//---------------------------
|
||||||
// 10: Super player+ commands
|
// 10: Super player+ commands
|
||||||
|
|
||||||
|
@ -370,6 +370,10 @@
|
|||||||
386: Main@%s: %s
|
386: Main@%s: %s
|
||||||
387: You cannot use Main chat while muted.
|
387: You cannot use Main chat while muted.
|
||||||
388: You should enable main chat with "@main on" command.
|
388: You should enable main chat with "@main on" command.
|
||||||
|
//NoAsk
|
||||||
|
390: Autorejecting is activated.
|
||||||
|
391: Autorejecting is deactivated.
|
||||||
|
392: You request has been rejected by autoreject option.
|
||||||
|
|
||||||
// Messages of others (not for GM commands)
|
// Messages of others (not for GM commands)
|
||||||
// ----------------------------------------
|
// ----------------------------------------
|
||||||
|
@ -294,6 +294,7 @@ ACMD_FUNC(main); // LuzZza
|
|||||||
ACMD_FUNC(clone); // [Valaris]
|
ACMD_FUNC(clone); // [Valaris]
|
||||||
ACMD_FUNC(tonpc); // LuzZza
|
ACMD_FUNC(tonpc); // LuzZza
|
||||||
ACMD_FUNC(commands); // [Skotlex]
|
ACMD_FUNC(commands); // [Skotlex]
|
||||||
|
ACMD_FUNC(noask); //LuzZza
|
||||||
|
|
||||||
/*==========================================
|
/*==========================================
|
||||||
*AtCommandInfo atcommand_info[]<EFBFBD>\‘¢‘̂̒è‹`
|
*AtCommandInfo atcommand_info[]<EFBFBD>\‘¢‘̂̒è‹`
|
||||||
@ -609,6 +610,7 @@ static AtCommandInfo atcommand_info[] = {
|
|||||||
{ AtCommand_Clone, "@evilclone", 50, atcommand_clone }, // [Valaris]
|
{ AtCommand_Clone, "@evilclone", 50, atcommand_clone }, // [Valaris]
|
||||||
{ AtCommand_ToNPC, "@tonpc", 40, atcommand_tonpc }, // LuzZza
|
{ AtCommand_ToNPC, "@tonpc", 40, atcommand_tonpc }, // LuzZza
|
||||||
{ AtCommand_Commands, "@commands", 1, atcommand_commands }, // [Skotlex]
|
{ AtCommand_Commands, "@commands", 1, atcommand_commands }, // [Skotlex]
|
||||||
|
{ AtCommand_NoAsk, "@noask", 1, atcommand_noask }, // [LuzZza]
|
||||||
|
|
||||||
// add new commands before this line
|
// add new commands before this line
|
||||||
{ AtCommand_Unknown, NULL, 1, NULL }
|
{ AtCommand_Unknown, NULL, 1, NULL }
|
||||||
@ -10191,6 +10193,27 @@ int atcommand_main(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*=====================================
|
||||||
|
* Autorejecting Invites/Deals [LuzZza]
|
||||||
|
* Usage: @noask
|
||||||
|
*-------------------------------------
|
||||||
|
*/
|
||||||
|
int atcommand_noask(
|
||||||
|
const int fd, struct map_session_data* sd,
|
||||||
|
const char* command, const char* message)
|
||||||
|
{
|
||||||
|
|
||||||
|
if(sd->state.noask) {
|
||||||
|
clif_displaymessage(fd, msg_txt(391)); // Autorejecting is deactivated.
|
||||||
|
sd->state.noask = 0;
|
||||||
|
} else {
|
||||||
|
clif_displaymessage(fd, msg_txt(390)); // Autorejecting is activated.
|
||||||
|
sd->state.noask = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
void do_init_atcommand() {
|
void do_init_atcommand() {
|
||||||
users_db = db_alloc(__FILE__,__LINE__,DB_UINT,DB_OPT_BASE,sizeof(int));
|
users_db = db_alloc(__FILE__,__LINE__,DB_UINT,DB_OPT_BASE,sizeof(int));
|
||||||
duel_count = 0;
|
duel_count = 0;
|
||||||
|
@ -269,6 +269,8 @@ enum AtCommandType {
|
|||||||
AtCommand_Clone, // [Valaris]
|
AtCommand_Clone, // [Valaris]
|
||||||
AtCommand_ToNPC, // LuzZza
|
AtCommand_ToNPC, // LuzZza
|
||||||
AtCommand_Commands, // [Skotlex]
|
AtCommand_Commands, // [Skotlex]
|
||||||
|
AtCommand_NoAsk, // [LuzZza]
|
||||||
|
|
||||||
// end <- Ahem, guys, don't place AtCommands after AtCommand_Unknown! [Skotlex]
|
// end <- Ahem, guys, don't place AtCommands after AtCommand_Unknown! [Skotlex]
|
||||||
AtCommand_Unknown,
|
AtCommand_Unknown,
|
||||||
AtCommand_MAX
|
AtCommand_MAX
|
||||||
|
@ -9317,7 +9317,17 @@ void clif_parse_ChatLeave(int fd,struct map_session_data *sd)
|
|||||||
*/
|
*/
|
||||||
void clif_parse_TradeRequest(int fd,struct map_session_data *sd)
|
void clif_parse_TradeRequest(int fd,struct map_session_data *sd)
|
||||||
{
|
{
|
||||||
|
struct map_session_data *t_sd;
|
||||||
|
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
|
t_sd = map_id2sd(RFIFOL(sd->fd,2));
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(t_sd && t_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if(battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_BASIC) >= 1){
|
if(battle_config.basic_skill_check == 0 || pc_checkskill(sd,NV_BASIC) >= 1){
|
||||||
trade_traderequest(sd,RFIFOL(sd->fd,2));
|
trade_traderequest(sd,RFIFOL(sd->fd,2));
|
||||||
@ -10019,7 +10029,19 @@ void clif_parse_CreateParty2(int fd, struct map_session_data *sd) {
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
void clif_parse_PartyInvite(int fd, struct map_session_data *sd) {
|
void clif_parse_PartyInvite(int fd, struct map_session_data *sd) {
|
||||||
|
|
||||||
|
struct map_session_data *t_sd;
|
||||||
|
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
|
t_sd = map_id2sd(RFIFOL(sd->fd,2));
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(t_sd && t_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
party_invite(sd, RFIFOL(fd,2));
|
party_invite(sd, RFIFOL(fd,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10235,7 +10257,19 @@ void clif_parse_GuildChangeNotice(int fd,struct map_session_data *sd) {
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
void clif_parse_GuildInvite(int fd,struct map_session_data *sd) {
|
void clif_parse_GuildInvite(int fd,struct map_session_data *sd) {
|
||||||
|
|
||||||
|
struct map_session_data *t_sd;
|
||||||
|
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
|
t_sd = map_id2sd(RFIFOL(sd->fd,2));
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(t_sd && t_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
guild_invite(sd,RFIFOL(fd,2));
|
guild_invite(sd,RFIFOL(fd,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10290,7 +10324,19 @@ void clif_parse_GuildMessage(int fd,struct map_session_data *sd) {
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
void clif_parse_GuildRequestAlliance(int fd, struct map_session_data *sd) {
|
void clif_parse_GuildRequestAlliance(int fd, struct map_session_data *sd) {
|
||||||
|
|
||||||
|
struct map_session_data *t_sd;
|
||||||
|
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
|
t_sd = map_id2sd(RFIFOL(sd->fd,2));
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(t_sd && t_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
guild_reqalliance(sd,RFIFOL(fd,2));
|
guild_reqalliance(sd,RFIFOL(fd,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10317,7 +10363,19 @@ void clif_parse_GuildDelAlliance(int fd, struct map_session_data *sd) {
|
|||||||
*------------------------------------------
|
*------------------------------------------
|
||||||
*/
|
*/
|
||||||
void clif_parse_GuildOpposition(int fd, struct map_session_data *sd) {
|
void clif_parse_GuildOpposition(int fd, struct map_session_data *sd) {
|
||||||
|
|
||||||
|
struct map_session_data *t_sd;
|
||||||
|
|
||||||
RFIFOHEAD(fd);
|
RFIFOHEAD(fd);
|
||||||
|
t_sd = map_id2sd(RFIFOL(sd->fd,2));
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(t_sd && t_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
guild_opposition(sd,RFIFOL(fd,2));
|
guild_opposition(sd,RFIFOL(fd,2));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10846,6 +10904,13 @@ void clif_parse_FriendsListAdd(int fd, struct map_session_data *sd) {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// @noask [LuzZza]
|
||||||
|
if(f_sd->state.noask) {
|
||||||
|
// Your request has been rejected by autoreject option.
|
||||||
|
clif_displaymessage(fd, msg_txt(392));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Friend already exists
|
// Friend already exists
|
||||||
for (i = 0; i < MAX_FRIENDS && sd->status.friends[i].char_id != 0; i++) {
|
for (i = 0; i < MAX_FRIENDS && sd->status.friends[i].char_id != 0; i++) {
|
||||||
if (sd->status.friends[i].char_id == f_sd->status.char_id) {
|
if (sd->status.friends[i].char_id == f_sd->status.char_id) {
|
||||||
@ -10861,7 +10926,7 @@ void clif_parse_FriendsListAdd(int fd, struct map_session_data *sd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
f_fd = f_sd->fd;
|
f_fd = f_sd->fd;
|
||||||
WFIFOHEAD(fd,packet_len_table[0x207]);
|
WFIFOHEAD(f_fd,packet_len_table[0x207]);
|
||||||
WFIFOW(f_fd,0) = 0x207;
|
WFIFOW(f_fd,0) = 0x207;
|
||||||
WFIFOL(f_fd,2) = sd->status.account_id;
|
WFIFOL(f_fd,2) = sd->status.account_id;
|
||||||
WFIFOL(f_fd,6) = sd->status.char_id;
|
WFIFOL(f_fd,6) = sd->status.char_id;
|
||||||
|
@ -506,6 +506,7 @@ struct map_session_data {
|
|||||||
unsigned showexp :1;
|
unsigned showexp :1;
|
||||||
unsigned showzeny :1;
|
unsigned showzeny :1;
|
||||||
unsigned mainchat :1; //[LuzZza]
|
unsigned mainchat :1; //[LuzZza]
|
||||||
|
unsigned noask :1; // [LuzZza]
|
||||||
unsigned trading :1; //[Skotlex] is 1 only after a trade has started.
|
unsigned trading :1; //[Skotlex] is 1 only after a trade has started.
|
||||||
unsigned deal_locked :2; //1: Clicked on OK. 2: Clicked on TRADE
|
unsigned deal_locked :2; //1: Clicked on OK. 2: Clicked on TRADE
|
||||||
unsigned party_sent :1;
|
unsigned party_sent :1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user