关于战神引擎脚本的程序与变量,函数方法 ,以及调用脚本
游客 2023-7-23

 

1  战神引擎有私人变量 ,服务器变量什么的 ,以及函数方法等 ,战神手册里面有一些具体实现。私人变量如GETV(X,Y),SET(X,Y), 变量都是有值的 ,X,Y 合起来就是一个变量,字段号可以看做是类似a1,a2类似的变量或者理解成数组元素的下标标记,那么值就是元素的值了。记住,x,y是一个整体,不可以少一个。表示了任务号,字段号,值就是结果。至于值是多少数字,这个我也不是很明白,但值为-1或者0时,都会变量初始化设置为0,(因为变量都需要初始化)表示了一种状态,就是任务没开始的状态或者复原的状态。SET(),GET (),就是一个方法,值是INT类型的。X ,Y 都不大于255 。在脚本里面,其实私人变量可看可不看,都不会影响主要关键代码的功能,很多时候私人变量其实是个干扰量,因为本身是属于私人的性质

手册里面有解释  
如下所示

地图 任务号 字段号 字段值 怪物名  触发值 道具名 触发值 文件名  组队
JZ002 16 2 25 骷髅战士114 1 * 0 fenji1  0

该配置表示在地图“JZ002”中击杀怪物“骷髅战士114”,如果私人变量V 16 2 小于 25 会触发 
D:\mud2.0\Mir200\Envir\PsMapQuest\fenji1.pas的脚本文件

脚本文件逻辑需要自己编写

如fenji1.pas文件内容:

var
  iCount : Integer;

begin
  if This_Player.GetV(16,1)=6 then //判断是否领取任务 
  begin
    iCount := This_Player.GetV(16,2);  //打怪计数标记 
    if iCount = -1 then
    begin
      iCount := 0; 
   end   
    else if iCount =24 then
   begin
     iCount := iCount + 1;
     This_Player.SetV(16,2,iCount);
      This_Player.SetV(16,1,8); // 完成任务标记 
      This_Player.PlayerNotice('你现在已经杀死了骷髅战士:'+inttostr(iCount)+'/25', 2);
      This_Player.PlayerNotice('赶快回去找关卡任务使者吧!', 2);
    end
    else if iCount <24 then
    begin
     iCount := iCount + 1;
     This_Player.SetV(16,2, iCount);
      This_Player.PlayerNotice('你现在已经杀死了骷髅战士:'+Inttostr(iCount)+'/25', 2);
    end;
  end; 
end. 

上面代码GetV(16,1),GetV(16,2)什么的如何理解,16.1表示任务的状态,16.2表示任务打怪的多少,至于值是多少其实也是随便/(逻辑)写的(个人认为)

关于THIS_player.属性或字段   ,问题后面有多少可以写 ,可以参考战神引擎程序与变量,里面是有几百上千个可以表示玩家的属性,比如
function SysGiveGift(const ItemStr: string;Num: integer;BoBind: Boolean): Boolean;
就可以就是this_palyer.SysGiveGift('字符串',整数,布尔)
再比如,FGMLevel: Word;  就是this_palyer.GMlevel;

具体的实现在
https://www.xiabk.com/thread-41.htm
引用脚本就是把另一个脚本的类名,在这个脚本中包含这个类名 即脚本名。另一个脚本的方法直接写进到这个脚本里面.

最后于 2023-8-26 被游客编辑 ,原因:
最新回复 (0)
返回