slxc920113 发表于 2014-3-12 22:39

【修改教程】寒假玩的,顺便改了一改,分享一下经验哦。

本帖最后由 slxc920113 于 2016-6-12 19:51 编辑

1.首先是解包啦
对于一个未知的压缩包,首先看头文件。用16进制打开试试。

很好,这是zip压缩的,就是不知道加密没有。果断把后缀改成zip试试。

很高兴没有加密,直接解压即可。
2.然后是分析一下文件用途
因为是英文命名的,很容易看出来。另外xml文件里面还有注释,是用俄语写的,看不懂的话google翻译一下就行。
首先是data文件夹下。
creatures文件

<creature name="worker">
    <params>
      <ai value="worker"/>
      <!--<height value="57"/>-->
      <height value="50"/>
      <width value="27"/>
      <!--<ratio value="0.6"/>      -->      <!--宽度与高度之比-->
      <scale value="1"/>      <!--整体动画比例-->
      <healt value="100"/>   <!--生命值,可改-->
      <satiety value="100"/>    <!--食量,随便吧-->
      <walk_speed value="80"/>      <!--移动速度,不要改得太大,否则会出bug,建议150一下-->
      <climbs_speed value="90"/>    <!--爬墙速度,同上-->
      <climbs_ladder_speed value="120"/>    <!--爬梯速度,同上-->
      <radius value="4"/>
      <fall_height value="3"/>
      <capacity value="8"/>    <!--背包容量-->
      <rest_healt value="50%"/>      <!--'rest_healt' - 去休息的生命百分比-->
      <attack value="0.6"/>      <!--空手攻击值,随便改吧->
      <attack_healt value="0.9"/>      <!--生命值小于0.9开始攻击->
      <fatal_attack_healt value="0.4"/>      <!--生命值低于0.4拼命攻击-->
      <escape_alone_healt value="0.25"/>      <!--生命值低于0.25独自逃跑-->
      <escape_most_healt value="0.15"/>      <!--生命值低于0.15全面溃散-->
      <call_help_radius value="12"/>      <!--呼叫队友的范围-->
      <water_die_time value="360"/>       <!--溺水时长,随便该吧,单位是秒-->
      <retreat value="3"/>      <!--远程攻击范围-->
      <base_armor value="0.8"/>      <!-裸奔时的护甲-->
      <magic_stuff_end_bone value="staff_end"/>
      <fishing_pole_end_bone value="pole_end" />
      <resources_end_bone value="for_resurses" />
    </params>

这是矿工的一些数据,下面还有怪兽的数据,差不多,不过怪兽的其实不需要改,太多了。此强彼弱嘛!



blocks文件
这个很重要,关系到你收获的资源。
<block name="dirt" file="gfx\level_tiles\tile\dirt_ground\dirt_ground" corner="gfx\level_tiles\tile\dirt_ground\corner" corner_group="1" corner_type="every" extract="4" build="0" through="false" resource="dirt,seed-1-5" crack="true" border="dirt1" grass_border="grass" draw_layer="front_a1" properties="apply_tool1,wave_idx=3,wave_idx1=5,dirt,can_replace,land">
</block>注意看这句
resource="dirt,seed-1-5"
这是挖到的资源,语法是这样的:①不同的资源用‘,’隔开。②如果没有‘-’符号,表示默认值1。③如果有一个‘-’符号,表示有n个。④如果有两个‘-’符号,表示有几率获得n个。
打个比方:resource="seed,iron,coal,stone"表示同时获得种子、铁矿、煤矿、石头各一个。resource="seed-5,iron-2"表示同时获得种子5个、铁矿2个。resource="seed-2,iron-1-50"表示获得种子2个、50%的几率获得1个铁矿。
另外资源名称有:dirt,seed,sand,coal,iron,stone,gold,mithril,silver,wood,leaves,apple,honey,resin,cone,cocos,oil_berries,needle,water,berries,web等等。后面说到配方的时候接着说。


recipes文件
这就是配方文件,不建议修改配方,但是可以修改合成数目等等。
    <recipe name="ladder" ingredients="wood-2,wood-5" produce="ladder=10" group="5" require="wood-2" save="true" craft_need="" />上面是一条配方,合成的是梯子,ingredients="wood-2,wood-5"是原料,2,5表示表格位置,这个不建议修改以免冲突。 produce="ladder=10" 这个是产物,=后面是数目,比如这个就是改成了10的,没有的话默认为1。craft_need是生产所需的条件,比如厨房、铁匠铺等等的。


