战神引擎NPC对象的函数接口示例

作者 : 酷萌 本文共8164个字,预计阅读时间需要21分钟 发布时间: 2023-01-4 共624人阅读
  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只魔龙教主,

  1. 函数接口:procedure ClearMon(const MapName : string);

功能描述:清除某地图上的所有怪

函数参数:地图名

函数返回值:无

脚本调用示例:

This_NPC.ClearMon(‘3’);

这个脚本的含义就是清除盟重的所有怪

  1. 函数接口:function MapName() : string;

功能描述:返回NPC所在地图的地图名称

函数参数:无

函数返回值:地图名

  1. 函数接口:procedure NPCSay(const MsgStr: string);

功能描述:游戏中的NPC头顶上冒出白字对话

函数参数:显示的对话内容

函数返回值:无

  1. 函数接口:procedure NpcNotice(MsgStr: string);

功能描述:NPC发系统红字

函数参数:显示的对话内容

函数返回值:无

  1. 函数接口:procedure NpcDialog(const Player : TPlayer; Str : string);

功能描述:NPC给玩家弹出对话框(左上角的)

函数参数:玩家对象,对话内容

函数返回值:无

脚本调用示例:

This_Npc.NpcDialog( This_Player,

‘恩?好像那密室有其他人在\’ +

‘我们先稍等片刻\’ +

‘<关闭/@DoExit>’

);

  1. 函数接口:procedure CloseDialog(const Player: TPlayer);

功能描述:关闭NPC弹出的对话框(左上角的)

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure FillGoods(const GoodName : string; Num, Interval : Integer);

功能描述:商人NPC初始化时用于初始化商铺的物品列表,见脚本初始化

函数参数:物品名,数量, Interval表示此类物品刷新时间(少了就补充,多了就去掉,以秒为单位)

函数返回值:无

脚本调用示例:

//加载道具

This_NPC.FillGoods(‘木剑’, 100, 1);

This_NPC.FillGoods(‘乌木剑’, 21, 1);

  1. 函数接口:procedure AddStdMode(nMode: Word);

功能描述:设置可以在此商人NPC商铺中修理和卖的东西类型,见脚本初始化

函数参数:属性(mode的参照表)

函数返回值:无

  1. 函数接口:procedure SetRebate(nRebate : Word);

功能描述:设置商人买卖倍率

函数参数:倍率

函数返回值:This_Npc.SetRebate(120);  //当前价格是实际价格的120%

  1. 函数接口:procedure Click_Buy(Clicker: TPlayer);

功能描述:商人NPC打开物品列表,待玩家买物品

函数参数:玩家类

函数返回值:无

脚本调用示例:

This_Npc.Click_Buy(This_Player);

  1. 函数接口:procedure Click_Sell(Clicker: TPlayer);

功能描述:商人NPC打开卖物品的框,待玩家卖物品

函数参数:玩家类

函数返回值:无

  1. 函数接口:procedure Click_Repair(Clicker: TPlayer);

功能描述:NPC打开物品修理框,待玩家进行修理

函数参数:玩家类

函数返回值:无

  1. 函数接口:procedure procedure Click_SRepair(Clicker: TPlayer);

功能描述:NPC打开物品特别修理框,待玩家进行特别修理

函数参数:玩家类

函数返回值:无

  1. 函数接口:procedure Click_Storage(Clicker: TPlayer);

功能描述:调出仓库存物品的窗口,待玩家存物品

函数参数:属性(mode的参照表)

函数返回值:无

  1. 函数接口:procedure Click_GetBack(Clicker: TPlayer);

功能描述:调出仓库中的物品列表,待玩家取物品

函数参数:属性(mode的参照表)

函数返回值:无

  1. 函数接口:procedure Click_GoldChgBar(Clicker: TPlayer);

功能描述:将玩家身上金币换金条

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure Click_BartoBrick(Clicker: TPlayer);

功能描述:金条换金砖

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure Click_BricktoBar(Clicker: TPlayer);

功能描述:金砖换金条

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure Click_BartoGold(Clicker: TPlayer);

功能描述:金条换金币

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure Click_Makedrug(Clicker: TPlayer);

功能描述:做药

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure InputDialog(Hum: TPlayer; MsgStr : string; DlgType, InputType : Integer);

功能描述:客户端弹出有确定和取消按钮的输入框

函数参数:玩家对象,提示信息,对话框类型,对话框处理函数

函数返回值:无返回值,但脚本可以根据NPC属性中的InputStr和InputOK这两个属性来读取对话框相关属性。详见输入对话框

  1. 函数接口:function GetCastleTotalGold():Integer;

功能描述:沙城总收入

函数参数:无

函数返回值:无

  1. 函数接口:function GetCastleTodayIncome():Integer;

