三千论坛

标题: 任务策划介绍 [打印本页]

作者: 异仟年    时间: 2022-9-5 20:31
标题: 任务策划介绍
任务策划:8 t# T8 H. J4 M6 q, ]/ n
出入江湖,当然要证明自己的实力。什么??实力?还是先证明你的力量吧!
/ d; i6 _* u8 ^# i( m来到新手村杀牛,牛爆牛皮、牛肉、牛角(有点残忍)
/ i! e4 e4 W* T7 G# T收集这些材料交给屠夫,他会奖励你东西" D4 Q8 t5 h4 W$ q2 ^# z
这里,我们设计用牛皮换金币,牛肉换银币,牛角换牛俊弓服。
- ^+ m6 ?3 ^2 ?! `6 G1 K; N5 [$ q2 E5 B
目的:
: M" h- u9 m* a8 z; s. S体会最基本的活动都是怎么设计的) Q% a* I# ~3 F# h7 C: ~

+ ], l9 M0 C. L知识点:$ v4 m- @0 ]  h0 J. g$ B
1、检测包裹里的物品( Y5 e2 ?8 T" @" Z
2、检测包裹空间
+ N4 k. i4 c' E% ]5 B3、给与物品1 n) J  t: Z9 i
4、没收物品
//这部分先声明脚本的名字。如果脚本出错,tgs会做一个错误纪录,文件名就是我们声明的这个。
& v: c7 f% \2 Q5 L9 K9 w! b2 X4 }6 d! Y3 C/ b
unit 屠夫;5 Y  I! H6 r' R! i$ v. k

5 [: c7 z4 k8 K  S) F2 e5 X6 c//下面的是通用的调用程序内建的函数。每个脚本都有的。
' R5 r) c( _. _) {0 {+ l
( m7 l, r! W$ T* [- |$ Ainterface
) Z; j& D3 M3 m4 o4 {! X# N
$ R- z/ v0 @4 @0 l% z- Tfunction  GetToken (aStr, aToken, aSep : String) : String;- G0 t" Y3 J# l  v5 t: r
function  CompareStr (aStr1, aStr2 : String) : Boolean;7 ]- s( B7 m: Y+ w
function  callfunc (aText: string): string;8 h' `1 O+ y0 X, T8 @6 x$ z
procedure print (aText: string);
4 B, @$ V* I2 w# i$ @function  Random (aScope: integer): integer;
1 H0 Z3 W2 k& y, x$ v$ x9 Kfunction  Length (aText: string): integer;. R' I2 K$ m5 S3 |, i
procedure Inc (aInt: integer);) b0 d& G. d8 u3 G) Q
procedure Dec (aInt: integer);) ]9 `: w2 L7 Y5 A4 _/ ?  `' l
function  StrToInt (astr: string): integer;. W/ l5 j- M- z6 P0 x. H9 H7 ~
function  IntToStr (aInt: integer): string;
! K1 S: I5 \! W  W& Kprocedure exit;5 I6 r/ f- w6 l0 `% b6 K
, h% ?4 R- p8 ]6 i9 b, x1 @# f3 F
//下面的就是针对本脚本的函数了。注意,用到什么就在这里声明什么
4 j/ O: g3 S( n' B
- _1 |! D2 ~5 R& b, s" ~( O//第一句的意思是当反馈参数的时候响应,比如牛肉换东西,我们弄个参数niurou
& s1 x' c7 U4 R% \! q+ v" M4 k. b: Q
//第二句的意思是当左键单击的时候响应,
# X* u. }' [) b6 C' c! r% `' @$ |: K) H0 ?& H& }0 }  R
procedure OnGetResult (aStr : String);4 `0 @! U% S$ g8 d  z$ E, ]
procedure OnLeftClick (aStr : String);+ _! A* w3 u6 U$ i, M9 w1 {
$ ^  i# F# G# Q) v) U. ~1 \# F
//以上是脚本的头部,下面是脚本的主体部分# l: l$ R: m1 i- q8 u' a
" o- h- b9 R8 d: B" R3 l
implementation
+ X( A9 N( v9 Q. A
% R/ }& V8 a; B3 ?. g//当左键单击时) t! ]. H7 N9 E. W9 {3 D
1 B9 X* e2 W" r5 [' w! K5 p# ?' w
procedure OnLeftClick (aStr : String);5 m5 a$ q5 t. x/ Q5 ]- D

; E3 F0 L+ w% a" K, F& T7 D. ~4 X//声明变量的类型
' H: ?8 O5 [7 n( _- |! y- L1 mvar
* z6 ^2 q) j' |. u) s: y
, v. B* J% Z' c7 ^//Str变量为字符串型1 B& m1 `% A; ?+ s; j
   Str : String;7 W  y1 w! D6 u4 O

6 s' Y; B" P( e, T//Race变量为整型9 T5 M2 c3 l/ T7 |1 b6 G
   Race : Integer;
8 {+ H- v- L: v* ?- R4 ?) A* Z( Y, e1 i  Wbegin
0 \- Z8 I* W; p# J% v
" t4 o; d. J) O+ I' B  K- K//获取点击者的种族
" X% q4 u; m4 ~   Str := callfunc ('getsenderrace');5 @  H% ~/ w% D# g9 u

5 T$ x2 ~* _5 q% g//将获取的值由字符串型转换成整型9 X2 `3 T' s. ?5 V. g
   Race := StrToInt (Str);% V- v8 |6 ^. Q" ^$ ~2 c
. A4 u% s, F. E1 v3 n: Q7 r( A
//如果种族为1,这里种族为1代表是玩家& u; J3 F/ Z! Q6 {3 O
   if Race = 1 then begin
3 [9 R& S" a' S5 a! M7 X. A; Q" ?; X" b. w$ K4 u
//那么调出Help文件夹下的对话框 注意,这里对话框的类型是1 也就是不带滚动条的那种
! ~% u7 O+ x& ~/ v$ @3 W5 y      Str := 'showwindow .\help\屠夫.txt 1';
. y0 u- u5 T, N- p$ J1 S9 N      print (Str);" |9 |- K( Q9 Q! j, n. x5 s
6 A- x. z6 h! ^' p
//小判断结束
  d, n+ g6 G9 N, b      exit; 2 M4 j" l2 t6 X  Y1 E
   end;# ]; u8 W# o& |7 }* X( E" }) r
! |2 E5 r+ E( S* J9 S6 ~2 j
//一个语句段结束4 x, d' P. ~% g( G4 c, X
end;. F5 {7 _% N- S: l
3 M( A6 K9 j; ^! A8 }
//另一个语句段开始5 n1 {, d' @" V. y1 ^  Y
; @; ]  h7 |. A2 {6 t$ `# o- c( M





欢迎光临 三千论坛 (http://3000y.com.cn/) Powered by Discuz! X3.4