To all SSC Station occupants
Thank you for the donations over the past year (2024), it is much appreciated. I am still trying to figure out how to migrate the forums to another community software (probably phpbb) but in the meantime I have updated the forum software to the latest version. SSC has been around a while so their is some very long time members here still using the site, thanks for making SSC home and sorry I haven't been as vocal as I should be in the forums I will try to improve my posting frequency.
Thank you again to all of the members that do take the time to donate a little, it helps keep this station functioning on the outer reaches of space.
-D1-
if you need a crickle for LUA check out this page
http://lua.gts-stolberg.de/en/index.php
it's nicely explained (at least in german, but it's a multilingual page, no fear, english, spanish and french is also present)
most can be used for pioneer as it's presented there.
unfortunately the "links" to keywords in the text pop up a ad., so take care where you point at.
apart from that, very helpful.
perhaps it will be helpfu to, to post some little examples from pioneer here, because i know many might be interested in scripting but are like me complete idiots in programming 🙄
ok, first what comes to my mind are models, but i know at least marcel will be interested.
i'm by myself not good or anything, but if something is handy, then it's handy.
the first handy thing for models i like to post here is a simple FOR loop, i even used it to less but it makes a lot of repetive things easier, so it's worth to spend a little time to get a little experienced with.
let's take a look at some existing stuff, it's tomms's old skyscraper "boring highrise"
info = {
scale = .75,
bounding_radius=200,
materials={'mat1','windows'},
tags = {'city_building'},
},
static = function(lod)
set_material("mat1", .35,.4,.3,1,.3,.3,.3,10)
use_material("mat1")
extrusion(v(0,0,20), v(0,0,-20), v(0,1,0), 1.0,
v(-20,0,0), v(20,0,0), v(20,200,0), v(-20,200,0))
set_material("windows", 0,0,.15,1, 1,1,1.5,100, .15,.15,0)
use_material("windows")
zbias(1, v(0,0,20), v(0,0,1))
for y = 4,198,5 do
for x = -17,16,4 do
quad(v(x,y,20), v(x+2,y,20), v(x+2,y+3,20), v(x,y+3,20))
end
end
zbias(1, v(-20,0,0), v(-1,0,0))
for y = 4,198,5 do
for x = -17,16,4 do
quad(v(-20,y,x), v(-20,y,x+2), v(-20,y+3,x+2), v(-20,y+3,x))
end
end
zbias(1, v(20,0,0), v(1,0,0))
for y = 4,198,5 do
for x = -17,16,4 do
quad(v(20,y+3,x), v(20,y+3,x+2), v(20,y,x+2), v(20,y,x))
end
end
zbias(1, v(0,0,-20), v(0,0,-1))
for y = 4,198,5 do
for x = -15,17,4 do
quad(v(-x,y+3,-20), v(-x+2,y+3,-20), v(-x+2,y,-20), v(-x,y,-20))
end
end
zbias(0)
end
})
the sequence that is of interest here is the splattering of the windows, instead to place each window with own coordinates on the wall he used a FOR loop,
that saves a lot of work for it.
let's look at a single one
for x = -17,16,4 do
quad(v(x,y,20), v(x+2,y,20), v(x+2,y+3,20), v(x,y+3,20))
end
end
what does that shit do? not very hard to explain,
"for y = 4,198,5 do" means "for each step of, start at 4, end at 198, with a stepwith of 5, do"
this produces our coordinates for the y vector as follows 4,9,14,19,24... and so on upto 198 (doesn't matches? doesn't matters here).
in increments, that's why "i" is default to set for the variable, but you can use any letter, but take one that makes some sense in the loop when you look at it.
the next enclosed FOR loop is,
"for x = -17,16,4 do" which produces the x coordinates we need "start at -17, up to 16, stepwith 4.
then follows our geometry "quad" with the variables we get for "x" and "y" and the given plane "z" where they are placed on.
the size of the window is defined by adding of the needed values to "x" and "y" for the size, in this case each window is 2 units wide and 3 units high.
(usually the units equal meters in pioneer, but if you scale the model, it will be i.e. like this one, 0.75m each unit finally).
of course the FOR loop can handle a lot of other things, but like i said my interest is formost modeling.
besides, imo a example with a geometry (something you can imagine) is far better then to use anything else general valid.
further you can use anything dynamic as variable that stands for "i",
in this way i made the selection for the adverts to display, where i controlled the start value with the frequency controlled random numbers, so each increment has it's own starting value, while limit and stepwith are fixed resp. controlled either by a variable, for the adverts it's the number of adverts used as limit.
now it starts to get "powerful"...
[/hr]
well, i know marcel, i should have posted this "years" ago, you could have saved a lot of work with the "struts and girders" and the "lights" in your spacestation.
besides this model is working, feel free to use it 😉 (i will post a few more old refreshed models, just for fun and as examples).
[/hr]
something different,
i have a Q myself, perhaps someone knows the reason for this,
actually i'm placing the windows on the old factory (remember "ACME Bolts & Nuts"?), which is originally even from tomm, i only added back then some details and later on textures.
to the problem, im using a FOR loop to place the windows, but strangewisely it didn't acts as expected or not always, which confuses me because it's simpliest counting from - to and there should be no difference in the result, in no way.
i use following for the front side windows on the upper section,
for x = 0.5,16.5,4 do
local z = 0
zbias(1,v(x+1.5,y+0.5,z),v(0,0,1))
xref_quad(v(x,y,z), v(x+3,y,z), v(x+3,y+1,z), v(x,y+1,z))
end
end
ends in two rows of windows, last row is at 27m, means works through two times as expected
now i made a similar FOR loop for the right side,
for z = -19.5,-0.5,4 do
local x = 20
zbias(1,v(x,y+0.5,z+1.5),v(-1,0,0))
quad(v(x,y,z),v(x,y+1,z),v(x,y+1,z+3),v(x,y,z+3))
end
end
the only offense difference is that i start here at the bottom (1.7m), but i end even at 27m and have the same step width of 2.3, at 27m should be the last row of windows (last iteration). means works through only ten times instead eleven as expected.
BUT, it didn't works, it refuses, i have no idea why, ok, i can use 27.1 and the windows appear, but that's not what i expect and neither it is right, they have to be at 27 or else i'm crazy, can't count no more or whatever 😉 .
imo inaccuracies arn't possible 1+1 = 2, so i'm a little confused now.
but perhaps someone has a explanation for this behave, which i can't see.
actually, i'm still looking at the code and guessing, i see only one difference, the quad starts different, they do start at "bottom line" but the next vector is y+1, while in the upper example the quad starts at lower y next vector even lower y and then i go up to y+1 and again y+1.
i have no idea if this plays a role (i didn't think so), but i will check it.
nah even that wasn't a good idea it doesn't depends on the geometry, the variables are just variables, units to count nothing more.
Thanks, that's really useful information! I've been thinking of doing something just like that to put windows in those spacestations. 😀
whaaa? that get's difficult i guess, if you decided "big crappy", "hoop" won't be to hard because you have plane sides.
well, you could use a FOR loop to do the job even for "big crappy",
conditions,
- the round stuff (cylinders, lathe and such) must have fixed divisions, at least as long as the windows are visible, if it's small it can have less divisions.
this because else the dynamic changing divisions will "break" the windows once here once there.
- you will have to know how many degrees are the divisions, e.g. for a circle with 12 divs. 1 div. has 30°
i'm not to sure how that will work,
i guess best is create a model for it and place the windows only for one section with a FOR loop, after you can simply rotate that around the ring or the inner "tube".
(of course i can imagine to alter the coordinates with yet another FOR loop to get the proper values for the rotation, but possible or not it's far more complicated).
you won't have to create the sub-model for the windows at proper position, just start at "0" level (y) and use the with x and depth z of the space you get on one section of a cylinder or lathe (usually it's favorable to have "x 0" in the centre, but not necessary, depends on if you like to use "quad" or "xref_quad", or to say in other words it will result in this. "x 0" in the center you need "xref", "x 0" on the left side to get only positive values, you need only quads. but since we didn't rotate the model along his own axis it doesn't matters)
then "splatter" the windows over the range you have.
later when you rotate the model (a cool thing of the LMR) it can be moved to it's position, but it still rotates around v(0,0,0).
use in the call for the model 3.142/180*30 for the example of 30° to get the proper values for the rotation of the windows sub-model.
---
you can "cut up" the lathe and shift one or two glowing rings in (like i did in my version of the big crappy), that looks already nice.
i need a pause
I need a pause too! 😆 I just finished getting all of your alpha 23 stuff and mine to all work together. Man you've done a lot!. I slowed down the adverts rate to 1.1 because I felt that 3 was too fast. I'm missing your big_c. Maybe I'll update it for my own use. I just want to fly around for a while an appreciate everyone's work. Yours and everyone else's. I should mention one petty complaint. The Eagle's cockpit has a gap between the control panel and the hull up at the top and the control panel texture should be moved up a little bit. That's the sort of thing you wouldn't notice in a model until you're actually sitting inside the thing!
[attachment=1284:Eagle gap.jpg]
yes and no, but actually the modelviewer is a mess, if i'm allowed to say that, you can't zoom properly close to a model since a while (more then a year).
and the control is shitty for laptop users with a small keyboard i have to use shift to zoom in, but shift and "`" (on a swiss layout*) produce a fast zoom,damned not possible to think about such?
*further, please guys think that NOT EVERY keybord is a GB or US, and many keys are nearly unreachable you set for the game to control it.
PLEASE take only keys (for those which can not be configured) that are available on all keyboard layouts and keep off things like using question marks plus or minus signs etc. they change from layout to layout.
no dots, no comma, no question marks, no dash, no slash, no equal, no plus, no ....
use only latin letters please (for keys that can't be configured, don't come off now and tell me i should remap the keyboard, that's not the goal, expect i'm a "stupid" nube on a computer and find a solution that works even for nubes).
this is imho much more important than to have many translations in other languages!
because i expect that most can read a little english who will ever play pioneer, but to reach keys with combinations...?
i mean would you as english feel fine if i made a program and would use "ä,ö,ü" for the control, do you know how to reach them on a US keyboard i.e.?
not very comfortable if i have to use a combination of SHIFT - ALT - "any character" to reach something in the game. (or even worse on a MACbook to use "FN - SHIFT - ALT - "any character", enough that i have to use "FN - F#" to get the fixed-keys) i'm human i have only five fingers mounted at one hand...
---
btw, the gap is because the body is a "bezier flat", now try and find out what the coordinates are on a given section of the "bezier flat" (not my part).
neither you can cut the geometry "physically", so you have to trick it to get a hole in it, i used some transparent quads which i layed over the flat, under that lays the cockpit whitch is neither possible to get the right radius nor to match the lod dependant divisions of it.
you would need to have some "patch", some vectors which reflects exactly the position in the generated flat, i know it could be calculated, but erm, i'm not a mathematician.
so i had to live with the gap, and true you havn't rcognized it until you sit in the cockpit.
there is a second problem, i should have warned you or should have removed the front camera setup from the eagle (and the hullcutter).
because you won't see your own laser now, sorry, they get cut by the inside rostrum.
either you take the original specs ("shipname.gen" for generic or genuine) or i (you) would have to "remove" the inside rostrum layer to make the lasers visible.
[/hr]
IMPORTANT NOTE
aproposito laser fire,
perhaps you know that i argued the rear lasers can't be seen except in rear view, they never appear in any other view as the rear view.
BUT not only that, i made some mining jobs 😉 and found out if you don't see the laser, it doesn't work.
i had fitted a mining gun to the rear and fired on a asteroid, works so far, but if i switch to outside view you can't see the lasers and they neither have any effect, means nothing happens. that's not good, but i guess my report on the issue tracker must have been missed. IT'S IMPORTANT it don't works when you don't see it, that's true! (well, I KNOW i'm a lunatic and everything i do is rubbish :twisted:, but i only go to the limit, that's all)
expect that they won't work even in front view!
that means if i have a rear gun and someones tracking me, perhaps i would use front view (perhaps there is more then one agressor) it simply won't work to shoot at the persecuter. theoretically at least, i didn't think you hit anything moving with a rear laser in pioneer if you don't se the target, hard enough if you see it.
(while the "cut" laser fire of a eagle should work even when you don't see it now, it's only not visible, which is stupid enough and stupid of me not to remove the inside layers).
promise, if i keep the camera setup at all, i will rework the rostrum of the eagle to make it "solid" that will work, but that's not easy for a scripted model.
but i can use "joined patch" i guess, i never used it but it should allow to join bezier surfaces, i wil see.
hey, thanks J.J.
yes i thought it could be the floating point.
nice thanks again.
About that 'for' loop.
We can now book a "nice" room with a view,
Thanks to you!
[attachment=1293:nice_spacestation windows.jpg]
This is the same principle as the windows in the pad stations. A glowing wall beneath with holes punched in it. I had to review trigonometry to get this to work. Back in school I thought I'd never have a use for it! 😆
oh, give credits to - http://scienceworld.wolfram.com/biograp ... cians.html
---
yeah, the same goes with me,
i really hear often my teacher that i will regret one day.
and he was right, one that can recite physics 1/2hr without pause, should have some interest in it.
but i guess i was to blind to see, i thought this is not my "genre" not my "class of people", how stupid.
the only thing i can remember from school i did in geometry was to get honored by him for a giant cheat.
i wrote all solutions, in pause and from his book, with a whiteboard marker on all the windows in the classroom, i was clever enough to know that he wouldn't recognize it but i made a mistake, a small little mistake, but unfortunatly the whole class really the whole class, even those who was good in geometry, made the same fault. and so he knew we must have cheated, but he had no idea how we did it, so he asked us telling: "i know you all have cheated, but i don't kow how you did, can you explain?". 😆
he wasn't mad about, no, he found it's a creative and clever idea, knowing that you won't see things written on a window you look outside everyday.
our brains is fooling us in such situations and you really can't see it before one makes you attentive to it.
it's foremost because you look outside and not on the window, has something to do with focus and setting of the brain to focussed view.
we humans do this in every case, the brain is focussed to the view, if you know what i mean.
not only visual things even abstract, you can only see on what your mind is set.
magicians often use this behave of a human mind.
So let me see if I've got this right... The city buildings and ship models are all in this Lua format. Which is basically something like a POV-Ray model. I mean, it looks like a POV-Ray scene (text defined polygons and stuff. like UV mapping and basic colors) Could someone check out POV-Ray and tell me if that's correct? Now if I have an old 3D Studio 3 model to POV-Ray model converter can I use that?)
Here's my IMDb listing, showing some of the games I've worked on, http://www.imdb.com/name/nm2106687/ so you guys know that I'm not some complete noob, but I want to make and share some city models, and need some help getting started. Now I'm reading forums and trying to learn as much as I can, but I'm a little lost.
I haven't used POV-Ray myself but a quick glance tells me that it has some similarities. Looks like you're more than qualified to handle the differences. I'm a struggling Lua noob myself, but here are some resources.
http://luaedit.sourceforge.net/
http://pioneerspacesim.net/wiki/index.php?title=3D_Modelling
http://www.lua.org/manual/5.1/
http://eatenbyagrue.org/f/pioneer/codedoc/files/LmrModel-cpp.html
You can also look at /data/pimodels.lua for some examples.
Good luck and don't hesitate to ask questions! 😀
ok, so i opened up a lua and and obj file in notepad (is there a better free text editor I should be using?) and I see that the Building1.lua file in the models/cities/buildings/building1 directory is a really simple kinda array that references these other .obj files in the directory. so I'm ignoring the .lua file and i look at the house01.obj file.
I realized the .obj file is a wavefront .obj file. Not "hand scripted" like the .lua files and the "Boring Highrise" example
I've got a very very simple first project in mind, adding in the Pyramids at Giza to the game. I can find out their dimensions and location on the Earth, relativly easily I figure. All I need is 3 polygon primitives and to learn how objects are added to the game. First step was looking inside the files themselves, I guess step number 2 is going to read those webpages Marcal posted.
also, where the bejeesuz can i get wavefront?
I found my old copy of Maya 4, which can make wavefront obj files, but I'm having trouble getting this 12 year old software to validate...
hmm... hmmm.... I wonder if there's a free demo of Maya to try out? yeah there is, right here http://usa.autodesk.com/maya/trial/
It's only a 30 day trial, but alot can be done in 30 days.
Since I can't get my copy of Maya 4 to work, and since it'll take all day to get the Demo downloaded and running I'm going to make my giza Pyramids out of Lua script. So since I'm just a script-kiddy I'm going to take an existing model that already works and is in the game and is very very simple. Like "Lathed Tower" in models/buildings/classic directory. When I open it up and change the name I get something like this.
--[[
define_model('Pyramid', {
info = {
lod_pixels = {5, 20, 100}, <
LOD means level of detail, and the numbers means "Switch to another LOD when the onscreen model in the game is around 100, 20, or 5 on screen pixels tall.
bounding_radius = 120, <
Bounding box is for collisions, right?
materials = {'mat'}, <
"MAT" is defined later as "Set_Material function (just like POV-Ray) .
scale = 2,
tags = {'city_building'},
},
static = function(lod)
set_material("mat", .5,.7,.7,1) <
the numbers after "MAT" look like RGB numbers, i'm assuming .5 is half red, and . is almost 3/4 green and blue. The last number the 1, I have no idea, is it transparancy?
use_material("mat")
<
the lod stuff below looks easy enough to understand. but i'll have to change that Cylinder to a cone or pyramid.
if lod == 1 then
cylinder(5, v(0,0,0), v(0,110,0), v(0,0,1), 8) <
these numebers defining the cylinder will make more sence to me later, and i'm only going to change the first LOD so that I can begin experimenting.
end
if lod == 2 then
cylinder(8, v(0,0,0), v(0,110,0), v(0,0,1), 8)
end
if lod == 3 then <
It looks like LOD is the most detailed LOD, so the LOD that shows up when you are close to it, and then LOD 1 is the least detailed LOD, is that right, or have I got it backwards?
for i = 0,10 do
tapered_cylinder(8, v(0,i*10,0), v(0,(i+1)*10,0),
v(0,0,1), math.abs(noise(5*i,0,0))*3+5,
math.abs(noise(5*(i+1),0,0))*3+5)
end
end
billboard('smoke.png', 8, v(1,1,1), { v(0, 111, 0) }) <---- since the origional .Lua model had a billboard, I can fool around and experiment with this later.
end,
})
--]]
> Now at first I'm just going to take and modify existing files, then hopefully I'll leanr now to add my own new pieces in, but that's a bit aways down the road from here. Right now I just want to make a simple primitive, of a pyramid.
now, I need to find out how to add in a new spaceport, in Giza, and how to add my 3 Pyramid primitives to a small cluster near the new Giza Spaceport.
That cylinder object needs to be changed to a Pyramid, should i use the tapered cylinder object, like so
cylinder(4, v(-5,0,0), v(5,0,0), v(0,0,1), 3)
The "4" should give me a 4-sides object right? I'll need to make sure that any "smoothness" is turned off, so I can see my pyramid edges nice and crisp. the stuff like v(-5,0,0),... etc. must define the pyramid, and this one looks like the cylinder will taper off at a hight of "3" units? is that correct.
Or should I use 4 triangles, defined by
tri(v(-4,-4,0), v(4,-4,0), v(4,4,0))
Last question, if my Pyramid is 440 feet high, how does feet or meters translate to pioneer scale. How tall should my pyramid be? I'll start with the biggest one at Giza and hopefully will be able to scale the other 2 when I got my primitive pyramid scripted out.
cylinder(4, v(-5,0,0), v(5,0,0), v(0,0,1), 3) means Make a cylinder(4 sided, starting at position v(x=-5,y=0,z=0), ending at position v(x=5,y=0,z=0), with an up direction of v(x=0,y=0,z=1), with a 3 meter radius) or as it's described in the 3D modeling wiki,
cylinder(integer steps, vector start, vector end, vector up, float radius)
Check out those links above. The first is a lua script editor. The others are refrences. The syntax and the names and kinds of primitives are going to be diffrent from PovRay, but you'll get the hang of it. <img src="' http://spacesimcentral.com/forum/public/style_emoticons//icon_e_smile.gi f"' class='bbc_emoticon' alt=':)' />
Ok, I did some more reading, and I plotted out my pyramid, just 4 triangles with the following verts in x,y,z format. Here goes a 145.6 meter pyramid with 230 x 230 meter base.
1. -155,-115,0 115,-115,0 0,0,145.6
2. 115,-115,0 115,115,0 0,0,145.6
3. 115, 115,0 0,115,0, 0,0,145.6
4. 0,115,0 -115,-115,0 0,0,145.6
question 1, is that 145.6 nuber going to work, or do I need to use whole numbers only?
next, I need to plug these numbers into a .lua file. I'm going to mod an already existing file, and just change the parameters I need right now. I also go to this page, and look up the language I need to use to make the geometry. http://eatenbyagrue.org/f/pioneer/codedoc/files/LmrModel-cpp.html
So after a few minuets of editing someone else's file i get this.
--[[
define_model('Pyramid', {
info = {
lod_pixels = {5, 20, 100},
bounding_radius = 145,
materials = {'mat'},
scale = 1,
tags = {'city_building'},
},
static = function(lod)
set_material("mat", .5,.7,.7,1)
use_material("mat")
if lod == 1 then
tri(v( -155,-115,0 ), v(115,-115,0), v(0,0,145.6))
tri(v( 115,-115,0 ), v(115,115,0), v(0,0,145.6))
tri(v( 115, 115,0 ), v(0,115,0), v(0,0,145.6))
tri(v(0,115,0 ), v(-115,-115,0 ), v(0,0,145.6))
end
if lod == 2 then
tri(v( -155,-115,0 ), v(115,-115,0), v(0,0,145.6))
tri(v( 115,-115,0 ), v(115,115,0), v(0,0,145.6))
tri(v( 115, 115,0 ), v(0,115,0), v(0,0,145.6))
end
if lod == 3 then
for i = 0,10 do
tri(v( -155,-115,0 ), v(115,-115,0), v(0,0,145.6))
tri(v( 115,-115,0 ), v(115,115,0), v(0,0,145.6))
tri(v( 115, 115,0 ), v(0,115,0), v(0,0,145.6))
end
end
billboard('smoke.png', 8, v(1,1,1), { v(0, 111, 0) })
end,
})
--]]
i'll remove the buillboard later, or use it to do something cool. So have I done this right? Would this model work?
Next, I'll need a way to enter the model into the game so I can test it and see if it works. I saw a forum post earlier about entering your home town into the game as a spaceport, and i'll start reading that.
I typed a reply but the board wouldn't save it for some reason. When I saw it was having trouble I copied it into a text file. I find that I'm unable to copy and paste from the file, so I'll just attach it. Hope it helps.
[attachment=1300:Lua instructions.txt]
You're getting close to making it work. I suggest creating a new plain text file in the models folder, name it something like pyramid.lua and past your code into it. You can then open modelviewer.exe, type 'Pyramid' into the search box to look at the model. There's a couple of things that will cause your model to not work yet. First, the --and -- are used to disable the block of code between them. -- by itself disables the rest of the line that its on, usually used for comments. If you use LuaEdit to write your code, disabled lines will be green. It makes things much easier. Second, Pioneer uses reverse polygon winding, meaning that your co-ordinates must be stated in counter clockwise order. If you state them in clockwise order, the face that will show will be the inside and the outside face will be invisible.
1 1
/ not /
2 -- 3 3 -- 2
The units are meters and yes, fractions of meters are fine. Unfortunately, I can't tell you how to put a building into the game because I've never done it. I've been defacing other people's stations and spaceports instead. The hometowns add on just puts a spaceport in a specified location. What happens is that the game puts a pseudo-randomly selected ground station there and builds a community around it. Oh, and the keys to control modelviewer are cursor keys to rotate, + and - on the keyboard to zoom, With left shift it zooms faster, and with right shift it moves up/down, left/right. The lowest LOD (level of detail) is used for the simplest representation of the model, which is what you're doing now. It's used as the collision mesh, the surface that a ship would collide with. The LOD number is how many pixels across are displayed at a distance. The higher LODs are where you put details like textures terraces, windows, etc. so that they'll only be rendered when you're actually close enough to see them.
I can't believe that I'm giving lessons about this, especially to someone with your background. lol
I appreciate all the help, modelviewer good to know...
havning some problems getting a model to show up in the viewer.
" ./modelviewer
- will launch modelviewer, prompting for a model name.'
from modelviwer readme file. When I get the prompt for the model name, do i need to include directory info, or do I just type in the name "pyramid"? or "Pyramid.lua" or do I need to inclued the directory path? like "C:pioneerdatamodelsPyramid/lua"?
I havn't been able to load any of the models into the viewer yet.
Using Windows I start modelviewer.exe by double clicking it. At the prompt just type the model name alone. Pyramid should work if the model is written properly. Try typing nice_spacestation and see if that shows up. Btw, if you make a change to a model and reload it the changes wont show up. You need to load modelviewer again to see them. I think, but I'm not positive that to make a building show in a spaceport you just need to give it a building tag and put it in the buildings folder. I'm hoping that someone with more knowledge than I have will come along and give us the real scoop.
got it. Nice_spacestation works.
as well as any model thats listed in data/models/ships.lua or stations.lua.
maybe my model needs to be in this ship.lua list, as "Lanner" doesnt work
. figured it out; "Lanner" doesn't work becasue the model is called "Lanner_ub".
thanks.
it's alot like learning a new language.
It would also help if i were more consistant with my spelling of "piramyd"