功能描述:沙城今天收入

函数参数:无

函数返回值:无

  1. 函数接口:procedure Click_TakeOutGold(Hum: TPlayer; const GoldNumStr: string);

功能描述:沙巴克城主取钱

函数参数:玩家类,取钱数量(字符串类型)

函数返回值:无

  1. 函数接口:procedure Click_SaveGold(Hum: TPlayer; const GoldNumStr: string);

功能描述:沙巴克城主存钱

函数参数:玩家类,存钱数量(字符串类型)

函数返回值:无

  1. 函数接口:function GetCastleDoorState():string;

功能描述:获取沙巴克城门状态

函数参数:无

函数返回值:返回‘打开’,‘关闭’,‘未知’。

  1. 函数接口:procedure Click_RepairDoor(Hum: TPlayer);

功能描述:沙巴克城主修城门

函数参数:玩家类(沙巴克城主)

函数返回值:无

  1. 函数接口:procedure Click_RepairWall(Hum: TPlayer;const nPos: Integer);

功能描述:沙巴克城主修城墙

函数参数:玩家类(沙巴克城主), 标记哪面墙(参数与老脚本一样)

函数返回值:无

  1. 函数接口:procedure Click_HireGuard(Hum: TPlayer; nPos: Integer);

功能描述:沙巴克城主雇佣卫兵

函数参数:玩家类(沙巴克城主),标记卫兵位置

函数返回值:无

  1. 函数接口:procedure Click_ HireArcher(Hum: TPlayer; nPos: Integer);

功能描述:沙巴克城主雇佣弓箭手

函数参数:玩家类(沙巴克城主),标记弓箭手位置

函数返回值:无

  1. 函数接口:procedure OpenCastleDoor(bOpen : Boolean);

功能描述:沙巴克城主开城门

函数参数: True为打开,False为不打开

函数返回值:无

/**********************Npc扩展接口*******************************/

  1. 函数接口: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’

  1. 函数接口:function AddStrToFile(const sFileName, sAddStr : string) : Boolean;

功能描述:向指定文件中添加字符串

函数参数:文件名, 要添加的字符串

函数返回值:添加成功true, 添加失败false(字符串已存在)

  1. 函数接口:function DelStrFromFile(const sFileName, sDelStr : string) : Boolean;

功能描述:从指定文件中删除字符串

函数参数:文件名, 要删除的字符串

函数返回值:删除成功true, 删除失败false(字符串不存在)

  1. 函数接口:function GetAroundMonNum(const sMonName : string) : Integer;

功能描述:获取当前NPC周围3*3格子中,某种怪物的数量

函数参数:怪物名称

函数返回值:返回要查询的数量

  1. 函数接口:procedure SetMonTargetXY(const x, y : Integer);

功能描述:让地图上所有由NPC刷出来的怪物(而不是通过配置文件,地图自己刷的怪),走到指定的地图坐标.(函数的功能比较简单,不能完成比较复杂的寻路)

函数参数:指定的地图坐标

函数返回值:无

  1. 函数接口:procedure NpcRecallPlayers(const sSrcMap : string; num : Integer);

功能描述:由NPC召集本GS上某地图内玩家若干名,来当前NPC所在地图

程序中限制了召唤的玩家数量不超过100个,取先进入当前地图的玩家

想法:由这个接口可以开发的东西可能是一堆玩家在某张地图上

到某时间,由某个NPC将抽取前面的一些人来自己的地图

函数参数:指定的地图名称,

函数返回值:无

  1. 函数接口: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;

  1. 函数接口:procedure ClickUpgradeJewels(Player: TPlayer; const nPos :  Integer): Integer;

功能描述:升级头盔,项链,戒指,腰带,靴子,手镯这类首饰物品

函数参数:nPos:3项链,4头盔,5右手镯,6左手镯,7右戒指,8左戒指,10腰带,11靴子

函数返回值:无

  1. 函数接口:procedure ClientAskYBDuanZao(Player: TPlayer);

功能描述:查询元宝锻造情况

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ClientQuestGetDiam(Player: TPlayer; Num: integer);

功能描述:领取锻造的金刚石

函数参数:玩家对象, 领取的数量

函数返回值:无

  1. 函数接口:procedure RefreshCredit(Player: TPlayer);

功能描述:查询元宝充值情况

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ClientReqGetBackLostItem(Player: TPlayer; const LostType: integer);

功能描述:找回或者补领物品

函数参数://LostType为1对应原脚本的@GetLostBuyGoods

//        为2对应原脚本的@GetLostDealItem

//        为3对应原脚本的@GetLostDiamond

函数返回值:无

  1. 函数接口:procedure ReqItemByGoldID(Player: TPlayer);

