任务策划:/ P: |' L" I6 M0 p( E- y
出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!! }; G& C, o1 ^! a
来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍)! ^, R7 A) K" H2 v" h
收集这些材料交给屠夫,他会奖励你东西
6 O0 G3 z8 ?$ u7 g$ y. ? W这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。
3 y/ s& K2 C/ O' ~4 V# h3 g6 }* y5 t' _9 f% j; s
目的:! z# b4 s& E$ X; }" M
体会最基本的活动都是怎么设计的) R& H, V9 J9 u
- N6 S9 U( W3 j- |& v6 C; Q# k知识点:
- b+ z3 R9 c- E; D1、检测包裹里的物品- y5 x5 [5 R0 [: H; A- @
2、检测包裹空间
# [ u* ~* J1 c, u3、给与物品" D2 m; R$ x. c3 ^1 _" \/ k
4、没收物品 //这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。
: a1 g8 U; J; h3 w
! _/ B/ p s2 Y; c1 yunit 屠夫;
8 F3 l5 |! t, A9 p Q- p
2 z1 K( s2 r: J7 I8 f6 {: V4 N b//下面的是通用的调用程序内建的函数。每个脚本都有的。5 X D# F, \7 [; j3 B8 k! i
x2 D: z( A) U- \1 S. u3 h8 \8 {interface
4 w8 H7 d: u, y* N
3 x; ~5 r- H" C0 Pfunction GetToken (aStr, aToken, aSep : String) : String;
, |8 k. T) A1 W6 ifunction CompareStr (aStr1, aStr2 : String) : Boolean;
! b3 e$ }2 m, v& ]. ~3 o7 Ifunction callfunc (aText: string): string;2 O. m# i% ?' x. \5 j% e
procedure print (aText: string);
9 l2 B! \& i# \+ X$ D5 `* Y4 \2 ofunction Random (aScope: integer): integer;
$ _# D9 Z$ K1 c1 U5 _function Length (aText: string): integer;
- q' n; h6 \3 r _$ x" h2 o3 ]: Zprocedure Inc (aInt: integer);
S6 C, }/ ~5 D7 Q6 C. G. z- }5 \procedure Dec (aInt: integer);* m8 U- ~* V' a
function StrToInt (astr: string): integer;
0 k& k0 }' o( {/ v% f! N5 c# d& \function IntToStr (aInt: integer): string;. o2 F$ w2 | ^, |& `( g0 {4 M
procedure exit;/ Q, d2 R& T" V% W
; A' c$ V5 ]# k/ e2 ~2 ~$ W3 {5 x
//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么
: {+ N, l) b- M1 k. W4 N. I9 v* T5 @3 H
//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou
, w- P$ ^, W: Q/ i, i4 h
5 @& k, P1 \& H- U$ g//第二句的意思是当左键单击的时候响应,& C1 A4 E9 E+ D# g5 Y
9 Z' G) ?1 R' N- V1 ]+ H
procedure OnGetResult (aStr : String);
8 G+ J9 x8 _. r+ Q* V! Uprocedure OnLeftClick (aStr : String);$ ] t+ o1 t+ |7 g
" R$ m( o4 p+ u4 Q8 U A1 C" v( ]//以上是脚本的头部,下面是脚本的主体部分
2 C) w6 O C [' U/ G) |% {7 @) X3 `) X$ p# L" `
implementation* u/ ]* x* y, J* d6 X! F
- o7 w9 x( a: q
//当左键单击时
# Y8 G$ o! D0 k
/ F" D& b; J T0 |& {& S: Xprocedure OnLeftClick (aStr : String);
7 J0 J8 C" c2 [( N6 \; A. B# H8 Y% [% U5 W+ I+ J! A
//声明变量的类型
& A2 L! z& Q$ b$ jvar' c! |3 g4 Q. }+ K9 l9 u
+ U" w$ o4 b0 p- y H4 F0 y G//Str变量为字符串型
/ |+ e! A% H4 H! ^ Str : String;
3 c% H+ Z8 R$ G `7 }% b9 Q3 G% |/ d9 S+ C1 H
//Race变量为整型0 W: ^, X. N% n7 W9 P" W3 Y- \; y3 F
Race : Integer;) ~* q8 D [* Q$ d
begin$ S' \) ?$ |2 W5 k! J/ W! O: o+ V
3 n3 i7 `8 }- U3 C: A% ^; T//获取点击者的种族
( O1 o( r# L9 C- X! T+ r& _( `/ i Str := callfunc ('getsenderrace');0 i* P0 u3 [7 c8 A8 n
% y* N: `4 N) U& y//将获取的值由字符串型转换成整型
1 R: Z! K7 X" k1 k Race := StrToInt (Str);! Z, ]* X- Q R
2 i3 z' y4 c# X) Z& u9 C# C& `//如果种族为1,这里种族为1代表是玩家
% ^4 }$ X- W. Q1 j+ o4 u; _ if Race = 1 then begin- L. [6 B s4 u8 e
0 `$ a) C, T3 U3 t' u; q8 k
//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种
+ d5 f# K6 c% ?+ U" ~ Str := 'showwindow .\help\屠夫.txt 1';
" S. A& U: E. A l print (Str);
$ s$ f- E; j' `7 @9 ?' I( w9 Q! M) x3 ]; a1 F, P) `# B
//小判断结束# k( w4 d* A! v' y# s+ G" M
exit; ' M& U- N/ i8 J$ i
end;
# U0 u8 s5 P" ^
8 Y& y/ \, X; k* M3 |//一个语句段结束
' z( U- w8 z5 ~1 m6 g6 y0 A/ G, R+ kend;
# O5 f r6 @0 x. T ?! b* o( H
/ g _6 ~9 a& `! `4 r- Q" A' P//另一个语句段开始& L# [1 A) k! X8 k( ?- G( n
; d9 G8 y3 \0 {. \; v/ ~+ {
|