TUS、SPHERE编程快速入门

1。注释  //
2。表达式  C风格 支持位运算。
    说明:object eval形式的表达式在运行时尖括号内的变量将自动被替换
    成相应的值。所以要在字符串中插入变量的值可写成如下形式:
    str1 <var.x> str2
3。控制结构
(1) dorand # endrand
      系统会根据随机生成的行号执行相应行的语句。
      目前的系统中这个结构存在bug,建议改用dorand # enddo结构。
(2) if else elseif elif endif
      经典的判断结构,我就不多说了。遗憾的是没有多路分支判断结构。
(3) begin end
      复合语句
(4) return #
      终止当前脚本并返回。
      若#为1,则当前脚本执行的动作被取消。
      为0正常返回。
      也可不带值返回。
(5) tome #
      调用gump里的[gump #]。
      类似的还有src.gumpdlg #和src.itemmenu #等等。
(6) 关于循环结构
      很遗憾,没有循环控制结构或跳转指令,
      要实现循环只能依靠一些特殊手段。
      官方的说法是循环很容易引起系统当机挂起,
      事实也是如此。但我想提供循环结构还是必要的,
      至少在很多时候会避免大量重复劳动。
      这一点上要远远逊色于pol系统了。
      (pol系统有完备的类pascal式的控制结构.)
4。函数及变量
(1) rand(# 或 表达式)
      返回小于#的一个随机非负整数。
      其他随机数表达方式:{下限 上限},{物品id1 出现概率比r1 物品id2 出现概率比r2 …}
(2) var.x
      设置或读取一个变量的值。
      若想定义全局变量,可在defs或defs2文件中定义,建议在后者中定义。
      例如:若x在defs2中有定义,则var.x=var.x+1跟var.x=x+1这两条语句等效。
      说明:a)系统并不要求设定变量的类型
           b)当遇到return指令时变量的值自动复位。
(3) strlen(字符串 或 字符串表达式)
      返回字符串的长度。
(4) uid.x
      根据序列号x(Serial #)来访问对象。举个例子比较好理解:
      设你的名字为westfly, 序列号为0999,则
      var.me=0999
      speak Good luck! <uid.0999.name >
      和 speak Good luck! <uid.me.name>都可以显示信息:
         Good luck! westfly
(5) eval(表达式)
      返回表达式的十进制值
(6) evah(表达式)
      返回表达式的十六进制值
(7) <var.x result1/result2/…>
      多路结果表达式.例如根据玩家性别返回称号: <src.sex 大侠/女侠>。
(8) valstr(string) 将string转换成数值.
(9) src.x
      基于对象的访问,请参考对象详解
(10) 其他。大家如有新发现请告诉我。:)
5。对象
      对象具备三个基本的属性:
          (1)特征:Attributes    //类似delphi中的property.
          (2)方法: Verbs         //该对象可执行的操作.
          (3)参量: Evaluators    //对象的相关变量。
      这里给出一棵简单的层次树,括号内为该类的子类。
      CObjBase{
         CChar{
            CCharPlayer{
               CClient;
               …
            }
            CCharNPC{
               …
            }
         }
         CItem{
            CStoneItem;
            CContainerItem(another parent:CContainer);
            CMessageItem;
            …;
         }
      }
6。上面只是一些粗略介绍,要真正掌握,只有靠自己去做大量的实践。:) 废话了。

留言

还没有留言,来坐个沙发吧。

留个言

留个言