求教怎么制作性格mod

MOD制作教程JAVA篇&-&Minecraft(我的世界)中文论坛 -
后使用快捷导航没有帐号?
查看: 97186|回复: 103
MOD制作教程JAVA篇
您尚未登录,立即登录享受更好的浏览体验!
才可以下载或查看,没有帐号?
本帖最后由 heidada 于
21:33 编辑
首先我阅读了这个教程的大概的内容,我觉得这对我来说是个很大的挑战,不管结果如何我觉得还是要把这个文章翻译出来,因为我觉得我的抛砖引玉能够激起未来的轩然大波。不幸的是首先我不懂JAVA,没有进行过任何JAVA的编程经验,虽然我少年时候的理想是做个编游戏的人,你知道,有的时候理想总是远离现实。其次我的英文确实够次,斗胆翻译这个文章我觉得我可能会误人子弟,呵呵!好吧不管怎么说我决定做第一个吃螃蟹的人啦!!!再次我觉得制作MOD需要很多专业知识,我可能真的不够格,我自己也没有任何实践,希望有错误的时候大家耐心指导,拍砖什么的我无所谓,我脸皮够厚,所以大家就省了,有错误就点评指出吧……我虚心接受。
本贴持续更新中……给出心急的童鞋可以自己去看哈~另外说句题外话,我为什么要极力推荐MC这个游戏,因为这个游戏是我有史以来见到最牛逼的游戏,它产生的意义是跨时代的,也是我梦想中想要制作的游戏!他可以借助简单的物品合成原理制造世界,我向很多人推荐这个游戏时候他们总是以画面太烂而放弃玩这个游戏,我知道,现在很多玩家以游戏画面作为评判一个游戏的标准,我得说,这是无知。当年的神作即时战略鼻祖沙丘魔堡2出来的时候那画面用现在的话说就是一坨屎啊!但是其意义影响到现在,星际,魔兽,红警,帝国,那个敢说其作品里没有DUNE2的血??!minecraft,它将是未来游戏发展的趋势,我断言,未来10年内,这个游戏的子孙后代将大量繁衍,衍生出新鲜的血液,如同QUAKE当年不走红CS却走红一样道理。为什么我盛赞这个游戏,因为,未来你可以在这个世界里创造所有能创造的东西,甚至一些现实社会不能创造的东西,这根本就是虚拟现实世界的伟大一步。请大家也记住我,一个伟大的预言家~~大大哥!!
第一节、准备工作和流程解释(牛X的同学可以略过这节,不过我真不相信有人那么牛X,如果你牛X请快现身吧!!)一、准备工作和需求
好了,废话这么多该开始了,首先讲下需求,要想制作MINECRAFT的MOD,以下四条一定要有:
1.Java Development Kit 6 (JDK6) 大概78M& &
2.minecraft编码包,这里我下载了MCP2.9A版本的编码包,因为他是对应1.3.01BETA版本的对应编码包,如果大家有相应的版本请去查找自己想要的软件包
3.EditPlus/Notepad++/Eclipse/Netbeans (文本编辑语法高亮)
4.编程知识,优秀的JAVA编程技术~呵呵,我看到这里就呆了,我知道我应该可以知难而退了
二、如何开始
1.1首先安装编码包MCP1.2解压缩ZIP文件包到你电脑上的目录比如C:\MCP
1.2解压缩压缩包到电脑,比如C:\MCP
1.3复制整个 .minecraft/bin 和 .minecraft/resources目录到C:\MCP\JAR下.
1.4运行decompile.bat
打开两个窗口,一个是 C:\MCP\sources\minecraft\net\minecraft\src the other to
& && && && && & 另一个是 C:\MCP\
三、MODS的运行
要运行您的MODS的你首先需要编译,调试和测试。
1.首先编译运行'recompile.bat'所有的minecraft类文件。
2.转到C:C:\MCP\logs\minecraft_compile.log 和搜索 ^,如果没有找到这个字,则没有编译错误。如果有,你需要修复您的代码中的错误,并尝试重新编译。
3.如果没有错误,运行'test_game.bat'。
4.这将弹出一个已经安装了MOD的minecraft替代版本-用来测试你的mod。
一旦你的MOD编辑完毕,你需要代码混淆(Obfuscated code是:將電腦程式的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式的行為。
使之可以放入MINECRAFT.JAR里
四、使用Eclipse
你可以使用Eclipse来写你的MOD,调试编码,编译编码,运行编码,当你长时间调试时,它会跟你省下很多时间。
ECLIPSE使用视频地址稍后发上来……需要搬运
五、模糊编码(obfuscate暂时翻译为模糊编码好了,希望有人给我指点专业解释)
模糊编码允许你的MOD可以在MINECRAFT.JAR运行,并可以被任何人使用
1.打开C:\MCP\conf\client_conf.txt
2.删除文本里所有的东西
3.添加你的class(class是java编译好的类型文件)到文件里,举例如下:
BlockExampleBlockCraftingManager 复制代码4.运行'reobf.bat'这个文件
5.你生成的class文件将全部放在C:\MCP\final_out\minecraft\目录下,你可以把这些做好的MOD放到MINECRAFT.JAR里面就可以玩自己的MOD了
额~!好了,上面的其实都是一些准备工作,是为了让大家了解真个流程和需要做的准备工作,下面开始就是真家伙了,程序怎么写就看下面的了
第二节、制造新的方块类型
这节我们学习如何制造一个新方块,并且怎么用工作台合成它,这里我们给出程序怎么做一个像石头一样的方块1.你需要一个叫做BlockExample.java的新文件,并且放置其再src目录下2.程序语言结构如下:package net.minecraft.import java.util.Rpublic class BlockExample extends Block{public BlockExample(int i, int j){super(i, j, Material.rock);}public int idDropped(int i, Random random){return 0;}}复制代码该死的作者没有解释上面语句是用来干什么的,没关系,抄作业这个我行,不用懂题目怎么做,达到交作业的目的就行 XD
3.现在你需要把这个块添加到程序里以便让程序可以调用,因此,需要打开block.java(俺不知道这个文件放哪里,请实际操作过的同学告诉我)
4.你可以看见文件底部有一大堆对于变量的声明,好吧,我们加上我们的声明public static final B 复制代码5.下面你可以看见对于声明的变量初始化,初始化你的方块,语句如下:example = (new BlockExample(92, 1)).setHardness(1.5F).setResistance(10F).setStepSound(soundStoneFootstep); 复制代码如我们之前提到的,我们制造了一个新的石头方块
new BlockExample(92, 1)这句的意思是,创造一个新方块,方块ID为92(物品编号是不可以和已经存在的物品重复的,所以你最好参看我另外一个教程编号的可选取数字范围是什么),方块的图片编号为1,也就是说图片和石头的图片一样
setHardness(1.5F)是设置石头硬度和石头一样,硬度就是你需要多久可以破坏石块的时间参数
setResistance(10F)是抗性参数,也就是你的石头对于爆炸的抗性
setStepSound(soundStoneFootstep)是你走在该方块上时候的声音,这里设置和石头一样
这就搞定了方块的创建,哈哈,看似简单啊,不知道实际操作有啥难度,同学们自己尝试去吧,我看热闹~这样创建出来的方块可以使用单机命令或者OP的命令调出来/give 92,你懂的……
下面是关于这个方块的合成语句编写
1.打开CraftingManager.java
2.你可以立即从这个class文件的结构表里找到添加合成菜单功能(addRecipe function)这一项
3.找到这个文件的最后一行然后加入我们的合成菜单公式
addRecipe(new ItemStack(Block.example, 1), new Object[] {&##&, &##&, Character.valueOf('#'), Block.dirt}); 复制代码这句不难,意思是4块土可以合成一个你制造的新方块
new ItemStack(Block.example, 1)这句表示将生成什么方块,1代表数量
new Object[] {&##&, &##&, Character.valueOf('#'), Block.dirt}表示这个物品如何合成,相信##,##是代表第一行放2个#第二行也放2个#,后面是对#这个物品的定义,给出的是土块,也就是说由4个土块合成,合成的摆放如下
[dirt] [dirt]
[dirt] [dirt]
第三节、创建新物品类型1.你需要在scr目录下创建一个新文件ItemExample.java2.语法结构如下:package net.minecraft.public class ItemExample extends Item{& & public ItemFood(int i)& & {& && &&&super(i);& && &&&maxStackSize = 64;& & }& & public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)& & {& & }}复制代码3.添加该物品到物品清单里,打开item.java这个文件4.找到文件底部大量的实例变量处,添加一个新的变量public static Item example = (new ItemExample(95)).setIconIndex(42);复制代码
这样的话,你将建立一个新的物品,编号ID为256+95,这里我不明白为什么是256+95,还请高手来指点。物品的图像时42号。因此看起来像是一个标志,这个物品没有任何属性,也不能组合得到。但当你编译并运行MOD后会发现这个新物品。
额~原帖的观众提问(1)一起翻译吧,我想应该会碰到同样问题……THX的这个教程,但是我卡在“recompile.bat“,因为当我运行它,它说:
Thx for this tutorial, but Im stuck at &recompile.bat& because when I run it, it says:
Finding javac.exe... if you want to speed this up, add it to your PATH
'C:\Users\Hypothawits\minecraft' is not recognized as an internal or external command
operable program or batch file.
Unable to locate javac.exe. Please verify that it is in the PATH.
If you don't know where to get it, please visit
k/java/javase/downloads/index.html and download a JDK.
Press any key to continue . . .提问者不知道如何更换路径回答如下作者说,我想你应该没有足够的程序知识,最基本的应该添加JAVAC到指定路径,GOOGLE可以帮你(我X,等于没说)例如...这里有一个地址:
你可以通过键入javac这样一个命令外壳/提示符来测试是否配置正确~~
额~前两天一直无法登陆论坛就把这个帖子放这里了,23日今夜继续
观众提问(2)观众提问真的是很有意思的一个环节,这里有一个观众提问非常有意思ManxAndrew小朋友提问到:好吧,我一直在研究我的标枪~你帮我看看我的尝试package net.minecraft.// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.// Jad home page: http://www.kpdus.com/jad.html// Decompiler options: packimports(3) braces deadcode public class ItemSpear extends Item{& & public ItemSpear(int i, int j)& & {& && &&&super(i);& && &&&maxStackSize = 1;& && &&&maxDamage = 44 &&& && &&&if(j == 3)& && &&&{& && && && &maxDamage *= 4;& && &&&}& && &&&weaponDamage = 4 + j * 2;& & }& & public float getStrVsBlock(ItemStack itemstack, Block block)& & {& && &&&return 1.5F;& & }& & public void hitEntity(ItemStack itemstack, EntityLiving entityliving)& & {& && &&&itemstack.damageItem(1);& & }& & public void hitBlock(ItemStack itemstack, int i, int j, int k, int l)& & {& && &&&itemstack.damageItem(4);& & }& & public int getDamageVsEntity(Entity entity)& & {& && &&&return weaponD& & }& & public boolean isFull3D()& & {& && &&&& & }& & private int weaponD}复制代码文件名 ItemSpear.java然后是合成菜单公式一个X两个#自左上向右下排列:craftingmanager.addRecipe(new ItemStack(Item.spear, 1), new Object[] {& && & &&&X&, & # &, &#&&&, Character.valueOf('X'), Item.flint, Character.valueOf('#'), Item.sticks& &});复制代码下面的合成公式放在RecipesWeapons.java里
最后加上如下程序
public static Item spear (new ItemSpear(101, 0)).setIconIndex(53);复制代码唯一看的懂的一句,给出物品代码并赋予图标
做好了以后看起来就像一个棒棒,那又如何?观众很幽默
不过观众问:我重新编译了以后,为什么没有作用,并且已经重新代码混淆,放入minecraft.jar里面也没有效果?怎么办涅?
楼主回答:不知道你有没有看我那篇关于编译日志的文章~
我COPY了你的代码重新编译,发现在编译日志里面有一个错误说&Item.sticks& not found,于是我修改了你文件名为&Item.stick&就搞定了
合成图片如下
kgfoy.png (108.89 KB, 下载次数: 192)
00:58 上传
同时我也发现你使用了MODLOADER处理craftingmanager.addRecipe(...) ,我没有使用过这个层次的软件,所以我不知道它和MCP是否兼容良好,如果再有问题估计就是上面情况造成的……目前代码都OK可以用了
观众又问,我修改了图片,可发现没用
作者说,你修改的图片路径应该是/temp/minecraft/gui/item.png file.
第四节 制作一个用于火炉的新方块类型
这一节我们学习如何制作一个新的方块类型用于可以在火炉里燃烧的材料,因为功能的需要我们需要把物品加入到火炉燃料类型里。如果你的新方块类型是按照前面的课程制作的,现在你需要做的就是把它转化成一个可熔炼物品。这里一共需要3个步骤1、查找火炉定义首先你需要找到“TileEntityFurnace.java”这个文件,该文件放置于MINECRAFT的SRC目录下。这个文件的位置比较靠下,为了方便查找,你可以使用按T键的方式进行快速检索。
2、定位并增加新定义在 &TileEntityFurnace.java&文件里找到&private int getSmeltingResultItem(int i)&这个语句在这里你可以添加关于你的可熔炼物品的状态。确定你已经有了一个新方块,现在我们需要做的就是把你已经做好的方块和将要熔炼出来的方块做一个信息链接。这将和前面讲的实例有一个连接& & private int getSmeltingResultItem(int i)& & {& && &&&if(i == Block.oreIron.blockID)& && &&&{& && && && &return Item.ingotIron.shiftedI& && &&&}& && &&&if(i == Block.oreGold.blockID)& && &&&{& && && && &return Item.ingotGold.shiftedI& && &&&}& && &&&if(i == Block.oreDiamond.blockID)& && &&&{& && && && &return Item.diamond.shiftedI& && &&&}& && &&&if(i == Block.sand.blockID)& && &&&{& && && && &return Block.glass.blockID;& && &&&}& && &&&if(i == Item.porkRaw.shiftedIndex)& && &&&{& && && && &return Item.porkCooked.shiftedI& && &&&}& && &&&if(i == Item.fishRaw.shiftedIndex)& && &&&{& && && && &return Item.fishCooked.shiftedI& && &&&}& && &&&if(i == Block.cobblestone.blockID)& && &&&{& && && && &return Block.stone.blockID;& && &&&}& && &&&if(i == Item.clay.shiftedIndex)& && &&&{& && && && &return Item.brick.shiftedI& && &&&} & && &&&if(i == Block.example.blockID)& && &&&{& && && && &return Item.example.shiftedI& && &&&} else& && &&&{& && && && &return -1;& && &&&}& & }复制代码
基于之前的三节课,我们物品名字最好和之前的有一个继承,这样在使用起来更加的方便不会造成混淆。定义物体名字的时候最好有相应的实体类型,比方说你要创造方块,那么你最好物品类型前面加BLOCK,如果是物品,那么你最好都加上ITEM这样的单词,这样一方面便于修改也方面查找,相信编程序的人都知道,这是一个好的习惯。(如BlockBronze, ItemBronzeIngot)& && & if(i == Block.example.blockID)& && &&&{& && && && &return Item.example.shiftedI& && &&&} 复制代码
如果遗漏上面的语句,此语句是关于最后生成熔炼物品的语句,此句是用于定义火炉将方块类型烧成物品类型的关键语句。务必将次语句加在最后一组if和else之间。
3、完成物品并赋予真实物品名在范例里面我们对于物品名和方块名都采用“Example”的命名方式。这里我们再重复以上步骤方面理解,你可以注意到第一行是方块类型,第二行是物品类型。需要注意的是,你必须重复多个步骤以保证分别创造了方块和物品两个东西。
我们定义(方块类型) BlockOre在Block.java这个文件里public static final Block blockB复制代码同时在方块类型里定义方块的静态属性blockBronze = (new BlockOre(92, 113)).setHardness(3F).setResistance(5F).setStepSound(soundStoneFootstep);复制代码
请注意:92是物品的ID,113是调用图片“terrain.png”中的铁块,这里没必要在BLOCK.JAVA文件里添加新方块类型,因为是举例嘛,当然如果你需要制作自己的MOD的时候就需要自己创建一些列的东西啦。
untitled.jpeg (10.18 KB, 下载次数: 150)
00:26 上传
新方块和新的金属锭物品
现在我们在ITEM.JAVA里定义新物品public static Item ingotBronze = (new Item(95)).setIconIndex(60);复制代码
请注意:95是物品ID,60是调用图片“/gui/items.png”同样这里我们也没有添加任何新的物品类型而只是直接调用item.java里已经有的资料而已,当然你如果要自己闯将新MOD,自然要自己开发啦。
现在我们已经正确的定义了物品和方块,物品已经添加进去。我们看下炉内的燃烧合成状况
ewer.jpeg (47.92 KB, 下载次数: 147)
00:36 上传
最后,把为炉子定义的方块类型和物品类型添加到TileEntityFurnace.java这个文件中去private int getSmeltingResultItem(int i)& & {& && &&&if(i == Block.blockBronze.blockID)& && &&&{& && && && &return Item.ingotBronze.shiftedI& && &&&} else& && &&&{& && && && &return -1;& && &&&}& & }复制代码
第五节 制作一个新方块类型
在本教程中我将解释如何创建自定义块的行为,而不是默认的行为。这一切是基于并归结为在Block.class覆盖的方法。这样可以创建一些当点击是会有反馈动作的物品(见下面的例子),是一个具有红石电源功能,爆炸以及...基本上任何事情都有可能..(我想你懂的,你要你能搞出什么怪玩意就加上去吧)
可部署的房子所以下面我将提供一个加入到我们的例子块类的功能,当此方块被点击后,方块将创建一个基本的房子。明白什么意思么,当方块被放置后,一旦被点击将创建一个房子~~十分强大啊!!!
此代码将需要添加到BlockExample类里。
& &public void onBlockClicked(World world, int i, int j, int k, EntityPlayer entityplayer)& &{& && &// Basic Building& && &int block = Block.wood.blockID;& && &int size = 5;& && &for (int i1 = 0; i1 & i1++)& && &{& && && &for (int j1 = 0; j1 & j1++)& && && &{& && && && &//Walls & && && && &// i == ++ k == 0& && && && &world.setBlockWithNotify(i+i1,j+j1,k,block);& && && && &// i == ++ k == 4& && && && &world.setBlockWithNotify(i+i1,j+j1,k+(size-1),block);& && && && &// i == 0 k == ++& && && && &world.setBlockWithNotify(i,j+j1,k+i1,block);& && && && &// i == 4 k == ++& && && && &world.setBlockWithNotify(i+(size-1),j+j1,k+i1,block);& && && && && && && && &//Roof& && && && &world.setBlockWithNotify(i+i1,j+(size-1),k+j1,block);& && && && &//Floor& && && && &world.setBlockWithNotify(i+i1,j,k+j1,block);& && && &}& && &}& && &//Door& && &world.setBlockWithNotify(i+1,j+2,k,0);& && &world.setBlockWithNotify(i+1,j+1,k,0);& && &//Windows& && &int offset = size % 2 == 0 ? (size / 2) - 1 : (size / 2);& && &world.setBlockWithNotify(i,j+offset,k+offset,Block.glass.blockID);& && &world.setBlockWithNotify(i+offset,j+offset,k,Block.glass.blockID);& && &world.setBlockWithNotify(i+(size-1),j+offset,k+offset,Block.glass.blockID);& && &world.setBlockWithNotify(i+offset,j+offset,k+(size-1),Block.glass.blockID);& && &//Utilities& && &world.setBlockWithNotify(i+1,j+1,k+(size-2),Block.crate.blockID);& && &world.setBlockWithNotify(i+(size-2),j+1,k+1,Block.workbench.blockID);& && &world.setBlockWithNotify(i+(size-2),j+1,k+(size-2),Block.stoneOvenIdle.blockID);& &}复制代码但你搞完上面的代码,就可以得到一个如下的房子啦,凑合住还行吧,哈哈~~
此法可以通过覆盖方块类型文件创建诸如上图功能的方块。
楼主你太帅了~
Mcbbs有你更精彩~
Mcbbs有你更精彩~
只是因为没看懂。。。
楼主你太帅了~
虽然看不懂但还是支持下...
太有帮助了
我和楼主条件是一样的,现在正在学习JAVA。.
Mcbbs有你更精彩~
我居然看到了ToNick
Mcbbs有你更精彩~
Mcbbs有你更精彩~
这不顶不行啊
很棒的作品!
果断复制你的前言
好像很复杂。
很有参考价值。但实际使用后发现新增物品的.
正需要这个哇
虽然看不懂,但是我还会再来看的。楼主辛苦.
帖子永久链接:&<button type="submit" class="pn" onclick="setCopy('http://www.mcbbs.net/thread-.html', '帖子地址已经复制到剪贴板您可以用快捷键 Ctrl + V 粘贴到 QQ、MSN 里。')">点击复制Minecraft中文论坛 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖若有内容转载自其它媒体,不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予以删除并致以最深的歉意
7、管理员和版主有权不事先通知发贴者而删除本文
很期待你的教程,希望能够写的通俗易懂!
~~& &如果是代码的话。你可以添加到代码里面。别人直接可以复制代码了。发帖的时候 FLASH&&的左边某一个按钮!
已经修改,呵呵,一开始我试验不能引用,现在正常了&
其实我更期待API。。。
同求API.........顺便问一下MC的.CLASS只能用MCP反编译么?&
api是什么东东?&
额。 就是MC游戏MOD制作调用的类库信息。
我只找到craftbukkit服务端的API,但找不到MC的。。。
craftbukkit服务端API
可以把 最初的那个初级教程~链接一下在这帖子里!方便新手!
代碼混淆(Obfuscated code)是:將電腦程式的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式的行為。
轉至維基百科
哟~~LZ真的着手翻译了呢……呵呵,加油哦~我考完试一起帮你翻~
这篇翻译意义非凡,感谢楼主!!四、使用Eclipse
你可以使用Eclipse来写你的MOD,调试编码,编译编码,运行编码,当你长时间调试时,它会跟你剩下很多时间。
看到个通假字:
“剩下”应为“省下”
...........&
5.你生成的class文件将全部放在C:\MCP\final_out\minecraft\目录下,你可以把这些做好的MOD防盗MINECRAFT.JAR里面就可以玩自己的MOD了
“防盗”应为“放到”
添加你的class(class是java编译好的类型文件)到文件里
应强调是添加你修改过的class文件名
3.现在你需要把这个块添加到程序里以便让程序可以调用,因此,需要打开block.java(俺不知道这个文件放哪里,请实际操作过的同学告诉我)
在MCP\sources\minecraft\net\minecraft\src
里有Block.java
MCP2.12出了,终于可以拆1.5了
mc已经1.8.1了&
都1.6.6了,後續希望阿,不然無聊沒東西看
MCP下载地址挂了
其实我只是想知道编译的命令而已- -java学了六年居然连jdk的编译命令都不知道大丈夫ですか
第五节 制作一个新方块类型
//Utilities
& && &world.setBlockWithNotify(i+1,j+1,k+(size-2),Block.crate.blockID);
& && &world.setBlockWithNotify(i+(size-2),j+1,k+1,Block.workbench.blockID);
& && &world.setBlockWithNotify(i+(size-2),j+1,k+(size-2),Block.stoneOvenIdle.blockID);
里的& &world.setBlockWithNotify(i+1,j+1,k+(size-2),Block.crate.blockID);显示代码错误没有crate这个方法
求解。。。。。
虽然 看不太懂 ,但是这么多东西,一看就不容易&
太棒了,不过我看不懂。建议搞成视频。&
把crate改成其他方块的名字就行了 例如tnt&
""以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。
版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。求7*e=1 (mod 20) 的值
e怎么会等于3的?
x≡y (mod n),n是正整数。
意思是:n能够整除x-y,x与y都是正整数。
对于本题来说:7e-1能够被20整除,e的最小值是3
其他答案(共1个回答)
答: 垂直于同一条直线的两个平面互相平行这句话是对的。常被用来判定两个平面平行。证明过程在:人教版高中第二册(下)(2004年9月第一版)的第30页,例一。
答: 学习要学好,有三个重要因素:一是兴趣,二是技巧,三是毅力。
先培养孩子对数学的兴趣,比如在孩子解出难题的时候给予表扬,告诉孩子你真聪明、可以把数学学好等,树立孩...
答: 友情帮顶,祝楼主早日找到自己想要的答案.
祝你身体健康,笑口常开!!!
答: 求证类型 求解类型
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区MOD制作达人看过来,求教【骑马与砍杀吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:448,840贴子:
MOD制作达人看过来,求教
目前打算制作一个入侵中世纪的剧本1257AD+实与虚+战风+中文站资源因为用了太多别人的资源所以不能作为MOD发布目前遇到了一点点困难,也就一点点而已兵种我都做好了目前的困难是怎么建立一个人物,和他对话可以把队伍的俘虏全化为同级别兵种这个人物可以是城堡的管家,或者某个NPC,甚至在酒馆活动转化时降一阶1.低级兵=破烂的骷髅(属性渣渣一推就倒,带面小盾和15伤害的破剑)2.高级兵=骷髅战士、矛兵、、投手3.低级骑兵和侍从=精锐骷髅战士(护甲较高)4.各国骑士=恐怖骑士侍从、骑士侍从、幽灵骑士侍从-另一个问题是招募普通兵种的方法,为了不被电脑招募,我打算设定成对话招募每个城市“到街上看看”时,在晚上多出一个“墓园看守”NPC(晚上出现的代码参考紧张不安的人晚上不出现,设定成白天不出现就可以了)“我可以看看新货么?”“嘘,安静些,他们就开要醒来了。”然后打开一个类似酒馆老板对话募兵的界面。-如果这个实现不了我打算借用《日暮西山》的作弊界面对话招兵的方法我试过采用实与虚物品制作士兵的系统,失败了……
找骑马场?来海澜马术俱乐部,超大马术训练场地,还有高水平马术表演!另有占地8000平米的马文化博物馆,品味饕餮文化盛宴.
现在求一下对话招募士兵的代码……
希望实现对话,开启招募士兵界面或者对话,“你需要什么士兵?”然后选择阵营、兵种和数量
目前粗通魔球修改,TXT修改属于新手水平(关键是英文太难分辨)MOD资源提取与导入,3D模型简单地制作与拼接,粒子系统简单制作希望大神们在我的能力范围给我点意见……
拜见大神                  --天没降大任于我,照样苦我心智,劳我筋骨
PY完全不会用……所以不要提PY求个简单的方法
为了最大化减少难度我增加了一个NPC现在想要修改和这个NPC的对话,能给我一些建议么?
   ———这是一条小尾巴呀小尾巴  (~ ̄▽ ̄)~
骑马与砍杀万人国策战略游戏,还原真实古战场,真正公平竞技体验,无需下载,注册即玩!
╮(╯▽╰)╭精神支持
人才(&^ω^&)喵
实在不行的话只能改威尔士兵种的进化方向了……像是威尔士或者盖尔、苏格兰贵族这些独特兵种只有几个地方出,升级成亡灵兵种还是可以的。比如威尔士,每个威尔士兵种的升级都变成亡灵,就可以有一个完全亡灵的城市了。给威尔士的几个领主换上死亡骑士装备。……先这么办吧。
你可以这样,添加一个特殊的物品, 然后给那个物品上一个触发器——天黑时增加N个士兵,然后物品销毁。
物品出处自由设定
治好了请@我还有免费吗……我也是蛮支持你的……
贴吧热议榜
使用签名档&&
保存至快速回贴

我要回帖

 

随机推荐