📄 menuset.h
字号:
#ifndef __MENUSET_H__
#define __MENUSET_H__
#include "menunetwork.h" //021030 YGI
#define DUR_RATIO .70 // repair俊辑 荤侩且 duration 厚啦
#define RARE_DUR_RATIO .50 //020505 lsw 饭绢 俊辑 荤侩凳
#define RED_COLOR RGB(255,0,0)
#define YELLOW_COLOR RGB( 255, 255, 0 )
#define BLUE_COLOR RGB( 0, 0, 255 )
#define GREEN_COLOR RGB( 0, 255, 0 )
#define GRAY_COLOR RGB( 100, 100, 100 )
extern const int MAX_START;//020815-2 lsw
extern int GetItemMuchByMuchItem( int item_no ); // 荐樊捞 乐绰 酒捞袍狼 肮荐 颇厩窍扁
#define SCRIPT_IS_READ_NATION_BBS 46
////////////////////////////////////
#define MAX_BUY_ITEM 50
extern void MenuSet();
extern void SmallMenuSet();
extern bool g_MagicMenuOn;
extern bool g_explain_skill_on;
extern int g_explain_skill;
extern bool g_explain_magic_on;
extern int g_explain_magic;
extern bool g_explain_menu_on;
extern char g_explain_menu[MAX_STRING];
extern int magic_plus[MAX_MAGIC]; // 郴啊 荤侩茄 概流 穿利
extern int magic_plus_count; // 醚 肮荐
extern int magic_plus_start; // 嘛阑 捞固瘤 start何盒
extern bool recv_learn_item;
extern int danger_by_hunter;
extern int man_to_man_start;
extern int fight_map_stop;
extern int before_skill_no;
extern char explain_tactics[13][20];
extern Spr open_spr[75];
extern Spr spr_alphabet[36];
extern Spr ch_armor_image_after[7][80];
extern Spr ch_body_image_after[7][80];
extern Spr ch_line_image_after[7][80];
extern Spr ch_armor_image_after_b[7][80];
extern Spr ch_body_image_after_b[7][80];
extern Spr ch_line_image_after_b[7][80];
extern Spr skill_spr[MAX_SKILL];
extern BOOL LButtonDown;
extern POINT StateMousePoint;
extern SHN SHideNomal[MAX_SHN][MAX_SHN_FIELD];
extern SCharacter SCharacterData;
extern CHARACTERLIST g_CharacterList;
extern char y_temp[20];
extern bool no_active_box_yet; // 辑滚俊辑 蔼阑 傈价 罐栏搁 false set.
extern int cDiceCount;
extern int y_delay;
extern int y_MenuFocus;
extern char sId[30];
extern char sPassword[30];
extern SMENU SMenu[MAX_MENU];
extern BOOL RButtonDown;
extern BOOL MouseDrag;
extern int LButtonCount;
extern int y_PutBarSize;
extern int id_password;
extern bool MessageOn;
extern char Message[MAX_STRING];
extern RECT rScreenRect;
extern int YouGotItemFlag;
extern int MouseItemInRectOn;
extern POINT MouseItemInRect;
extern int cRMoveMenu;
extern int cLMoveMenu;
extern int fRMoveMenu;
extern int fLMoveMenu;
extern int nPartyOther;
extern int nPartyState;
extern int nPartyShow;
extern struct InterfaceFlag main_interface;
extern int RectImageOn;
extern int nBankTemp;
extern int WearAble[9];
extern int HandBackUp;
extern int HandBackUptype;
extern int HandItemOn;
extern int aMagicItem[3][4][3][5];
extern ItemAttr aItemInventoryFull;
extern int SkillInventory[2][2][4];
extern int Skill_Know_Inv[3][3];
extern int aSellBuyItemPos[MAX_BUY_ITEM*3*5];
extern int aSellBuyItemMax;
extern bool LeftShiftOn;
extern int AbilityToInt[20];
extern ItemAttr aSellBuyItemAttr[MAX_BUY_ITEM*3*5];
extern int storelistindex ;
extern bool is_buymenu_On;
extern int motherSkillImageNo[2];
extern int motherSkillImageType[2]; // 胶懦 硅快扁俊辑 力格魄 捞固瘤 鸥涝
extern int SkillInventory[2][2][4];
extern Spr ch_armor_image_after[7][80];
extern Spr ch_body_image_after[7][80];
extern Spr ch_line_image_after[7][80];
extern Spr ch_armor_image_after_b[7][80];
extern Spr ch_body_image_after_b[7][80];
extern Spr ch_line_image_after_b[7][80];
extern Spr spr2[MAX_IMAGE2];
extern int nItemOther;
extern K_ITEM i_DivideItem; // 酒捞袍狼 加己客 困摹啊 乐促.
extern const int y_ItemSubMenu[];//021014 lsw
extern int memorize[12];
extern void PutMapBright2( LPVOID dest, LPVOID alpha);
//===================================================================================================================================
extern void kein_TextPut(int x, int y, char *sSource);
extern void FieldTypeTextPut(int mx,int my,int x,int y,char *temp);
extern void LoadMenuData(int nNum);
extern void FreeMenuData(int nNum);
extern void PutImageCenter(int mx, int my, int x, int y, int nImageNumber);
extern inline BOOL MouseInRectCheak(int x, int y, RECT Box, BOOL flag = TRUE );
extern void SetCharacterData();
extern void SetRect(RECT &rect,int left, int top, int right, int bottom);
extern void MoveTextPut(int x, int y, char *sSource, int type=0);
extern void SendBankInfo(int type, DWORD money );
extern void RecvBankDeposit(DWORD);
extern void RecvBankRepayment(DWORD, DWORD, DWORD);
extern int YesOrNo( char *s, char *title );
extern char SpaceBarPress();
extern void CountingByKeyboard( int input_key, int &count, int plus );
extern void ItemRead();
extern void PutItemIcon(int x, int y, int item_number, int delay=0, int effect = 2, int is_not_equip = 0);
extern void PutItemIconAni(int x, int y, int item_number);
extern int GetItemAttr(int item_id, int attr);
extern char *GetItemName( int item );
extern void SendMoveItem( int item_no, POS s, POS t, bool sound = true);
extern void GetItemAnimationNumber(int num, int &a, int &b, int &c, int &d, int &e, int &f, int &g);
extern bool ReadSkillTable( );
extern bool ReadHouseTable();
extern bool LoadItemJoinTable();
extern void PutMagicIcon( int x, int y, int num, int flag=0, int type=2 );
extern void PutSkillIcon( int x, int y, int num, int flag=0, int flag2=2 );
extern void ChangeSkillMenuInventory( int x );
extern BOOL MenuFocus(int menu);
extern inline void RightClose();
extern bool IsLeftWindowOpen( );
extern bool IsRightWindowOpen();
extern void AbilityOpenWhenLevelUp();
extern void SetPartyMenu( int type );
extern void ChangeItem( int start ); // 烙矫 酒捞袍 官操扁
extern void ItemSound( int item );
extern void EquipSound( int item_no );
extern int GetItemValueBuy( int item_id );
extern int GetItemValueSell( ItemAttr item );
extern void GetLearnSkillInv( int type, int start = 0 );
extern void GetLearnKnowlageInv( int start = 0 );
extern int mother[32][2];
extern bool IsLearnSkill( int m );
extern void MagicSetting();
extern int CalcTextToPage( int width, int height, char *source );
extern void BbsTextPut( int x, int y, int width, int height, char *source, int page );
extern void BbsTextPut2( int x, int y, int width, int max_line, char *source, int page );
//extern void CallOkCancelMessageBox( int menu, int x, int y, char *source, bool ok_cancel=true, int param = 0 );
extern void CallItemMessageBox( int menu, int item_num, char *source );
extern void MenuButtonRightExplain( int x, int y, int &count, char * title );
extern void MenuButtonLeftExplain( int x, int y, int &count, char * title );
extern void LeftMenuClose();
extern int dw_TotalImageSize;
extern void LoofSetHeroAbility( int ability[] );
//extern void SendReCallItemFromServer( int type );
extern void FreeChImage();
extern void FreeOpenningSpr( BYTE **buf );
extern void SetItemMakeOk( ItemAttr item );
extern int UseItemByRbutton(POS pos_s, ItemAttr &item_attr); // 酒捞袍阑 坷弗率 滚瓢栏肺 努腐沁阑 锭
extern int Call_GM_2ND_Skill_Menu();//021014 lsw
extern int Call_Skill_Master_Menu();//021111 lsw
extern int Call_MERCHANT_REGISTER_Menu();//021126 lsw
extern int Call_EXCHANGE_BOND_MONEY_Menu();
extern void SetLearnItemData( int menu, ItemJoinSelect list[]); //酒捞袍 硅快扁 府胶飘 硅凯 悸泼
extern int GetResultItemBySkill( int skill, int item[10] ); // 弊 胶懦肺 父甸荐 乐绰 酒捞袍 格废 啊廉坷扁
extern bool FindLearnItem( int item ); // 郴啊 硅款 酒捞袍牢瘤 魄窜
extern ItemAttr *GetItemByPos( POS item );
extern bool DivideItem( K_ITEM *item, int much );
extern int NotNeededMouseLButtonClick( void ); // 付快胶啊 劝己拳等 皋春 救俊 乐绰瘤甫 眉农
extern int GetWeight( ItemAttr item );
extern int SearchLearnItem( int item ); // 郴啊 硅款 酒捞袍困摹 茫扁
extern void PrintTextOnMenu2();
extern void PrintTextOnMenu();
extern Spr openhouse[MAX_HOUSE];
extern Spr closehouse[MAX_HOUSE];
extern void LoadHouseImage( int is_open );
extern void FreeHouseImage( );
extern void PutHouseImage( int x, int y, int num, bool is_open );
extern void LoadHouse( );
/// 概流 硅快扁 侩 皋家靛甸...
extern int SearchNextMagicNumByClass( int num, int cls ); // 绢恫 概流 促澜狼 鞍篮 拌凯狼 付过阑 茫绰促.
extern int GetMagicMaxByClass( int cls ); // 弊拌凯狼 醚 概流 荐甫 备茄促.
extern int GetLearnableMagicMaxByClass( int cls ); // 弊 拌凯俊辑 郴啊 硅匡 荐 乐绰 付过 荐甫 备茄促. (捞固 硅款 付过 器窃 )
extern bool CanLearnMagic( int num ); // 弊 付过阑 硅匡荐 乐唱?
extern MagicByClass magic_by_class;
extern void GetDivedeMagicByClass( ); // 拌凯寸 硅匡荐 乐绰 付过... 悸
extern void ServerConnectMenuClose(); // 辑滚客 包访捞 乐绰 皋春甫 摧阑 锭..
extern DWORD GetMoneyByItem( ); // 牢亥配府 芒俊 乐绰 捣 拌魂
extern DWORD GetNewMoneyByItem( );
extern int SearchCoinItem( int &a, int &b, int &c);
extern int SearchNewCoinItem( int &a, int &b, int &c);
extern int SearchItemPosByNumber(ItemAttr *item, int &a, int &b, int &c);
extern int SubtractMoney( DWORD money );
extern int AddMoney( DWORD money );
extern void SetMemorizeArray( int num );
extern int DoMemorize( int magic_num );
extern void InitMemorize( ); // 皋葛扼捞令 檬扁拳
extern int MemorizeYet( int magic_num );
extern int GetNoLearnMagic( int cls, int &magic_num ); // 给硅快绰 付过 捞抚苞 弊 捞蜡甫 舅酒坷绰 窃荐 // magic_num栏肺 付过 锅龋甫 逞败 霖促.
extern void CheckPartyFace( ); // 颇萍盔甸捞 乐绰 瘤甫 眉农秦辑 拳搁俊 谎妨霖促.
extern void SetExistMeOfParty( ); // 颇萍盔吝 唱绰 亲惑 炼牢茄 惑怕促..
extern int SearchMyPartyOfMySight( LpCharacterParty party ); // 郴 矫具俊 颇萍盔捞 乐蠢衬?
extern void SetHangulFont( int type );
extern void ViewSmallMapCheck();
//extern K_ITEM give_item; // 背券侩 酒捞袍吝 郴啊 林绰 酒捞袍
//extern K_ITEM recv_item; // 背券侩 酒捞袍吝 郴啊 罐绰 酒捞袍
extern inline int CheckMouseInMenu( int i );
extern void DropItemSound( int item ); // 酒捞袍 顶俊 冻绢飘府绰 家府
extern inline void LeftClose(); // 哭率 芒 葛滴 摧扁
extern int dexDefenseCor( int dex );
extern void MenucheckWhenHeroDie( ); // 磷菌阑锭 皋春眉欧
extern void SendSmileFace( int smileno );
extern bool g_bMagicSelect;
extern int isCrashSmallMapByOther();
extern void CheckFocusMenu();
extern void GrobalValueSeet();
extern int CanLearnMagicByCount( int num );
extern void InitPartyState( );
extern void LoadSmallMenuImage2( int num ); // 眠啊 皋春 捞固瘤 肺爹棺 秦力..
extern void FreeSmallMenuImage2( );
extern void FreeMagicIcon( );
extern int GetBelieveGodByMenu( int menu, char *God ); // 脚傈 皋春俊辑 瓜绰 脚栏肺...
extern void CallGodMenuMessage( char *msg, int believe );
extern inline int GetMenuNumByBelieveGod( int god );
extern void PutSmallmenuImage(int mx, int my, int x,int y, int image_number, int type);
extern void FreeSmallMenuETC();
extern int QuickKey( int menu, HWND active_hwnd = NULL);
extern bool bCallGodMeetingMenu;
extern Spr *GetSprOfMenu( int type, int imagenumber );
extern int GetHourToRate( int h );
extern void PrintQuickKey( char *text);
extern int GetMoveMenuDefineByMenuNumber( int menu, int is_open );
extern void CheckAutoDivideMoney( ItemAttr *item );
extern int LoadMagicName( );
//extern int GetAbilityMax( int ability_type );
extern void OpenRecvEarMessageMenu();
extern void CloseRecvEarMessageMenu();
extern int ExistBox( DWORD box_id );
extern int GetItemAttrWeapon( int item ); // 厘馒啊瓷茄 巴吝俊 沥富 厘馒捞 啊瓷茄瘤 犬牢窍绰 巴.
//extern int ExplainItemBySelectItemAfter( int x, int y, int item_number, char explain[5][40] );
extern void GetSupperItem( int god );
extern int ViewSmallMap2( int x, int y);
extern void SetSmallMapMenu( );
extern void PrintNoteMeeting( int g_Note_Meeting );
extern void CheckErrorMessage( LPSTR str );
extern int OnlyAlphabet( char *str, int len );
extern int OnlyNumber( char *str, int len );
extern void PutDot( int x, int y, WORD color );
extern int ExplainBackView( int &x, int &y, int count ); // 嘛阑 谅钎甫 啊廉埃促.
extern void ShowExplain(); // 阿辆 汲疙巩 焊咯林扁
extern void CheckMagicExplain( int magic_no ); // 概流 汲疙
extern void CheckSkillExplain( int skill_no ); // 胶懦 汲疙
extern int ItemExplainAfterMenuDisplay( int prev ); // 唱吝俊 汲疙阑 剁款促.
extern void SetMenuExplain( int type, int menu, int start_field );
extern void ExplainMenuSet( char *temp );
extern int InsertIntArray( int node, int *int_array, int &curr_count, int array_max );
extern int DeleteIntArray( int node, int *int_array, int &curr_count, int array_max );
extern int IsJustViewMenuWhenDead( int dest_menu );
extern void PutMagicIconAll();
extern int QuickKeyFirst( int menu );
extern int IsExistNodeToArray( int node, int *int_array, int curr_count );
extern void SetLearnItem();
extern int ConvStoreListToMenu( int prev, bool is_store );
extern void lsw_menu_set( );//010830 lsw
extern bool CanLearnItemByNeedSkill( int join_no );
extern void SmallMapClose();
extern void GetTatics();
extern int SetQuickSkill( int *index, int start, int type );
extern void LoadFilterWord( );
extern bool CheckNumber( char *text, int len ); // 箭磊 捞寇狼 蔼捞 乐绰瘤甫 眉农茄促. 乐栏搁 true 绝栏搁 false
extern void kh_menu_set( );
extern void ItemSoundOfDropItem( int item_no );
extern void StopWaveOfMenu();
extern void GetNationBBS( char *filename );
extern void OpenFightMapSignMenuOpen( int tema[] );
extern int IsSameNation( int type, LpCharacterParty lpParty );
extern void LoadTextDefault( char *filename, char *text, int text_max );
extern int CheckRegistCandidate( );
extern void CallMessageBox(BOOL bBig, int x, int y, char *source, BOOL bType=FALSE);
extern void MessagePut();
extern void LottoMenuSet(); //soto-030425
extern void LuckyMenuSet(); //soto-030429
extern void LuckyEventSet(); //soto-030502
extern void LuckyMenuOpen();//soto-030429
extern void LottoMenuOpen();//soto-030429
extern void WinnerMenu();//soto-030502
//020530 lsw
#define MAX_MAGIC_MEMORY 8//020420 lsw
#define QM_MAGIC 1//QM_ QuickMemory
#define QM_SKILL 2
#define QM_COMBATSKILL 3
typedef struct QUICKMEMORY
{
char OwnerName[21];//020701 lsw
int iType;// 1 付过 2 胶懦 3 傈捧胶懦
int iNo;//角龙 逞滚
int iBuffer;
void SetQuickMemory(const char* name ,const int iTypeValue,const int iTypeNo)
{
if(name)
{
const int iLen = strlen(name);
if(21 < iLen|| 0 >= iLen )
{
Clear();
return;
}
strcpy(OwnerName, name);
iType = iTypeValue;
iNo = iTypeNo;
}
else
{
Clear();
}
return;
}
void Clear()
{
iType = 0;
iNo = 0;
}
}t_QuickMemory,*LPQUICKMEMORY;
extern t_QuickMemory SaveMemory[MAX_MAGIC_MEMORY]; // 窜绵虐肺 扁撅矫难敌 格废 //020530 lsw
extern t_QuickMemory HotKeyMemory; // 滚瓢 茄俺肺 荤侩 窍绰 Ram 鞍篮 函荐
extern void ClearQuickMemory();
extern void DisplayQuickMemory(const int iType, const int iTargetNo, const int iX, const int iY);
extern void SetQuickMemoryByKeyInput(const int iType, const int iNo, const int iBuffer = 0);
extern int ViewTipsFlag;
extern void ExplainItem2( int x, int y, ItemAttr *olg_item );
extern void LoadManList();
extern int GetItemExplainLine( ItemAttr *olg_item );
extern void GetWORDOfDWORD( DWORD dword, WORD &word1, WORD &word2 );
extern int bar1_r, bar1_g, bar1_b;
extern int bar2_r, bar2_g, bar2_b;
extern int g_RecvLoanInfo;
extern int g_BattleStatusView;
extern char g_szMoneyName[];//021014 lsw
/////////////////////////////////////////////
#define AT_JOIN_COLOSSUS 1// 妮肺辑胶 曼咯俊 悼狼茄促.
struct k_assent // 蜡历啊 购啊俊 悼狼且锭甫 措厚茄 历厘 函荐
{
int type;
DWORD time; // 矫埃
union
{
char data[512];
WORD default_word;
}u;
k_assent()
{
type = 0;
}
};
/////////////////////////////////////////////
class CGuildItem
{
public :
int m_Max;
int old_page;
DWORD *m_pIndex;
ItemAttr *m_pItem;
DWORD m_BoxMoney;
public :
CGuildItem()
{
m_pIndex = 0;
m_pItem = 0;
clear();
}
int clear()
{
m_Max = 0;
if( m_pIndex ) delete m_pIndex;
if( m_pItem ) delete m_pItem;
m_pIndex = 0;
m_pItem = 0;
old_page = 0;
m_BoxMoney = -1; // -1老订 啊廉坷扁 风凭阑 角青矫虐瘤 臼绰促.
return 1;
}
int clear( int ct )
{
memset( &m_pItem[ct], 0, sizeof( ItemAttr ) );
m_pIndex[ct] = 0;
return 1;
}
~CGuildItem()
{
clear();
}
DWORD GetIndex( int ct ) // 牢郸胶蔼 啊廉坷扁
{
if( !m_pIndex ) return 0;
if( ct > m_Max ) return 0;
return m_pIndex[ct];
}
int InsertItem( int ct, int index, ItemAttr *item ) // 酒捞袍 火涝
{
if( !m_pIndex ) return 0;
if( ct > m_Max ) return 0;
m_pIndex[ct] = index;
m_pItem[ct] = *item;
return 1;
}
int SerchFirstIndex( int find_index ) // 漂沥 牢郸胶蔼阑 啊瘤绊 乐绰 锅龋甫 茫绰促.
{
if( !m_pIndex ) return -1;
for( int i=0; i<m_Max; i++ )
{
if( m_pIndex[i] >= find_index ) return i;
}
return -1;
}
ItemAttr *GetItemByParm( int ct ) // 颇扼皋磐肺 酒捞袍 啊廉坷扁
{
if( !m_pIndex ) return 0;
if( ct > m_Max ) return 0;
return &m_pItem[ct];
}
int GetMax() { return m_Max; }
};
/////////////////////////////////////////////
#define MAX_POTAL_MAP 40
class CPotalMenuUnit
{
public :
char map_name[50];
int map_number;
int money;
int type;
int img_type;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -