Forum Denizen OXPs

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

Selezen wrote:
Disembodied wrote:
Oh, it won't be long now until the collectible figurines ...
That might not be far outside the realms of possibility... Believe it or not I actually have a 3D model of myself as a cartoon character, and with realistic 3D person modelling techniques out there anything's possible...
3D printing the visor electronics might be problematic with current technology, though.
User avatar
Wolfwood
---- E L I T E ----
---- E L I T E ----
Posts: 735
Joined: Wed Mar 29, 2006 9:53 am
Location: Finland
Contact:

Post by Wolfwood »

Commander McLane wrote:
Quick question: Do you need some merits in order to be included here (code, spam assassin, ooniversally renowned trumble dealer...), or can everybody become a character?
If you are worried of a heavy work load, you as the creator could just decide some sort of criteria for the "first version", such as: post count, oolite oxps created, code submitted, forum moderator status etc. You can then promise to add in others later in the development cycle, if you have the time in your hands to tackle some gazillions of entries.
User avatar
Cows
Dangerous
Dangerous
Posts: 81
Joined: Fri Jun 19, 2009 1:36 am
Location: Milliways

Post by Cows »

If you can provide the model, texture and shipdata, it could be either. That way, even if someone doesn't have the SpiffyShip.oxp installed, there will still be one SpiffyShip out there with a forum resident inside.
Okay good. I'll have to change to a different ship, one that I'd prefer over the original one I chose.

If you are worried of a heavy work load, you as the creator could just decide some sort of criteria for the "first version", such as: post count, oolite oxps created, code submitted, forum moderator status etc.
Well... I am working on a couple oxp's, however, I'm not very fast, actually I'm pretty slow. But I get things done eventually. :) I might just wait until a few versions of this oxp come and go before I actually submit something after I've made a few oxps and get more used to doing this kind of thing.
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post by Lestradae »

Hehee ... next entry:

Name: Lestradae Duval
Ship: Decomissioned Juggernaut 'Barad-dur'
a. Ship model: Old pre-Simon Behemoth ship model
b. custom texture: Use standard old Behemoth one
c. shipdata: Use standard old Behemoth stats
d. equipment: MAS'C and Scanner Filtering
e. AI: behemothPatrolAI, in combination with the other AI's there referenced and thus needed

CatchPhrases:
a. popping out of witchspace
- "There we go again ..."
- "Lo and behold! Bow down to your new emperor!"
- "Where's my red carpet?"

b. chatter during flight
- "Can you imagine? They wouldn't even let me buy that Nova bomb! Oh. Good day to you too, Sir. How's GalCop?"
- "Benulobiweed Inc. was working on really tough weapons back then! It was said some of them could wreck a whole system in the wrong hands, KillIt style! Though you have to ask yourself what the right hands could look like, for something like that .."
- "You think my ship is excessively powerful? Uh, my bad ..."
- "I'm sorry, I'm so sorry! But then ... perhaps not."

c. shoutouts at your attacker
- "Is this a ship or a toy?"
- "Prepare to experience the power of the farce firsthand!"
- "Need help? Redecoration needs creativity - especially when done with so many turrets at once!"
- "Perhaps I should tell you my fear glands were removed - before we continue."
- "You are but a sardine in a shark's pool, little one!"

d. last words.
- "I'll be back!"
- "Do you have any idea what this ship cost me?"
- "Frakkin' Benulobiweed maintenance overhauls ..."
- "Activating beam escape facility!"
Last edited by Lestradae on Tue Sep 29, 2009 6:01 am, edited 1 time in total.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Re: ..

Post by Commander McLane »

Lestradae wrote:
d. equipment: MAS'C and Scanner Filtering
Sorry, not going to happen (at least for MAS'C).

Why? Simple:

The whole purpose of this project is that you can meet famous people. How do you know that you met someone famous? You target the ship, and the ident computer reads "Imperial Courier: Selezen" or something of the like.

Now, if that ship has a MAS'C, you cannot target the ship, your ident computer cannot work, and its identity is never displayed. And in my point of view this defeats the whole purpose of this project.

So: If you don't want your character to be recognized by the player, why do you want it included in the first place?
User avatar
Lestradae
---- E L I T E ----
---- E L I T E ----
Posts: 3095
Joined: Tue Apr 17, 2007 10:30 pm
Location: Vienna, Austria

..

Post by Lestradae »

*slaps forehead*

McLane, you are absolutely correct. Didn't think of that :oops:

OK, forget the MAS'C part!

Cheers (& cool that you are creating this oxp, this is what I call flavour :) )

L
User avatar
Wolfwood
---- E L I T E ----
---- E L I T E ----
Posts: 735
Joined: Wed Mar 29, 2006 9:53 am
Location: Finland
Contact:

Post by Wolfwood »

Name: Wolfwood
Ship: 'Howling Wolf'
a. Ship model: Neolite version of Wolf Mk I
b. custom texture: Use standard
c. shipdata: to be provided
d. equipment: everything that can be fitted
e. AI: I'm not up to speed with these, so I'll wait to see what everyone else picks... ;)

CatchPhrases:
a. popping out of witchspace
- "I'm alive!"
- "New planet, new adventures!"

b. chatter during flight
- "I've seen things you people wouldn't believe."
- "Have you seen the magnificent nebulae of Cevara?"
- "Hear me howl!"

c. shoutouts at your attacker
- "Timeout! I'm in the middle of a paragraph!"
- "Was that aimed at me?"
- "Someone knocking on the door?"
- "It wasn't me! It was that other guy!"

d. last words.
- "All those moments will be lost in time, like tears in the rain."
- "See you on the other side!"
- "Ever seen an invisible stealth escape pod?"
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Hi, Wolfwood,

sorry, I've started a new thread on this. Please find the exhaustive list of what I need from you right here at your fingertip.

And the same goes for everybody else, please!
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Okay. I have these personalities ships, and some of them have escape pods.

Which gives me the opportunity to use characters.plist, and script pilots for them. So if you kill for instance Selezen (sorry, Sel), you will be able to scoop Selezen, and cash in his insurance. I just put the pilot key in the shipdata, and create a corresponding characters.plist entry.

So far so good.

Now I want something else on top of that: I want a script action when the pod gets scooped. And I'm stuck with that. Problem: Following the procedure mentioned above, the pilot ejects sitting in a standard escape pod. Standard AI, no ship-script. So how can I create a script action when the pod gets scooped? I can't. (According to the Wiki the shipScoopedOther event handler explicitely does not fire if the scooped entity is an escape pod, so I can't do it in my world script.)

Therefore method #2: Enter the escape_pod_model key into shipdata, pointing to a custom pod (model-wise a clone of the standard pod, but with a ship-script attached to it, containing a shipWasScooped handler, which hopefully works).

The pilot key stays in. But already I'm not sure what to put in the pod's shipdata. Do I need cargo_type CARGO_SCRIPTED_ITEM? Or CARGO_CHARACTER, as per shipdataEntrySchema.plist?

Or does the pilot key have to go into the escape pod as well? And no cargo_type?

A lot of questions, and a lot of buggy behaviour. So far in all my trials no escape pod was spawned at all. But a lot of offender cargo cannisters instead. So I'm doing it wrong. But how is it done right?


Oh, and I guess the occasional offender cargo cannister I come across without my trials may be caused by a similar buggy shipdata of another OXP. Just don't know which.

HELP! :?
User avatar
Svengali
Commander
Commander
Posts: 2370
Joined: Sat Oct 20, 2007 2:52 pm

Post by Svengali »

Commander McLane wrote:
Following the procedure mentioned above, the pilot ejects sitting in a standard escape pod. Standard AI, no ship-script. So how can I create a script action when the pod gets scooped? I can't.
Right.
Commander McLane wrote:
Therefore method #2: Enter the escape_pod_model key into shipdata, pointing to a custom pod (model-wise a clone of the standard pod, but with a ship-script attached to it, containing a shipWasScooped handler, which hopefully works).
No need then for pilot. I've used in Vector a similiar thing and Eric in UPS too. script_info is your friend to pass varying (between different pods) parameters to the script. characters.plist is unfortunately useless then.

If characters.plist should be used then no shipscript or trick it in after creating the pod. It should be possible now, but I haven't tested it.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

Svengali wrote:
No need then for pilot. I've used in Vector a similiar thing and Eric in UPS too.
Thanks. Will have a look into those two.
characters.plist is unfortunately useless then.
Unfortunate indeed.
If characters.plist should be used then no shipscript or trick it in after creating the pod.
Hmm. That's an idea. Eric sent me some guides on how to do that. What would be the best event to tie the script to? The shipDied of the mother? Do escape pods get the same groupID? Then it must be possible to identify the pod and create a ship-script.

<goes fiddling>
User avatar
Kaks
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 3009
Joined: Mon Jan 21, 2008 11:41 pm
Location: The Big Smoke

Post by Kaks »

I think their owner property is set correctly. GroupID is being phased out in favour of the new group property, which is a bit easier to use, and yes the group would be the same, but there could be multiple ships assigned to the t same group afaik, which would be a bit confusing.. :P
Hey, free OXPs: farsun v1.05 & tty v0.5! :0)
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