world文件
这个是世界的设定,有一些值得修改,但是不多。
<param name="DiaryMaxViewQuests" value="5"/><!-- 可见每日任务数 ,随便-->
<param name="BlockSize" value="60"/>
<param name="DayTime" value="400"/><!--白天时间,改长 -->
<param name="NightTime" value="100"/><!-- 夜晚时间,改短 -->
<param name="HealtRestoreTime" value="150"/><!-- 回血时间,随便-->
<param name="NewTreeInterval" value="60"/><!-- 数目生长间隔,改短-->还有一些雨量,山高等等,自己看着办吧,反正我没有怎么改。

craft_resources文件<resource name="dirt" title="%EarthT" desc="%EarthD" file="gfx\level_tiles\craft_res\craft_dirt_01" build="dirt" application="minning" properties="wall" shop_count="10" shop_cost="1" />还是举例说明。
shop_count="10" shop_cost="1"
这是一次售卖数目和价格。这个是修改过的了,表示1个金币买10个。条目太多,建议使用正则进行批量修改。


items文件
这个没有太大的价值,有几处值得修改。


1. 电梯(elevator)修改升降速度。
properties="speed=800,elevator,dead_radius=2,removable,max_height=30"速度改大一点,推荐就是我改的这个800。


2. 特斯拉塔(tesla_tower)修改攻击值。
properties="tesla_tower=1,removable,healt=200,radius=6,attack=0.8,time=0.9,lost=0.33,nodig_under=1,self_crash_res,offset=-20,color=130|255|255,can_fall,stayon"/>攻击和攻击范围都可以修改,上面也是修改过的。三个等级的特斯拉都可以修改。


3. 魔法(magic)消耗。
properties="magic,magic_portal,time=180,use_mana=1,radius=1" light="4"/>耗魔(use_mana)改小一点。


好了就说这么多了,其他自己摸索吧。还有不少可以修改的地方。

一些问题的回复:
1. 打包的问题。
a54202238 发表于 2014-3-13 10:41 static/image/common/back.gif
请问下修改完XML文件后怎么把文件夹封装回PAK文件呢?- -直接压缩改后缀的话会比原文件小10多MB然后启动报 ...
①直接用压缩软件打开pak文件,然后修改后的文件直接拖进去覆盖。

②如果要直接压缩的话,用zip算法压缩,使用write命令,默认压缩率store。

比如使用python的话。
#!/usr/bin/python
#coding=utf-8

import os,os.path
import zipfile

def zip_dir(dirname,zipfilename):
    filelist = []
    if os.path.isfile(dirname):
      filelist.append(dirname)
    else :
      for root, dirs, files in os.walk(dirname):
            for name in files:
                filelist.append(os.path.join(root, name))
      
    zf = zipfile.ZipFile(zipfilename, "w")
    for tar in filelist:
      arcname = tar
      #print arcname
      zf.write(tar,arcname)
    zf.close()

if __name__ == '__main__':
zip_dir('D:/Games/CraftTheWorld/main/','D:/Games/CraftTheWorld/main.pak')'''分别写压缩填文件夹,和压缩后的文件名'''
如果直接使用压缩软件的话,比如winrar,选择压缩文件——>右击添加到压缩文件——>压缩文件格式zip——>压缩方式存储——>确定——>修改后缀为pak(或者在压缩时直接修改文件名)

2. 修改光线的问题

han442851161 发表于 2014-3-15 20:10 static/image/common/back.gif
能不能改火炬的光?只能照一小片太弱了
在block.xml中搜索torch。
看到properties="",里面有一个light=4,你把数值改大一点就行。


3.修改金币掉落的问题
QQ382224907 发表于 2014-3-22 01:59 static/image/common/back.gif
我想知道怎么需改金币的掉落?
按照教程中资源数目的修改,添加一项money,比如resource="money-1-50"百分之50掉落金币。

4.背包与移动速度
Arlucado 发表于 2014-3-22 15:18 static/image/common/back.gif
该背包容量的话,是不是有关于移动速率的项目??
背包容量尽量不超过6.速度不超过150.


5.魔力回复
wubin0080 发表于 2014-3-22 22:43 static/image/common/back.gif
请教楼主,想知道怎么修改回魔
world.xml文件中搜索ManaRestoreTime,找到后吧value的值改小一点。




6.生产速度
ab2513320 发表于 2015-1-6 15:52 static/image/common/back.gif
请问一下怎么改 工作台 熔炉 厨房的生产速度?
发现有人回复了这个帖子,正好说一下,现在的版本,速度可以改了。打开blocks.xml
搜索efficiency=
修改x*的数值,就是基础速度的倍数。x4就是4倍,x10就是10倍

a753075 发表于 2022-1-5 20:59

6666666666666666666666666

120198 发表于 2022-12-14 12:23

recipes 配方就不能修改吗?改了后进游戏,显示空白

114452617 发表于 2023-8-28 21:48

常常从长春出差
页: [1]
查看完整版本: 【修改教程】寒假玩的,顺便改了一改,分享一下经验哦。