Random Hits OXP

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

Moderators: winston, another_commander

User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6312
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Post by Diziet Sma »

Screet wrote:
Trying it also with 1.72.2 can be done, but it's a little bit difficult, as I'd have to uninstall the trunk build, install 1.72.2 and then back again...I haven't yet figured out how to install two versions of oolite. Since I cannot build on this system, I have to rely on those installers :(

Screet
Assuming you're using XP/Vista (I think you are, but don't recall), giving it a different install location than default during installation should be enough to have two versions.. the only thing you might need to fiddle with is start-menu entries, which you should be able to do by making a copy of the original menu link before installing the additional copy. Then you'd have a launcher for each version.
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Screet
---- E L I T E ----
---- E L I T E ----
Posts: 1883
Joined: Wed Dec 10, 2008 3:02 am
Location: Bremen, Germany

Post by Screet »

Screet wrote:
LittleBear wrote:
I can buy, but I can only sell what I bought, but nothing from my cargo hold. It's a space bar only problem.
...and the problem is suddenly gone without any changes made, except that I now did dock at a different space bar :( I think I know which bar it was - will visit it again when I'm back in that area.

On a side note, I have not been targeted by a space bar since the update - which is quite a relief as my turrets often auto-returned fire, making me a fugitive. Still too early to say wether this is fixed or I'm just a bit more lucky.

Screet
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2882
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Hmm the not being able to buy anything bug is odd. All the bars use the same like_ship to a template and the template has the same commondities.plist attached, so it should either work for all or none. Not been able to reproduce it and its strange it only seemed to happen at one bar. The commodities is not very complex. Basically the commodities are exactly the same as at the main station except that Slaves and Alloys are a bit cheaper (hunters bringing in scooped offenders and broken bits of their ships floods the market a bit) and liquors / wines are a bit more expensive (demand from the bar). You can also sometimes get a better deal on minerals (activities of the mining machines sometimes floods the space bar market).

Have any Mac users got 3.5 to work? Tivva PMed my his log file and oddly Ooolite it not reporting any errors. I can tell from his screenie that his Mac is refusing to read the descriptions.plist. I had written quite a lot of the descriptions in word (for spell check purposes!) and then C&Ped in. Its a known issue that this sometimes creates "invisible characters" in the .plist that can cause a mac to throw a hissy fit, but the PC neither sees nor cares about!

Trouble is as I only have a PC, there's no way I can remove an invisible bug! Could a Mac user have a look at the .plist? If someone can resave it on a Mac and e-mail it to me, I can then use this one for the next release.

The Gavestones should look like this :- (You see them on the Battle Over Screen and when you make a kill) :-

Image
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

I've seen revenge ships turn on each other at least once. I fired a missile at one, which caused them to no longer be hostile. Another one was still firing on me when that first one started attacking it. I would check the AI of the revenge ships to make sure that they won't do that.
Dream as if you'll live forever
Live as if you'll die tomorrow
Capt. Slog
Dangerous
Dangerous
Posts: 84
Joined: Sun Apr 26, 2009 10:24 pm

Post by Capt. Slog »

LittleBear wrote:

Have any Mac users got 3.5 to work? Tivva PMed my his log file and oddly Ooolite it not reporting any errors. I can tell from his screenie that his Mac is refusing to read the descriptions.plist. I had written quite a lot of the descriptions in word (for spell check purposes!) and then C&Ped in. Its a known issue that this sometimes creates "invisible characters" in the .plist that can cause a mac to throw a hissy fit, but the PC neither sees nor cares about!
I notice that the descriptions.plist finishes with

Code: Select all

</plist>
while every other plist I've seen ends with

Code: Select all

</plist>crlf
or

Code: Select all

</plist>lf
giving a blank line at the end. On some systems such thing are important delimiters. Maybe adding a blank line will solve it?
User avatar
Svengali
Commander
Commander
Posts: 2370
Joined: Sat Oct 20, 2007 2:52 pm

Post by Svengali »

@LB: A lot of editors (like Notepad++) have an option to display these things (linebreaks, tabs, linefeeds,...), so it doesn't have to stay invisible :-)
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

LittleBear,

I found the following in my error log:

Code: Select all

[ai.error.recursion]: ERROR: AI reactToMessage: recursion in AI randomhitspatrolAI.plist, state FRIENDLY_FIRE_INCIDENT, aborting. It is not valid to call reactToMessage: FOO in state FOO.
[ai.error.recursion]: ERROR: AI reactToMessage: recursion in AI randomhitspatrolAI.plist, state SCAN_FOR_CRIMINAL_PLAYER, aborting. It is not valid to call reactToMessage: FOO in state FOO.
I've seen this message before. It's caused by the ship AI using sendShipScript and not being able to call a function with that name in the script.
Dream as if you'll live forever
Live as if you'll die tomorrow
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2882
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Cheers I'll check that. What its meant to do is send the ship into a new AI that causes it to move 5 kms from the space bar which accidently hit it (to get itself out of range of the turrets) and then return to its normal AI. I suspect I've got a looping bug somewhere if the ship is hit again by a stray plasma bolt whilst getting itself out of the danger area. Probabley because when the 'move out of range AI' is exits the orginal AI is still in the the "FRIENDLY_FIRE_INCIDENT" state. Need to send it back to the PATROL state. :wink:
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Thargoid
Thargoid
Thargoid
Posts: 5528
Joined: Thu Jun 12, 2008 6:55 pm

Post by Thargoid »

Are you perhaps using switchAI (which exits and discards the original AI and goes into the new one) when you should be using setAI (which suspends the original, and re-awakens it with the RESTARTED state when the new one exits)?

Just as a passing thought without looking into the coding.
User avatar
Westwood
Above Average
Above Average
Posts: 23
Joined: Sat May 24, 2008 1:50 am

Post by Westwood »

http://img13.imageshack.us/gal.php?g=picture1cml.png

Pics of my problems with RH 3.5.
I have a Mac and i'm using the latest test version of Oolit(maybe that has something to do with it?)
User avatar
Nemoricus
---- E L I T E ----
---- E L I T E ----
Posts: 388
Joined: Mon May 18, 2009 8:51 pm

Post by Nemoricus »

It looks like you may be missing missiontext.plist and description.plist. Check the Config folder of Random Hits to see if they're there.

If not, I suggest reinstalling Random Hits.
Dream as if you'll live forever
Live as if you'll die tomorrow
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2882
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

I'm pretty sure they will be there. The problem is that the .plist is not being read by the Mac, but is read okay by the PC. Can you open it up and check for some funny characters appearing. I'll also check it on Agpad and see if a can spot the baddies! Basically the problem is that when I C&Ped in text from Word, this C&P has put formatting characters into the .plist. The PC doesn't care about this, but it causes the Mac to ignore the .plist All the text for Random Hits is in descriptions, so if descriptions is not read you get Oolite displaying the undefined arrays, which is what its doing on the screenies.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Westwood
Above Average
Above Average
Posts: 23
Joined: Sat May 24, 2008 1:50 am

Post by Westwood »

This is my "missiontext.plist" text;

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>random_hits_notwelcome</key>
<string>[random_hits_notwelcome_para1] [random_hits_notwelcome_para2]\n\n[random_hits_notwelcome_para3]\n\n[random_hits_notwelcome_para4] [mission_random_hits_broken]</string>

<key>level_one_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : [mission_random_hits_assassination_board_subject]\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name] is mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] [mission_random_hits_assassination_board_part2]. mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description [mission_random_hits_mark_ship], mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_makeoffer3_start] [random_hits_makeoffer3_start_levelone] [assassination_board_job_name]. [assassination_board_easykill]</string>

<key>level_two_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : [mission_random_hits_assassination_board_subject]\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name] is mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] [mission_random_hits_assassination_board_part2]. mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description [mission_random_hits_mark_ship], mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_makeoffer3_start] [random_hits_makeoffer3_start_leveltwo] [assassination_board_job_name]. [assassination_board_mediumkill]</string>

<key>level_three_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : [mission_random_hits_assassination_board_subject]\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name] is mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] [mission_random_hits_assassination_board_part2]. mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description [mission_random_hits_mark_ship], mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_makeoffer3_start] [random_hits_makeoffer3_start_levelthree] [assassination_board_job_name]. [assassination_board_hardkill]</string>

<key>random_hits_barbill</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_bar_bill_header2] [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : [random_hits_bar_bill_header3]\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_bar_bill_header4] [random_hits_bar_bill_header5] [random_hits_bar_bill_header6] [random_hits_bar_bill_header6_crime_status] [random_hits_bar_bill_header7]\n\nPAYMENT TO       : [random_hits_bar_bill_header9].\n--------------------------------------------------------------------------------------------------------------------------\nThe [random_hits_bar_bill_header8] of [mission_random_hits_billdue] Credits [random_hits_bar_bill_header8a].</string>

<key>random_hits_news_feed_award</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : Recruiting Sergeant [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : Special Operations.\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_security_bar_text1] [mission_random_hits_playertitle] [commander_name]. We have been monitoring your successful completion of contracts from this Bulletin Board System and are suitably impressed with your expertise and expedience. Accordingly, we have added your GalMail address to the Bounty Hunters Special Operations InfoNet. Whenever you are docked at any Seedy Space Bar, your onboard computer will automatically search our Intelligence Database for any unusual criminal activity in your current star system. In the event that any Special Assignments are available, one of our agents will be in contact. You will be hearing from us again [mission_random_hits_playertitle]. And maybe sooner than you think.\n\n[random_hits_killed11]\n--------------------------------------------------------------------------------------------------------------------------\n[mission_random_hits_security_bar_text_close]</string>

<key>random_hits_big_boss_alert</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_security_bar_title] [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : [random_hits_security_bar_subject]\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_security_bar_text1] [mission_random_hits_playertitle] [commander_name]. [random_hits_security_bar_text2] have [random_hits_security_bar_text3] [random_hits_security_bar_text4] of [random_hits_notwelcome_para3e] [spacebar-warning2]s, [assassination_board_shortstart3] [random_hits_security_bar_text5] [random_hits_security_bar_text6], [random_hits_security_bar_text7] [random_hits_security_bar_text8]. [mission_random_hits_reward_offer_name] [random_hits_security_bar_text10] [random_hits_security_bar_text12] [random_hits_security_bar_text13] [random_hits_security_bar_text14] [assassination_board_part7_killmethod2] of these [spacebar-warning2]s. [random_hits_security_bar_text15]. [random_hits_security_bar_text16] [random_hits_security_bar_text17], as [random_hits_security_bar_text18] [assassination_board_accepted4z] [random_hits_security_bar_text19]. [assassination_board_shortstart2] the [random_hits_notwelcome_para3e] [spacebar-warning2]s!\n\n[random_hits_killed11]\n--------------------------------------------------------------------------------------------------------------------------\n[mission_random_hits_security_bar_text_close]</string>

<key>random_hits_big_boss_alert2</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_security_bar_title] [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : [random_hits_security_bar_subject_docked]\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_security_bar_docked_text1] [mission_random_hits_playertitle] [commander_name]. In your [random_hits_security_bar_docked_text2] [random_hits_security_bar_docked_text3] you [mission_random_hits_security_bar_text_describe_kills]. [mission_random_hits_security_bar_text_describe_hunter_kills]. There [mission_random_hits_describe_boss_left] [mission_random_hits_describe_fighter_left] [random_hits_security_bar_docked_text5] [%H] System. [mission_random_hits_security_bar_text_describe_payment]. [random_hits_security_bar_docked_text6]\n\n[random_hits_killed11]\n--------------------------------------------------------------------------------------------------------------------------\n[mission_random_hits_security_bar_text_close]</string>

<key>random_hits_big_boss_alert3</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_security_bar_title] [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : [random_hits_security_bar_subject_over]\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_security_bar_text1] [mission_random_hits_playertitle] [commander_name]. [random_hits_security_bar_over_text1] [random_hits_security_bar_over_text2] [mission_random_hits_battle_bar] fought in the [mission_random_hits_battle_system] System on Star Date [mission_random_hits_battle_time], you [mission_random_hits_describe_total_player_kills]. In total [mission_random_hits_total_boss_kills] [random_hits_notwelcome_para3e] [spacebar-warning2]s were [random_hits_security_bar_over_text2_extra1] by members of [random_hits_complete_ebomb1]. [mission_random_hits_security_bar_text_describe_hunter_kills_pre] [mission_random_hits_security_bar_text_describe_hunter_kills].\n\n[mission_random_hits_describe_prize] [mission_random_hits_security_bar_text_describe_payment].\n\n[random_hits_killed11]\n--------------------------------------------------------------------------------------------------------------------------\n[mission_random_hits_security_bar_text_close]</string>

<key>random_hits_thargoid_spacelane_alert</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_security_bar_title] [random_hits_guard_name1] [mission_random_hits_billdue_name].\nSUBJECT              : [random_hits_thargoid_alert_subject].\nADDRESS             : [assassination_board_address1] [mission_random_hits_billdue_name]@[assassination_board_address2]\n\n[random_hits_security_bar_text1] [mission_random_hits_playertitle] [commander_name]. [random_hits_security_bar_text2] have [random_hits_security_bar_text3] [random_hits_security_bar_text4] of [random_hits_thargoid_alert_subject1] [random_hits_thargoid_alert_text1] [random_hits_security_bar_text7] [random_hits_security_bar_text8]. [random_hits_thargoid_alert_text2] this [random_hits_thargoid_alert_text3] is [random_hits_thargoid_alert_text4] [random_hits_thargoid_alert_text5] [random_hits_thargoid_alert_subject1] [random_hits_thargoid_alert_text6] [%H]ian System. [random_hits_thargoid_alert_text7] [mission_random_hits_thargoid_number] [random_hits_thargoid_alert_subject1] [random_hits_thargoid_alert_text1] [random_hits_thargoid_alert_text8] spacelanes.\n\n[random_hits_killed11]\n--------------------------------------------------------------------------------------------------------------------------\n[mission_random_hits_security_bar_text_close]</string>







<key>random_hits_refused</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] [mission_random_hits_playertitle] [commander_name], [assassination_board_refused3]. [assassination_board_refused4] [assassination_board_refused5] [assassination_board_refused6]. [assassination_board_refused7] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_refused2</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1b] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] [mission_random_hits_playertitle] [commander_name], [assassination_board_refused3b]. [assassination_board_refused4b] [assassination_board_refused5b] [assassination_board_refused6b]. [assassination_board_refused7b] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_refused3</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1c] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2c] [mission_random_hits_playertitle] [commander_name], [assassination_board_refused3c]. [assassination_board_refused4c] [assassination_board_refused5c] [assassination_board_refused6c]. [assassination_board_refused7c] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_jobaccepted</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] [mission_random_hits_playertitle] [commander_name], you [assassination_board_accepted1] [assassination_board_accepted2] [assassination_board_accepted3] [assassination_board_accepted4] [assassination_board_accepted5] this [assassination_board_job_name]. [assassination_board_accepted6] [assassination_board_refused5] [assassination_board_accepted7]! [assassination_board_part5] mission_random_hits_mark_fee Credits [assassination_board_accepted7a] upon docking with any GalCop Station or Seedy Space Bar following the [assassination_board_accepted8] of [assassination_board_refused5b]. This [assassination_board_accepted9] will be in addition to any bounty paid by GalCop. [assassination_board_accepted10]!\n\n--------------------------------------------------------------------------------------------------------------------------\nYou have accepted this [assassination_board_job_name]. [assassination_board_accepted11]. If you leave Galaxy [mission_random_hits_display_galaxy] you will be deemed to have abandoned the [assassination_board_job_name].</string>

<key>random_hits_busy</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] [mission_random_hits_playertitle] [commander_name], you [assassination_board_accepted1] [assassination_board_accepted2] [assassination_board_accepted3] [assassination_board_accepted4] [assassination_board_accepted5] this [assassination_board_job_name]. However, [assassination_board_busy1] you [assassination_board_busy2] to [assassination_board_busy3] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4] [assassination_board_job_name] is [assassination_board_busy5].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_busy2</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1b] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] [mission_random_hits_playertitle] [commander_name], you [assassination_board_accepted1b] [assassination_board_accepted2b] [assassination_board_accepted3b] [assassination_board_accepted4b] [assassination_board_accepted5b] this [assassination_board_job_name]. However, [assassination_board_busy1b] you [assassination_board_busy2b] to [assassination_board_busy3b] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4b] [assassination_board_job_name] is [assassination_board_busy5b].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_busy3</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1c] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name]. \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] [mission_random_hits_playertitle] [commander_name], you [assassination_board_accepted1c] [assassination_board_accepted2c] [assassination_board_accepted3c] [assassination_board_accepted4c] [assassination_board_accepted5c] this [assassination_board_job_name]. However, [assassination_board_busy1c] you [assassination_board_busy2c] to [assassination_board_busy3c] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4c] [assassination_board_job_name] is [assassination_board_busy5c].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_paid</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_killed1] [mission_random_hits_playertitle] [commander_name]. We [random_hits_killed2] [random_hits_killed3] have [random_hits_killed4] [random_hits_killed5]. [random_hits_killed6] [random_hits_killed7]! [random_hits_killed8] [mission_random_hits_store_mark_fee] Credits [random_hits_killed9]. [random_hits_killed10].\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You have successfully [assassination_board_busy5] this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_failed</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[mission_random_hits_playertitle] [commander_name] you are [random_hits_failed1] [assassination_board_insult]! We are [random_hits_failed2] [random_hits_failed2b], [random_hits_failed3] you [random_hits_failed4] [random_hits_killed4] [random_hits_failed5] the [random_hits_notwelcome_para3e] [mission_random_hits_store_mark_race_part2]'s [mission_random_hits_store_mark_ship] [random_hits_failed6], you [random_hits_failed7] [random_hits_failed8] [random_hits_failedA] [mission_random_hits_store_mark_gender] escape [random_hits_poded2]. [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] [random_hits_failed9] and, [random_hits_failed10] your [random_hits_failed11] [random_hits_failed12], [assassination_board_refused5] [random_hits_failed13]. [random_hits_failed14]\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You have failed to complete this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_npckill</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_npcfail1] [mission_random_hits_playertitle] [commander_name]! As you [random_hits_npcfail2], [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] was [mission_random_hits_deathcause] on Star Date [mission_random_hits_npcdays]. [random_hits_npcfail3] [assassination_board_refused5] was not [random_hits_npcfail3a] [random_hits_npcfail4], [random_hits_npcfail4a] [random_hits_npcfail5]. A consolation [random_hits_npckill2] of [mission_random_hits_npcmoney] Credits [random_hits_killed9] [random_hits_npcfail6]. [random_hits_npcfail7]!\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You were unable to complete this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_jumpfail</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[mission_random_hits_playertitle] [commander_name] you are [random_hits_failed1] [assassination_board_insult]! We are [random_hits_failed2] [random_hits_failed2b], [random_hits_failed3] you [random_hits_failedjump1] the [random_hits_notwelcome_para3e] [mission_random_hits_store_mark_race_part2]'s [mission_random_hits_store_mark_ship], you [random_hits_failed7] [random_hits_failed8] [random_hits_failedjump2]. [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] [random_hits_failed9] and, [random_hits_failed10] your [random_hits_failed11] [random_hits_failed12], [assassination_board_refused5] [random_hits_failed13]. [random_hits_failed14]\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You have failed to complete this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_markscooped</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_scoopchoice1] [mission_random_hits_playertitle] [commander_name]. We are [random_hits_failed2] [random_hits_failed2b] you have [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] [random_hits_scoopchoice2]. We [random_hits_scoopchoice3] you to [random_hits_wanted6a] the [random_hits_notwelcome_para3e] [mission_random_hits_store_mark_race_part2]'s [assassination_board_part7_killmethod2] rather than [mission_random_hits_store_mark_gender] [random_hits_scoopchoice3a]! Unless you [random_hits_scoopchoice4] and [random_hits_scoopchoice5] [assassination_board_busy3] [assassination_board_refused5], you will not be awarded your [random_hits_failed14a].\n\n[random_hits_scoopchoice6]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You have not yet completed this [assassination_board_job_name]. What will you do [mission_random_hits_playertitle]?</string>

<key>random_hits_killpod</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_scoopchoice12] [mission_random_hits_playertitle] [commander_name]. We [random_hits_killed2] [random_hits_killed3] have [random_hits_killed4] [assassination_board_part4_killmethod2z] [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name]. [random_hits_killed6] [random_hits_killed7]! [random_hits_killed8] [mission_random_hits_store_mark_fee] Credits [random_hits_killed9]. [random_hits_killed10].\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You have successfully [assassination_board_busy5] this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_freepod</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : [random_hits_letgo1] [mission_random_hits_cop_name] of the [%I] [random_hits_letgo2].\nSUBJECT              : Your [random_hits_scoopchoice3z] of mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name [mission_random_hits_store_mark_second_name]. \nADDRESS             : [assassination_board_address1] [mission_random_hits_cop_name]@[assassination_board_address2]\n\n[random_hits_letgo3] [random_hits_killed4] [random_hits_letgo6] [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name]. We have been [random_hits_letgo4] the [random_hits_notwelcome_para3e] [spacebar-warning2] for [random_hits_letgo5]. Your [random_hits_letgo6a] of [mission_random_hits_store_mark_race_part1] [mission_random_hits_store_mark_race_part2] from [mission_random_hits_store_mark_system] [random_hits_letgo7]. [random_hits_letgo8_start_extra] of [mission_random_hits_galcop] Credits [random_hits_killed9] [random_hits_letgo8].\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\n[random_hits_security_bar_text_close_extra4] You chose to abandon this [assassination_board_job_name] by handing [assassination_board_refused5] over to the [random_hits_letgo2a]. [random_hits_abandoned2] [random_hits_abandoned3] Seedy Space Bar for a [random_hits_abandoned3a] [assassination_board_job_nameb].</string>

<key>random_hits_shortdescription</key>
<string>[assassination_board_shortstart] mission_random_hits_mark_first_name mission_random_hits_mark_second_name [assassination_board_shortstart3] mission_random_hits_mark_ship_description mission_random_hits_mark_ship at [mission_random_hits_mark_system].</string>

<key>random_hits_shortdescription2</key>
<string>[random_hits_complete]</string>

<key>random_hits_shortdescription3</key>
<string>[random_hits_rank]</string>

<key>random_hits_shortdescription4</key>
<string>[random_hits_poded]</string>

<key>random_hits_shortdescription5</key>
<string>[random_hits_failed]</string>

<key>random_hits_shortdescription6</key>
<string>[random_hits_npckill]</string>

<key>random_hits_shortdescription6a</key>
<string>[random_hits_accident]</string>

<key>random_hits_shortdescription7</key>
<string>[random_hits_jumped]</string>

<key>random_hits_shortdescription8</key>
<string>[random_hits_scooped]</string>

<key>random_hits_shortdescription9</key>
<string>[random_hits_start_rank_display]</string>

<key>random_hits_eject</key>
<dict>
<key>random_hits_kickout</key>
<string>[random_hits_launch]</string>
</dict>

<key>random_hits_bill_pause</key>
<dict>
<key>random_hits_bill_paid</key>
<string>[random_hits_bill_paid_pressenter]</string>
</dict>

<key>random_hits_board_choice</key>
<dict>
<key>random_hits_accept</key>
<string>[random_hits_makeoffer]</string>
<key>random_hits_next</key>
<string>[random_hits_makeoffer3_search_describe] [random_hits_makeoffer3_start_leveltwo] [assassination_board_job_namez]</string>
<key>random_hits_zexit</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string>
</dict>

<key>random_hits_board_choice1</key>
<dict>
<key>random_hits_accept</key>
<string>[random_hits_makeoffer]</string>
<key>random_hits_next1</key>
<string>[random_hits_makeoffer3_search_describe] [random_hits_makeoffer3_start_levelthree] [assassination_board_job_namez]</string>
<key>random_hits_zexit</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string>
</dict>

<key>random_hits_board_choice2</key>
<dict>
<key>random_hits_accept</key>
<string>[random_hits_makeoffer]</string>
<key>random_hits_loop</key>
<string>[random_hits_makeoffer3_search_describe] [random_hits_makeoffer3_start_levelone] [assassination_board_job_namez]</string>
<key>random_hits_zexit</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string> 
</dict>

<key>random_hits_board_choice3</key>
<dict>
<key>random_hits_refusedreturn</key>
<string>Return to [random_hits_makeoffer3] [random_hits_makeoffer3_search_describe2]</string>
<key>random_hits_zrefusedexit</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string>  
</dict>

<key>random_hits_board_choice4</key>
<dict>
<key>random_hits_zexitwithjob</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string>
<key>random_hits_returnwithjob</key>
<string>Return to [random_hits_makeoffer3] [random_hits_makeoffer3_search_describe2]</string> 
</dict>

