看到有些朋友对于脚本不太精通,常常为了少加一些语句使的脚本无法使用,现在把我自己对脚本的一些研究和大家说说,脚本高手你别笑我,比经从没学过脚本语言,只是在写脚本的过程中了解的。 废话不说了下面开始。 从头说起 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;条件等假发生事件 也不知道我说的大家能否看懂,如果有错别骂我就是了。 ( K6 ?. O4 y, d; N
|