Newbie scripting questions
Author |
Message |
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Newbie scripting questions
Yup, I seem to have a knack for getting stuck on what are probably very simple and basic things for everyone else here, but try and bear with me without too much eyerolling. Keep in mind that at any given time I have absolutely no clue what I'm currently doing.
Problem 1: What does MO stand for? MO money MO problems? Massive Octopus? Problem 1a: What exactly is the difference between a MOpixel, a MOSParticle and a MOSRotating? I've tried switching out MOPixels for MOSparticles in the vanilla scripts to experiment but either nothing notable happens, or the game breaks, so I can't really tell.
Problem 2: The CC wiki defines AtomGroup as "Defines a group of collision Atoms for the MO. Much the same as Atom, but you have to define the density of the detecting atoms with Resolution and the depth from the edge of the sprite with Depth." My problem here (other than not knowing what an MO is) Is how exactly I'm supposed to use this. Actually, Atoms in general. Doesn't setting the sharpness and mass of the projectile defeat the purpose of using an atom to determine the collision point between a MOPixel and a MOSParticle? And even then, what happens if you make a gun the shoots MOSParticles? Then you would need to define the collision point between a MOSParticle and another MOSParticle. What would you use for that?
Problem 3: What's the difference between TracerRound and RealRound? They both seem the same in the game.
That's about it. For now. Hopefully. I reeeeeeeally kind of regret not taking those computer programming courses in high school.
EDIT: One last question. What is a float scalar? That's the only thing I don't understand in the base.rte/materials.ini
|
Tue Dec 27, 2011 9:51 pm |
|
|
Arcalane
Joined: Sun Jan 28, 2007 10:32 pm Posts: 1609 Location: UK
|
Re: Newbie scripting questions
MO: Moving Object. MOPixel: MOPixels are the smallest type of effect. They are one pixel, with one color, and some properties. Their singular and manually defined atom defines the material that the MOPixel is made of, as well as a trail effect. They fill a lot of roles, they can be used as sparks, blood, shrapnel, exhaust, bullets, the list goes on.MOSParticle: "MOSParticles are quite simply MOPixels with an animated sprite. They can be gibs, but they cannot be gibbed."MOSRotating: MOSRotatings are your basic gibs. They can be gibs and can be gibbed.Atoms; no, see... Sharpness and Mass are just two characteristics of interaction. They each define one aspect of how things interact, not everything. Mass is mass. Sharpness is sharpness. Neither of these things define what might be called a "hitbox" or "collision mesh", which are the important bits. In most cases AtomGroups and DeepGroups are automatically calculated and you don't really need to worry about them at all. Tracers; not every round in a machinegun is a tracer. What this mostly does is allow you to properly simulate the use of tracers, but you can be a bit more creative than that... for example, you could make a gun alternate between two different projectiles that have entirely different properties. The RTTRatio controls how often the TracerRound is fired instead of the RegularRound. I forget who made this but the comments explain a lot about how bullets, rounds, magazines and guns work;
|
Tue Dec 27, 2011 11:41 pm |
|
|
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Re: Newbie scripting questions
Arcalane wrote: MO: Moving Object. MOPixel: MOPixels are the smallest type of effect. They are one pixel, with one color, and some properties. Their singular and manually defined atom defines the material that the MOPixel is made of, as well as a trail effect. They fill a lot of roles, they can be used as sparks, blood, shrapnel, exhaust, bullets, the list goes on.MOSParticle: "MOSParticles are quite simply MOPixels with an animated sprite. They can be gibs, but they cannot be gibbed."MOSRotating: MOSRotatings are your basic gibs. They can be gibs and can be gibbed.Atoms; no, see... Sharpness and Mass are just two characteristics of interaction. They each define one aspect of how things interact, not everything. Mass is mass. Sharpness is sharpness. Neither of these things define what might be called a "hitbox" or "collision mesh", which are the important bits. In most cases AtomGroups and DeepGroups are automatically calculated and you don't really need to worry about them at all. Tracers; not every round in a machinegun is a tracer. What this mostly does is allow you to properly simulate the use of tracers, but you can be a bit more creative than that... for example, you could make a gun alternate between two different projectiles that have entirely different properties. The RTTRatio controls how often the TracerRound is fired instead of the RegularRound. I forget who made this but the comments explain a lot about how bullets, rounds, magazines and guns work; Attachment: annotated pistol.ini That clears up so much for me, can't thank you enough! But to be sure, you're saying that Atoms and the AtomGroup/DeepGroup are basically defining a... The CC version of a hitbox, I guess you would call it, or do they define an objects interaction parameters with an Atom? I don't know if I'm making any sense here or if I'm just making my ignorance even clearer.
|
Wed Dec 28, 2011 8:41 am |
|
|
Arcalane
Joined: Sun Jan 28, 2007 10:32 pm Posts: 1609 Location: UK
|
Re: Newbie scripting questions
According to the List of Cortex Variables Defined; AtomGroup - Defines a group of collision Atoms for the MO. Much the same as Atom, but you have to define the density of the detecting atoms with Resolution and the depth from the edge of the sprite with Depth. DeepGroup - Same as AtomGroup, but for a different purpose. When a DeepGroup Atom touches terrain, it causes Cortex to clear the terrain the MO currently occupies.
|
Wed Dec 28, 2011 12:09 pm |
|
|
Shook
Joined: Fri Feb 16, 2007 8:43 pm Posts: 1695 Location: AH SHIT FUCK AUGH
|
Re: Newbie scripting questions
In other words, AtomGroups collide with each other (and terrain), providing the collision detection of CC that we all know and love. They can also destroy terrain, though more realistically than DeepGroups, which DON'T collide with each other or AtomGroups, but rather - you guessed it - destroy terrain on contact.
You generally want DeepGroups to have a greater Depth than AtomGroups, because the former overrides the latter. This means that if your DeepGroup has equal or greater Depth (how many pixels of "outline" to ignore when determining collisions), then you won't get collisions with other objects, and your object will eat terrain for breakfast.
|
Wed Dec 28, 2011 2:58 pm |
|
|
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Re: Newbie scripting questions
Shook wrote: In other words, AtomGroups collide with each other (and terrain), providing the collision detection of CC that we all know and love. They can also destroy terrain, though more realistically than DeepGroups, which DON'T collide with each other or AtomGroups, but rather - you guessed it - destroy terrain on contact.
You generally want DeepGroups to have a greater Depth than AtomGroups, because the former overrides the latter. This means that if your DeepGroup has equal or greater Depth (how many pixels of "outline" to ignore when determining collisions), then you won't get collisions with other objects, and your object will eat terrain for breakfast. Hmm, so, a deepgroup would be best used with bullets and other small arms. They can impact things but aren't hindered by them. Atom(Groups) would make for better missiles or MOs that should be affected by outside forces. Am I on the right track here?
|
Wed Dec 28, 2011 11:59 pm |
|
|
Roast Veg
Data Realms Elite
Joined: Tue May 25, 2010 8:27 pm Posts: 4521 Location: Constant motion
|
Re: Newbie scripting questions
Not quite. Everything has to have an AG and a DG, and it can be autodefined by the pixels (most things are) or you can define the atoms yourself. Bullets use DGs, but DGs aren't what make it hit other people, they're what make it destroy terrain. What you want, in fact, is very little DG to prevent terrain rape and much greater AG to give it some *umph* against other MOs.
|
Thu Dec 29, 2011 3:30 am |
|
|
Arcalane
Joined: Sun Jan 28, 2007 10:32 pm Posts: 1609 Location: UK
|
Re: Newbie scripting questions
A few things I've seen don't have DeepGroups and have "DeepCheck = 0", for the record. A lot of MOPixels don't seem to have DeepGroups or similar effects either.
Useful to know, though.
To be honest, I guessed it was like more like the internal/external materials, and could be used to simulate, for instance, an empty soft drink can; the outside (AtomGroup) is made of aluminium, while the inside (DeepGroup) is made of air.
|
Thu Dec 29, 2011 3:52 am |
|
|
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Re: Newbie scripting questions
Ah, ok, that clarifies it, thank you! I've been working on a simple test pistol script, and it's giving me a problem that has me stumped. Whenever the mod loads, it crashes and I get the error message: "Could not match property in MyFirstMod.rte/devices/SyzPistol.ini at line 5!" In my SyzPistol.ini all that's written on line 5 is Mass = 6. I don't see the problem there, that seems like a rather standalone value, nothing else in the .ini should be causing any conflict, and I don't know how the game is having trouble finding the property of the Mass value. Anyone have any idea what's going on? EDIT: If it's easier, here's the first 23 lines of the .ini, exactly as I have written it. Code: /////////////// // Rounds
AddEffect = MOSParticle Presetname = Bullet Syzygy Pistol Mass = 6 LifeTime = 900 Sharpness = 150 HitsMOs = 1 GetsHitsbyMOs = 0 Color = Color R = 120 G = 0 B = 220 Atom = Atom Material = Material Copyof = Wet Concrete TrailColor = Color R = 120 G = 0 B =220 TrailLength = 60 It counts any line with // as an actual line right? If so then it's either having an issue with the Lifetime or Sharpness, and I don't really see anything inherently wrong with those values.
Last edited by Zazix on Sat Dec 31, 2011 8:30 am, edited 1 time in total.
|
Sat Dec 31, 2011 6:59 am |
|
|
Asklar
Data Realms Elite
Joined: Fri Jan 07, 2011 8:01 am Posts: 6211 Location: In your office, earning your salary.
|
Re: Newbie scripting questions
Is the tabbing done correctly?
You should use the code display [code][/code] to show it better, or directly upload the file.
|
Sat Dec 31, 2011 7:21 am |
|
|
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Re: Newbie scripting questions
Asklar wrote: Is the tabbing done correctly?
You should use the code display [code][/code] to show it better, or directly upload the file. Fix'd. Any of the 3 lines it may be referring to should be single tab lines, or so I believe... I hate not knowing things.
|
Sat Dec 31, 2011 8:32 am |
|
|
Asklar
Data Realms Elite
Joined: Fri Jan 07, 2011 8:01 am Posts: 6211 Location: In your office, earning your salary.
|
Re: Newbie scripting questions
They all look tabbed correctly.
I don't know what might be the problem then. Check if you wrote an extra space after the number, like "Mass = 6 ". Or, you can try copying everything on that file and then delete it, then you create another ini file and paste everything there.
|
Sat Dec 31, 2011 8:37 am |
|
|
Coops
Joined: Wed Feb 17, 2010 12:07 am Posts: 1545 Location: That small peaceful place called Hell.
|
Re: Newbie scripting questions
Should be Also your trail color needs to all be tabbed up one and your trail color Blue value needs a space. Code: AddEffect = MOSParticle PresetName = Bullet Syzygy Pistol Mass = 6 LifeTime = 900 Sharpness = 150 HitsMOs = 1 GetsHitsbyMOs = 0 Color = Color R = 120 G = 0 B = 220 Atom = Atom Material = Material Copyof = Wet Concrete TrailColor = Color R = 120 G = 0 B = 220 TrailLength = 60 EDIT: Good call Arcalane.
Last edited by Coops on Sat Dec 31, 2011 11:42 am, edited 2 times in total.
|
Sat Dec 31, 2011 10:30 am |
|
|
Arcalane
Joined: Sun Jan 28, 2007 10:32 pm Posts: 1609 Location: UK
|
Re: Newbie scripting questions
That TrailLength probably needs to be tabbed up too, looking at all the other weapons I have on hand.
|
Sat Dec 31, 2011 11:01 am |
|
|
Zazix
Joined: Wed Dec 14, 2011 3:46 am Posts: 20
|
Re: Newbie scripting questions
Ouch, I didn't even notice that spelling error. Found quite a few more going down the lines, so hopefully that'll solve a few more problems. The extra tabs seem to have worked as well, although now it's telling me that it can't find the property of line 11, which would be the Color = Color bit. I tried messing with the tabbing, but it still takes issue with it for some reason. If it isn't the tabbing that's the problem, I can't really think of what else would be, as it's pretty hard to misspell Color (unless CC requires me to use the British version, Colour)
|
Sat Dec 31, 2011 9:51 pm |
|
|
|
Who is online |
Users browsing this forum: No registered users |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|