群星
ParaWikis
Notice
: Undefined index: HTTP_ACCEPT_LANGUAGE in
/data/wwwroot/www.parawikis.com/skins/Liberty/LibertyTemplate.php
on line
185
最新百科
都市天际线2百科
英雄无敌3百科
维多利亚3百科
奇妙探险队2百科
罪恶帝国百科
英白拉多:罗马百科
热门百科
群星百科
欧陆风云4百科
十字军之王2百科
十字军之王3百科
钢铁雄心4百科
维多利亚2百科
ParaWikis
申请建站
ParaWikis
ParaCommons
最近更改
随机页面
加入QQ群
工具
链入页面
相关更改
特殊页面
页面信息
页面值
阅读
编辑
编辑源代码
查看历史
讨论
编辑“
System modding
”(章节)
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
===Unary Systems=== A unary system consists of just one star and a handful of planets and moons. These are the most common types of systems in Stellaris, and we'll start our tutorial by making one. @base_moon_distance = 10 my_system_initializer = { name = "My System" class = "rl_standard_stars" asteroid_belt = { type = rocky_asteroid_belt radius = 70 } planet = { class = star size = { min = 25 max = 30 } orbit_distance = 0 orbit_angle = 1 } change_orbit = 10 planet = { class = pc_arid orbit_distance = 30 orbit_angle = { min = 90 max = 270 } init_effect = { prevent_anomaly = yes generate_primitives_on_planet = yes } change_orbit = @base_moon_distance moon = { count = { min = 0 max = 1 } class = pc_molten orbit_distance = 5 orbit_angle = { min = 90 max = 270 } } } change_orbit = 30 planet = { count = { min = 1 max = 4 } class = pc_asteroid orbit_distance = 0 orbit_angle = { min = 90 max = 270 } } planet = { count = { min = 3 max = 6 } orbit_distance = 20 orbit_angle = { min = 90 max = 270 } change_orbit = @base_moon_distance moon = { count = { min = 0 max = 1 } orbit_distance = 5 orbit_angle = { min = 90 max = 270 } } } neighbor_system = { trigger = { num_guaranteed_colonies >= 1 } distance = { min = 10 max = @distance } initializer = "sol_neighbor_t1_first_colony" } } As before, let's go over each element one by one. @base_moon_distance = 10 my_system_initializer = { name = "My System" class = "rl_standard_stars" asteroid_belt = { type = rocky_asteroid_belt radius = 70 } * "@base_moon_distance" is a variable that can be set in each solar system initializer file. It's not strictly needed, but can be useful if you want to play around with moon orbit distances en masse rather than one at a time. All vanilla solar systems use 10 by default. * "my_system_initializer" is, again, the name the game code uses to identify this system. No need for localisation this time; the name the player will see is right there below it (in this case, "My System"). * "class" is, of course, the star class. You can use a specific class such as ''sc_b'', or a random list such as ''rl_standard_stars'', which chooses a random one based on the spawn_odds in each star's code. * "asteroid_belt" adds an asteroid belt at a certain distance from the center of the system -- '''''not''''' necessarily from the sun! We'll get to that later. "type" refers to either a ''rocky'', ''icy'', or ''crystal'' asteroid belt, plus any others that one might mod into the game. Now for the system's sun. Note that the star is, as I mentioned above, considered a planet by the game engine. planet = { class = star size = { min = 25 max = 30 } orbit_distance = 0 orbit_angle = 1 } * "class", in the context of a planet refers to the planet class. Using "class = star" will make it the star class that matches the star type, so if we'd used ''sc_b'' above, the star would be ''pc_b_star'' -- a Class B Star. You can use ''pc_b_star'' anyway if you want, but that can cause complications with star lighting and, in a binary/trinary system, planet naming. More on that below. Anyway, just using "class = star" for the stars is recommended unless you have a good reason not to. * "size" is the size of the planet. This used to refer to the number of planet tiles, but since tiles are obsolete in general and useless on stars anyway, it just makes the star appear bigger or smaller. A size range of 20-35 is recommended for stars, since smaller than that looks silly and larger can swallow up ships flying overhead. * "orbit_distance" is the distance from the previous element, or if no such element exists, the system's center. For the lone star in a system, you naturally want this to be 0. * "orbit_angle" is the orbital angle from the previous planet, so if the previous had an angle of 30, using "orbit_angle = 20" would give it an overall angle of 50. Again, for the central star, this doesn't matter so you can use any old number. Most vanilla stars use 1 for some reason, so that's what I did here. Now that the star is done, let's move on to the first planet. change_orbit = 10 planet = { class = pc_arid orbit_distance = 30 orbit_angle = { min = 90 max = 270 } init_effect = { prevent_anomaly = yes generate_primitives_on_planet = yes } * "change_orbit" increases the spacing between planets (in the system scope), or between a planet and its first moon (in the planet scope). * "class = pc_arid", so it will be an [[File:Planet arid.png|25px]] Arid World. * "orbit_distance = 30" adds 30 units of space between the planet and the last element (in this case, "change_orbit = 10", so its total distance from the sun is 40 units). * "orbit_angle = { min = 90 max = 270 )" is pretty straightforward: a random angle, within ninety degrees of the previous element. * "init_effect" allows you to apply [[effects]] and [[scripted effect]]s to the planet upon system generation. It can also be used in the system scope if you want to apply an effect to the system as a whole instead of just one planet. ** "prevent_anomaly" is an effect that disables [[Anomaly|anomalies]] from appearing on this planet. ** "generate_primitives_on_planet" is a scripted effect that creates a [[pre-FTL species]] on this planet. Now for a moon. change_orbit = @base_moon_distance moon = { count = { min = 0 max = 1 } class = pc_molten orbit_distance = 5 orbit_angle = { min = 90 max = 270 } } } * "change_orbit = @base_moon_distance" here adds 10 units of distance between the planet and its moon as indicated in the @ variable. * "count = { min = 0 max = 1 }" to randomize the number of moons between 0 and 1. You can go as high or as low as you want with this, though usually in vanilla you won't find more than 1 moon unless the planet is a gas giant. * "class = pc_molten" (for a [[File:Planet molten.png|25px]] Molten World). * "orbit_distance = 5" (for a total of 15, including the "change_orbit" above). * "orbit_angle = { min = 90 max = 270 }", for the same randomized orbit angles as used in the planet itself. change_orbit = 30 planet = { count = { min = 1 max = 4 } class = pc_asteroid orbit_distance = 0 orbit_angle = { min = 90 max = 270 } } Time to fill out the asteroid belt. We use "@change_orbit" again, this time keeping a close eye on the number used so that the total number of space used matches the 70 defined in the asteroid belt at the top of the file. Now we add the asteroids, making sure that "orbit_distance = 0" for all of them. We want them inside the asteroid belt, after all! "orbit_angle" is a little tricky here: since the asteroids are all in the same orbit, it's possible that they might clip together. You can get away from that by directly choosing their specific orbit angles. If your asteroid belt is icy rather than rocky, use "pc_ice_asteroid" instead of "pc_asteroid". If it's crystalline, use "pc_crystal_asteroid" or "pc_rare_crystal_asteroid". planet = { count = { min = 3 max = 6 } orbit_distance = 20 orbit_angle = { min = 90 max = 270 } change_orbit = @base_moon_distance moon = { count = { min = 0 max = 1 } orbit_distance = 5 orbit_angle = { min = 90 max = 270 } } } More planets! We'll leave "class = " out for these ones, allowing them to spawn as whatever the game engine wants them to be (based on the criteria spelled out in ''common/star_classes''). The number of planets is also randomized between 3 and 6, each of which has 0 to 1 moons. neighbor_system = { trigger = { num_guaranteed_colonies >= 1 } distance = { min = 10 max = @distance } initializer = "sol_neighbor_t1_first_colony" } } *"neighbor_system" tells the game to spawn another, specific system within a certain distance of this system, and under what criteria. Pretty self-explanatory.
摘要:
请注意您对群星百科的所有贡献都被认为是在知识共享署名-非商业性使用-相同方式共享下发布,请查看在
群星百科:版权
的细节。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源。
未经许可,请勿提交受版权保护的作品!
为防止机器编辑,请完成下方验证
取消
编辑帮助
(在新窗口中打开)
×
登录
密码
记住登录
加入群星百科
忘记密码?
其他方式登录