In the meantime I had a D'oh! moment. No escape pod was created, because has_escape_pod was NO in shipdata. :oops: :oops: :oops:

Now that is rectified, and I get the defined pod for that ship. However, it is as you say: if I give it CARGO_SCRIPTED_ITEM, the pod's script is triggered, but nobody gets added to slaves, and there is no report screen on docking. It is as if nobody was in the pod, the character gets skipped. If, on the other hand, I give it CARGO_CHARACTER, its ship script isn't executed, although the target inspector shows that the pod has the ship script attached to it, and there is nobody in my manifest. On top of all that I still get offender cargopods around it. :?

So, definitely this is not viable. :evil:

Which means I am left with attaching the ship script to a standard pod after it is spawned.

Oh, and thanks, I also figured out that the pod can most easily be identified through its owner property. Code as follows:

Code: Select all

	function isMyEscapePod(entity)
	{
		return entity.name == "Escape capsule" && entity.owner == this.ship
	}
	this.escapePod = system.filteredEntities(this, isMyEscapePod, this.ship, 5000)
To add a piece of code that gives a shipWasScooped event to the pod is relatively easy. I know how to do that (thanks to Eric).

But the question remains: Where shall I do it?!? My first idea was in the shipDied event of the owner (you note that the snippet is from the owner's ship script). But there is a problem with that: What if the player leaves the wreck alone, or decides to deal with it later, and goes for the escape pod first? Or scoops it "accidentally" while pursuing the derelict? In this case the pod's ship script never gets activated.

Any ideas for other events I could put my routine into? There doesn't happen to be a shipReleasedEscapePod event for ship scripts, by any chance? The existing shipLaunchedEscapePod seems to work for the player only, according to the Wiki. But of course I can give it a try...

Anyway, additional ideas appreciated.

Or do I have to ask for an amendment to shipLaunchedEscapePod for NPCs, preferably with a parameter that contains the pod already (and would make my life really easy)? :wink:
Last edited by Commander McLane on Wed Oct 07, 2009 9:30 am, edited 1 time in total.
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6552
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

Commander McLane wrote:
Or do I have to ask for an amendment to shipLaunchedEscapePod for NPCs, preferably with a parameter that contains the pod already (and would make my life really easy)? :wink:
What you are asking is already in trunk. The shipLaunchedEscapePod handler is valid for both player and NPCs and takes as parameter the pod itself.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

But it's not yet in 1.73.4? :(

Anyway: nice to know that it's coming! :D
Post Reply