任务策划:
. d( z# D9 _1 ]! ?出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!
0 s9 D: a! b8 |* ^! p7 E. E! X$ X) v来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍) _0 w# p% k6 D7 I- s9 U# y
收集这些材料交给屠夫,他会奖励你东西
5 J0 Z! c4 ^1 R. |: V. J2 F" h0 Y8 ^这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。# Z1 @' l: n, F2 e* C- J7 Z
1 t, C. @3 G; C, [4 _$ n目的:
$ O J4 h: f5 t; P体会最基本的活动都是怎么设计的7 R) g$ a+ Y" A+ r& t- k. O: v
$ }; k. S. t2 `$ a! a% N: B
知识点:
) X$ G9 E3 q' [1、检测包裹里的物品
1 V' b) t J k. X# |2 e2 l2、检测包裹空间8 G9 N% P4 E+ n, @# Y$ q- S
3、给与物品
! t7 g1 N; C' `4、没收物品 //这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。2 ] o$ B2 _ W }1 T/ F( u8 F+ S+ Q
; g6 m/ {2 H: dunit 屠夫;
- [4 b P# |" U# X: D% i) g* g4 s( a( ]" E8 A: l l8 S
//下面的是通用的调用程序内建的函数。每个脚本都有的。
8 h6 o3 \. _8 p" |" j7 V ~4 b# P
% _0 U2 |* |( n. ?( E; W! qinterface
& _7 ], o% D1 h
+ g. D4 q1 B @1 K$ ~6 jfunction GetToken (aStr, aToken, aSep : String) : String;0 S* ]. e/ m1 d) o
function CompareStr (aStr1, aStr2 : String) : Boolean;
5 P) W9 n' L: w) Lfunction callfunc (aText: string): string; i3 ~$ D! N( g/ f1 K; @8 W1 X
procedure print (aText: string);' H/ e8 ~' h* Q
function Random (aScope: integer): integer;
* |/ P) v; _! Z* x; D- \function Length (aText: string): integer;5 J# f( g# q. S+ W% |- s! s* ]+ l, Y8 [
procedure Inc (aInt: integer);
6 O. N. p9 e3 N5 d. Iprocedure Dec (aInt: integer);
6 K; [( y b( q. ^function StrToInt (astr: string): integer;) R. Z3 L: n' v: e, Q+ L$ Y9 V6 Z9 S" a) t
function IntToStr (aInt: integer): string;- \% ^, e8 V$ [$ Q M6 C
procedure exit;- @6 A) t8 i! D/ B
% m( k/ a9 e' R//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么: \# R2 A2 K! X& q4 z
5 g `5 j' m7 j: k" k) {
//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou% a2 o/ L8 |5 j* J8 L9 F2 r" m
4 b% t1 y! a/ v/ `, c# x# V9 m
//第二句的意思是当左键单击的时候响应,7 Y- K& }+ O+ d: q. d6 s
# `. M; W. G* L4 L2 O9 Q* I F
procedure OnGetResult (aStr : String);
+ w7 @% W7 x# m. \6 \6 r# `procedure OnLeftClick (aStr : String);/ ?4 M, |5 k+ h8 P# u9 W
7 d* L7 A' r! d: k0 Z" }3 R//以上是脚本的头部,下面是脚本的主体部分
& Y c8 t' T! V; w5 U+ R- S) R+ S! x2 |- g3 M1 ]
implementation8 R. j) Y2 N* e% n$ D0 L* ~
p. f8 b! i# o+ ^1 e8 O" D1 r, }//当左键单击时
/ h# s% V& Z, d8 I* @& D9 y9 N% y4 e, U4 i, L+ i
procedure OnLeftClick (aStr : String);
3 G5 W: ^* n' R; c
% S# X% x- {# J. T//声明变量的类型
( i* |# k) B% O; r2 ?var
9 C- ^+ H# ?# b1 o: n0 b; x
. U, | V6 |7 \//Str变量为字符串型
' G) y! `6 Z. y6 ]5 I Str : String;3 D9 g1 i2 _, y) Z/ j9 ^
5 G, O+ k9 D# o6 f- s
//Race变量为整型
+ I: I2 r& z7 f# L8 i3 e Race : Integer;3 I/ ?/ |" Q, Z$ V
begin
' b+ H5 c$ ^; P) o7 R8 u! p
) [, M+ x. B2 b2 A: I//获取点击者的种族" |3 j& i7 t s6 k- m
Str := callfunc ('getsenderrace');% W* r5 [4 o' |/ q+ R/ @" J$ d3 b
( L+ y$ K @! x" V2 ^# C
//将获取的值由字符串型转换成整型
4 I5 Y" h3 b- r Race := StrToInt (Str);
Y4 Y. x7 r. ~% I0 p: e x9 w' W# F/ Z5 _- _. G% F# |2 |" e7 |
//如果种族为1,这里种族为1代表是玩家
9 ?" y1 s# n* V& |1 }3 P5 g8 V5 T if Race = 1 then begin/ ?2 A t4 }9 R: m3 X a
' x6 [2 ^8 i: Y8 t* V7 j. Z
//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种
1 Q4 ^1 j1 H: x7 n Str := 'showwindow .\help\屠夫.txt 1';
9 `: ]# F2 a* J, t print (Str);
! r7 B6 C$ G9 X$ \0 j6 O
# b& {/ A9 r9 d5 ^% E3 @3 Y; b//小判断结束 `: \ k3 Z1 ^ E& c% V" ]2 U4 r
exit; . @# ~* r- T8 N* ~% i9 f- e) N
end;
" D9 c) z2 E' b! Q
+ ~2 G/ T u a+ m//一个语句段结束
7 v7 o, q8 F0 m( O& Wend;
! _) Q0 d: z' }$ N* b5 h* L" c4 Z- c% Q' Y2 `/ v& b
//另一个语句段开始7 x) o8 K7 Y2 U
+ m; Q7 }0 d. }) g% k/ \
|