任务策划:
6 {9 u2 o7 z) T/ o, w出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!2 C |% O9 m8 I
来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍)
7 h1 J, C2 f& r4 D- c5 `9 X收集这些材料交给屠夫,他会奖励你东西5 Y Y- w- t9 q2 J* Y' L( D
这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。6 J& r' d9 ]4 t- e8 X# i
2 q: N$ K8 ?9 c/ ^' V& g+ h3 a
目的:
; U% L' ^9 g: m4 m! \体会最基本的活动都是怎么设计的
/ N' c* e- f; j5 z* V# d) X6 P7 G7 |% c- @# t) M; N' m2 ] Y/ O0 M
知识点:
; o Y6 V% a% j8 I1、检测包裹里的物品) h" E9 p/ B. K H3 m
2、检测包裹空间9 R6 S i2 P; I' @% D% X) u
3、给与物品
4 K1 y( ^1 ^& G" R; q' ?& O0 i4、没收物品 //这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。
! q4 |) S I @/ m
7 V3 n8 K* X4 `0 uunit 屠夫;
. a7 {2 d! G$ f6 |. ^/ k$ _5 t/ z" q: [; G9 {
//下面的是通用的调用程序内建的函数。每个脚本都有的。2 O' m8 A( X3 B: G
# k) B! z% q! H
interface
/ q% C. D7 W1 D2 k5 l& _# \: e: ^7 }
function GetToken (aStr, aToken, aSep : String) : String;
" @ h* R; u I8 n% Bfunction CompareStr (aStr1, aStr2 : String) : Boolean;1 d3 T1 ]% B* Q$ w- X
function callfunc (aText: string): string;
- u: C8 l1 S, Pprocedure print (aText: string);% i8 W/ ?& V! h, N& B" c. Z. H
function Random (aScope: integer): integer;) @! S) [) S4 J: q
function Length (aText: string): integer;8 z1 G& H' Q2 m, S. L, S& B+ j( r3 p
procedure Inc (aInt: integer);
3 h, ~/ ?2 j6 x; t3 F1 a: gprocedure Dec (aInt: integer);# ]# c; U) X1 a+ U$ u' D# _
function StrToInt (astr: string): integer;
7 }/ k- _- ]7 vfunction IntToStr (aInt: integer): string;3 l' M* V. W0 B
procedure exit;8 L/ e: p7 N' l
4 D& [6 {, ~& s+ t
//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么
& B( P# D7 x q a* j' s& `# H3 b c1 U3 M
//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou2 v$ G; K& |5 z0 _: J, I6 p
* w5 L* K& m7 n" q7 f$ r4 k
//第二句的意思是当左键单击的时候响应,2 _: m' J( R. m4 I, D. L
: T& L, y) M. O: K& M
procedure OnGetResult (aStr : String);
1 b2 _2 f& |; `procedure OnLeftClick (aStr : String);
* x( V( w; `# i/ _4 i" G
4 A$ b( } y; O) m+ `& t R* h//以上是脚本的头部,下面是脚本的主体部分) y) T5 x4 c! q6 a. O
! }0 y! e- |. w2 }" ?7 V' G% w
implementation
# C, l: H, D- m# P! R& }! V2 u% x$ N8 ^9 Z# F1 }
//当左键单击时
& R7 L: [' k8 _' D2 L4 g' p5 j: ]9 i2 R8 Y5 A+ X
procedure OnLeftClick (aStr : String);1 _! s% S9 e! t# K2 q$ x
7 g6 k( \5 f7 T% E. ^6 A! e
//声明变量的类型0 y- z7 }0 M! w& X6 B1 `
var1 g6 e+ C( Z8 O/ d& \ h
' U9 p1 L& C, u2 Y( U+ E) v* M- Y//Str变量为字符串型
$ o: Q0 n6 e! G" n: X9 f Str : String;
3 p; A( t7 }! x3 V/ D
+ E# {5 k! A. g/ \/ z5 M$ N4 F9 ?) w+ W//Race变量为整型
! n) h6 A; j: r Race : Integer;
; \" {1 c, F9 R+ @begin; t! V+ _4 X4 |2 g6 s8 x8 I7 q! O
4 x# k9 k i/ |+ t) z2 A9 p//获取点击者的种族
8 e3 _* d: M3 a- V Str := callfunc ('getsenderrace');. }" |: T# r' Y7 b! P( B( r; d
9 U. U) T1 E5 s5 c; E
//将获取的值由字符串型转换成整型
T4 M4 v0 s/ c7 K, q; [; w Race := StrToInt (Str);9 U! U C/ f6 a( G |) u9 v
l5 p# [6 ]5 {, C; `6 ^2 U% K w. i//如果种族为1,这里种族为1代表是玩家
( I( `7 x' b% h) B- l; b9 X if Race = 1 then begin
! h$ H% {$ T# a0 ]
. w' Z5 K) U' {! J//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种9 z& S) d; A# M8 a
Str := 'showwindow .\help\屠夫.txt 1';
6 S# {. H- }; P9 t$ F; U print (Str);9 Y9 s R* V; Q
& h! o8 `+ @7 E6 I# J0 Q1 p
//小判断结束
8 c. H# o/ J3 w- K3 V% x4 } exit; 6 a0 i7 N" u, N" t. v
end; v; j2 R8 P) j& G" p
/ j. t% `9 D! }6 P2 {
//一个语句段结束
& V7 K$ V" [2 Y6 t1 `# kend;+ P. V1 g1 j, _# F6 \: ~! X8 u6 y# A
2 D: z" _5 \4 C+ D" a3 c//另一个语句段开始
, r+ m, O! Z# O6 Z' T# I0 E4 \
4 t4 _; ~$ X7 t) t! Z |