争怎路由网/单机游戏/内容

哥萨克3MOD怎么用_哥萨克3怎么修改单位属性

单机游戏2024-09-07 阅读
电脑大家应该不怎么陌生吧!现在电脑已经普及到大多数人的家庭之中了,电脑的用途非常地广,不同年龄段、不同行业的人对电脑的用处不同。但是对于很多的年轻人来说电脑最大的用途就是玩游戏了。电脑游戏大家肯定玩过吧!它可以使人上瘾。

哥萨克3本文为大家带来基础MOD教程之单位属性修改的教程,可以对单位的属性进行修改,包括武器、护甲等的数值,建造单位的消耗量等大量数据。希望对大家有所帮助。

无聊研究了一下哥萨克的MOD制作,由于官方论坛上也没有给出完整的教程所以,这算是第一篇教程了吧。无聊可以改改单位数据自己用地图编辑器玩。

由于哥萨克3是用Delphi开发的,因此和平常用C++开发的游戏完全不一样,你需要一点Delphi的基本语法知识免得出现代码错误。

推荐使用notepad++或者其他能够高亮Pascal语言的编辑器。

《哥萨克3》基础MOD及单位属性修改教程

哥萨克3单位属性修改教程

目前我还没研究出如何修改单位移动速度,不过你可以修改单位的攻击力、生命、护甲、射程、射速和散布等属性。

首先打开X:\steam\steamapps\common\Cossacks 3\data\scripts\lib文件夹,盗版自己找下对应的目录。这里是存储的游戏基本数据,根据文件名称可以判断文件的功能。

打开unit.script文件,搜索你需要修改的单位名称,这里以“阿尔及利亚弓箭手”为例objbase.maxhp := 30;为单位的生命值。

找到SetObjBaseWeapon(objprop, objbase, 0, 199, 295, 300, 500, 0, 100000, gc_obj_weapon_kind_arrow, True);

这个就是阿尔及利亚弓箭手的主武器,即普通弓箭如果你不知道非数字文字的意思,你不深入就不要去改了,你也可以自行去研究相关脚本关联的关键字。

橙色文字对应的属性从左到右为“武器索引”、“伤害”、“攻击间隔”、“最小射程”、“最大射程”、“最小搜敌范围”、“最大搜敌范围”。

范围有关的单位都是像素,攻击间隔单位为帧。

《哥萨克3》基础MOD及单位属性修改教程

往下有3个属性

objprop.weapon[0].weaponsid := 'STRELA';

objbase.weapon[0].dispertion := _misc_PixelsToTiles(250);

objprop.weapon[0].addradius := _misc_PixelsToTiles(32);

以上3个属性,0对应的武器索引。

第一个为声音即武器音效,不建议修改除非你知道关联名称

第二个为武器散布程度250像素

第三个为附加范围,估计是指的武器的碰撞体积单位也是像素

阿尔及利亚弓箭手有两种武器,第二种是对付建筑使用的火箭

objprop.weapon[1].attmask := objprop.weapon[1].attmask or (1 shl gc_obj_material_building);

objprop.weapon[1].attmask := objprop.weapon[1].attmask or (1 shl gc_obj_material_wood);

objprop.weapon[1].attmask := objprop.weapon[1].attmask or (1 shl gc_obj_material_woodwall);

这里只介绍以上3个新的属性

这是武器筛选遮罩,即限定第二种武器可以攻击建筑、木头和木头城墙

以上就是基本武器数值修改

SetObjBasePrice(objbase, 10, 2, 0, 0, 0, 0);

为设定单位成本,数字对应游戏的6种资源,顺序木头、粮草、石头、金子、铁、煤炭

SetObjBaseSearchBuildVisionScore(objprop, objbase, 550, 25, 2, 15);

为设定搜索范围(像素),建造时间(毫秒),单位视野和得分

SetObjBaseProtection(objbase, 2, 2, 5, 255, 1, 7);

设置单位护甲,弓箭手没有这条因此所有属性都是0。

数值对应劈砍防护、长矛防护、火枪防护、葡萄弹防护、弓箭防护和炮弹防护。

if (bmercenary) then至else区块内的函数为设置佣兵单位的属性,佣兵可以通过bmercenary进行判断。

以上就是修改的基本教程,你也许发现了修改完毕后4种弓箭手都变了。没错哥萨克把4种弓箭手放在了一个定义里。

你可以通过拆分的方式将4种弓箭手拆分为多个过程进行,这需要一点Pascal语言的语法了。你可以参照其他单位的设定进行修改。

特别注意的是国家判断只能判断后缀带有国家后缀的单位比如archertur后面的tur就是土耳其的代码可以通过case nation of进行判断。

但是如果单位没有那种后缀是没法进行国家判定的。

就是这样,祝大家游戏开心,万事顺意。


玩游戏可以在很大程度上让大家放松放松,但是我建议大家不要把过多的时间投入到工作当中,因为这样的话大家很有可能上瘾,这样不利于大家的工作或者是学习。



……

相关阅读