📄 menunetwork.cpp
字号:
{
if( is_king )
{
MP3( SN_LOGOUT );
AddCurrentStatusMessage( 255,255,255,lan->OutputMessage(3,69) );//010215 lsw
AddCurrentStatusMessage( 255,255,255, lan->OutputMessage(3,70));//010215 lsw
AddCurrentStatusMessage( 255,255,255, lan->OutputMessage(3,73));//010215 lsw
Hero->name_status.nation = 1;
}
else
{
MP3( SN_LOGOUT );
AddCurrentStatusMessage( 255,0,0, lan->OutputMessage(3,71));//010215 lsw
AddCurrentStatusMessage( 255,0,0, lan->OutputMessage(3,72));//010215 lsw
AddCurrentStatusMessage( 255,0,0, lan->OutputMessage(3,73));//010215 lsw
Hero->name_status.nation = 0;
}
}
//////////////////////////////////////////////////////////////////////////////
//
// 辨靛 疙飞绢甸
//
void SendGuildExit( char * name ) // 辨靛盔阑 呕硼矫挪促.
{
if( !CheckGuildPower( GDP_EXIT_GUILD_HIM, Hero ) ) // 鼻茄捞 乐唱?
{
Kein_PutMessage( KM_FAIL, kein_GetMenuString( 146 ) ); // 鼻茄捞 绝嚼聪促.
return;
}
LPCHARACTER ch = ExistHe( name );
if( !ch )
{
// 辑滚肺 朝赴促. // 林函俊 绝阑锭...
t_packet p;
p.h.header.type = CMD_GUILD_EXIT_COMMAND_GLOBAL;
strcpy( p.u.kein.default_name, name );
p.h.header.size = strlen( name )+1;
QueuePacket( &p, 1 );
return;
/*
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,82) );//010215 lsw
return;
*/
}
if( strcmp( ch->name, Hero->name ) == 0 )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,83) );//010215 lsw
return;
}
if( Hero->GetGuildCode() != ch->GetGuildCode() )
{ //< CSD-030324
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,84) );//010215 lsw
return;
} //> CSD-030324
t_packet p;
p.h.header.type = CMD_GUILD_EXIT_COMMAND;
p.u.kein.default_short_int = ch->id;
p.h.header.size = sizeof( short int );
QueuePacket( &p, 1 );
}
void RecvGuildExistYou( )
{ //< CSD-031001
MP3(SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,85) );//010215 lsw
Hero->SetGuildCode(0);
Hero->name_status.guild_master = 0;
} //> CSD-031001
void RecvGuildExistOk( t_packet *p )
{ //< CSD-031001
LPCHARACTER target = ReturnCharacterPoint( p->u.kein.default_short_int);
if( !target ) return;
MP3(SN_WARNING );
AddCurrentStatusMessage( 200,60,60,lan->OutputMessage(3,86), target->name );//010215 lsw
target->SetGuildCode(0);
target->name_status.guild_master = 0;
} //> CSD-031001
void RecvGuildExistWho( t_packet *p )
{ //< CSD-031001
LPCHARACTER target = ReturnCharacterPoint( p->u.kein.default_short_int );
if( !target ) return;
if( !CheckGuildCode( target->GetGuildCode() ) )
{
return;
}
MP3(SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,87), target->name, g_GuildMgr[target->GetGuildCode()].m_szName ); // CSD-030324
target->SetGuildCode(0);
target->name_status.guild_master = 0;
} //> CSD-031001
// 辨靛 啊涝
void SendGuildJoin( char *name )
{
if( !name[0] )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,88) );//010215 lsw
return;
}
if( !CheckGuildPower( GDP_JOINING, Hero ) ) // 鼻茄捞 登唱?
{
Kein_PutMessage( KM_FAIL, kein_GetMenuString( 146 ) );
//MP3( SN_WARNING );
//AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,89) );//010215 lsw
return;
}
LPCHARACTER ch = ExistHe( name );
if( !ch )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,90) );//010215 lsw
return;
}
if( strcmp( ch->name, Hero->name ) == 0 )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,91) );//010215 lsw
return;
}
if( CheckGuildCode( ch->GetGuildCode() ) )
{ //< CSD-030324
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,92) );//010215 lsw
return;
} //> CSD-030324
if( ch->name_status.nation != Hero->name_status.nation )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,93) );//010215 lsw
return;
}
t_packet p;
p.h.header.type = CMD_GUILD_JOIN_SERVER;
p.u.kein.default_short_int = ch->id;
p.h.header.size = sizeof( short int );
QueuePacket( &p, 1 );
}
void RecvGuildJoinOk( t_packet *p )
{ //< CSD-031001
int target_id = p->u.kein.guild_join_ok.target_id;
int guild_code = p->u.kein.guild_join_ok.guild_code;
LPCHARACTER target = ReturnCharacterPoint( target_id );
if( !target ) return;
MP3( SN_QUEST_END );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,94), target->name, g_GuildMgr[guild_code].m_szName );
target->SetGuildCode(guild_code);
target->name_status.guild_master = 0;
} //> CSD-031001
void RecvGuildJoinFail( t_packet *p )
{
int target_id = p->u.kein.default_short_int;
LPCHARACTER target = ReturnCharacterPoint( target_id );
if( !target ) return;
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,95), target->name );//010215 lsw
}
// 020620 YGI
void RecvGuildJoinConfirm( t_packet *p )
{ //< CSD-030324
const int guild_ma_id = p->u.kein.default_short_int; // 辨靛 付胶磐
LPCHARACTER guild_ma = ReturnCharacterPoint( guild_ma_id );
if( !guild_ma ) {return;}
if( !CheckGuildPower( GDP_JOINING, guild_ma ) ) return; // 辨靛 付胶磐啊 酒囱版快
ChatMgr.RecvNeedYesNoMsg( YN_GUILD_JOIN_OK, guild_ma_id, lan->OutputMessage(3,96), g_GuildMgr[guild_ma->GetGuildCode()].m_szName, guild_ma->name );//010215 lsw
} //> CSD-030324
void SendGuildJoinConfirmOk( short int target_id ) // 辨靛 啊涝阑 倾遏沁促.
{
t_packet p;
p.h.header.type = CMD_GUILD_JOIN_CONFIRM_OK;
p.u.kein.default_short_int = target_id;
p.h.header.size = sizeof( short int );
QueuePacket( &p, 1 );
}
void SendGuildJoinConfirmNot( short int target_id ) // 辨靛 啊涝阑 芭何沁促.
{
t_packet p;
p.h.header.type = CMD_GUILD_JOIN_CONFIRM_NOT;
p.u.kein.default_short_int = target_id;
p.h.header.size = sizeof( short int );
QueuePacket( &p, 1 );
}
////////////////////
// 利 胶乃
int scan_target_count; // 焊咯临 肮荐
k_x_y scan_target_xy[MAX_ENEMY_SCAN_TARGET];
int scan_target_view_time;
void RecvScanTarget( t_packet *p )
{
scan_target_view_time = 500;
scan_target_count = p->u.kein.scan_target.count;
memcpy( scan_target_xy, p->u.kein.scan_target.xy, sizeof( k_x_y )*scan_target_count );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,101) );//010215 lsw
}
void SendGuildAllMsg( char *msg ) // 辨靛 傍瘤
{
ConvString( msg );
if( !msg[0] )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,97) );//010215 lsw
return;
}
if( !CheckGuildPower( GDP_BBS, Hero ) ) // 鼻茄捞 登唱?
{
Kein_PutMessage( KM_FAIL, kein_GetMenuString( 146 ) );
//MP3( SN_WARNING );
//AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,98) );//010215 lsw
return;
}
t_packet p;
p.h.header.type = CMD_GUILD_ALL_MSG;
strcpy( p.u.kein.default_msg, msg );
p.h.header.size = strlen(msg)+1;
QueuePacket( &p, 1 );
}
void SendGuildChangeEachLevel( char *text ) // 辨靛盔狼 殿鞭阑 官槽促.
{
if( !CheckGuildPower( GDP_CHANGE_DEGREE, Hero ) ) // 鼻茄捞 登唱?
{
Kein_PutMessage( KM_FAIL, kein_GetMenuString( 146 ) ); // 2捞惑父 啊瓷
return;
}
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,99) );//010215 lsw
int each_level_to_real_level[] = { 0, 1, 2, 3, 4, 0 };
LPCHARACTER target;
int lv;
char name[20];
if( text[0] == NULL ) goto ERR_;
char *token;
token = strtok( text, " " );
if( !token ) goto ERR_;
lv = atoi( token );
if( !lv ) goto ERR_;
token = strtok( NULL, " \n" );
if( !token ) goto ERR_;
strncpy( name, token, 19 );
name[19] = 0;
if( lv <= 0 || lv > 5 )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,100) );//010215 lsw
return;
}
if( name[0] == NULL )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,102) );//010215 lsw
return;
}
target = ExistHe( name );
if( !target )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,103) );//010215 lsw
return;
}
if (target->GetGuildCode() != Hero->GetGuildCode())
{ //< CSD-030324
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,104) );//010215 lsw
return;
} //> CSD-030324
if( target == Hero )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,105) );//010215 lsw
return;
}
if( target->name_status.guild_master == each_level_to_real_level[lv] )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,106) );//010215 lsw
return;
}
if( lv == 1 )
{
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,107) );//010215 lsw
return;
}
t_packet p; // 辑滚肺 傈价
p.h.header.type = CMD_GUILD_EACH_LEVEL;
p.u.kein.guild_each_level.target_id = target->id;
p.u.kein.guild_each_level.each_level = lv;
p.h.header.size = sizeof( k_guild_each_level );
QueuePacket( &p, 1 );
return;
ERR_ :
AddCurrentStatusMessage( 160,160,250, lan->OutputMessage(3,108) );//010215 lsw
return;
}
void RecvGuildEachLevel( t_packet *p ) // 穿焙啊 殿鞭捞 官布促.
{
int each_level = p->u.kein.guild_each_level.each_level;
int target_id = p->u.kein.guild_each_level.target_id;
LPCHARACTER target = ReturnCharacterPoint( target_id );
if( !target ) return;
int each_level_to_real_level[] = { 0, 1, 2, 3, 4, 0 };
int old_level = target->name_status.guild_master;
target->name_status.guild_master = each_level_to_real_level[each_level];
if( target == Hero ) // 磊扁 磊脚捞搁
{ //< CSD-030324
int real_level_to_each_level[]={ 5, 1, 2, 3, 4};
if( each_level < real_level_to_each_level[old_level] ) // 铰拜
{
AddCurrentStatusMessage( 60,60,250,lan->OutputMessage(3,109), CallGuildDegreeName( target->GetGuildCode(), target->name_status.guild_master ) );//010215 lsw
}
else
{
AddCurrentStatusMessage( 60,60,250, lan->OutputMessage(3,110), CallGuildDegreeName( target->GetGuildCode(), target->name_status.guild_master ) );//010215 lsw
}
} //> CSD-030324
else
{
AddCurrentStatusMessage( 60,60,250, lan->OutputMessage(3,111), target->name );//010215 lsw
}
}
void RecvGuildJoinConfirmIng( )
{
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,112));//010215 lsw
}
// gm俊 殿废且父茄 磊拜捞 救登绰 酒捞 吝 割割父 眠妨辑 辑滚肺 焊郴 拳老肺 父电促.
void CheckAndSendGmRegist( int guild_count)
{
static char name[21];
if( strcmp( name, SCharacterData.sCharacterName ) == 0 ) // 捞固 傈价沁促.
{
return;
}
//011012 lsw >
if( SCharacterData.nJobSkill[guild_count].skillexp >= 950000 ) // 胶懦吝 绢蠢巴捞 95 捞惑牢瘤...
//011012 lsw <
{
SendGMRegist( guild_count, CMD_GM_REGIST2 );
strcpy( name, SCharacterData.sCharacterName );
}
//strcpy( name, SCharacterData.sCharacterName );
}
void SendGMRegist( int guild_count, int type )
{
t_packet p; // 辑滚肺 傈价
p.h.header.type = type;
if( GetSysInfo( SI_GAME_MAKE_MODE ) )
{
p.h.header.type = CMD_GM_REGIST_GAMEMAKEMODE;
}
p.u.kein.gm_regist.gm_list_index= guild_count;
p.h.header.size = sizeof( k_gm_regist );
QueuePacket( &p, 1 );
return;
}
void RecvBbsAll( t_packet *p )
{
int type = p->u.kein.bbs_all.type; // 绢恫 傍瘤荤亲捞衬?
char *name = p->u.kein.bbs_all.name;
switch( type )
{
case BA_GM_REGIST : ShowComeOutGM( name ); break;
}
}
// 焊咯林绰 流诀 官操扁
int GetJobNumberByName( char *name )
{//021030 lsw
for( int i=0; i< MAX_GM_MAIN;i++ )
{
if( ::strcmp( g_GmMain[i].name, name ) == 0 ) return i;//021111 lsw
}
return -1;
}
int GetNationByNationName( char *text )
{
int ret = -1;
if( !text[0] ) return ret;
for( int i=3; i<7; i++ )
{
if( strcmp( NationName[i], text ) == 0 ) return i;
}
return ret;
}
void SendReqStopWar( char *text )
{
if( Hero->name_status.king != 1 ) return; // 瘤档磊父 荤侩且荐 乐促.
int nation = GetNationByNationName( text );
if( nation == -1 || nation == Hero->name_status.nation )
{
MP3( SN_WARNING );
AddCurrentStatusMessage( 255, 0, 0, lan->OutputMessage(3,114) );//010215 lsw
return;
}
t_packet p; // 辑滚肺 傈价
p.h.header.type = CMD_REQ_STOP_WAR_TO_LOGIN;
p.u.kein.default_char = nation;
p.h.header.size = sizeof( char );
QueuePacket( &p, 1 );
AddCurrentStatusMessage( 255, 255, 255, lan->OutputMessage(3,115) );//010215 lsw
}
int ScanTarget( int nation ) // 利阑 胶乃
{
if( Hero->name_status.nation != nation ) return 0;
//acer6
static DWORD time = 0;
if( (g_curr_time - time) < 20 ) return 0;
time = g_curr_time;
if (!Hero->JoinLocalWar) return 0;
if( ViewSmallMap2(0,0) == 0 ) // 瘤档啊 绝促.
{
AddCurrentStatusMessage( 200,60,60, lan->OutputMessage(3,117) );//010215 lsw
return 1;
}
main_interface.data[IF_MAP] = true;
CallMenu( MN_SMALL_MAP );
SMenu[MN_SMALL_MAP].nTemp = 0;
CallServer( CMD_SCAN_TARGET );
return 1;
}
void RecvScriptMessageBox( t_packet *p )
{
KeinMessageBox( 0, p->u.kein.default_msg ); // 020701 YGI
}
void SendSalvationMoney( DWORD money )
{
t_packet p; // 辑滚肺 傈价
p.h.header.type = CMD_SALVATION_MONEY;
p.u.kein.default_dword= money;
p.h.header.size = sizeof( DWORD );
QueuePacket( &p, 1 );
}
void RecvRepVationMoney( t_packet *p )
{
DWORD money = p->u.kein.default_dword;
TotalSalvation
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -