加入收藏 | 设为首页 | 会员中心 | 我要投稿 二游网_173173游戏网 (http://www.173173youxi.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 新闻中心 > 攻略战报 > 正文

《上古卷轴5》Papyrus脚本语言入门指南

发布时间:2018-05-29 14:08:04 所属栏目:攻略战报 来源:上古卷轴吧
导读:副标题#e# 第1页:程序框架 展开 《上古卷轴5》的自由性极高,并且还能通过MOD等方式来进行玩法的拓展。而Papyrus是B社的脚本工具,玩家要是掌握了Papyrus脚本语言,就能让本作的趣味性大大加强。下面就为大家带来了《上古卷轴5》Papyrus脚本语言入门指南,

第2页:基本概念

展开

基本概念

  papyrus的基本概念包括变量,属性,函数,事件,状态,继承,多线程,持久化等。下面我们详细讲解各个概念,争取能通俗地让大家理解。

1、变量

  (1)papyrus中变量跟其他语言相比没有太大的不同,都是开辟一块内存存储特定类型(包括基本数据类型和类类型)的数据。声明方式也跟其他语言类似

  声明:int counter Message box

  papyrus会用默认值自动为这些声明的变量初始化,这也是我们开头的程序中count不必手动初始化即可保证初始值是0的原因。当然,用户手动初始化也是可以的,具体初始化方式跟其他高级语言相同。

  (2)衍生内容:语句

  papyrus的语句跟其他语言类似,也有循环语句和条件语句。用法也大同小异,只是需要注意语句结束时需要用专门的关键字结尾。

  例如:(根据counter值的不同,决定用哪一个值来初始化chosenbox)

  if (counter==1)

  chosenbox=box1

  else

  chosenbox=box2

  endIf

  例如:(将object数组重新初始化)

  while (currentElement < object.Length)

  object[currentElement].Disable()

  currentElement+=1

  endWhile

  (3)衍生内容:数组

  在papyrus中,数组也是一种特殊的变量,本质上是开辟出一块内存存储一系列相同类型的数据。因为在papyrus中不存在指针,所以其声明方式跟c语言中数组的声明会有所区别。(貌似跟java非常类似,不过楼主好久不接触java有些忘记……惭愧……)

  声明:int[] object(创建一个名为object的整数型数组,数组的长度为0,且初始值为空)

  创建:int[] object = new int[10] (创建一个名为object的整数型数组,数组长度为10,并初始化)

  数组在脚本中可以作为参数和函数返回值

  例如:int Function arrayObject(int[] array)

  或:

  int[] Function arrayObject()

  int[] array = new int[10]

  Return array

  endFunction

  数组的赋值可以用while语句进行,与其他语言的数组赋值并无区别。长度则可以使用“数组名.Length”来计算。

  此外,数组还可以像其他变量一样为其他的数组进行赋值或初始化。(在这里有必要提醒一下,papyrus中数组的本质依旧是指向内存单元的指针,用数组进行赋值之后,会让被赋值的数组指向原数组的内存地址,此时当用户处理原数组的数据后,被赋值的数组相关数据也会发生变化)

2、属性

  概念:

  属性是papyrus独有的一种变量类型。其作用是将mod制作者制作或者游戏本身的物品对象(装备,武器,杂物甚至是随从等等)与脚本进行关联,从而可以通过脚本来控制这些物品对象(如武器发光,剑气,破法者的法术护盾,随从奥妮安会在玩家血量不足的时候释放恢复系法术等等,这些行为都要通过脚本控制)。

  声明方法:

  属性的声明使用property关键字

  例如:Message property box1 auto(声明一个Message类型的属性box1,并自动赋值)

  使用方法:

  首先要在ck中制定好相关物品,然后在ck中将属性跟具体对象连接,之后就可以编写脚本了。

  例如:

  我在ck中创建了一把武器,名为blood_blade。

  然后在脚本中定义属性:Weapon property blade auto

  在ck中将blood_blade连接到blade上,这样一来,我们的blade变量就指向了blood_blade的内存地址

  之后我们在脚本中编写武器发光,剑气之类的内容,就可以直接作用到blood_blade上了。

(编辑:二游网_173173游戏网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读