关于控制台和ID
什么是控制台?
控制台本是B社用来在PC端上给游戏debug用的,对普通冰棍来说它只是个作弊工具,对文艺冰棍来说它还可以用来拍照、研究游戏部分模块的机制,对绅士冰棍来说它可以用来...
诸位用的大多是美式键盘,要打开控制台按一下左上角“~”(或称“`”)键就行了。如果按了这个键需要指出的是在控制台输入的指令是大小写不敏感的,比如要打开上帝模式输入tgm或tGm都可以。
什么是ID?
要对游戏里的对象进行操作离不开对ID的使用。本帖避开对游戏引擎的讨论,若不想深究至少要知道ID分为基础ID(Base ID)和引用ID(Reference ID)这件事情,比如本总统的基础ID是00019fd9,引用ID是0001a4d7。
套用面向对象编程的语境,基础ID代表对象名,引用ID代表基于这个基础ID(对象)所创建的实例。基础ID只用于创建对象,比如additem或placeatme,而引用ID则用于修改、查看或删除已有对象,比如提升好感、捏脸、kill、moveto、disable等用途。打开控制台后点击有效的对象(比如点击我)会在控制台顶部居中位置显示出我的引用ID:
这表示接下来输入的对象操作代码将只对我有效。比如要修改和我的亲密度,输入“setav ca_affinity 1100”就可以将亲密度修改为1100点(可啪同伴最高1100,普通同伴最高1000),不放心的话可以马上输入“getav ca_affinity”检查一下有没有修改成功。需要指出的是对象操作代码还有一种用法,是在刚才的代码前加上“<对象引用ID>.”前缀,比如“0001a4d7.setav ca_affinity 1100”同样也可以将对我的亲密度修改为1100点。如果找不到那个对象但知道它的引用ID,通过这个方法就可以隔空修改对象属性。下面一张图说明问题:
作业
已知在自己身旁产生对象的代码格式为:player.PlaceAtMe,请写出产生下图效果的控制台代码:
第一课补充
1、输入ID的时候前面的0可以省略,因为指令被split之后字符串ID总会被parse成ulong类型变量。
2、指定引用操作对象的方式除了点击对象以外还可以在控制台输入prid refID。在没有指定引用对象的情况下默认的引用操作对自己有效,这个时候player.placeatme中的“player.”前缀就可以省略。
补充作业
1、假设鼠标不慎落入马桶,请用一行代码在总统旁边产生另一个总统,请给出两种答案。
2、思考题:控制台顶部引用ID后缀EP、PP、T、D分别代表什么意思?