| General | Hosted Sites | Civ5 | CivRev | Civ4Col | Civ4 | Civ3 | Civ2 | Civ1 | Misc | Marketplace |
![]() |
|
|
Welcome to Civilization Fanatics' Center. You are currently viewing our site as a guest which gives you limited access to our site features. By joining our free community, you will be able to participate in the discussions, search the forum, send private messages, vote in polls, upload your own screenshots to the gallery, and access many other special features. Registration is fast, simple and absolutely free, so sign up today! If you have any problems with the registration process or your account login, please contact support. |
|
|||||||
![]() |
|
|
Thread Tools |
|
|
#41 | |
|
Deity
Join Date: Jul 2009
Location: Texas
Posts: 2,936
|
Quote:
I haven't looked at the scrip to see what the GetIndex function is doing, but I have to assume it is basically the equivalent of "mmap.plotNum(xx,yy)". If so, then what the "if" statement immediately after it doing is making the function return false if you ware within 25% of the map width or height of an edge. I assume the function is used to allow the placement of a wormhole. If so, then that first "if" makes it impossible for you to place one within a very wide border around the edge of the map. The second "if" condition is insisting that every single plot in the very wide area must have the same feature on it. I seriously doubt that you will find any region measuring half the side of the map in both directions where every single plot has the same feature. Thus it will effectively always return false. If the thing calling this loops until it returns true, then this would make it an infinite loop. My suggestions, based on some assumptions about what you really want: In the first "if" make it a "continue" instead of a "return False" so that the loops will keep looping, just skipping the rest of the statements in the loop when the plot is off the map (if that's what i = -1 means) For the second "if" it is less clear what you want. I am guessing that what you really want is to find out if there is already some feature (a wormhole, I expect) in the area. In that case, change the condition from "!=" to "==", so that you will bail out if you find the feature instead of bailing out if you don't find the feature. Last edited by God-Emperor; Jul 29, 2009 at 01:27 PM. Reason: even more typos than usual |
|
|
|
|
|
|
#42 |
|
Deity
|
There are actually three if statements there, though.
For the first one (the wide radius around the edge of the map), I'll delete that one. I changed the values of xStart, xEnd, yStart, and yEnd from the original checkForRoom function and didn't look to see where else they were used. So I'll just get rid of this part. For the second one (what you later say the first one), I'll change it to a continue. For the third one (the second one, as you say), you are correct in what I want... again, I based it off of the original function, where it is a "!=", but it's a "no feature", rather than a specific feature. I'll change it to a "==" Just tested it, it worked fine. Thanks God-Emperor!
__________________
Mods: Westward Ho, Final Frontier Plus, The Frozen Modcomps: Wormholes, Cloaking Devices, Blizzards, Betray Your Colony, Inhabited Planets, Advanced Ice Nodes Colonization Mapscripts: NorthAfrica.py, Continents.py, IceAge.py, Maze.py Utilities: Final Frontier Worldbuilder, Yet Another Mod Launcher |
|
|
|
|
|
#43 |
|
Deity
Join Date: Jul 2009
Location: Texas
Posts: 2,936
|
Oops. Bad editing - I left out the line that was supposed to say something like "The first one may be OK but the next two are probably wrong", with my later numbering refering to the two that were wrong. Fortunately you figured out what I meant.
Way back in highschool I had a math teacher who said that when at the blackboard she would write A, say B, think C, but really mean D. I am, fortunately, usually a step or two closer to what I really mean than that. You're welcome. |
|
|
|
|
|
#44 |
|
Templar
|
How can I add new features to this map and change the features used for spiral arms and the center of the galaxy. I have made new features but when I try to add them to this map it disappears from the map script selection screen. I even tried adding them to the original FinalFrontier.py but then the game crashed. I just copied and pasted code and changed the feature names.
__________________
"The definition of insanity is repeating the same behavior over and over again expecting different results." - Benjamin Franklin This isn't workingThe New MoreStuffMod! |
|
|
|
|
|
#45 | |
|
Deity
|
Quote:
In your XML, are the features added to the top or bottom of the file? There are apparently problems if you add to the top. (I used a module so it worked fine).
__________________
Mods: Westward Ho, Final Frontier Plus, The Frozen Modcomps: Wormholes, Cloaking Devices, Blizzards, Betray Your Colony, Inhabited Planets, Advanced Ice Nodes Colonization Mapscripts: NorthAfrica.py, Continents.py, IceAge.py, Maze.py Utilities: Final Frontier Worldbuilder, Yet Another Mod Launcher |
|
|
|
|
|
|
#46 |
|
Templar
|
They are at the bottom. I added the Quasar then I loaded the game and it didn't show up. Then I added the Spiral Arm and the mapscript wouldn't show up. It's possible this is from me adding to the FinalFrontier.py but I think it was this one. I know I was having problems with this particular one though.
__________________
"The definition of insanity is repeating the same behavior over and over again expecting different results." - Benjamin Franklin This isn't workingThe New MoreStuffMod! |
|
|
|
|
|
#47 | |
|
Deity
|
Quote:
The process to add a feature to this mapscript is quite complicated. Here's how I did it for WormholesSpiralGalaxy (and for the generic supernova when I did more complicated stuff) 1. Define how many of your feature to be placed per plot. I only wanted two on the entire map, so I don't have a value for this (so it's just the supernova). Put it at the top of the file: Code:
SupernovasPerPlot = 0.00042 Code:
ft = FeatureDef(self.featureWormhole)
ft.arcLength = 0.5
ft.arcLengthRange = 0.7
ft.arcLengthMaxChance = 1.0
ft.armDistance = 0.2
ft.armDistanceRange = 0.3
ft.armDistanceMaxChance = 0.5
self.featureDefList.append(ft)
Code:
self.featureWormhole = gc.getInfoTypeForString("FEATURE_WORMHOLE")
Code:
numSupernovas = int(float(numPlots) * SupernovasPerPlot) Code:
#Supernovas
numPlaced = 0
iterations = 0
while(True):
iterations += 1
if iterations > 20:
print "Not all supernovas could be placed!!!!!!!!!!!!!!"
break
if numPlaced == numSupernovas:
break
for n in range(len(plotList)):
x,y = plotList[n]
if self.shouldPlaceFeature(x,y,self.featureSupernova) and self.checkForRoom(x,y,self.featureSupernova):
numPlaced += 1
self.placeSupernova(x,y)
if numPlaced == numSupernovas:
break
print "Placed %(p)d out of %(n)d supernovas" % {"p":numPlaced,"n":numSupernovas}
Code:
def placeWormhole(self, x, y):
gc = CyGlobalContext()
mmap = gc.getMap()
xStart = x - 2
xEnd = x + 3
yStart = y - 2
yEnd = y + 3
for yy in range(yStart,yEnd):
for xx in range(xStart,xEnd):
if (yy == yStart or yy == yEnd - 1) and (xx == xStart or xx == xEnd - 1):
continue #skipping corners
plot = mmap.plot(xx,yy)
if x == xx and y == yy:
plot.setFeatureType(self.featureWormhole,0)
else:
plot.setFeatureType(self.featurePlaceHolder,0)
__________________
Mods: Westward Ho, Final Frontier Plus, The Frozen Modcomps: Wormholes, Cloaking Devices, Blizzards, Betray Your Colony, Inhabited Planets, Advanced Ice Nodes Colonization Mapscripts: NorthAfrica.py, Continents.py, IceAge.py, Maze.py Utilities: Final Frontier Worldbuilder, Yet Another Mod Launcher |
|
|
|
|
|
|
#48 |
|
Warlord
Join Date: Apr 2010
Location: Denmark
Posts: 106
|
...
Looks nice in the picture. I just hope i does the same in game
|
|
|
|
|
|
#49 |
|
Deity
Join Date: Jul 2009
Location: Texas
Posts: 2,936
|
It works well.
They are a bit larger (in total number of plots) than the regular Final Frontier map of the same size category but there are typically more unusable plots so it works out to a similar number of star systems (it might be slightly more). Exploration is a little harder and maintenance is a little higher due to things being a little more spread out.
__________________
Mod: Final Frontier Plus, version 1.81 released 27-June-2012 Mod: Rocks 2 Rockets, version 0 patch 0.3 released 9-April-2013 |
|
|
|
![]() |
| Bookmarks |
| Tags |
| final frontier, map script |
|
| Thread Tools | |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| [Map Script] PerfectWorld2.py | cephalo | Civ4 - Map Scripts | 753 | Jun 15, 2012 09:41 PM |
| [Map script]Creation.py for FFH2 | cephalo | FfH2 Modmods, Scenarios, and Maps | 421 | Jul 16, 2010 06:56 AM |
| [Map Script] PerfectWorld.py | cephalo | Civ4 - Map Scripts | 625 | Oct 30, 2009 11:00 AM |
| [Map Script] NewWorld.py | SevenSpirits | Civ4 - Map Scripts | 12 | Jan 25, 2009 09:40 AM |
| [Map Script]SpiralGalaxy.py for Final Frontier | cephalo | Civ4 BTS - Official Mods & Scenarios | 0 | Feb 12, 2008 06:16 PM |