icedream 210 Report post Posted March 25, 2017 脚本是游戏中运行的小程序,Oblivion脚本语言是相当简单,如果你了解其他编程语言的话就能很快学会。 基本规则:每一个操作都要放在新行。 您也可以’;’注释脚本,所有分号后面的东西都将跳过。 脚本运行可以分成两大类,每个大类又分两小类: 指令 指令在脚本执行中控制脚本间发生了什么。命令规定了脚本怎么执行,但不会直接影响世界。 指令又分两个类别:管理脚本和声明: 管理脚本包括Scriptname, Begin...End 和由Begin使用的Blocktypes。每一个运行的脚本至少需要一个Scriptname,和一个Begin...End模块,用来分配脚本对象,并且控制脚本何时执行。 声明是 Set, If, Return 和 变量声明。脚本运行不要求一定要有声明,但大部分脚本需要它们来控制脚本怎么运行。 函数 函数在脚本执行中直接影响世界。这是脚本执行中最大的分类。每一个脚本返回的数值都可以用作"if"-条件判断的条件或者用于"set"-声明设置变量。函数分两个类别:被动函数和主动函数: 被动函数在游戏中检查某个数值并返回相应的数值。例如GetActorValue返回具体数值;GetDetected,目标被检测到时返回1,未被检测到则返回"0"。 主动函数可以修改游戏的内容,并且通常会返回1或者0,分别表示操作成功或者失败。比如RemoveSpell用来移动目标的魔法,成功后返回1。PlaceAtMe 在召唤者的位置创建对象,并返回该对象的索引编号。 索引编号和变量 函数默认影响“运行对象”(执行脚本的那个人/物),但你可以通过索引编号来指定对象。比如你希望脚本影响到玩家,使用玩家的索引编号("Player")并在后面加个'.'可以把所有函数都指定到玩家下运行,而不是执行该脚本的物体。 player.additem gold_001 100 为了增加灵活性,在函数要求输入数值时,你可以使用变量。 short addgold set addgold to 100 player.additem gold_001 addgold 你只可以在相同脚本中使用变量,或者使用全局变量。在一个函数内不能引用其他脚本的局部变量。只有If和Set命令可以访问这些被指定的变量。 player.additem gold_001 otherobject.addgold 上面的脚本不能工作,需要下面的才可以: short addgold set addgold to otherobject.addgold player.additem gold_001 addgold 1 Share this post Link to post Share on other sites