任务策划:# H) L& ?9 |* b8 H K, z7 m1 p
出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!) x- v, e0 D5 o' J; d
来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍). \8 j, I- ?. G, _! j. m7 e, n/ J
收集这些材料交给屠夫,他会奖励你东西
, W }& J3 G9 M, r: V5 C这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。7 r( O4 j" a9 k; z) a5 M( C q
7 J- P3 m6 [7 m, O1 a& |! M目的:/ y% m8 L- r, O% J5 E" s
体会最基本的活动都是怎么设计的
8 K3 ~" N: S+ H& |1 D" P/ x
# O+ l3 V4 Y4 P1 L0 q2 o" K知识点:" r# ?4 O- D) }/ @) N( @! H* G
1、检测包裹里的物品4 m) J1 m' P% D
2、检测包裹空间: i$ i0 m9 A( S; n
3、给与物品0 Q$ C" h. v8 ~# I; q- `
4、没收物品 //这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。
0 }8 M# e7 n& D5 P5 B3 i/ H0 T
: T2 K6 a; J3 n6 Aunit 屠夫;
, j5 x0 O2 r8 V" G, {9 f' r6 b- _4 p+ J0 k
//下面的是通用的调用程序内建的函数。每个脚本都有的。. G( {6 [1 @0 T) T- ^1 b( Y2 N% z
8 M& n. A# T3 n. e/ yinterface
' }! N7 C8 T. Z7 }. o F5 ?
9 K5 D+ @* o" p( Hfunction GetToken (aStr, aToken, aSep : String) : String;
# A4 K9 }! p5 |8 {! b- ~function CompareStr (aStr1, aStr2 : String) : Boolean;
$ `5 U6 G$ t' n. }function callfunc (aText: string): string;& U* u" z' B0 y6 l
procedure print (aText: string);
1 I( S* ]* N) p- m. E0 q/ o8 Wfunction Random (aScope: integer): integer;
% n) C# j* c7 ~, m5 Bfunction Length (aText: string): integer;
I) ~0 {9 w8 Q( I. Sprocedure Inc (aInt: integer);
/ ~* {! h" G6 u. J: wprocedure Dec (aInt: integer);, V3 F4 x0 } c: x4 L
function StrToInt (astr: string): integer;
; E4 Y9 d/ i. U. g9 S; b6 I" ^2 {function IntToStr (aInt: integer): string;0 T2 \, `5 W5 w4 d& W5 k
procedure exit;
0 g4 ^' F; z& {; N2 T% M
( U1 m f+ { l% A) E$ G6 a//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么9 s' [, x( Y2 J2 v4 B: p0 S- V
: t7 y; C# M5 t//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou
5 |; p. V/ J( {7 F/ E
: j% b6 i/ z6 q' S3 P. e/ w//第二句的意思是当左键单击的时候响应,) W. O/ ~0 {1 m8 w v. g
8 q3 g. Y7 |/ ?& M
procedure OnGetResult (aStr : String);4 x: u6 `! |3 F
procedure OnLeftClick (aStr : String);
1 K4 ^+ |) e5 {1 ~5 y# O% P/ p4 }: C, @& o' B4 ?0 U
//以上是脚本的头部,下面是脚本的主体部分
& B. I# d$ V' w d% ]; A+ E, F# S
: b7 f2 ^3 X, q( yimplementation
7 ], ?0 e! t, w% E! K7 O. O
6 L5 q x& h5 ?; B/ y//当左键单击时% j$ F4 i, u" }/ Y" H
0 C$ t3 y% Y' Z3 hprocedure OnLeftClick (aStr : String);# g3 u/ s4 R* Y
# |+ i& r: V4 U( c+ l) i1 E2 Z
//声明变量的类型* w A8 l9 x+ [" I( I7 z3 ?
var1 s& i* [- t7 N
. X3 o6 a1 f8 c
//Str变量为字符串型
0 [" U0 U% l4 {) B. U Str : String;/ j0 O# W# D+ `. A9 Y, X
' Z( ?8 ~4 z8 F1 r2 t, K2 L
//Race变量为整型0 T9 y& s5 D7 Y5 |: v3 l! S
Race : Integer;7 L! P F; r# @; p! \( `! c
begin
* O. X$ d- C9 N3 ^% m6 _
4 V% z3 ]+ T( y/ T% g//获取点击者的种族! U0 Q' ]0 k9 j6 o
Str := callfunc ('getsenderrace');. f; ~. g2 ~: g& g! L, t6 W
" Y: T) q5 c" \0 K
//将获取的值由字符串型转换成整型
' D' b6 P9 a" K/ Z: Z4 m% c; g Race := StrToInt (Str);
+ w8 U2 V: ]$ }& l* y
/ p+ [; \$ I: ~* x/ p) Z* \//如果种族为1,这里种族为1代表是玩家
# j4 Y5 d* ?! r8 F, t if Race = 1 then begin
3 I$ S+ i0 ~3 R! |: L6 J, ~& A- O0 b
//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种7 P1 |* a" d' l2 K2 k% i
Str := 'showwindow .\help\屠夫.txt 1';; l) _/ y; w. K7 E( L" C
print (Str);
: h% l8 F( u1 }) y; V. p; ^$ l, L/ A) v% G& H* s/ K
//小判断结束- Q1 Y* E3 F3 Q, c) G( _
exit;
4 o) W: X* t9 h6 ` end;9 k+ [8 z5 D" Q
u' A8 G1 y' g$ P* g2 y//一个语句段结束( r1 N/ r7 L0 |* I# p/ X
end;
3 w$ B. n$ V8 R" l6 A% h v+ e! O- Y X* q
//另一个语句段开始
+ r% f9 U; |4 f. m8 a1 H% v9 _! k# }
& N, B6 |8 U ]+ ~6 H* I+ G0 l |