千年技术吧+ 关注 关注:3 帖子:257

  

一级僧的脚本文件 解析 [抛砖引玉]

  • 枫之精英
    unit 一级僧侣;
    
    interface  //接口
    //定义类型
    function  GetToken (aStr, aToken, aSep : String) : String;
    function  CompareStr (aStr1, aStr2 : String) : Boolean;
    function  callfunc (aText: string): string;
    procedure print (aText: string);
    function  Random (aScope: integer): integer;
    function  Length (aText: string): integer;
    procedure Inc (aInt: integer);
    procedure Dec (aInt: integer);
    function  StrToInt (astr: string): integer;
    function  IntToStr (aInt: integer): string;
    procedure exit;
    
    procedure OnGetResult (aStr : String);
    procedure OnLeftClick (aStr : String);
    procedure OnApproach (aStr : String);
    procedure OnAway (aStr : String);
    procedure OnArrival (aStr : String);
    /////
    var
    iCallCount : Integer = 0;
    
    implementation
    
    procedure OnAway (aStr : String);     //离开范围 激发下面
    var
       Str : String;
       Race : Integer;
    begin
       Str := callfunc ('getsenderrace');
       Race := StrToInt (Str);
       if Race = 1 then begin
          print ('say 南无阿弥陀佛...');
       exit;
       end;
    end;
    
    procedure OnApproach (aStr : String);  //接近范围 激发下面
    var
       Str : String;
       Race : Integer;
    begin
       Str := callfunc ('getsenderrace');
       Race := StrToInt (Str);
       if Race = 1 then begin
          print ('say 施给僧侣,给您带来好运...');
       exit;
       end;
    end;
    
    procedure OnLeftClick (aStr : String);   //鼠标左击 激发下面
    var
       Str : String;
    begin
       Str := 'showwindow .\help\give.txt 1';      //窗口显示 give.txt 这个代码
       print (Str);
       exit;
    end;
    
    procedure OnGetResult (aStr : String);  //取得结果
    var
       Str, Name : String;
       iRandom, iKind : Integer;
    begin
       if aStr = 'give_ok' then begin
          Str := callfunc ('getsenderitemexistence 天桃汁儿:1');   //条件 检查任务物品:[数量]是否存在符合条件
          if Str = 'false' then begin                          //条件不符合
             Str := 'say 没有天桃汁儿还说什么!!';              //对话结果
             print (Str);
             exit;
          end;
    
          if Str = 'true' then begin                       //条件符合
             Str := 'getsenderitem 天桃汁儿:1';            //取得物品 XXXX:数量
             print (Str);
             Str := 'say 佛主保佑..._南无阿弥陀佛....';
             print (str);
    
             iRandom := Random (500);
             if iRandom = 1 then begin                    
                Str := callfunc ('checkenoughspace');          //检查背包是否有足够空间
                if Str = 'false' then begin               //空间不够
                   print ('say 物品栏已满~');
                   exit;
                end;
    
                iKind := Random (11);                     //返回11种随机结果
                if iKind = 0 then begin                     
                   Str := 'putsendermagicitem 如来天王拳 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 1 then begin
                   Str := 'putsendermagicitem 飞龙剑法 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 2 then begin
                   Str := 'putsendermagicitem 花郎斩 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 3 then begin
                   Str := 'putsendermagicitem 岳家枪法 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 4 then begin
                   Str := 'putsendermagicitem 帝王槌法 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 5 then begin
                   Str := 'putsendermagicitem 不灭体 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 6 then begin
                   Str := 'putsendermagicitem 吸着水石 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 7 then begin
                   Str := 'putsendermagicitem 生死梦幻丹 @一级僧侣 4';
                   print (Str);
                end;
                if iKind = 8 then begin
                   Str := 'putsendermagicitem 狐狸内丹三 @一级僧侣4';
                   print (Str);
                end;
                if iKind = 9 then begin
                   Str := 'putsendermagicitem 男子凤凰鞋 @一级僧侣 4';
                   print (Str);
                end;
               if iKind = 10 then begin                                    // 0到10 一共是10个结果
                   Str := 'putsendermagicitem 女子凤凰鞋 @一级僧侣 4';
                   print (Str);
                end;
                Str := 'say 这不正是昨天在路上捡到的那件东西吗~';
                print (str);
             end;
             exit;
          end;
          exit;
       end;
    end;
    
    end.
    
    以上是 X:\1000yServer\tgs1000\Script 下面 一级僧的脚本文件
    
    这些都是 delphi 的脚本 结构清晰
    
    由此脚本去掉随机函数可以添加一个 类似于 新人接待员哦


    1楼  2022/1/22 20:12:34  回复

  发表回复

    发帖