tModLoader是一个强大的用于制作mod的工具,也可以通过他来兼容一些必须使用他的mod,下面小编就为大家讲解MOD制作流程以及常见问题解答。
TModLoader简介:
TModLoader本质上是一种类似于TAPI的“模式”,提供了一种方法来加载你自己的MOD,从而不需要TR的源代码来进行操作,这意味着你可以很容易的使自己的MOD与其他人所制作的兼容,不需要你自己要去蛋疼的反编译和重新编译Terraria.exe,并避免要去必须理解所有的难以理解的“复杂”的TR源代码。
作者的目的是让TModLoader尽可能的简单化,同时给予游戏模组强大的游戏机能,其次是,任何人在TModLoader上足够做出自己的独立MOD。
游戏简介:
使用教程
1、这是界面,我们首先打开
ModSources
2、接着我们不要管界面,先点击OpenSources
然后你就会跳转到mod制作目录
C:\Users\Administrator\Documents\MyGames\Terraria\ModLoader(不同的电脑地址可能有所不同,不过目录一定是ModLoader)
顺便强调一下,这个mod的人物和存档是独立的。
mod目录,我们要制作mod的话,先创建一个文件夹,名字的话..随意就行...但是不能有空格
例如"SuperMod"这样就不行
3、然后我创建一个叫“FirstMod”的文件夹
之后,我们要在文件夹里创建一个
“类似MODBase的存在”←就像1.241的tapi一样
4、我们叫它...FirstMod
usingSystem;
usingMicrosoft.Xna.Framework;
usingTerraria;
usingTerraria.ID;
usingTerraria.ModLoader;
usingFirstMod.Items;//这个不要改,改了之后,要修改就很麻烦
namespaceFirstMod
{
publicclassFirstMod:Mod
publicoverridevoidSetModInfo(outstringname,refstringversion,refstringauthor)
name="FirstMod";//这里是在游戏里显示的mod名
version="v1";//版本号
author="CWOF";//作者
}
publicoverridevoidLoad()
AddItem("BlackKing",newBlackKing(),"FirstMod/Items/BlackKing");//读取新物品,并读取新物品的图片
publicoverridevoidAddRecipes()
ModReciperecipe=newModRecipe(this);
recipe.AddIngredient(ItemID.DirtBlock,2);//需要:泥土块2个
recipe.SetResult(null,"BlackKing",1);//合成BlackKing
recipe.AddRecipe();//添加合成
注释的地方,自己理解理解
publicoverridevoidAddRecipes()这些,就像一个公式,套上去就行了。
5、成品,usingFirstMod.Items中的Items就对应图片文件夹里的Items
之后,我们要在Items的文件夹里,创造新的武器/装备/饰品等等
不过首先,我们需要一张png和CS文件(注意,cs和png名字必须一致)
然后我们编辑BlackKing.cs文件(lz是用的vs,不过因为vs2G大,如果没有特殊需要并不建议去使用)
6、套公式
usingSystem.Diagnostics;
namespaceFirstMod.Items
publicclassBlackKing:ModItem
publicoverridevoidSetDefaults()
然后我们开始定义我们的第一个物品
我们要给它一个名字
于是,我们在publicoverridevoidSetDefaults()
里面写上
item.name="BlackKing";
然后呢,一个item最基本的,除了名字,还有介绍,宽,高。
于是..
item.toolTip="FIREWITHBLACK”;
item.height=40;
item.width=40;
注意“;”号,你要知道印第安人是不会说中文的(←土著),别打成中文的“;”
这就是一个基本的item的构成了
可是我们要的是一把武器
7、那么我们应该添加更多的“属性”
item.useAnimation=5;//这是一个武器挥动的速度,即使用动画
item.useStyle=1;//使用方式为挥动
item.rare=5;//物品品质
item.autoReuse=true;//是否连发
item.damage=10;//伤害
item.value=10000;//售价,10银币,进率就是tr的硬币进率
这就是一个基本的武器了,然后,如果这是一个近战武器的话,我们要“告诉”它,让它可以发挥特殊的作用(比如穿上幽魂套,魔法武器会吸血)
那么,我们就写
item.melee=true;
如果是远程武器就是
item.ranged=true;
如果是魔法武器
item.magic=true;
哦,对了,我们要它只能堆叠一个。因为这是把武器
item.maxStack=1;
于是,一个武器做好了
PS:namespaceFirstMod.Items中的"FirstMod是指这个mod文件夹的名字..可别直接抄了
8、那么,成品如下
item.damage=1;
item.toolTip="YourFirstweapon.";
item.useTime=5;
item.useAnimation=5;
item.shoot=451;
item.shootSpeed=2f;
item.useStyle=1;
item.knockBack=6;
item.value=10000;
item.rare=8;
item.useSound=1;
item.autoReuse=true;
}}
mod做好了(只有一个武器的mod做好了)
我们要让它在游戏中出现,那么,打开游戏
打开MODSources
哦对了
这个武器的合成对应上面"FirstMod"中的
看见了么。
当我们加载好,我们就可以去游戏里制作了。
顺便这是空气合成,在某个东西上面合成的话,用这个
publicvoidAddTile(inttileID)
如果你能制作,并且你的武器可以使用,那么说明你的mod制作成功了,enjoy吧
哦对了,发射pro的代码是
item.shoot=304;
item.shoot=3f;
这只是个例子..恩...
MOD报错解决方法
那么此时,mod制作器会自动报错,可是为什么一堆****呢因为tr本身不支持中文,所以我们需要打开箭头所指的地方
然后就是出现中文的..
我这个是例子,具体你看着报错的提示改
实例制作流程
管那么多,先来把昆特!
咳咳。这就是一个饰品的图片..
然后,开始制作..
我们先找找不同..
AddItem("MotherFucker",newMotherFucker(),"FirstMod/Items/MotherFucker");
recipe=newModRecipe(this);
recipe.AddIngredient(ItemID.DirtBlock);
recipe.SetResult(null,"MotherFucker",1);
recipe.AddRecipe();
然后我们在MotherFucker.cs里面开始写这个饰品的数据
publicclassMotherFucker:ModItem
套公式...这属于简单理解..
基本的道具属性也不用说了,直接放上
item.name="MotherFucker!";
item.width=24;
item.height=28;
item.toolTip="ComeonKunTe!.";
item.toolTip2="Yooooooooooo!";
item.rare=2;
然后,我们要知道,它是个饰品,我们要它可以“佩戴"
item.accessory=true;
它是个饰品,怎么能没用的,所以,我们要设定它的防御为5
item.defense=5;
(ps:我还不满足,我死的快,然后我就写了item.lifeRegen=19;//回血速度为19)
等会,这一切都要写在
里面..
来
公式
publicoverridevoidUpdateAccessory(Playerplayer)
player.minionDamage+=19f;
然后你的饰品就做好了
进入游戏里看看吧
附代码图
常见问题解答
Q:我不知道游戏里物品的id之类怎么办
A:可以去反编辑图片,名字就是Item_id了,wiki里面有id裱(表),就是gamepedia里,后缀改为Data_IDs
就是了,很方便。
Q:我不知道游戏里的变量怎么办
A:里大多数的变量都是英文组合……但是也不能靠猜,有能力的可以去尝试反一下源,你有能力谁管得住你。这方面的事情我也不说,那没能力的呢,可以借鉴其他mod。也可以问我(我他妈懒啊)
Q:怎么打开!mod不会安装!代码好复杂!
A:建议去学习基础知识再来,说到这里,有一位同学想请教我trmod,我问他,会不会基础知识他反过来问我,基础知识是啥啊,我想学做mod啊。这就跟
哥哥我想写作文唉,教我识字吧……一个道理。所以建议大家还是补补基础知识,tr是用C#做的,所以可以去学学它的语法,lz也是正处于学习阶段。“有师傅吗,可以带带我吗,教我。”这种,很抱歉,没有。
t15747_2-t15747_1:0.0
t15747_3-t15747_2:0.0
t15747_4-t15747_3:0.0
t15747_5-t15747_4:10.0
t15747_6-t15747_5:5.0
t15747_7-t15747_6:17.0
t15747_7-t15747_1:32.0
公司名称:广州爱九游信息技术有限公司
公司地址:中国广东省广州市天河区高普路38号402房403房601房