?? linecommand.cpp
字號(hào):
/*****************************************************************************\
* Copyright (c), Future Entertainment World / Seoul, Republic of Korea *
* All Rights Reserved. *
* *
* This document contains proprietary and confidential information. No *
* parts of this document or the computer program it embodies may be in *
* any way copied, duplicated, reproduced, translated into a different *
* programming language, or distributed to any person, company, or *
* corporation without the prior written consent of Future Entertainment World *
\*****************************************************************************/
#include "Stdafx.h"
#include <windows.h>
#include "Dragon.h"
#include "Hong_Sub.h"
#include "GameProc.h"
#include "Menu.h"
//#include "MenuDef.h"
#include "MenuNetWork.h"
#include "Char.h"
#include "Map.h"
#include "Counseler.h" // 001129 KHS
#include "Music.h"
#include "LineCommand.h"
#include "smallmenu.h"
#include "menuset.h"
#include "SmallMenuSet.h"//020620 lsw
#include "chat.h"
#include "MailMgr.h"
#include "Skill.h"//021030 lsw
#include "Auction.h"//021030 lsw
#include "cScreenEffect.h" // CSD-030306
#include "ArenaManager.h"
extern CHARACTERLIST g_CharacterList;
extern void SendSquadChatMessage(int type,char* Message);
extern void WarMenuOpen();
extern void WarMenuNoticeOpen();
extern void ShowCommanderInfo(); // 010924 LTS
extern void ShowSquadInfo();
extern void WarGiveLife(); // 011015 LTS
extern void WarControl(char* Arg); // 011020 LTS
extern void WarLoopTime(char* Arg); // 011025 LTS
extern void WarGiveLife(char* Arg); // 011213 LTS
extern void WarGiveLife2(char* Arg);
extern int IsDead( LPCHARACTER ch );
extern void SendLocalWarChat(char* Arg); // LTS NEW LOCALWAR
extern void SendAction(int i,int Direction); // LTS ACTION
extern void SendCMD_SET_QUESTMODE(char* Arg); // LTS DRAGON MODIFY
extern void SendCheckDualFame(); // LTS DUAL FAME
extern bool g_bStopWeatherSystem; // CSD-CN-031215
extern bool g_bOffWeatherSystem; // CSD-CN-031217
LINECOMMAND LC[MAX_LINE_COMMAND_] =
{ //< CSD-030311 : 康絹綽 措鞏磊肺 結(jié)林技夸..
{"", LC_EAT_ITEM}, // 岡扁
{"", LC_CHAT_WHISPER}, // @
{"", LC_CHAT_WHISPER}, // TO
{"", LC_CHAT_PARTY}, // 頗萍俊霸
{"", LC_CHAT_PARTY}, // 悼豐
{"", LC_CHAT_GUILD}, // 辨靛俊霸
{"", LC_TOTAL_MAP_CONNECTIONS}, // 甘泅犁牢盔
{"", LC_TOTAL_CONNECTIONS}, // 泅犁牢盔
{"", LC_TOTAL_CONNECTIONS}, // 穿備
{"", LC_TOTAL_CONNECTIONS}, // USER
{"", LC_MAKE_PARTY}, // PARTY
{"", LC_MAKE_PARTY}, // 頗萍
{"", LC_DEFAULT_WALK}, // 叭扁
{"", LC_DEFAULT_WALK}, // 扁夯叭扁
{"", LC_DEFAULT_RUN}, // 崔府扁
{"", LC_DEFAULT_RUN}, // 扁夯崔府扁
{"", LC_TAME_STOP}, // 漿絹
{"", LC_TAME_STOP}, // 弊父
{"", LC_TAME_STOP}, // STOP
{"", LC_TAME_ATTACK}, // 傍拜秦
{"", LC_TAME_ATTACK}, // ATTACK
{"", LC_TAME_FOLLOWME}, // 蝶扼客
{"", LC_TAME_FOLLOWME}, // FOLLOW
{"", LC_TAME_NAME}, // 匙撈撫籃
{"", LC_TAME_NAME}, // NAME
{"", LC_OPEN_TIMEMENU}, // 矯埃焊扁
{"", LC_OPEN_TIMEMENU}, // TIME
{"", LC_CLOSE_TIMEMENU}, // 矯埃摻扁
{"", LC_CLOSE_TIMEMENU}, // 矯埃摧扁
{"", LC_OPEN_TIMEMENU}, // 矯埃
{"", LC_CLOSE_ALL}, // OFF
{"", LC_EAR_MESSAGE_REFUSE_WHO}, // 芭何惑措
{"", LC_EAR_MESSAGE_REFUSE}, // 庇加富芭何
{"", LC_EAR_MESSAGE_OK}, // 庇加富傾遏
{"", LC_REPRINT_EAR_MESSAGE}, // 率瘤
{"", LC_GREETING}, // 牢葷富
{"", LC_EXPLAIN_CLOSE}, // 汲疙摧扁
{"", LC_EXPLAIN_CLOSE}, // 汲疙?yè)奖?
{"", LC_EXPLAIN_OPEN}, // 汲疙焊扁
{"", LC_REQ_MAN_TO_MAN}, // 搬捧
{"", LC_RESET_MAGIC_ARRAY}, // 腳狼鼻瓷
{"", LC_RESET_MAGIC_ARRAY}, // 付過(guò)犁硅摹
{"", LC_MSG_ALL_NATION}, // 葛滴
{"", LC_GUILD_EXIT}, // 辨靛嘔硼
{"", LC_GUILD_JOIN}, // 辨靛啊澇
{"", LC_GUILD_ALL_MSG}, // 辨靛葛滴
{"", LC_GUILD_ALL_MSG}, // 辨靛傍瘤
{"", LC_GUILD_CHANGE_EACH_LEVEL}, // 辨靛殿鞭
{"", LC_GUILD_CMD_INFO}, // 辨靛疙飛
{"", LC_CHANGE_JOB}, // 流訣官操扁
{"", LC_CHANGE_JOB}, // 流訣背眉
{"", LC_STOP_WAR}, // 絨傈
{"", LC_SCAN_TARGET_VYSEUS}, // 具葷膠狼 傳撈咯
{"", LC_SCAN_TARGET_ZYPERN}, // 匆覆狼 狼瘤咯
{"", LC_KILL_CHARACTER}, // 絨僥
{"", LC_DIRECTIONS}, // 規(guī)氫
{"", LC_OPEN_DISPLAY_SKILL_EXP}, // 膠懦焊扁
{"", LC_CLOSE_DISPLAY_SKILL_EXP}, // 膠懦摧扁
{"", LC_OPEN_DISPLAY_TAC_EXP}, // 琶平焊扁
{"", LC_CLOSE_DISPLAY_TAC_EXP}, // 琶平摧扁
{"", LC_LIGHTOFRESCUE}, // 備盔狼蝴
{"", LC_AUTOLEVELUP_CLOSE}, // 磊悼秦力
{"", LC_AUTOLEVELUP_OPEN}, // 磊悼盒硅
{"", LC_ANNONCE_ON}, // 檔框富佃扁
{"", LC_ANNONCE_OFF}, // 檔框富摻扁
{"", LC_EAR_COMMAND_INFO}, // 庇加富
{"", LC_FIGHTMAP_ALL_CHAT}, // 傈眉
{"", LC_SMALL_TIPS}, // 檔框
{"", LC_SMALL_TIPS}, // HELP
{"", LC_SMALL_TIPS}, // ?
{"", LC_EMOTION}, // 皚瀝
{"", LC_EXIT_GUILD},
{"", LC_VIEW_NK}, // NK 薦摹 焊扁
{"", LC_SQUAD_LEADER}, // 葷飛包 -> 何措厘
{"", LC_SQUAD}, // 葷飛包 -> 何措
{"", LC_SQUAD_MEMBER}, // 何措厘 -> 何措盔
{"", LC_SQUAD_MEMBER_TO_MEMBER}, // 何措盔 -> 何措盔
{"", LC_WAR_MENU_OPEN}, // War Menu Open
{"", LC_WAR_MENU_NOTICE_OPEN}, // War Menu NOTICE
{"", LC_GUILD_MAIL}, // 辨靛皋老
{"", LC_SQUAD_CHAT}, // 010915 LTS //烙矯
{"", LC_GUILD_CHAT}, // #
{"", LC_COMMANDER_INFO}, // 010924 LTS
{"", LC_SQUAD_INFO}, // 010924 LTS
{"", LC_GUILD_CHAT_ON}, // 辨靛盲潑難扁
{"", LC_GUILD_CHAT_OFF}, // 辨靛盲潑摻扁
{"", LC_RESET_ABILITY}, // 絹呼犁盒硅
{"", LC_WAR_GIVE_LIFE}, // 011015 LTS // 傈里磐 蠟飛 混府扁 // 何勸
{"", LC_PARTY_ALL_FREE}, // 頗萍秦力
{"", LC_SEND_GUILD_MAIL}, // 辨靛皋老焊郴扁
{"", LC_SEND_MAIL}, // 皋老焊郴扁
{"", LC_SHOW_ME_DUAL}, // 絹狄闌 叭絆 矯埃闌 崔赴促
{"", LC_REPORTER_MODE}, // 扁磊葛靛
{"", LC_FRIEND_MENU}, // 模備
{"", LC_WAR_GIVE_LIFE2}, // 何勸厘家 // 011213 LTS N_YILSE
{"", LC_SCAN_TARGET_YILSE}, // 011217 LTS
{"", LC_GETCOLOSSUS_INFO}, // 妮肺輯膠,
{"", LC_GETCOLOSSUS_INFO}, // colossus,
{"", LC_INVITE_COLOSSUS}, // 檬措
{"", LC_JOIN_COLOSSUS}, // 曼啊
{"", LC_PK_ON_OFF}, // PK
{"", LC_COMBAT_SKILL_ON_OFF}, // PK//020420 lsw
{"", LC_LOCALWAR_CHAT}, // 憊瘤傈 % // LTS NEW LOCALWAR
{"", LC_QUESTMODE}, // LTS DRAGON MODIFY
{"", LC_WEATHER_ON}, // CSD-CN-031215 : 朝揪瓤苞難扁
{"", LC_WEATHER_OFF}, // CSD-CN-031215 : 朝揪瓤苞摻扁
{"", LC_COMBAT_RESET}, // CSD-020611
{"", LC_MAGIC_DISPLAY_ON}, // CSD-020620
{"", LC_MAGIC_DISPLAY_OFF}, // CSD-020620
{"", LC_SET_NORMAL_CHAT_MODE}, // CSD-020620
{"", LC_REPRINT_NORMAL_CHAT}, // 焊烹率瘤
{"", LC_REPRINT_GUILD_CHAT}, // 辨靛率瘤
{"", LC_REPRINT_GUILD_BBS}, // 辨靛傍瘤率瘤
{"", LC_TRADE}, // 020808 YGI
{"", LC_CHECK_DUAL_FAME}, // 掂倔疙己 // LTS DUAL FAME
{"", LC_WHAT_QUEST_IN_MAP}, // 021007 //甘俊 絹恫 涅膠飄啊 樂(lè)綽啊?
{"", LC_MERCHANT_BBS}, // 021022 惑牢苞 流立 芭貳
{"", LC_MERCHANT_EXCHANGE}, // 021022 惑牢苞 芭貳
{"", LC_EVENT_MOVE_MAP}, // 021107 YGI
//kyo <<
{"", LC_EMOTI_LOVE},
{"", LC_EMOTI_SMILE},
{"", LC_EMOTI_HAPPY},
{"", LC_EMOTI_SHY},
{"", LC_EMOTI_CRY},
{"", LC_EMOTI_GOOD},
{"", LC_EMOTI_SORRY},
{"", LC_EMOTI_ANGER},
{"", LC_EMOTI_THANKS},
{"", LC_EMOTI_TELL},
{"", LC_GAME_SCISSOR},
{"", LC_GAME_ROCK},
{"", LC_GAME_PAPER},
{"", LC_GAME_GO},
{"", LC_GAME_HELP},
{"", LC_GAME_PARTY},
{"", LC_GAME_HEAL},
{"", LC_GAME_TRANSACTION},
{"", LC_GAME_BEG},
{"", LC_GAME_CONGRAGULATION},
{"", LC_BBS_LIMITED_USER_ADD},
{"", LC_BBS_ON},
{"", LC_BBS_OFF},
{"", LC_RAID_START}, // CSD-040310
{"", LC_RAID_END}, // CSD-040310
//>>kyo
{"", 0}
}; //> CSD-030311
char Lc_ChatType;
char Lc_TempChatName[ 31];
char Lc_DefaultMoveType;
int Lc_AutoMovementCmd;
char GreetingStr[ FILENAME_MAX];
/////////////////////////////////////////////////////////////////////////////////////////
//
// User Functions Declaration..
//
//
void SendTotalMapConnections( void );
void SendTotalConnections( void );
void RecvTotalMapConnections( int no );
void RecvTotalConnections( int no );
void LC_SendInputParty( char *name );
void SendTameCommand( int command, char *s );
void RecvHostEnd( tame_end *p );
///////////////////////////////////////////////////////////////////////////////////////////
//
// User Functions..
//
//
int LineCommandSortFunction( const void *first, const void *second )
{
LINECOMMAND *lc1 = (LINECOMMAND *)first;
LINECOMMAND *lc2 = (LINECOMMAND *)second;
return ( strlen( lc2->reserved ) - strlen( lc1->reserved ) );
}
int IsLineCommand( char *message, int nsize )
{
//if( Hero->viewtype == VIEWTYPE_GHOST_ )// 蠟飛老 版快
// return ; // 疙飛絹甫 給 竅霸 茄促.
int c;
LPLINECOMMAND lc;
LPCHARACTER ch = Hero;
char *t, *t1;
char tempmessage[MAX_CHAT_STRING];
if( *message != '/' ) return 0;
message ++;
strcpy( tempmessage, message );
// CharUpper( message );//020926 lsw
static first = 1;
if( first )
{
for( int i=0; i<MAX_LINE_COMMAND_; i++ )
{
if( !LC[i].reserved[0] ) break;
}
qsort( LC, i, sizeof( LINECOMMAND ), LineCommandSortFunction );
first = 0;
}
c = 0;
lc = &LC[ c];
while( lc->reserved[0] )
{
if( 0 == strnicmp( lc->reserved, message, strlen( lc->reserved )) )//020926 lsw
{
t = tempmessage + strlen(lc->reserved );
t1 = EatFrontWhiteChar( t );
switch (lc->command)
{
case LC_GO_STOP:
{
Lc_AutoMovementCmd = 0;
break;
}
case LC_GO_WEST:
case LC_GO_NORTH:
case LC_GO_SOUTH:
case LC_GO_EAST:
case LC_GO_RANDOM:
{
Lc_AutoMovementCmd = lc->command;
switch( Lc_AutoMovementCmd )
{
case LC_GO_EAST:
{
SendMessage(g_hwndMain, WM_LBUTTONDOWN, 0, MAKELONG(Hero->x - Mapx + 100, Hero->y - Mapy));
break;
}
case LC_GO_WEST:
{
SendMessage(g_hwndMain, WM_LBUTTONDOWN, 0, MAKELONG(Hero->x - Mapx - 100, Hero->y - Mapy));
break;
}
case LC_GO_NORTH:
{
SendMessage(g_hwndMain, WM_LBUTTONDOWN, 0, MAKELONG(Hero->x - Mapx, Hero->y - Mapy - 100));
break;
}
case LC_GO_SOUTH:
{
SendMessage( g_hwndMain, WM_LBUTTONDOWN, 0, MAKELONG( Hero->x - Mapx, Hero->y - Mapy + 100) );
break;
}
}
break;
}
case LC_EAT_ITEM:
case LC_NOT_GO:
{
break;
}
case LC_CHAT_WHISPER:
{
SendWisperByLineCommand(t);
break;
}
case LC_CHAT_PARTY:
{
SendPartyChatByLineCommand(t);//020701 lsw
break;
}
case LC_CHAT_GUILD:
{
SendChatSet(CHATTYPE_GUILD, NULL);
break;
}
case LC_TOTAL_MAP_CONNECTIONS:
{
SendTotalMapConnections();
break;
}
case LC_TOTAL_CONNECTIONS:
{
SendTotalConnections();
break;
}
case LC_MAKE_PARTY:
{
LC_SendInputParty(t1);
break;
}
case LC_DEFAULT_RUN:
{
Lc_DefaultMoveType = 1;
Kein_PutMessage(KM_INFO, kein_GetMenuString(39));
break;
}
case LC_DEFAULT_WALK:
{
Lc_DefaultMoveType = 0;
Kein_PutMessage(KM_INFO, kein_GetMenuString(40));
break;
}
case LC_TAME_STOP:
{
SendTameCommand(LC_TAME_STOP, t1);
break;
}
case LC_TAME_ATTACK:
{
SendTameCommand(LC_TAME_ATTACK, t1);
break;
}
case LC_TAME_FOLLOWME:
{
SendTameCommand(LC_TAME_FOLLOWME, t1);
break;
}
case LC_TAME_NAME:
{
SendTameCommand( LC_TAME_NAME, t1 );
break;
}
case LC_OPEN_TIMEMENU:
{
g_bTimeMenuOn = true;
break;
}
case LC_CLOSE_TIMEMENU:
{
g_bTimeMenuOn = false;
break;
}
case LC_CLOSE_ALL:
{
g_bTimeMenuOn = false; g_ExplainMenuOn = false;
CloseAllMenu();
break;
}
case LC_EXPLAIN_OPEN:
{
g_ExplainMenuOn = true;
break;
}
case LC_EXPLAIN_CLOSE:
{
g_ExplainMenuOn = false;
break;
}
case LC_EAR_MESSAGE_REFUSE:
{
ChatMgr.SetRefuseWhiper(t1);//021025 lsw
break;
}
case LC_EAR_MESSAGE_OK:
{
ChatMgr.SetAcceptWhiper(t1);//021025 lsw
break;
}
case LC_EAR_MESSAGE_REFUSE_WHO:
{
ChatMgr.DisplayRefuseList();
break;
}
case LC_REQ_MAN_TO_MAN:
{
SendReqManToMan(t1);
break; // 0810 YGI
}
case LC_GREETING:
{
strcpy(GreetingStr, t1);
AddCurrentStatusMessage(FONT_COLOR_SOLID_GREEN, lan->OutputMessage(3,49), GreetingStr);//010215 lsw
AddCurrentStatusMessage(FONT_COLOR_SOLID_GREEN, lan->OutputMessage(3,48));//010215 lsw
break;
}
case LC_RESET_MAGIC_ARRAY:
{
if (SCharacterData.nCharacterData[SPELL] == PRIEST_SPELL)
{
MagicSetting2(); // 盔貳~ 橇府膠飄 版快...
}
break;
}
case LC_MSG_ALL_NATION:
{
SendAllMsgNation(t1);
break;
}
case LC_GUILD_EXIT:
{
SendGuildExit(t1);
break;
}
case LC_GUILD_JOIN:
{
SendGuildJoin(t1);
break;
}
case LC_GUILD_ALL_MSG:
{
SendGuildAllMsg(t1);
break;
}
case LC_GUILD_CHANGE_EACH_LEVEL:
{
SendGuildChangeEachLevel(t1);
break;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -