任务策划:
' J' P; F! x, o' ^, v出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!7 f9 _( W' R8 T& {, f
来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍)
: F7 R/ D3 ^% B6 z$ \收集这些材料交给屠夫,他会奖励你东西) f$ @( D( m/ w- ~9 B
这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。
2 ]4 p! {$ i4 g, |9 H% O3 g2 q2 I' C$ w; }3 c R) t2 @
目的:& Z1 m! u- ]2 S# P0 k0 o1 O0 _6 J
体会最基本的活动都是怎么设计的5 g$ ^7 a+ u! w' b" ~9 Y
) C g C& t* E, a4 y5 X1 t
知识点:
% g+ w" A2 P7 b; e0 y7 E1、检测包裹里的物品5 ]9 W& I8 q& t r) O
2、检测包裹空间
; ^2 \, M a* z! `# Z* r B3、给与物品& U4 k2 d3 n, A. ]0 ~5 ^3 Y
4、没收物品 //这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。
0 z: \3 I& J4 A. A0 C3 |7 S- d2 b% O1 f: Q. Z" [' Q/ Z7 ?* \9 {; A
unit 屠夫;
9 A f* Z% g3 O" _( z
0 m/ T, M; t$ U//下面的是通用的调用程序内建的函数。每个脚本都有的。
) r* {: Q, f+ _* T" l( B( y
/ C8 _- z* u" v7 ~& e; jinterface
0 m. H$ ]9 ?' G3 P" H4 Z- e/ i
! @4 D- E) a0 T9 wfunction GetToken (aStr, aToken, aSep : String) : String;
. d; }0 `+ Z0 Y4 ^) D& i) Bfunction CompareStr (aStr1, aStr2 : String) : Boolean;$ x/ z# q- r- K$ y+ x! @
function callfunc (aText: string): string;. {8 q. ^3 J( V9 I/ k% H
procedure print (aText: string);
* i$ q5 z' T( wfunction Random (aScope: integer): integer;5 d9 Y" _' A" s% c3 p
function Length (aText: string): integer;
$ v2 ]) ^. S5 m, `3 L# qprocedure Inc (aInt: integer);/ _, v8 A$ B4 X6 _ A
procedure Dec (aInt: integer);; d# V* A* Y8 m/ p4 _, j
function StrToInt (astr: string): integer;$ Q6 L* |+ l! J+ J U
function IntToStr (aInt: integer): string;
; [- l# O+ D9 J# `- A% yprocedure exit;
. J. X+ k1 q9 z& u4 Y2 m8 P" C$ p3 d8 s( o" z7 o6 U
//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么
( m: ?9 L( M2 L: n ?" `) d% }8 ~& E9 t4 j# f/ q& \5 j
//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou9 ~; v0 t! R# `* c
2 [ k: t; l0 \ U9 f: q//第二句的意思是当左键单击的时候响应,) h% P. \0 c4 ~9 S6 x5 P& r6 a
0 z8 l: i. m! R3 T& H& Q Cprocedure OnGetResult (aStr : String);
$ ~8 O* i/ k; ?+ N( h2 v9 M6 `procedure OnLeftClick (aStr : String);
" ^# Q' V6 ~" |; Q T8 t1 i5 _
//以上是脚本的头部,下面是脚本的主体部分9 r+ O( ?/ m4 m2 [3 k& |
% }5 G8 o9 i2 L1 b5 v( Nimplementation
4 }" E" V, ~1 h% O/ h" W/ v7 r; r" S3 W! G3 j/ |% m
//当左键单击时. B$ F- M# k2 g* V( D( r& l: Z
2 O5 p7 N% Y# q; D) q8 D
procedure OnLeftClick (aStr : String);. |& }7 p" s- ~& U4 ^# \
9 d* T4 Z% ]$ \* X/ ?//声明变量的类型
2 v7 {7 Z: m4 A# _# W2 Y& qvar7 b6 O% o& l; R4 F) I7 [
' O' [3 i" @+ ^8 p" S//Str变量为字符串型
5 O: s5 q& C) b L Str : String;
W4 d- Y( l; P2 p! {" L
3 W+ q& ]/ s% E& f6 y5 s//Race变量为整型# V) g7 w- x. L4 U
Race : Integer;* D2 F( L1 i5 M8 z+ q2 Z) C0 s
begin
; H% d9 ^( B0 _) Y3 P6 {* e, c/ k! `4 E: }! V
//获取点击者的种族5 v! r- F( R1 t+ C8 b+ l
Str := callfunc ('getsenderrace'); R4 [% c1 C( A! q, m
6 Y2 ? W& D! V+ M; Q% k+ a( H4 @
//将获取的值由字符串型转换成整型+ U: ^. u7 J; {( t1 y
Race := StrToInt (Str);
5 O' a1 [7 y" y. i1 ]% J) l5 v3 a4 m& ]4 D& y8 E& ]
//如果种族为1,这里种族为1代表是玩家% m6 y, w7 x4 g. k5 c3 x3 J
if Race = 1 then begin
+ |0 k, Z" w! A% e2 @/ a; B& H' x2 F+ K1 t' _6 F7 z
//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种
p; S& p, K& }/ C$ F Str := 'showwindow .\help\屠夫.txt 1';
) Z! A) l/ {$ U, J print (Str); `/ |( E# W" Q! m4 ~2 c& Q, n( B5 z
) X2 V2 y. T. o8 ? k8 E) H; F//小判断结束/ f! G3 O6 o( D
exit;
0 h/ M* r. ~4 @9 V* w: s8 v; t! w end;' K" v* N, ]7 W- D7 n, [
a; ?2 |' \/ O, ?5 f6 S. Z
//一个语句段结束/ u- C% l7 z: L2 l4 d& F: [
end;9 S. P" ^! L, ~, Q8 c" A
) D( S: D) e5 R8 G+ ~//另一个语句段开始2 Y+ y/ W' ]1 \; }7 c3 f! b
2 U4 t/ [* c. E" w: x( e |