characters.plist in 1.71.1
Moderators: winston, another_commander, Getafix
- Commander McLane
- ---- 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:
characters.plist in 1.71.1
There is something broken with the use of characters.plist in 1.71.1.
The escape pod is spawned, and after I have scooped it and docked, the script_actions are executed. This is not the problem.
But when scooping the pod, I got the message "You have captured a slave" instead of the name defined in characters.plist. So it seems to be a display-related problem (like the wrong bounties reported elsewhere).
The escape pod is spawned, and after I have scooped it and docked, the script_actions are executed. This is not the problem.
But when scooping the pod, I got the message "You have captured a slave" instead of the name defined in characters.plist. So it seems to be a display-related problem (like the wrong bounties reported elsewhere).
-
- Quite Grand Sub-Admiral
- Posts: 6630
- Joined: Wed Feb 28, 2007 7:54 am
Do you have this entry in the shipdata of the pod you are spawning?
And just to be sure, your character.plist should be something like this:
It don't see any problem here. If it persists, could you post the entire shipdata.plist of the pod in question and the character.plist that is giving problems?
Code: Select all
<key>pilot</key>
<string>cargopod-pilot-name</string>
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>cargopod-pilot-name</key>
<dict>
<key>random_seed</key>
<string>1 3 5 7 11 13</string><!-- fix the name and details, but use the key to keep it secret -->
<key>bounty</key>
<integer>30</integer><!-- not actually used, we do the reward in the script -->
<key>origin</key>
<integer>7</integer><!-- system number seven (Lave in Galaxy 0) -->
<key>name</key>
<string>Trumble Cargopilot</string>
</dict>
</dict>
</plist>
- Commander McLane
- ---- 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:
Here's the shipdata-entry:
And here the characters.plist:
I followed the explanation in the wiki, so I left out a lot of keys. Anyway, name is there, yet it isn't displayed. (But, as mentioned in the first post, the script_actions do get executed.)
Code: Select all
<key>thargoid-warship-disabled-warship-2</key>
<dict>
<key>ai_type</key>
<string>th_w_disabledWarship2AI.plist</string>
<key>beacon</key>
<string>T</string>
<key>bounty</key>
<integer>0</integer>
<key>has_escape_pod</key>
<true/>
<key>like_ship</key>
<string>thargoid</string>
<key>missiles</key>
<integer>0</integer>
<key>name</key>
<string>Recovered Thargoid Warship</string>
<key>pilot</key>
<string>th-w-engineer</string>
<key>roles</key>
<string>th_warship_disabled_warship_2</string>
<key>scanClass</key>
<string>CLASS_CARGO</string>
<key>unpiloted</key>
<false/>
</dict>
Code: Select all
{
"th-w-engineer" = {
bounty = 0;
name = "a Naval Intelligence Engineer";
"random_seed" = "0 0 0 0 0 0";
"script_actions" = (
{
conditions = ("status_string equal STATUS_DOCKED");
do = ("set: mission_thargoid_warship E_RESCUED");
}
);
};
}
- Eric Walch
- Slightly Grand Rear Admiral
- Posts: 5536
- Joined: Sat Jun 16, 2007 3:48 pm
- Location: Netherlands
I am responsible for that part of the wiki. So I just tested it to be sure it was correct. I have a testship defined "has_escapepod = 2" and "pilot = McLane". All tested with 1.71.1
The character definition is:
It just works well. When shooting the testship it ejects two pilots. One is a general pilot, the other says: "you rescued Cmdr. McLane". And on docking I get the missiontext belonging to the character.
The character definition is:
Code: Select all
<key>McLane</key>
<dict>
<key>bounty</key>
<integer>0</integer>
<key>name</key>
<string>Cmdr. McLane</string>
<key>random_seed</key>
<string>0 0 0 0 0 0</string>
<key>script_actions</key>
<array>
<dict>
<key>conditions</key>
<array>
<string>status_string equal STATUS_DOCKED</string>
</array>
<key>do</key>
<array>
<string>addMissionText: McLane_thanks</string>
</array>
</dict>
</array>
<key>short_description</key>
<string>The writer of Anarchies</string>
</dict>
UPS-Courier & DeepSpacePirates & others at the box and some older versions
- Commander McLane
- ---- 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:
I'm stuck. My characters.plist looks exactly like yours, except that I just set a mission_variable instead of displaying a text in the script_actions. I've even inserted the short_description-key like in your example. Still I only get "You captured a slave", when I scoop the pod.
Then I changed everything according to your example, with a addMissionText: in the script_actions. Still "You captured a slave", and nothing is displayed when I dock at the main station.
Oh, and in two thirds of all cases no escape pod is spawned at all.
Here's what I have now. Do you see any stoopid errors?
EDIT: Stop, perhaps I have noticed a stoopid error, if it is one:
Then I changed everything according to your example, with a addMissionText: in the script_actions. Still "You captured a slave", and nothing is displayed when I dock at the main station.
Oh, and in two thirds of all cases no escape pod is spawned at all.
Here's what I have now. Do you see any stoopid errors?
Code: Select all
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>th-w-engineer</key>
<dict>
<key>bounty</key>
<integer>0</integer>
<key>name</key>
<string>a Naval Intelligence Engineer</string>
<key>random_seed</key>
<string>0 0 0 0 0 0</string>
<key>script_actions</key>
<array>
<dict>
<key>conditions</key>
<array>
<string>status_string equal STATUS_DOCKED</string>
</array>
<key>do</key>
<array>
<string>addMissionText: thargoid_warship_E_RESCUED</string>
</array>
</dict>
</array>
<key>short_description</key>
<string>a Naval Intelligence Engineer</string>
</dict>
</dict>
</plist>
Does the pod need its own shipdata.entry? I just have one for the ship that is supposed to spawn it.another_commander wrote:I don't see any problem here. If it persists, could you post the entire shipdata.plist of the pod in question and the character.plist that is giving problems?
Last edited by Commander McLane on Fri May 02, 2008 12:48 pm, edited 1 time in total.
-
- Quite Grand Sub-Admiral
- Posts: 6630
- Joined: Wed Feb 28, 2007 7:54 am
- Commander McLane
- ---- 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:
Yes, that did it. Now the name is displayed on scooping.another_commander wrote:Make bounty have a value of at least 1 and you are set. Also, Eric's script did not work exactly as intended for me, until I gave the character a bounty value of 1.
Although there is still no "Thank you" message when I dock! And does the pod need a shipdata-entry of its own?
-
- Quite Grand Sub-Admiral
- Posts: 6630
- Joined: Wed Feb 28, 2007 7:54 am
If you don't want to mess with bounties, i.e. legal status, the key "insurance" can also do the trick:
Code: Select all
<key>insurance</key>
<integer>2</integer>
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
Please change these to “mclane-thargoid-warship-disabled-warship-2”, “mclane_th_w_disabledWarship2AI.plist”, “mclane-th-w-engineer”, “mclane_th_warship_disabled_warship_2”, “mission_mclane_thargoid_warship” etc.Commander McLane wrote:Here's the shipdata-entry:Code: Select all
<key>thargoid-warship-disabled-warship-2</key> ... <string>th_w_disabledWarship2AI.plist</string> ... <string>th-w-engineer</string> ... <string>th_warship_disabled_warship_2</string> ... "th-w-engineer" ... do = ("set: mission_thargoid_warship E_RESCUED");
Last edited by JensAyton on Fri May 02, 2008 3:52 pm, edited 1 time in total.
E-mail: [email protected]
- Commander McLane
- ---- 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:
- JensAyton
- Grand Admiral Emeritus
- Posts: 6657
- Joined: Sat Apr 02, 2005 2:43 pm
- Location: Sweden
- Contact:
For a sufficiently unique OXP name, that would work. “Thargoid Warship” doesn’t qualify, though. :-) Names and nicks tend to be pretty good in this respect, but if your name is John Smith it’s probably a good idea to pick an alias for unique-prefixing purposes.
E-mail: [email protected]
- Eric Walch
- Slightly Grand Rear Admiral
- Posts: 5536
- Joined: Sat Jun 16, 2007 3:48 pm
- Location: Netherlands
Strange, I always used zero bounty without troubles. But the actual value does not matter when a script is attached to it. In UPS there are also 4 pilots with 0 bounty and nobody complained. (But of cause nobody knows how it was intended.) To be on the save side I made it now 1 and will add a note about it on the appropriate place on the wiki.Commander McLane wrote:Yes, that did it. Now the name is displayed on scooping.another_commander wrote:Make bounty have a value of at least 1 and you are set. Also, Eric's script did not work exactly as intended for me, until I gave the character a bounty value of 1.
Although there is still no "Thank you" message when I dock! And does the pod need a shipdata-entry of its own?
Not saying thank you is because of the script. You must make your own text if you want one. Problem is the mission clash. In this case you only have one try. Look in UPS how I did it. I test if mission screen is already shown. If yes, I don't clear it, but add a empty line and add my own short text. (just hoping it fits beneath anything that is now on screen).
UPS-Courier & DeepSpacePirates & others at the box and some older versions
- Commander McLane
- ---- 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:
Perhaps I have missed something else. But I did make my own text. And I made the script_actions to be exactly like in your example: addMissionText: Engineer_thank_you_message. Only that when I docked no thank_you_message was displayed, just the normal F5-screen. There was no other conflicting mission screen.Eric Walch wrote:Not saying thank you is because of the script. You must make your own text if you want one. Problem is the mission clash. In this case you only have one try. Look in UPS how I did it. I test if mission screen is already shown. If yes, I don't clear it, but add a empty line and add my own short text. (just hoping it fits beneath anything that is now on screen).
Do I have to put the setGuiToMissionScreen etc. into the script_actions of characters.plist as well, in order to have the Engineer_thank_you_message displayed?
- Eric Walch
- Slightly Grand Rear Admiral
- Posts: 5536
- Joined: Sat Jun 16, 2007 3:48 pm
- Location: Netherlands
Again: look in the characters of UPS. You need the setGuiToMissionScreen to set up the missionscreen otherwise the text is printed on the bottom of the current screen. (off-screen on F5). The command setGuiToMissionScreen switchesdisplay to the missionscreen and clears it.McLane wrote:Do I have to put the setGuiToMissionScreen etc. into the script_actions of characters.plist as well, in order to have the Engineer_thank_you_message displayed?
But check if there is already a missioncreen active and you are not clearing an existing one.
UPS-Courier & DeepSpacePirates & others at the box and some older versions
- Commander McLane
- ---- 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: