📄 scriptinterface.h
字号:
/*
* name: ScriptInterface.h
*
* desc: 脚本接口
*
*/
#pragma once
#include "StdAfx.h"
class CScriptInterface
{/*
public://变量
struct sMapNode
{
const _TMAP *map;
const _TDOORLINK *active; // 当前活动门(节点) 也就是造成当前权值的门(节点)
DWORD dist; // 权值
bool operator<( const sMapNode& elem ) const
{
return this->dist < elem.dist;
}
};
typedef std::multiset<sMapNode> OPEN_LIST;
typedef std::list<sMapNode> CLOSE_LIST;
typedef std::deque<_TDOORLINK> PATH_LIST;
private://函数
static DWORD BuildMapMovePath( std::string, POINT&, CGameMir&, PATH_LIST& );//建立地图移动路径
public://函数
//下面的是脚本的命令
static DWORD JumpToLine ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//跳转到第几行
static DWORD JumpToLabel ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//跳转到标记
static DWORD Wait ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//等待多少毫秒
static DWORD ShowMessage ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//打印
static DWORD DisConnect ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//下线
static DWORD MapMove ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//走到地图
static DWORD StartFight ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//开始战斗
static DWORD UseItem ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//使用
static DWORD DoNothing ( CGameMir&, CScriptEngine&, boost::wsmatch&, bool& );//不做任何事情
//下面的是脚本的条件
static bool CheckMapName ( CGameMir&, CScriptEngine&, boost::wsmatch& );//检测当前地图名
static bool CheckItemCount ( CGameMir&, CScriptEngine&, boost::wsmatch& );//检测物品的数量
*/
};
/*
// 注册Condition
m_ScriptEngine.RegisterCondition(L"^当前地图名(=|<>)\\[(.+)\\]$",CScriptInterface::CheckMapName);
m_ScriptEngine.RegisterCondition(L"^物品\\[(.+)\\]的数量(=|<=)(\\d+)个$",CScriptInterface::CheckItemCount);
// 注册Command
m_ScriptEngine.RegisterCommand(L"^跳转到第\\[(\\d+)\\]行$",CScriptInterface::JumpToLine);
m_ScriptEngine.RegisterCommand(L"^等待\\[(\\d+)\\]毫秒$",CScriptInterface::Wait);
m_ScriptEngine.RegisterCommand(L"^打印\\[(.+)\\]$",CScriptInterface::ShowMessage);
m_ScriptEngine.RegisterCommand(L"^下线$",CScriptInterface::DisConnect);
m_ScriptEngine.RegisterCommand(L"^<.+>$",CScriptInterface::DoNothing);
m_ScriptEngine.RegisterCommand(L"^跳转到标记<(.+)>$",CScriptInterface::JumpToLabel);
m_ScriptEngine.RegisterCommand(L"^走到地图\\((.+?),(\\d+),(\\d+)\\)$",CScriptInterface::MapMove);
m_ScriptEngine.RegisterCommand(L"^开始战斗$",CScriptInterface::StartFight);
m_ScriptEngine.RegisterCommand(L"^使用\\[(.+)\\]$",CScriptInterface::UseItem);
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -