神圣纪事吧 关注:9,534贴子:400,739
  • 6回复贴,共1

有懂英文的吗圣域2坐骑怎么替代法

只看楼主收藏回复


Well I still remember how I managed to make the transition succesfully from the non-aspect wind serpent to a flaming horse, if by any chance anyone is still interested.
What you need first:
1. Make a copy of each of the following files: creatures.txt, itemtype.txt, creatureinfo.txt, soundprofile.txt and blueprint.txt (this one will not get modified, will only be used as a reference, but hey a copy of it cannot hurt).
2. I recommend not using Windows incorporated text editors for the following alteration (the files are kinda huge for some texts); I used Notepad++ and it worked like a charm.
Ok then, the steps are as follows:
1. First find the id and itemtype_id for the mounts you are insterested in. Each mount has their own id and itemtype_id. The best way of finding these is by searching with "specialmountfor = X" in the creatureinfo.txt, where X would be the class that the unique mount corresponds to. (so far I know that dryad is 2, high elf is 5 and seraphim is 1; ALSO the non-unique mounts are a bit more difficult to find since they have no "specialmountfor = X" tag describing them, which means that it would be better to search for them in the creatures.txt file since there they have a name tag, although the names are not very suggestive but they help a little).
-- btw the itemtype_id for the flame horse is 12736, for the non-aspect wind serpent is 5549; you can search on google for these itemtype_ids as well - you might get lucky;
2. Go into the itemtype.txt file, search for the itemtype_id of the mount from which you want to copy the 3D model from (in my case it was the flaming horse) and COPY the 3d model section (that means everything from "-- 3d model" line to just above the "-- logic bounding box" line); now search for the itemtype_id of the mount that you want overwritten (in my case it was the non-aspect wind serpent) and paste what you just copied over the same area of the target mount (it does not matter if the number of lines is different, as long as you overwrite the entire 3d model section).
-- right now the 3d model is changed, and if you try to run the game at this moment you might get a very weird mount instead of the one you got, or you might just get something usable - anyway it is not done yet).
3. Go into the creatureinfo.txt file. Search for the itemtype_id of the source mount (for me the flame horse) and copy everything from just below the "type = number," line down to "} mgr.creatureInfoCreate(newCreatureInfo);". Now search for the itemtype_id (just to be sure I'm reffering to the number you first found at step 1, not the string "itemtype_id") and here paste over the area of the target mount (in my case the wind serpent.
(Please NOTE that the "specialmountfor = X," line is essential and thus should not be copied over, or to be more precise it needs to survive your pasting attempt; also if a line that looks like this " eq_fallback = { number }," survives your animation during game will be messed up, which also means that if you want to paste over a unique mount - whereas the flaming horse is a normal mount - you will need to copy the " eq_fallback = { number }," line from the source mount)
-- now you might wander why the NOTE is important (and btw it is in most cases); well it is because only now will your animation work properly (for instance your flaming horse will not have a tail if you fail at this step - tailItemtype is not 0 in his case)
4. This one is OPTIONAL. At an earlier reply the attribute parts of your mount are mentioned. The "mgr.addCreatureBonus" and the rest of the attributes are correctly mentioned. Now let's see what those things mean. First of all at this point you have to use the id that you found at step 1 rather than the itemtype_id. How to use this id is explained by Malachor. So let's see the meaning behind the code presented there. The first three blocks (out of 6) refer to the positive bonuses that you get from that mount; to be more precise the first block refers to the resistance/aspect cooldown reduction that you get from you mount. The second refers to the health bonus, and the third to the defense bonus (they are described ingame in the same order that they are presnt in the creatures.txt file). Now how can you find out what they really are about? Well in that block you have two variables: intensity and bonus. Increasing and decreasing the intensity will make that bonus greater or loewr. The bonus variable is mapped in the blueprint.txt file. You can search for it with a string similar to this one: "createBonus(number", where number is the number that the bonus is equal to (in the case of the first block it would be "createBonus(248"). By searching this way you can find out what the added attribute means.
Now regarding the 4th and 5th block, well I still don't know their exact purpose but I saw no difference wheter I left the code there or if I just deleted it.
NOTE that the +54% in all aspect cooldown cannot be removed from this place. It seems to be directly linked to mount itself, and even if you will delete all attributes of the mount in the creatures.txt no description will be available but the increase in cooldown will still be applied.
As for the last block, from what I could gather it is linked to what you see in your inventory. I did not bother to alter it but if anyone is curios he/she can try and perhaps give some feedback.
5. This is also OPTIONAL. At this point some of you will probably still be bothered by the sounds your mount makes. The animation was changed but the sound is still the old one. So in order to change this go into the soundprofile.txt file, search for the itemtype_id of the source mount (the line should look something like "typex = itemtype_id" ) and replace it with the itemtype_id of the target mount. Then swap the itemtype_id of the target mount from the place where it is originally put with the itemtype_id of the source mount (basically now the non-aspect wind serpent makes horse sounds and the flame horse that you can buy under normal circumstances makes wind serpent sounds). If you are wondering why I did not use a more professional method, well I tried, but it seems that adding new line or comment others can results in a total loss of sound ingame, so be careful).
Guess this is just about it. By the way I tried this on CM 0130. Hope it works for you.


