⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scriptinterface.h

📁 是一个基于热血战国协议的网络游戏。现在脱机客户端先放出来给大家研究
💻 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 + -