<key>random_hits_board_choice5</key>
<dict>
<key>random_hits_zexitbusy</key>
<string>[random_hits_makeoffer4] [random_hits_makeoffer3_search_describe2]</string>
<key>random_hits_returnbusy</key>
<string>Return to [random_hits_makeoffer3] [random_hits_makeoffer3_search_describe2]</string> 
</dict>

<key>random_hits_pause</key>
<dict>
<key>random_hits_paidplayer</key>
<string>[random_hits_pressenter]</string>
</dict>

<key>random_hits_pause2</key>
<dict>
<key>random_hits_failedplayer</key>
<string>[random_hits_pressenterB]</string>
</dict>

<key>random_hits_pause3</key>
<dict>
<key>random_hits_failedbynpc</key>
<string>[random_hits_pressenterC]</string>
</dict>

<key>random_hits_pause4</key>
<dict>
<key>random_hits_failedself</key>
<string>Press ENTER to continue [random_hits_scoopchoice11] [mission_random_hits_playertitle]</string>
</dict>

<key>random_hits_pause5</key>
<dict>
<key>random_hits_big_boss_battle_over</key>
<string>[random_hits_pressenter]</string>
</dict>

<key>random_hits_pause6</key>
<dict>
<key>random_hits_news_awarded</key>
<string>[random_hits_pressenter]</string>
</dict>


<key>random_hits_livedie</key>
<dict>
<key>random_hits_live</key>
<string>[random_hits_scoopchoice8] the [random_hits_scoopchoice9] and contact [random_hits_scoopchoice10]</string>
<key>random_hits_murder</key>
<string>[random_hits_scoopchoice_menu_offer]</string>
</dict>

<key>random_hits_big_boss_alert_first_choice</key>
<dict>
<key>random_hits_big_boss_alert_first_choice_launch</key>
<string>[random_hits_security_bar_text_first_launch]</string>
<key>random_hits_big_boss_alert_first_choice_notnow</key>
<string>[random_hits_security_bar_text_first_no]</string>
</dict>

<key>random_hits_big_boss_alert_second_choice</key>
<dict>
<key>random_hits_big_boss_alert_second_choice_launch</key>
<string>[random_hits_security_bar_text_second_launch]</string>
<key>random_hits_big_boss_alert_second_choice_notnow</key>
<string>[random_hits_security_bar_text_first_no]</string>
</dict>





</dict>	
</plist>
And here is my "description.plist"
Image

As I have basically no knowledge of coding...I am completely at the mercy of ignorance to find out what this means. :?
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Try to open the file in "texteditor" and save it with that. Maybe it removes the wrong characters on re-saving. Convert to flat text first when it is something else.

I used to fix these type of problems with X-code. But since a weak I have upgraded from OSX-4 to OSX-5. The X-code that ships with that release has changed to the worse on this point.

With OSX-4 I could load a faulty plist and do a syntax check as plist. I got a nice line number were the error was, jump to that line and fix it.
When copying from the BB I sometimes had faulty characters in the listing. X-Code could show special characters so it was easy to delete them. (With OSX-2 it was even possible to do a syntax check on a part of a plist file)

With OSX-5 X-code immediately does a syntax check on opening a plist file. When wrong It just refuses to open it. (Actually the finder is already checking it and when a correct plist is adds the plist in the icon.) I do get a wrong line-number but need an other program capable of listing line-numbers to find the line. Fix the line save it, and re-open it in X-code until bug free.

And the old X-code does not work on OSX-5. No idea why they changed this part for the worse.
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 »

Eric Walch wrote:
used to fix these type of problems with X-code. But since a weak I have upgraded from OSX-4 to OSX-5. The X-code that ships with that release has changed to the worse on this point.
This is because Xcode now defaults to using what amounts Property List Editor embedded in Xcode. You can change this in Xcode’s preferences -> File Types: change the types for text.plist and text.plist.xml to Plain Text File (instead of ASCIIPropertyList and XMLPropertyList).
And the old X-code does not work on OSX-5.
If the above doesn’t work, Xcode 2.5 is the old Xcode updated to run on Mac OS X 10.5. :-) It can be installed in parallel with Xcode 3.x.

It can be downloaded from connect.apple.com /(requires free developer programme membership and weighs 902 MiB), along with updates to Xcode 3.x (the current version is 3.1.3).
Post Reply