IP属地:广西1楼2024-09-14 17:34回复
    比如高等精灵的坐骑飞蛇换成老虎
    I just followed the guide, there was no improvisation on my part. I used the Arcane Wind Serpent (10889) and the I&B Frost tiger (12867)I tried to see if I can make the Draconicon (12978) look better but I couldn't figure out how to align her with the mount - she sits a little too far back on the saddle and looks silly. But the tiger was an easy fit, surprisingly.
    我只是跟着导游走,没有即兴发挥。我使用了奥术风蛇(10889)和I&B霜虎(12867)
    我试着看看我是否能让Draconicon(12978)看起来更好,但我不知道如何将她与坐骑对齐——她坐在马鞍上有点靠后,看起来很傻。但令人惊讶的是,老虎很容易适应。


    IP属地:广西2楼2024-09-14 17:47
    收起回复
      机翻也看不明白方法


      IP属地:广西3楼2024-09-14 17:50
      回复
        怎么替换啊 求大神教程


        IP属地:吉林4楼2024-11-28 09:37
        回复
          好吧,如果还有人对此感兴趣的话,我仍然记得自己是如何成功地从无面向的风蛇转变为火焰马的。
          你首先需要准备:
          将以下每个文件都复制一份:creatures.txt、itemtype.txt、creatureinfo.txt、soundprofile.txt 和 blueprint.txt(这个文件不会被修改,仅作为参考使用,但复制一份也无妨)。
          我建议不要在接下来的修改中使用Windows自带的文本编辑器(因为某些文本文件很大);我使用了Notepad++,它非常好用。
          那么,步骤如下:
          1、首先,找到你感兴趣的坐骑的id和itemtype_id。每个坐骑都有自己的id和itemtype_id。在creatureinfo.txt文件中,通过搜索“specialmountfor = X”来查找这些id是最简单的方法,其中X是对应独特坐骑的职业(据我所知,森女是2,高等精灵是5,六翼天使是1;另外,非独特坐骑因为没有“specialmountfor = X”标签来描述它们,所以查找起来会稍微困难一些,这意味着最好在creatures.txt文件中搜索它们,因为在那里它们有名称标签,尽管这些名称不太具有启发性,但还是能帮上一点忙的)。
          ——顺便提一下,火焰马的itemtype_id是12736,无面向风蛇的itemtype_id是5549;你也可以在谷歌上搜索这些itemtype_id,或许会有意外收获。
          2、进入itemtype.txt文件,搜索你想要复制3D模型的坐骑的itemtype_id(在我的例子中是火焰马),并复制3D模型部分(即从“-- 3d model”行到“-- logic bounding box”行上面的所有内容);然后搜索你想要覆盖的坐骑的itemtype_id(在我的例子中是无面向风蛇),并将你刚刚复制的内容粘贴到目标坐骑的相同区域(行数不同也没关系,只要确保你覆盖了整个3D模型部分)。
          ——现在3D模型已经更改了,如果你此刻尝试运行游戏,你可能会得到一个非常奇怪的坐骑,而不是你之前的那个,或者你可能得到一个可用的东西——但总之,还没有完成)。
          3、进入creatureinfo.txt文件。搜索源坐骑(对我来说是火焰马)的itemtype_id,并从“type = number,”行正下方的内容开始复制到“} mgr.creatureInfoCreate(newCreatureInfo);”为止。现在搜索itemtype_id(请确保这里指的是你在第一步中找到的数字,而不是字符串“itemtype_id”),并在这里将内容粘贴到目标坐骑的区域(在我的例子中是风蛇)。
          (请注意,“specialmountfor = X,”行是至关重要的,因此不应该被覆盖,或者更准确地说,它需要在你的粘贴操作中保留下来;另外,如果一行看起来像这样“eq_fallback = { number },”在你的游戏动画过程中幸存下来,那么动画将会混乱,这也意味着如果你想覆盖一个独特坐骑——而火焰马是一个普通坐骑——你需要从源坐骑中复制“eq_fallback = { number },”行)
          ——现在你可能会好奇为什么这个注意事项很重要(而且在大多数情况下确实如此);这是因为只有现在你的动画才能正常工作(例如,如果你在这一步失败,你的火焰马将不会有尾巴——在他的情况下,tailItemtype不是0)。
          4、这一步是可选的。在之前的回复中提到了坐骑的属性部分。其中正确提到了“mgr.addCreatureBonus”和其他属性。现在让我们来看看这些内容的含义。首先,在这一步中,你需要使用在第一步中找到的id,而不是itemtype_id。如何使用这个id,Malachor已经做了解释。现在让我们来看看那里提供的代码背后的意义。前三个区块(共6个)指的是你从坐骑那里获得的正面加成;更准确地说,第一个区块指的是你从坐骑那里获得的抗性/面向冷却时间减少。第二个区块指的是生命值加成,第三个区块指的是防御加成(它们在游戏中以与在creatures.txt文件中出现的相同顺序进行描述)。那么,你如何找出它们真正代表什么呢?在这个区块中,你有两个变量:强度和加成。增加或减少强度会使加成变大或变小。加成变量在blueprint.txt文件中进行了映射。你可以使用类似这样的字符串来搜索它:“createBonus(number)”,其中number是加成等于的数字(在第一个区块的情况下,它会是“createBonus(248)”)。通过这种方式搜索,你可以找出添加的属性是什么意思。
          至于第四个和第五个区块,我仍然不知道它们的确切用途,但无论我是保留这些代码还是直接删除它们,我都没有看到任何区别。
          请注意,所有面向冷却时间中的+54%无法从这里移除。它似乎与坐骑本身直接相关,即使你在creatures.txt中删除了坐骑的所有属性,也没有描述可用,但冷却时间的增加仍然会应用。
          至于最后一个区块,从我所能收集到的信息来看,它与你在库存中看到的内容相关联。我没有费心去修改它,但如果有人好奇,他/她可以尝试一下,也许能提供一些反馈。
          5、这一步也是可选的。到这个时候,你们中的一些人可能仍然会对坐骑发出的声音感到困扰。动画已经改变了,但声音还是旧的。所以为了改变这一点,请进入soundprofile.txt文件,搜索源坐骑的itemtype_id(这一行应该看起来像“typex = itemtype_id”)并将其替换为目标坐骑的itemtype_id。然后,将目标坐骑的itemtype_id从它原本放置的位置与源坐骑的itemtype_id进行交换(基本上,现在非面向的风蛇会发出马的声音,而你通常可以购买到的火焰马会发出风蛇的声音)。如果你想知道为什么我没有使用更专业的方法,嗯,我试过了,但似乎添加新行或对其他内容进行注释会导致游戏中完全失去声音,所以要小心)。
          我想这就是全部了。顺便说一下,我在CM 0130上试过这个方法。希望它对你也有用。


          IP属地:广东6楼2025-01-16 16:10
          回复