python可以做游戏mod_[难度4]MOD教程之Python语言在Module System里的简单应用

本文介绍了如何使用Python语言在Module System中制作游戏MOD,特别是通过理解并利用list和tuple来填充数据。作者通过一个具体的负重影响技能的例子,展示了在Module System中遇到的问题和解决方案,强调了Python基础知识的重要性,如数据结构和函数的使用。通过阅读,读者可以了解到在实际应用中如何利用Python进行简单但高效的数据操作。
摘要由CSDN通过智能技术生成

好,从这里开始就假设你已经看过了简明 Python 教程的1~9章了。

看完以后,你再回过头看看Module System里各py文件的文件结构,就看那些以module_开头的,因为以header_开头的和以process_的基本都加了警告语:不要对这个文件进行编辑。事实上最好也不要去编辑这些文件,不然出了问题,麻烦就大了。

比如就看module_items.py吧,注意了,是看结构,不是看内容。看到什么了?一个大大的list(列表),这个list就是items。不论module_items.py里定义了多少item,不论有多少行,module_items.py文件里的内容不过就是一个list而已,另外就是头部的一些简单定义的语句,再往上就是“包含语句”,就是fromxxximport*语句了。Module System里那些以module_开头的文件的文件结构都与module_items.py里的类似,大同小异。主体部分都是一个大大的列表,然后这个list(列表)里面就是tuple(元组)或者是内层的list,文件结构非常之简单,没有什么神秘可言。了解到了这一点,你可能会感到很沮丧,原来所谓用Module System来制作MOD其实就是填一下或者修改一下各个list(列表)和tuple(元组)罢了,用的仅仅是Python语言里的冰山一角。做的事情就类似于把各种液体分装到不同的容器里,如此而已,而对容器里液体的使用完全轮不到你了,而且分装的规则也轮不到你来定。也就是说,MOD制作者做的不过是通过往这些list和tuple里填数据来向游戏引擎提供数据罢了,而对于这些数据的操作完全是由游戏引擎来完成的。MOD制作者的定位就是数据提供者,而不是数据使用者。而且游戏引擎对list和tuple里数据的使用方法是由游戏引擎决定的,什么样的使用方法就决定了这些list和tuple里的数据结构必须是什么样的,叫你填字符串的地方,你就不能填数值,叫你填数值的地方,你就不能填字符串,规定了list或者tuple的长度是多长,你少填多填都是错,MOD制作者是相当被动的。不过你至少能明白一点,使用Module System就是使用Python语言里的list和tuple,这就是为什么我说“你接触了Module System多长时间,你就接触了Python语言多长时间。”

说是接触了Python语言,但这个接触太浅了,浅到如果你不看简明 Python 教程里数据结构这一章,你基本就无法发现用Module System就是在用Python语言,而可能会认为Module System是M&B提供的一种特殊语言。

说实话,这篇教程的产生起源于一个事件。当时我要做的一个东西:负重影响技能。关键的地方在于header_operations.py里是没有获得物品重量的函数,当然我马上就想到slot,可以为物品定义一个新slot:slot_item_weight,通过

(item_set_slot,,,),

这个函数就可以一一往各个物品的这个slot里写入物品的重量了,然后

(item_get_slot,,,),

就可以取出相应slot里的值了,也就是取得物品的重量了。思路是对的,但新的问题来了,物品有400多种,一一这样往相应的slot里写入数值的话,就要写400多行

(item_set

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值