?? nationsupport.cpp
字號:
#include "stdafx.h"
#include "gameproc.h"
#include "NetWork.h"
#include "NationSys.h"
#include "menu.h"
#include "SmallMenu.h"
#include "map.h"
#include "LineCommand.h"
#include "DirectSound.h"
#include "tool.h"
#include "nationsys.h"
#include "nationSUPPORT.h"
#include "MenuDef2.h"
#include "menuset.h"//021008 lsw
#include "Skill.h"//021008 lsw
#include "Auction.h"//021008 lsw
#include "MailMgr.h"//021008 lsw
extern void SendMoveToHomeTown();
extern void SendMoveToHomeTownWithAlive();
extern int CallFriendMenu();
extern cNation* g_pNation;
extern int g_Squad; // 唱吝俊 努貳膠俊 器竊茄促.
extern int g_Commander;
extern int g_AttackNation;
extern int g_DefenceNation;
extern int g_CommanderCandidaterLevel; //唱吝俊 官槽促..
extern bool g_bWarBegin; // RecvCMD_WAR_START,END俊輯 葷儈
extern int g_SquadLoadingPoint;//肺爹器牢飄 鍋齲
extern int g_SquadNum; //何措皋春
extern int WarResultAniCount;
extern bool isNationWarfieldServer();
extern void SendCMD_NW_MAP_MOVE(int Type,int WarfieldNo);
extern bool isAttacker();
extern void SendNationPacket(int type);
extern void SendCMD_REQUEST_SQUAD_INFO(int SquadNo); // Request Warfield Squad Information
extern void SendCMD_REQUEST_COMMANDER_VOTE_DATA(int CandidaterNo); // Request Commander Candidater Information, Parameter : Candidater No
extern void SendCMD_SET_SQUAD_LODING_POINT(int SquadNo,int LoadingPoint) ;
extern int GetSquadNo();
extern int CheckNationStatus(int StatusNo);
extern void GetTime(DWORD RemainTime,WORD& Hour,WORD& Min,WORD& Sec);
void NationWarResultDoneButton();//搬苞 俊輯 done 穿福擱 甸絹咳
extern void SendCMD_CHECK_AM_I_DEFEAT(); //烙矯竊薦 // 011015 LTS
extern void SendCMD_LOCALWAR_JOIN(); // LTS LOCALWAR
extern void DrawLocalWarJoinInterface(int ImageType,int MenuNumber,int BaseX,int BaseY);
extern bool isNewWarfieldServer();
extern void SendCMD_CHECK_DEFEAT();
extern void CallMapMoveMenu(int WarfieldNo);
//010924 lsw
int g_TodayNoticeStatus[3] = {0,};
int g_TodayNoticeMsgNo[3] ={300,300,300};
void NationSupportRecvNationWarResult(t_packet *p)
{
WarResultAniCount = 0;
int WinNation=p->u.NationWar.WarBBS.Arg[0];
int AttackerWin=p->u.NationWar.WarBBS.Arg[1];
//___________________________ // 010927 LTS
WORD BYCount;
WORD ZYCount;
WORD YL_BYCount;
WORD BYDeathCount;
WORD ZYDeathCount;
WORD YL_ZYCount;
//011014 lsw >
g_bWarBegin =0;
//011014 lsw <
//___________________________ // 010927 LTS
memcpy(&BYCount, &p->u.NationWar.WarBBS.Arg[2],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
memcpy(&ZYCount, &p->u.NationWar.WarBBS.Arg[4],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
memcpy(&YL_BYCount, &p->u.NationWar.WarBBS.Arg[6],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
memcpy(&BYDeathCount, &p->u.NationWar.WarBBS.Arg[8],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
memcpy(&ZYDeathCount, &p->u.NationWar.WarBBS.Arg[10],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
memcpy(&YL_ZYCount, &p->u.NationWar.WarBBS.Arg[12],sizeof(WORD)); // 12官撈飄... 糕滾墨款飄撈促.
//011014 LSW >
SMenu[MN_NATION_WAR_RESULT].nField[1].nWillDo = BYDeathCount;
SMenu[MN_NATION_WAR_RESULT].nField[2].nWillDo = ZYDeathCount;
SMenu[MN_NATION_WAR_RESULT].nField[3].nWillDo = BYCount;
SMenu[MN_NATION_WAR_RESULT].nField[4].nWillDo = YL_BYCount;
SMenu[MN_NATION_WAR_RESULT].nField[5].nWillDo = ZYCount;
SMenu[MN_NATION_WAR_RESULT].nField[6].nWillDo = YL_ZYCount;
//011014 LSW <
int iamwin = 0;
if( Hero->name_status.nation==NW_YL)
{
if( Hero->NWCharacter.YL_JoinNation==WinNation)
{
iamwin = 1;
}
}
if( Hero->name_status.nation==WinNation)//鉸府 措惑
{
iamwin = 1;
}
if( iamwin )//鉸府 措惑
{
SMenu[MN_NATION_WAR_RESULT].nField[0].nImageType = 0;
//PlayListAutoSounds(62,0,0,0);
if(WinNation==NW_BY)//官撈輯膠啊 撈辮
{
SMenu[MN_NATION_WAR_RESULT].nField[7].nImageNumber = 1;
}
else if(WinNation==NW_ZY)//磊撈戚撈 撈辮
{
SMenu[MN_NATION_WAR_RESULT].nField[7].nImageNumber = 3;
}
}
else//菩硅 措惑
{
SMenu[MN_NATION_WAR_RESULT].nField[0].nImageType = 1;
//PlayListAutoSounds(62,0,0,0);
//010927 lsw 菩硅 竅綽芭
if(WinNation==NW_BY)//磊撈戚撈 嚨
{
SMenu[MN_NATION_WAR_RESULT].nField[7].nImageNumber = 4;
}
else if(WinNation==NW_ZY)//官撈輯膠啊 嚨
{
SMenu[MN_NATION_WAR_RESULT].nField[7].nImageNumber = 2;
}
}
CallSmallMenu(MN_NATION_WAR_RESULT);
return;
}
int CallNationYesOrNo(int iPrevType,int temp)
{
MP3(258);
switch(iPrevType)
{
//010928 lsw
case SWD_NATION_BUDAE_JOIN://何措 殿廢 汞扁 krlan闌 嘩坷磊
if(g_bWarBegin == 1 )//傈里吝撈擱
{
CallOkCancelMessageBox(TRUE, 0,0, lan->OutputMessage(0,197), FALSE);
return 0;
}
else
{
sprintf(SMenu[MN_NATION_MSGBOX].nField[2].temp,lan->OutputMessage(0,143),temp);
}
break;
case SWD_NATION_VOTE_I_AM_HERO://何措 殿廢 汞扁 krlan闌 嘩坷磊
sprintf(SMenu[MN_NATION_MSGBOX].nField[2].temp,lan->OutputMessage(0,144));
break;
}
SMenu[MN_NATION_MSGBOX].nField[1].nWillDo=iPrevType;//撈 藹闌 曼煉 竅咯 老闌 茄促
CallSmallMenu(MN_NATION_MSGBOX,MN_NATION_BATTLE_BBS);//皋技瘤 冠膠 齲免
return 0;
}
// Style Flag ---> 0x0000 ALL_CLEAR 0x0001 FORCE_TYPE 0x0002 QUEUE_TYPE
// iPositionFlag--->
// At QUEUE_TYPE
// 0x0001 FIRST_IN 0x0002 LAST_IN
//
//
//020620 YGI 昏力
//011013 lsw>
void IntoNationNotice(const eIntoNationNoticeType iStyleFlag, int iPosition, char *Msg)//QUEUE Style //INTOPOSTION Style // ALL Clear //
{
switch(iStyleFlag )
{
case ALL_CLEAR:
{
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp,sizeof(char)*MAX_STRING);
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp,sizeof(char)*MAX_STRING);
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp,sizeof(char)*MAX_STRING);
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[4].temp,sizeof(char)*MAX_STRING);
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[5].temp,sizeof(char)*MAX_STRING);
ZeroMemory( SMenu[MN_NATION_TODAY_NOTICE].nField[6].temp,sizeof(char)*MAX_STRING);
}
break;
case FORCE_TYPE:
{
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[iPosition].temp, Msg);
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[iPosition+3].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[iPosition].temp+1), 16);//累籃沫 悸潑
SMenu[MN_NATION_TODAY_NOTICE].nField[iPosition+3].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[iPosition+3].temp)-1);
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[7].temp, lan->OutputMessage(0, 399)); // BBD 040315
}break;
case QUEUE_TYPE:
{
switch(iPosition )
{
case FIRST_IN:
{
// 020706 YGI -----------------------
if( !SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp[0] )
{
IntoNationNotice( FORCE_TYPE, 1, Msg );
return;
}
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp, SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp);
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp, SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp);
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp, Msg);
// ----------------------------------------
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[4].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp+1), 16);//累籃沫 悸潑
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[5].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp+1), 16);//累籃沫 悸潑
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[6].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp+1), 16);//累籃沫 悸潑
SMenu[MN_NATION_TODAY_NOTICE].nField[4].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[4].temp)-1);
SMenu[MN_NATION_TODAY_NOTICE].nField[5].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[5].temp)-1);
SMenu[MN_NATION_TODAY_NOTICE].nField[6].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[6].temp)-1);
//011030 lsw >
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[7].temp, lan->OutputMessage(0, 399));
//011030 lsw <
}break;
case LAST_IN:
{
// 020706 YGI -----------------------
if( !SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp[0] )
{
IntoNationNotice( FORCE_TYPE, 3, Msg );
return ;
}
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp, SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp);
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp, SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp);
memset( SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp, 0, sizeof( SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp ) );
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp, Msg);
// ----------------------------------------
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[4].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[1].temp+1), 16);//累籃沫 悸潑
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[5].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[2].temp+1), 16);//累籃沫 悸潑
memcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[6].temp,(SMenu[MN_NATION_TODAY_NOTICE].nField[3].temp+1), 16);//累籃沫 悸潑
SMenu[MN_NATION_TODAY_NOTICE].nField[4].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[4].temp)-1);
SMenu[MN_NATION_TODAY_NOTICE].nField[5].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[5].temp)-1);
SMenu[MN_NATION_TODAY_NOTICE].nField[6].nWillDo = (strlen(SMenu[MN_NATION_TODAY_NOTICE].nField[6].temp)-1);
strcpy(SMenu[MN_NATION_TODAY_NOTICE].nField[7].temp, lan->OutputMessage(0, 399));
}break;
}
}break;
}
int *MasterImage ;
int *SlaveImage ;
int *WillDo ;
for(int pos = 1; pos < 4; pos++)
{
MasterImage = &SMenu[MN_NATION_TODAY_NOTICE].nField[pos].nImageNumber;
SlaveImage = &SMenu[MN_NATION_TODAY_NOTICE].nField[pos].nRectImage;
WillDo = &SMenu[MN_NATION_TODAY_NOTICE].nField[pos].nWillDo;
char Status = SMenu[MN_NATION_TODAY_NOTICE].nField[pos].temp[0];
switch (Status)
{
case '0'://撈亥飄 絕瀾
{
*MasterImage = 9;
*SlaveImage = 10;
*WillDo = 1;
}
break;
case '1'://傈捧 包訪惑怕
{ //傈捧 包訪 惑怕
*MasterImage = 5;
*SlaveImage = 6;
*WillDo = 1;
}
break;
case '2'://傍瘤 包訪
{ //傍瘤包訪.. (捧釬唱.. 殿殿)
*MasterImage = 7;
*SlaveImage = 8;
*WillDo = 1;
}
break;
case '3'://撈亥飄 包訪
{ //撈亥飄 包訪
*MasterImage = 3;
*SlaveImage = 4;
*WillDo = 1;
}
break;
default:
{
*MasterImage = 9;
*SlaveImage = 10;
*WillDo = 1;
}
break;
}
}
return;
}
//011013 lsw <
bool DoButtonNationOkCancel_lsw(int iOkType)
{
switch(iOkType)
{
case SWD_NATION_BUDAE_JOIN:
SendNationPacket(BUTTON_SQUAD_JOIN);
break;
case SWD_NATION_VOTE_I_AM_HERO:
SendNationPacket(BUTTON_COMMANDER_REG);
break;
}
return false;
}
//何措俊 殿廢 且 煉扒撈 登綽啊 眉農(nóng)
bool NationSupportCheckSquadJoin()
{
return true;
}
//葷飛包撈 瞪薦 樂綽啊甫 眉農(nóng)
bool NationSupportCheckCanWillCommander()
{
return true;
}
void NationSupportNationNow1(t_packet *p)
{
char GuardStoneSize=p->u.data[0];
char CastleSize=p->u.data[GuardStoneSize+1];
char* GuardStoneStatus=new char[GuardStoneSize];
char* CastleStatus=new char[CastleSize];
SMenu[MN_NATION_NOW].nField[20].nWillDo = 1;
SMenu[MN_NATION_NOW].nField[21].nWillDo = 1;
SMenu[MN_NATION_NOW].nField[22].nWillDo = 1;
SMenu[MN_NATION_NOW].nField[23].nWillDo = 1;
switch( CheckNationStatus(NW_WAR))
{
case 0://魂吝OK
//諒釬棺 技潑
SMenu[MN_NATION_NOW].nField[3].nImageNumber = 9;
SMenu[MN_NATION_NOW].nField[4].nType = 0;//撈撫 官躥波 靖
/*
[64.132]-1鍋薦齲籍
[91.123]-2鍋薦齲籍
[129.85]-3鍋薦齲籍
[141.58]-4鍋薦齲籍
[99.150]-1鍋己鞏
[136.113]-2鍋己鞏
[174.75]-3鍋己鞏
*/
//己鞏 4婁
SMenu[MN_NATION_NOW].nField[24].x = 99 +19;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -