收起左侧

[求助] 【自制地图】关于土著部落不能建设

[复制链接]
POLICE1994发表于 2020-3-14 22:43:04
昨天晚上突然想自制地图完,随机地图的那种,不是自定义剧情
然后去 观看了 帝国时代3修改圣典 准备学习,但是看到了 劝退率99.95%,当时心就凉了,然后用那个自动生成的试了一下,唉,不行,不是自己想象中的,然后就

决定:做那0.05%的人

通过一晚上的学习,尝试,发现并不是那么难,虽然我也没有学过编程,没有学过C语言,但是没吃过猪肉总看过猪跑啊,然后照搬大佬@青天小羽 制作的地图来学习,花了一晚上的时间,从零开始,最后竟然做成功了!跟着大佬的教程走,非常感谢大佬。建议大家想学的认真看看那个宝典,一定要认真看,你会发现,其实命令也就那几条,最后做出来,还是蛮有成就感的。

最后问题来了:按照上面制作的土著部落不能联盟也就是说不能在上面建立房子,希望大佬能够解答新的教程。

感谢大佬@青天小羽 也欢迎和大家一起探讨制作地图的方法和学习新的经验。
こはね发表于 2020-3-15 00:22:11
@错人了,那人已经隐退很久了
こはね发表于 2020-3-15 00:26:00
似乎是在写放置群组教程的时候忽略了土著贸易站的问题,旧版有这个
在顶部添加rmSetSubCiv(int index, string civName, bool big) 即可,你搜索一下其他地图就明白了
327255e6d051789097.png
  • POLICE1994 : 是的,看了这个旧版的,但是还是没有搞好,然后看你做的中国地图AGG,就修改成功了。谢谢!不好意思@那里是复制的 宝典 里面的,刚刚看到你你ID,我还以为我复制了,又看了那个宝典,啊啊啊啊,新人报道,多多关照!!
  • こはね 回复 POLICE1994 : 
POLICE1994发表于 2020-3-15 00:46:49
已经解决了,哈哈,又是偷窥大佬的  中国地图AGG  发现的,

// Set up Natives
int subCiv0 = -1;
int subCiv1 = -1;
int subCiv2 = -1;
subCiv0 = rmGetCivID("mapuche");
subCiv1 = rmGetCivID("Jesuit");
subCiv2 = rmGetCivID("Zen");
rmSetSubCiv(0, "mapuche");
rmSetSubCiv(1, "Jesuit");
rmSetSubCiv(2, "Zen");

int NativeCenter2ID = rmCreateGrouping("Native Center ID", "native mapuche village "+rmRandInt(rmRandInt(1,2),rmRandInt(3,rmRandInt(4,5))));
rmSetGroupingMinDistance(NativeCenter2ID, 0.0);
rmSetGroupingMaxDistance(NativeCenter2ID, rmXFractionToMeters(0.5));

就是这里要对应,大佬之前用的是 shaolin ,我看了那个部落的名称,那里的shaolin和这里的mapuche位置对应很相似,就改了一下,进入游戏,居然可以了,哈哈,开心

【解决】
POLICE1994发表于 2020-3-15 14:04:54
又出现了一个问题:
就是加入少林寺群组后,因为少林寺的后面的数字是01,02,03,不是1,2,3 我想使用随机语句@青天小羽
int ShaolinID = rmCreateGrouping("Shaolin A", "native shaolin temple mongol 04"+rmRandInt(rmRandInt(1,2),rmRandInt(3,rmRandInt(4,5))));

int ShaolinID = rmCreateGrouping("Shaolin A", "native shaolin temple mongol 04"+rmRandInt(rmRandInt(01,02),rmRandInt(03,rmRandInt(04,05))));

int ShaolinID = rmCreateGrouping("Shaolin A", "native shaolin temple mongol "+rmRandInt(rmRandInt(1,2),rmRandInt(3,rmRandInt(4,5))));

int ShaolinID = rmCreateGrouping("Shaolin A", "native shaolin temple mongol "+rmRandInt(rmRandInt(01,02),rmRandInt(03,rmRandInt(04,05))));
都不能生成部落
唯有可以生成的
int ShaolinID = rmCreateGrouping("Shaolin A", "native shaolin temple mongol 04");

不知道咋办
こはね发表于 2020-3-15 15:38:06
POLICE1994 发表于 2020-3-15 14:04
又出现了一个问题:
就是加入少林寺群组后,因为少林寺的后面的数字是01,02,03,不是1 ...

必须对应群组名称,多一个空格少一个空格都不行。
假设所有随机数为1,那么你的群组名称如下:
第一个native shaolin temple mongol 041
第二个native shaolin temple mongol 041
第三个native shaolin temple mongol 1
第四个native shaolin temple mongol 1
第五个没有用随机数,正确native shaolin temple mongol 04

第四个因为int随机数自动去掉了0,所以返回的是1

正确写法是rmCreateGrouping("Shaolin A", "native shaolin temple mongol 0"+rmRandInt(rmRandInt(1,2),rmRandInt(3,rmRandInt(4,5))));

手机编辑的,不知道有没有错.
跳转到