功能描述:领取金牌帐号的奖励

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ReqItemByGoldAct(Player: TPlayer);

功能描述:领取热血勇士奖品

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ReqItemByPlatina(Player: TPlayer);

功能描述:领取白金角色奖励

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ClientQueryLastDealMsg(Player: TPlayer);

功能描述:查询最后一次元宝交易记录

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ClientQueryYbDealItem(Player: TPlayer; flag : Boolean);

功能描述:查询寄售或者是购买的物品

函数参数:flag为true表示寄售,flag为false表示购买

函数返回值:无

  1. 函数接口:procedure ClientAskOpenYB(Player: TPlayer);

功能描述:开通元宝交易

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ReqGetFirstUsedGift(Player: TPlayer);

功能描述:领取分红系统奖励,盟重金牌特使中的<分红系统领取奖励/@firstusedyb>

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure OpenEquipAttr(Player : TPlayer);

功能描述:解除封印

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure ClientYBbuyLF(Player: TPlayer; const Num: integer);

功能描述:用元宝买灵符

函数参数:玩家对象

函数返回值:无

  1. 函数接口:procedure BuyWineFromNpc(Player: TPlayer);

功能描述:买烧酒

函数参数:玩家对象

函数返回值:无

  1. 函数接口:function UseGuildPoint(Player: TPlayer) : Integer;

功能描述:查询行会酒泉

函数参数:玩家对象

函数返回值: 0表示关闭,1表示开启,-1表示没有行会

  1. 函数接口:function GetSomeGuildPoint(Player: TPlayer) : Integer;

功能描述:领取行会酒泉泉水

函数参数:玩家对象

函数返回值://        1表示领取成功 ‘~@GetPoint_OK’

//        0表示没有 ‘~@PointOver’

//        -1表示无行会 ‘~@NotGuild’

//        -2表示无足够包裹 ‘~@NotEnoughBag’

//        -3表示今天领过了 ‘~@ToDayOver’

//        -4表示行会酒泉关闭中 ‘~@GuildPointClose’

  1. 函数接口:function ChangeGPSwitch(Player: TPlayer) : Integer;

功能描述:开启或者关闭行会酒泉

函数参数:玩家对象

函数返回值: 1是开启,0是关闭,-1是无行会, -2是非会长

  1. 函数接口:procedure GiveWine(Player: TPlayer; const sName: string; iQuality, iDrinkVal: integer);

功能描述:npc根据酒名,品质,酒精度,给玩家造一瓶酒

函数参数:玩家对象, 酒名,品质,酒精度

函数返回值:无

  1. 函数接口: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

  1. 函数接口:procedure ClientDrinkAfter(Player: TPlayer; const mode : Integer);

功能描述:斗酒结束后的动作

函数参数:mode为1表示为招募,为2表示为寄放,为3表示为解雇,为4表示为取回

函数返回值:无返回值,单此函数要回调脚本函数procedure zhaomu2()!!!!;

  1. 函数接口:function ClickUpWeaponNow(Hum: TPlayer): Integer;

功能描述:武器升级

函数参数:玩家对象

函数返回值:0表示升级失败,对应原脚本的 @upgradenow_fail

1表示正在升级,对应原脚本的 @upgradenow_ing

2表示升级成功,对应原脚本的 @upgradenow_ok

  1. 函数接口:function ClickGetBackUpWeapon(Clicker: TPlayer): Integer;

功能描述:取回升级后的武器

函数参数:玩家对象

函数返回值:-1表示系统发红字,“对不起,你无法再携带了”

0表示取回失败,对应原脚本的 @ getbackupgnow _fail

1表示正在取回,对应原脚本的 @ getbackupgnow _ing

2表示取回成功,对应原脚本的 @ getbackupgnow _ok

  1. 函数接口:procedure ClickComposeDress(Player: TPlayer; const ProcStr: string);

功能描述:npc根据藏宝图换衣服

函数参数:玩家对象, 藏宝图

函数返回值:无

  1. 函数接口:function GetCastleGuildName() : string;

功能描述:返回当前沙巴克行会名称

函数参数:无

函数返回值:行会名称

  1. 函数接口:function GetCastleLoadName() : string;

功能描述:返回当前沙巴克城主名

函数参数:无

函数返回值:沙巴克城主名

免责声明
1.本文部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
2.若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
3.如果本站有侵犯、不妥之处的资源,请在联系我们将会第一时间解决!
4.本站所有内容均由互联网收集整理、网友上传,仅供大家参考、学习,不存在任何商业目的与商业用途。
5.本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与商业和非法行为,请在24小时之内自行删除!
6.侵权联系邮箱:16094777@qq.com


酷萌资源网 » 战神引擎NPC对象的函数接口示例