三千论坛

标题: 关于千年脚本编辑格式,希望对学脚本的有帮助! [打印本页]

作者: 快要发癫啦    时间: 2023-1-30 14:02
标题: 关于千年脚本编辑格式,希望对学脚本的有帮助!
看到有些朋友对于脚本不太精通,常常为了少加一些语句使的脚本无法使用,现在把我自己对脚本的一些研究和大家说说,脚本高手你别笑我,比经从没学过脚本语言,只是在写脚本的过程中了解的。
废话不说了下面开始。
从头说起
unit 门派大战;  (这里的汉字可以更改为自己想要的,如果脚本出错,在TGS里会以这个汉字出现个错误文件)
inte**ce
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);(OnGetResult)括号里为事件的方式var
   Str : String;
begin
以上黄色为事件的开始,具体事件的方式,请查找以前的贴子。
事件开始
   if aStr = 'chanjia' then begin  ‘chanjia’这里是HELP的命令名,就是当这个条件等真的时候开始下面的操作
      Str := callfunc ('getsenderitemexistence 武林牌:1');
      if Str = 'false' then begin
         print ('say 英雄身上没带武林牌吧');
         exit;
      end;
如果检查事件等假事件结束(其中要有检查条件-武林牌,条件要求-false,检查结果-英雄身上没带武林牌吧,结束语句-exit;end;)
如果事件不等于上面检查条件(也就是说你有武林牌)开始执行下面
   Str := callfunc ('getsenderage');
   ue := StrToInt (Str);
   if ue < 2500 then begin
      print ('say 新人吗?岁数太低,无法进入.');
      exit;
   end;
格式同上继续检查条件,不等于真结束,等于真执行下面
      
         print ('getsenderitem 武林牌:1');
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 111 15 21';
         print (Str);
         exit;
      end;
格式同上继续检查条件,不等于真结束,等于真执行下面      
      print ('say 武林场活动还没有开始!请下次再来...');
      exit;
   end;
这里说明,当你点击(chanjia)时检查条件全部等假的时候结束语句
以上为事件的发生
脚本结束
end.
总结事件格式如下:
       事件开始
       检查条件
       条件等真发生事件
       条件等假发生事件
     if astr = *******  then begin 事件开始
      Str := callfunc ******** 检查条件
         Name := callfunc ('getsendername');
         Str := 'movespace ' + Name;
         Str := Str + ' user 111 15 21';
         print (Str);
         exit;
      end;条件等真发生事件
       print ('sendsenderchatmessage 武林场活动还没有开始!请下次再来...');
      exit;
   end;条件等假发生事件
也不知道我说的大家能否看懂,如果有错别骂我就是了。

# G, J* l% d, [% S3 y. T. n6 E) `




欢迎光临 三千论坛 (http://bbs.3000y.com.cn/) Powered by Discuz! X3.4