📄 actiondefine.h
字号:
// action list
// paled, 2003.1.25
////////////////////////////////////////////////////////////////////////
// "%%" 表示可显示的 "%" 符号
// "%nnXXX" 表示显示宽度,一律左对齐。超长会按实际长度显示。(例id为1234的NPC的"%6id"显示为"1234 ")
// 系统部分 //////////////////
const char PARAM_DATE_STAMP[] = "date_stamp"; // 仅用于计算
const char PARAM_TIME[] = "time"; // 仅用于计算
const char ACCEPT_STR_[] = "accept"; // 客户端上传的一个子串 // %accept0 ~ %accept3
// ITEM部分 //////////////////
const char PARA_ITEM_TYPE[] = "item_type";
const char PARA_ITEM_DATA[] = "item_data";
// NPC部分 //////////////////
const char PARA_DATASTR[] = "datastr";
const char PARA_DATA_[] = "data"; // %data0 ~ %data3
const char PARA_NAME[] = "name"; // npc name
const char PARA_NPC_ID[] = "id"; // npc id in database
const char PARA_NPC_X[] = "npc_x";
const char PARA_NPC_Y[] = "npc_y";
const char PARA_NPC_OWNERID[] = "npc_ownerid";
// USER部分 ////////////////
const char PARA_USER_ID[] = "user_id";
const char PARA_USER_MAPID[] = "user_map_id";
const char PARA_USER_MAPX[] = "user_map_x";
const char PARA_USER_MAPY[] = "user_map_y";
const char PARA_USER_HOME[] = "user_home_id";
const char PARA_SYN_ID[] = "syn_id";
const char PARA_SYN_NAME[] = "syn_name";
const char PARA_USER_NAME[] = "user_name";
const char PARA_MATE_NAME[] = "mate_name";
const char PARA_MAP_OWNER_ID[] = "map_owner_id";
const char PARA_MAP_OWNER_TYPE[] = "map_owner_type";
const char PARA_ALLY_SYN_[] = "ally_syn"; // %ally_syn0 ~ %ally_syn4
const char PARA_ENEMY_SYN_[] = "enemy_syn"; // %enemy_syn0 ~ %enemy_syn4
const char PARA_TUTOREXP_[] = "tutor_exp"; // 导师经验
const char PARA_STUDENT_EXP_[] = "student_exp"; // 徒弟贡献的经验
const char PARA_EXPLOIT_[] = "exploit"; // 功勋值
//帮派部分
const char PARA_AVAILABLE_FUND[] = "available_fund"; // 提取帮派的可以分配基金
// user 的 iter 部分 ////////////////
const char PARA_ITER_VALUE[] = "iter_value";
const char PARA_ITER_SYN_NAME[] = "iter_syn_name";
const char PARA_ITER_SYN_LEADER[] = "iter_syn_leader";
const char PARA_ITER_SYN_MONEY[] = "iter_syn_money";
const char PARA_ITER_SYN_AMOUNT[] = "iter_syn_amount";
const char PARA_ITER_SYN_FEALTY[] = "iter_syn_fealty";
const char PARA_ITER_MEMBER_NAME[] = "iter_member_name"; // %iter为玩家ID,返回玩家名字
const char PARA_ITER_MEMBER_RANK[] = "iter_member_rank"; // %iter为玩家ID,返回玩家等级称号
const char PARA_ITER_MEMBER_PROFFER[] = "iter_member_proffer";
const char PARA_ITER_WANTED[] = "iter_wanted";
const char PARA_ITER_POLICEWANTED[] = "iter_police_wanted";
const char PARA_ITER_GEMSUPQUALITY[] = "iter_upquality_gem";
const char PARA_ITER_GEMSUPLEVEL[] = "iter_uplevel_gem";
const char PARA_ITER_COST_DURRECOVER[] = "iter_cost_durrecover"; //
const char PARA_ITER_GAME_CARD[] = "iter_game_card"; //
const char PARA_ITER_GAME_CARD2[] = "iter_game_card2"; //
const char PARA_ITER_TABLE_DATASTR[] = "iter_table_datastr";
const char PARA_ITER_TABLE_DATA_[] = "iter_table_data"; // %iter_table_data0 ~ %iter_table_data3
const char PARA_ITER_ITEM_DATA[] = "iter_item_data";
//---任务系统的iter---begin
const char PARA_ITER_TASK_USERNAME[] = "iter_task_username"; //返回玩家的cq_user表中的name字段
const char PARA_ITER_TASK_COMPLETENUM[] = "iter_task_completenum"; //对任务完成次数取值,返回任务完成次数
const char PARA_ITER_TASK_BEGINTIME[] = "iter_task_begintime"; //对任务开始时间取值,返回任务开始时间
//---任务系统的iter---end
////////////////////////////////////////////////////////////////////////
enum {
// system part, need user ptr --------------------------------------------------------------------------
ACTION_SYS_FIRST = 100,
ACTION_MENUTEXT = 101, // 菜单文本。data:显示行数(缺省为0), param="text"(可选): 显示文本,此类型可包含空格,也可为空行。
ACTION_MENULINK = 102, // 菜单超链接。"text task_id align": align(可选): 对齐模式(缺省/0:左对齐; 5:居中; 9:右对齐; a(1-9)b(2-8):不换行,从a/b行宽处开始显示,9为右对齐)
ACTION_MENUEDIT = 103, // 菜单输入框。"len task_id text": len:可输入的长度;text(可选):显示的文字,align:对齐模式(缺省:文字在左,正整数:输入框嵌入在文字的第几字符处)。★说明:如有多个输入框,由界面用圆按钮区分,每次只上传一个。
ACTION_MENUPIC = 104, // 菜单图片。"x y pic_id task_id":task_id(可选):表示图片可以“按”。图片所在区域不显示文本。
ACTION_MENUBUTTON = 110, // 菜单按钮,格式同超链接。
ACTION_MENULISTPART = 111, // 菜单列表项。"task_id iter text...", 玩家点选列表后,会触发task_id,并且iter会填到玩家的%iter变量中。
ACTION_MENUCREATE = 120, // 菜单创建。"cancel_task_id"(可选): 强行关闭菜单时触发的TASK
ACTION_RAND = 121, // 检测随机率。"data1 data2"。"10 100"表示有1/10的机会是true。
ACTION_RANDACTION = 122, // 随机Action "action0 action1... action7"共8个,随机挑一个执行
ACTION_CHKTIME = 123, // data为时间类型 0-检查当前服务器详细时间 "%d-%d-%d %d:%d %d-%d-%d %d:%d"; 1-检查年某天时间"%d-%d %d:%d %d-%d %d:%d", 2-检查月某天时间"%d %d:%d %d %d:%d", 3-检查周某天时间"%d %d:%d %d %d:%d", 4-检查日时间"%d:%d %d:%d", 5-检查小时时间"%d %d"(每个小时的第几分到底几分)
ACTION_POSTCMD = 124, // 向客户端发送界面命令,data为命令编号
ACTION_BROCASTMSG = 125, // 全服务器广播文字消息,data为频道,para为内容
ACTION_MESSAGEBOX = 126, // 让客户端弹出对话框。data为对话框类型(0-99),param=文字串参数。
ACTION_SYS_LIMIT = 199,
// npc part, need npc ptr --------------------------------------------------------------------------
ACTION_NPC_FIRST = 200,
ACTION_NPC_ATTR = 201, // 修改或检测任务NPC的属性。"attr opt data npc_id",至少3个参数。如果指定npc_id,该NPC必须在本地图组中。attr可选择"ownerid"(=,==)、"ownertype"(=,==)、"lookface"(=,==)、"data?"(=,+=,==,<,<=,>,>=,pass. pass可让字段中存的DateStamp增减一定的天数,. data可为"accept")、"datastr"(=,==)、"life"(=)、"maxlife"(=)
// ACTION_NPC_REQUESTSHIFT = 202, // 通知客户端平移一个NPC。param="idNextTask"。
// ACTION_NPC_SHIFT = 203, // 平移当前NPC。限同地图移动。限动态NPC。
ACTION_NPC_ERASE = 205, // 删除当前NPC。限动态NPC。注意:删除后,不要再对此NPC进行操作。dwData不为0,表示删除本地图的所有type为dwData的NPC。param="idMap type": 删除指定地图的某些NPC。
ACTION_NPC_MODIFY = 206, // 跨线程修改指定任务NPC的属性。"npc_id attr opt data"。attr可选择"lookface"(=)、"data?"(=)、"datastr"(=)
ACTION_NPC_RESETSYNOWNER = 207, // 重置帮派地图的主人。仅用于帮派标志NPC。统计帮派战绩第一名填入OWNER_ID,同时清除所有战绩。所有攻击自动停止。(未中止地图的战斗标志)
ACTION_NPC_FIND_NEXT_TABLE = 208, // 查找下一个列表项,将ID写入TASK_ITERATOR。仅用于带列表的NPC。param="type", 对应cq_table的type字段。
ACTION_NPC_ADD_TABLE = 209, // 在列表中添加一条, type和idKey相同的会被预先删除(idKey为0时,不删除)。仅用于带列表的NPC。param="type idKey data0 data1 data2 data3 szData", 至少2个参数。
ACTION_NPC_DEL_TABLE = 210, // 从列表中删除所有符合条件的项,不存在的也返回true。仅用于带列表的NPC。param="type idKey data0 data1 data2 data3 szData", 至少2个参数, 参数为0表示不匹配,所有不为0的与列表完全相同的会删除。无param时,删除当前记录(iterator指定的记录),总是返回true。
ACTION_NPC_DEL_INVALID = 211, // 从列表中删除所有过期的项,不存在的也返回true。仅用于带列表的NPC。param="type idx", idx表示日期(%date_stamp)存放在哪个data中。[例如idx为3表示日期存放在data3中,所有data3中的日期小于今天日期的项将被删除。]
ACTION_NPC_TABLE_AMOUNT = 212, // 检查列表的项数,>=data时返回false,<data时返回true。param无意义。
ACTION_NPC_SYS_AUCTION = 213, // LW让NPC开始系统拍买,DATA为NPC的ID,param 为系统正式开始的提示
ACTION_NPC_DRESS_SYNCLOTHING = 214, //穿帮派服装
ACTION_NPC_TAKEOFF_SYNCLOTHING = 215, //脱帮派服装
ACTION_NPC_AUCTIONING = 216, //判断是否还有物品正在拍卖中DATA为NPC的ID,PARAM:type:0.表示查看系统拍卖物品,1.表示查看玩家物品
ACTION_NPC_LIMIT = 299,
// map part, need curr map --------------------------------------------------------------------------
ACTION_MAP_FIRST = 300,
ACTION_MAP_MOVENPC = 301, // 把npc移动到指定的地图、位置(仅用于固定NPC),data 为指定的npc的ID, param为 "idMap nPosX nPosY"。注意:可移动到该地图的(0,0)坐标,以便隐藏NPC。
ACTION_MAP_MAPUSER = 302, // 判断指定地图中的用户人数, data 为指定地图ID, param为 "cmd opt data",
// cmd支持"map_user"和"alive_user", opt可以为"==, <=, >=",data为数量
ACTION_MAP_BROCASTMSG = 303, // 广播消息, data 为地图id, szParam为广播的消息
ACTION_MAP_DROPITEM = 304, // 地图产生指定物品, szParam为"idItemType idMap nPosX nPosY"
ACTION_MAP_SETSTATUS = 305, // 设置地图状态,支持EVENT。param="mapid status_bit data", status_bit = { STATUS_WAR=1, }, data=0或1。
ACTION_MAP_ATTRIB = 306, // 检查、修改地图的属性。param="field opt data idMap", 参数至少3个,缺省为当前地图。field="synid"(opt="=="、"=")。field="status"(opt="test"、"set"、"reset")。field="type"(opt="test")。field="res_lev"(opt="="、"=="、"<")。field="mapdoc"(opt="="、"=="), portal0_x(=), portal0_y(=),field ="castle"(opt="==")
ACTION_MAP_REGION_MONSTER = 307, // 检查指定地图或当前地图的某区域内怪物数量。param="map_id region_x region_y region_cx region_cy monster_type opt data"。map_id为0时表示取当前地图,monster_type为0表示不检查类型,opt支持“==”和“<”。
ACTION_MAP_CHANGEWEATHER = 310, // 修改玩家所在REGION的天气。param="Type Intensity Dir Color KeepSecs", Type, Intensity=0~999, Dir=0~359, Color=0x00RRGGBB, KeepSecs=seconds
ACTION_MAP_CHANGELIGHT = 311, // 修改玩家地图的亮度。param="idmap light secs", light=0xAARRGGBB(0xFFFFFFFF表示恢复), secs为0 : 表示永久改变
ACTION_MAP_MAPEFFECT = 312, // 在指定地图的指定地点显示地图特效, param = "idMap x y EffectName"
ACTION_MAP_CREATEMAP = 313, // 创建一张地图,链接到当前NPC上(npc必须为LINK_NPC),需要玩家对象。param="name owner_type owner_id mapdoc type portal_x portal_y reborn_map reborn_portal res_lev"。partal指入口点坐标,res_lev表示地图等级(用于升级)。
ACTION_MAP_FIREWORKS = 314, // 放焰火
ACTION_MAP_LIMIT = 399,
// item action only part, need pUser+pItem ptr --------------------------------------------------------------------------
ACTION_ITEMONLY_FIRST = 400,
ACTION_ITEM_REQUESTLAYNPC = 401, // 通知客户端放置一个NPC。param="idNextTask type sort lookface region", 至少4个参数。region表示cq_region的type
ACTION_ITEM_COUNTNPC = 402, // 检查同地图的NPC数量。param="field data opt num", field="name"(按名字)、"type"(按类型)、"all"(所有NPC)、"furniture"(家具), data=要统计的名字或类型(all和furniture填0), opt="<"、"=="。
ACTION_ITEM_LAYNPC = 403, // 创建一个NPC,创建成功后,该NPC即是当前任务NPC,owner_id会自动设置为帮派ID或玩家ID。param="name type sort lookface ownertype life region base linkid task0 task0 ... task7 data0 data1 data2 data3 datastr"。至少5个参数。靶子的等级放在data3中。
ACTION_ITEM_DELTHIS = 498, // 删除当前任务物品。注意:必须为最后一个ACTION。
ACTION_ITEMONLY_LIMIT = 499,
// user item part, need user ptr --------------------------------------------------------------------------
ACTION_ITEM_FIRST = 500,
ACTION_ITEM_ADD = 501, // 添加物品。data=itemtype_id, param="amount amount_limit ident gem1 gem2 magic1 magic2 magic3 data warghostexp gemtype availabletime", param可省略,所有缺省值为0(表示不修改)
ACTION_ITEM_DEL = 502, // 删除物品。data=itemtype_id, param不为0时,可叠加类物品会同时删除多个。或者data为0,param表示要删除的物品名。
ACTION_ITEM_CHECK = 503, // 检测物品。data=itemtype_id, param不为0时,同时检查物品的数量(或耐久度),此物品必须达到要求的数量(或耐久度)才行。或者data为0,param表示要找的物品名。
ACTION_ITEM_HOLE = 504, // 武器打洞。param 支持 "ChkHole HoleNum" 或者"MakeHole HoleNum",Num为1或者2
ACTION_ITEM_REPAIR = 505, // 装备修理。data为指定装备的位置。
ACTION_ITEM_MULTIDEL = 506, // 删除多种物品, param为 "idType0 idType1 num",即删除num个idType0-idType1的物品。
ACTION_ITEM_MULTICHK = 507, // 检测多种物品, param为 "idType0 idType1 num",即检测num个idType0-idType1的物品。
ACTION_ITEM_LEAVESPACE = 508, // 检查背包剩余空间。param="space weight packtype"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -