GowLom2传奇手游引擎战神引擎 NPC对象函数接口详解

[复制链接]
匿名 手游公益服 发表于 2021-5-23 14:11 | 显示全部楼层 |阅读模式
GowLom2 传奇手游引擎 战神引擎 NPC 对象函数接口详解
1. 函数接口:procedure CreateMon(const MapName : string; X, Y, Ranger : Integer;
MonName : string; MonNum : Integer);
功能描述:在指定范围刷怪
函数参数:地图名,刷怪中心点 x,y 坐标,刷怪范围,怪物名称,怪物数量
函数返回值:无
脚本调用示例:
This_NPC.CreateMon(‘3’, 200, 300, 5, ‘魔龙教主’, 10);
这个脚本的含义就是在盟重(200,300)为中心,半径为 5 格的范围里,刷处 10
只魔龙教主,
2. 函数接口:procedure ClearMon(const MapName : string);
功能描述:清除某地图上的所有怪
函数参数:地图名
函数返回值:无
脚本调用示例:
This_NPC.ClearMon(‘3’);
这个脚本的含义就是清除盟重的所有怪
3. 函数接口:function MapName() : string;
功能描述:返回 NPC 所在地图的地图名称
函数参数:无
函数返回值:地图名
4. 函数接口:procedure NPCSay(const MsgStr: string);
功能描述:游戏中的 NPC 头顶上冒出白字对话
函数参数:显示的对话内容
函数返回值:无
5. 函数接口:procedure NpcNotice(MsgStr: string);
功能描述:NPC 发系统红字
函数参数:显示的对话内容
函数返回值:无
6. 函数接口:procedure NpcDialog(const Player : TPlayer; Str : string);
功能描述:NPC 给玩家弹出对话框(左上角的)
函数参数:玩家对象,对话内容
函数返回值:无
脚本调用示例:
This_Npc.NpcDialog( This_Player,
'恩?好像那密室有其他人在\' +
'我们先稍等片刻\' +
'<关闭/@DoExit>'
);
7. 函数接口:procedure CloseDialog(const Player: TPlayer);
功能描述:关闭 NPC 弹出的对话框(左上角的)
函数参数:玩家对象
函数返回值:无
8. 函数接口:procedure FillGoods(const GoodName : string; Num, Interval : Integer);
功能描述:商人 NPC 初始化时用于初始化商铺的物品列表,见脚本初始化
函数参数:物品名,数量, Interval 表示此类物品刷新时间(少了就补充,多了就去掉,以
秒为单位)
函数返回值:无
脚本调用示例:
//加载道具
This_NPC.FillGoods('木剑', 100, 1);
This_NPC.FillGoods('乌木剑', 21, 1);
9. 函数接口:procedure AddStdMode(nMode: Word);
功能描述:设置可以在此商人 NPC 商铺中修理和卖的东西类型,见脚本初始化
函数参数:属性(mode 的参照表)
函数返回值:无
10. 函数接口:procedure SetRebate(nRebate : Word);
功能描述:设置商人买卖倍率
函数参数:倍率
函数返回值:This_Npc.SetRebate(120); //当前价格是实际价格的 120%
11. 函数接口:procedure Click_Buy(Clicker: TPlayer);
功能描述:商人 NPC 打开物品列表,待玩家买物品
函数参数:玩家类
函数返回值:无
脚本调用示例:
This_Npc.Click_Buy(This_Player);
12. 函数接口:procedure Click_Sell(Clicker: TPlayer);
功能描述:商人 NPC 打开卖物品的框,待玩家卖物品
函数参数:玩家类
函数返回值:无
13. 函数接口:procedure Click_Repair(Clicker: TPlayer);
功能描述:NPC 打开物品修理框,待玩家进行修理
函数参数:玩家类
函数返回值:无
14. 函数接口:procedure procedure Click_SRepair(Clicker: TPlayer);
功能描述:NPC 打开物品特别修理框,待玩家进行特别修理
函数参数:玩家类
函数返回值:无
15. 函数接口:procedure Click_Storage(Clicker: TPlayer);
功能描述:调出仓库存物品的窗口,待玩家存物品
函数参数:属性(mode 的参照表)
函数返回值:无
16. 函数接口:procedure Click_GetBack(Clicker: TPlayer);
功能描述:调出仓库中的物品列表,待玩家取物品
函数参数:属性(mode 的参照表)
函数返回值:无
17. 函数接口:procedure Click_GoldChgBar(Clicker: TPlayer);
功能描述:将玩家身上金币换金条
函数参数:玩家对象
函数返回值:无
18. 函数接口:procedure Click_BartoBrick(Clicker: TPlayer);
功能描述:金条换金砖
函数参数:玩家对象
函数返回值:无
19. 函数接口:procedure Click_BricktoBar(Clicker: TPlayer);
功能描述:金砖换金条
函数参数:玩家对象
函数返回值:无
20. 函数接口:procedure Click_BartoGold(Clicker: TPlayer);
功能描述:金条换金币
函数参数:玩家对象
函数返回值:无
21. 函数接口:procedure Click_Makedrug(Clicker: TPlayer);
功能描述:做药
函数参数:玩家对象
函数返回值:无
22. 函数接口:procedure InputDialog(Hum: TPlayer; MsgStr : string; DlgType, InputType :
Integer);
功能描述:客户端弹出有确定和取消按钮的输入框
函数参数:玩家对象,提示信息,对话框类型,对话框处理函数
函数返回值:无返回值,但脚本可以根据 NPC 属性中的 InputStr 和 InputOK 这两个属性来
读取对话框相关属性。详见输入对话框。
23. 函数接口:function GetCastleTotalGold():Integer;
功能描述:沙城总收入
函数参数:无
函数返回值:无
24. 函数接口:function GetCastleTodayIncome():Integer;
功能描述:沙城今天收入
函数参数:无
函数返回值:无
25. 函数接口:procedure Click_TakeOutGold(Hum: TPlayer; const GoldNumStr: string);
功能描述:沙巴克城主取钱
函数参数:玩家类,取钱数量(字符串类型)
函数返回值:无
26. 函数接口:procedure Click_SaveGold(Hum: TPlayer; const GoldNumStr: string);
功能描述:沙巴克城主存钱
函数参数:玩家类,存钱数量(字符串类型)
函数返回值:无
27. 函数接口:function GetCastleDoorState():string;
功能描述:获取沙巴克城门状态
函数参数:无
函数返回值:返回‘打开’,‘关闭’,‘未知’。
28. 函数接口:procedure Click_RepairDoor(Hum: TPlayer);
功能描述:沙巴克城主修城门
函数参数:玩家类(沙巴克城主)
函数返回值:无
29. 函数接口:procedure Click_RepairWall(Hum: TPlayer;const nPos: Integer);
功能描述:沙巴克城主修城墙
函数参数:玩家类(沙巴克城主), 标记哪面墙(参数与老脚本一样)
函数返回值:无
30. 函数接口:procedure Click_HireGuard(Hum: TPlayer; nPos: Integer);
功能描述:沙巴克城主雇佣卫兵
函数参数:玩家类(沙巴克城主),标记卫兵位置
函数返回值:无
31. 函数接口:procedure Click_ HireArcher(Hum: TPlayer; nPos: Integer);
功能描述:沙巴克城主雇佣弓箭手
函数参数:玩家类(沙巴克城主),标记弓箭手位置
函数返回值:无
32. 函数接口:procedure OpenCastleDoor(bOpen : Boolean);
功能描述:沙巴克城主开城门
函数参数: True 为打开,False 为不打开
函数返回值:无
/**********************Npc 扩展接口*******************************/
33. 函数接口:function ChkStrInFile(const sFileName, sSearchStr : string) : Boolean;
功能描述:在指定文件中查找字符串
函数参数: 进行查找的文件, 要搜索的字符串
函数返回值:找到则返回 true,找不到返回 false
注: 这个文件是在脚本的 Envir 文件夹下某文件(或子路径)
脚本调用示例:
This_Npc.ChkStrInFile(‘temp1.txt’, This_Player.Name);
//在 Ennvir 文件夹下的 temp1.txt 文件中查找当前玩家角色名是否在文件中.
//temp1.txt 是一行一条记录的.
This_Npc.ChkStrInFile(‘PascalScript\temp2.txt’, ‘hello’);
//在 Envir 文件夹下,查找子文件夹 PascalScript 中的 temp2.txt 文件中是否有’hello’
34. 函数接口:function AddStrToFile(const sFileName, sAddStr : string) : Boolean;
功能描述:向指定文件中添加字符串
函数参数:文件名, 要添加的字符串
函数返回值:添加成功 true, 添加失败 false(字符串已存在)
35. 函数接口:function DelStrFromFile(const sFileName, sDelStr : string) : Boolean;
功能描述:从指定文件中删除字符串
函数参数:文件名, 要删除的字符串
函数返回值:删除成功 true, 删除失败 false(字符串不存在)
36. 函数接口:function GetAroundMonNum(const sMonName : string) : Integer;
功能描述:获取当前 NPC 周围 3*3 格子中,某种怪物的数量
函数参数:怪物名称
函数返回值:返回要查询的数量
37. 函数接口:procedure SetMonTargetXY(const x, y : Integer);
功能描述:让地图上所有由 NPC 刷出来的怪物(而不是通过配置文件,地图自己刷的怪),走到
指定的地图坐标.(函数的功能比较简单,不能完成比较复杂的寻路)
函数参数:指定的地图坐标
函数返回值:无
38. 函数接口:procedure NpcRecallPlayers(const sSrcMap : string; num : Integer);
功能描述:由 NPC 召集本 GS 上某地图内玩家若干名,来当前 NPC 所在地图
程序中限制了召唤的玩家数量不超过 100 个,取先进入当前地图的玩家
想法:由这个接口可以开发的东西可能是一堆玩家在某张地图上
到某时间,由某个 NPC 将抽取前面的一些人来自己的地图
函数参数:指定的地图名称,
函数返回值:无
39. 函数接口:procedure PlayDice(Player : TPlayer; iDiceNum : Integer; sFunc : string);
功能描述:扔骰子
函数参数:iDiceNum 表示扔几个骰子, sFunc 定义了扔完骰子后调用的脚本函数
函数返回值:无
脚本调用示例:
(以前骰子最后的点数是存在人物的 d0-d9 这 10 个变量身上,现在则是用人物的 0 号任务的
1-10 号变量来存最多 10 个骰子的大小)
//扔完骰子后的操作
procedure _AfterPlayDice(); //注意这里需要下画线
var
i : Integer;
j : Integer;
begin
i:=This_Player.GetV(0, 1);
j:=This_Player.GetV(0, 2);
This_Npc.NpcDialog(This_Player, ‘你扔的骰子数是’ + IntToStr(i) + IntToStr(j));
end;
//扔骰子
procedure DoPlayDice();
var
i : Integer;
begin
This_Player.SetV(0, 1, (Random(6) + 1));
This_Player.SetV(0, 2, (Random(6) + 1));
This_Npc.PlayDice(This_Player, 2, '@AfterPlayDice'); //注意这里需要@
end;
40. 函数接口:procedure ClickUpgradeJewels(Player: TPlayer; const nPos : Integer): Integer;
功能描述:升级头盔,项链,戒指,腰带,靴子,手镯这类首饰物品
函数参数:nPos:3 项链,4 头盔,5 右手镯,6 左手镯,7 右戒指,8 左戒指,10 腰带,11 靴子
函数返回值:无
41. 函数接口:procedure ClientAskYBDuanZao(Player: TPlayer);
功能描述:查询元宝锻造情况
函数参数:玩家对象
函数返回值:无
42. 函数接口:procedure ClientQuestGetDiam(Player: TPlayer; Num: integer);
功能描述:领取锻造的金刚石
函数参数:玩家对象, 领取的数量
函数返回值:无
43. 函数接口:procedure RefreshCredit(Player: TPlayer);
功能描述:查询元宝充值情况
函数参数:玩家对象
函数返回值:无
44. 函 数接口:procedure ClientReqGetBackLostItem(Player: TPlayer; const LostType:
integer);
功能描述:找回或者补领物品
函数参数://LostType 为 1 对应原脚本的@GetLostBuyGoods
// 为 2 对应原脚本的@GetLostDealItem
// 为 3 对应原脚本的@GetLostDiamond
函数返回值:无
45. 函数接口:procedure ReqItemByGoldID(Player: TPlayer);
功能描述:领取金牌帐号的奖励
函数参数:玩家对象
函数返回值:无
46. 函数接口:procedure ReqItemByGoldAct(Player: TPlayer);
功能描述:领取热血勇士奖品
函数参数:玩家对象
函数返回值:无
47. 函数接口:procedure ReqItemByPlatina(Player: TPlayer);
功能描述:领取白金角色奖励
函数参数:玩家对象
函数返回值:无
48. 函数接口:procedure ClientQueryLastDealMsg(Player: TPlayer);
功能描述:查询最后一次元宝交易记录
函数参数:玩家对象
函数返回值:无
49. 函数接口:procedure ClientQueryYbDealItem(Player: TPlayer; flag : Boolean);
功能描述:查询寄售或者是购买的物品
函数参数:flag 为 true 表示寄售,flag 为 false 表示购买
函数返回值:无
50. 函数接口:procedure ClientAskOpenYB(Player: TPlayer);
功能描述:开通元宝交易
函数参数:玩家对象
函数返回值:无
51. 函数接口:procedure ReqGetFirstUsedGift(Player: TPlayer);
功能描述:领取分红系统奖励,盟重金牌特使中的<分红系统领取奖励/@firstusedyb>
函数参数:玩家对象
函数返回值:无
52. 函数接口:procedure OpenEquipAttr(Player : TPlayer);
功能描述:解除封印
函数参数:玩家对象
函数返回值:无
53. 函数接口:procedure ClientYBbuyLF(Player: TPlayer; const Num: integer);
功能描述:用元宝买灵符
函数参数:玩家对象
函数返回值:无
54. 函数接口:procedure BuyWineFromNpc(Player: TPlayer);
功能描述:买烧酒
函数参数:玩家对象
函数返回值:无
55. 函数接口:function UseGuildPoint(Player: TPlayer) : Integer;
功能描述:查询行会酒泉
函数参数:玩家对象
函数返回值: 0 表示关闭,1 表示开启,-1 表示没有行会
56. 函数接口:function GetSomeGuildPoint(Player: TPlayer) : Integer;
功能描述:领取行会酒泉泉水
函数参数:玩家对象
本帖隐藏的内容
函数返回值:// 1 表示领取成功 '~@GetPoint_OK'
// 0 表示没有 '~@PointOver'
// -1 表示无行会 '~@NotGuild'
// -2 表示无足够包裹 '~@NotEnoughBag'
// -3 表示今天领过了 '~@ToDayOver'
// -4 表示行会酒泉关闭中 '~@GuildPointClose'
57. 函数接口:function ChangeGPSwitch(Player: TPlayer) : Integer;
功能描述:开启或者关闭行会酒泉
函数参数:玩家对象
函数返回值: 1 是开启,0 是关闭,-1 是无行会, -2 是非会长
58. 函数接口:procedure GiveWine(Player: TPlayer; const sName: string; iQuality, iDrinkVal:
integer);
功能描述:npc 根据酒名,品质,酒精度,给玩家造一瓶酒
函数参数:玩家对象, 酒名,品质,酒精度
函数返回值:无
59. 函数接口:procedure ClientDrinkWithNpc(Player: TPlayer; const mode : Integer);
功能描述:玩家与 NPC 喝酒.
函数参数:玩家对象, mode 为 1 表示为招募,为 2 表示为寄放,为 3 表示为解雇,为 4 表示为
取回
函数返回值: //无返回值,但要求脚本提供回调函数
//Qh_Hvalid_Err
//Qh_NoHave_Err
//Jg_IsFirst_Err
//Jf_Htwo_Err
//NoCall_Err
//Zm_Hvalid_Err
//Zm_Hdisdr_Err
//Zm_Lv_Err
60. 函数接口:procedure ClientDrinkAfter(Player: TPlayer; const mode : Integer);
功能描述:斗酒结束后的动作
函数参数:mode 为 1 表示为招募,为 2 表示为寄放,为 3 表示为解雇,为 4 表示为取回
函数返回值:无返回值,单此函数要回调脚本函数 procedure zhaomu2()!!!!;
61. 函数接口:function ClickUpWeaponNow(Hum: TPlayer): Integer;
功能描述:武器升级
函数参数:玩家对象
函数返回值:0 表示升级失败,对应原脚本的 @upgradenow_fail
1 表示正在升级,对应原脚本的 @upgradenow_ing
2 表示升级成功,对应原脚本的 @upgradenow_ok
62. 函数接口:function ClickGetBackUpWeapon(Clicker: TPlayer): Integer;
功能描述:取回升级后的武器
函数参数:玩家对象
函数返回值:-1 表示系统发红字,“对不起,你无法再携带了”
0 表示取回失败,对应原脚本的 @ getbackupgnow _fail
1 表示正在取回,对应原脚本的 @ getbackupgnow _ing
2 表示取回成功,对应原脚本的 @ getbackupgnow _ok
63. 函数接口:procedure ClickComposeDress(Player: TPlayer; const ProcStr: string);
功能描述:npc 根据藏宝图换衣服
函数参数:玩家对象, 藏宝图
函数返回值:无
64. 函数接口:function GetCastleGuildName() : string;
功能描述:返回当前沙巴克行会名称
函数参数:无
函数返回值:行会名称
65. 函数接口:function GetCastleLoadName() : string;
功能描述:返回当前沙巴克城主名
函数参数:无
函数返回值:沙巴克城主名
您需要登录后才可以回帖 登录 | 加入网站

本版积分规则