Page 3 of 12

Posted: Wed Nov 29, 2006 8:45 pm
by Dr. Nil
HueijRevisited wrote:
Man, don't you commies never sleep? I just installed 1.5 not 20 minutes ago... :)
The Party whipped a bunch of Astromine inmates into working on 1.5 and 1.6 day and night. ;)

Glad that you liked it.

Help please

Posted: Fri Dec 01, 2006 11:50 am
by Dr. Nil
Please remember that I'm still a complete n00b in the world of XML and whatsitcalled. :)

Some help would be appreciated on optimizing the commies expansion.
{
"communist_population" = (
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 50",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: workcom 1 0.8"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: workcom",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addSystemShips: workcom 1 0.8");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 50",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: workcom 1 0.92"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: workcom",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addSystemShips: workcom 1 0.92");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 50",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: workcom 1 0.6"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: workcom",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addSystemShips: workcom 1 0.6");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 50",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: workcom 1 0.55"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: workcom",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addSystemShips: workcom 1 0.55");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"addShipsAt: workcom 1 spu 0 0.06 0.35"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: workcom",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addShipsAt: workcom 1 spu 0 0.06 0.35");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: comlim 1 0.3"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comlim",
{
conditions = ("shipsFound_number lessthan 2");
do = ("addSystemShips: comlim 1 0.3");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: comlim 1 0.35"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comlim",
{
conditions = ("shipsFound_number lessthan 2");
do = ("addSystemShips: comlim 1 0.35");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 90",
"planet_number greaterthan -1"
);
do = (
"addShipsAt: comlim 1 spu 0 0.08 0.4"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 90",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comlim",
{
conditions = ("shipsFound_number lessthan 1");
do = ("addShipsAt: comlim 1 spu 0 0.08 0.4");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: comviper 5 0.47"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 75",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comviper",
{
conditions = ("shipsFound_number lessthan 5");
do = ("addSystemShips: comviper 5 0.47");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 10",
"planet_number greaterthan -1"
);
do = (
"addSystemShips: politicop 1 0.48"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"d100_number greaterthan 10",
"planet_number greaterthan -1"
);
do = (
"checkForShips: politicop",
{
conditions = ("shipsFound_number lessthan 1");
do = ("addSystemShips: politicop 1 0.46");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 95",
"planet_number greaterthan -1"
);
do = (
"addShipsAt: politicop 1 spu 0 0.06 0.36"
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"d100_number greaterthan 10",
"planet_number greaterthan -1"
);
do = (
"checkForShips: politicop",
{
conditions = ("shipsFound_number lessthan 1");
do = ("addShipsAt: politicop 1 spu 0 0.06 0.36");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"systemTechLevel_number lessthan 10",
"planet_number greaterthan -1"
);
do = (
"addShipsAt: comczgf 1 spu 0 0.05 0.35",
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 6",
"systemTechLevel_number lessthan 10",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comczgf",
{
conditions = ("shipsFound_number lessthan 1");
do = ("addShipsAt: comczgf 1 spu 0 0.05 0.35");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 9",
"planet_number greaterthan -1"
);
do = (
"addShipsAt: comslapu 1 spu 0 0.05 0.35",
);
},
{
conditions = (
"status_string equal STATUS_LAUNCHING",
"systemGovernment_number equal 4",
"systemTechLevel_number greaterthan 9",
"planet_number greaterthan -1"
);
do = (
"checkForShips: comslapu",
{
conditions = ("shipsFound_number lessthan 1");
do = ("addShipsAt: comslapu 1 spu 0 0.05 0.35");
}
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 80",
"planet_number equal -1"
);
do = (
"addShips: comgrc 1",
"addShips: comgrc-defender 2"
);
},
{
conditions = (
"status_string equal STATUS_EXITING_WITCHSPACE",
"systemGovernment_number equal 4",
"d100_number greaterthan 90",
"planet_number equal -1"
);
do = (
"addShips: comgrc 1",
"addShips: comgrc-defender 3"
);
}
);
}
I suppose there is a way to optimize this, so that it first checks for systemGovernment_number equal 4, then within that check branches out and checks for STATUS_LAUNCHING and STATUS_EXITING_WITCHSPACE and then within each of those two branches does the individual checks related to the appearance of the different ships, so that the game usually only would have to do 1-3 checks each cycle (except when actually exiting witchspace or launcing), instead of the many that I have it doing now. Isn't it so?

I can't quite get to grips with the format for doing this, so if somebody would take the time to show me as an example with the above supplied script. Not all the ships ;) (I wouldn't mind it though) but just with all the right opening and closing brackets for making the structure for this of this script more compact.

Posted: Fri Dec 01, 2006 2:00 pm
by Ramirez
Do the police units particularly need to be in the script? If they already have the relevant police-related roles they should get populated in the system automatically, then it would just be a case of tweaking the role probabilities to determine how many of the total police ships are communist ones.

I'm no script expert either but I've have had a look around on the wiki and so here are some ideas that may be worth a try:

IIRC, attempting to use a rendezvous script without having an instantaneous condition like status_launching or something similar will simply create an endless loop. However if you include a 'ships found less than x' condition, wouldn't this put a stop the loop? I'm just wondering if you can get away with having the government type as the condition without needing to script for both the launching and exiting witchspace conditions.

Alternatively, maybe there's scope in using planetinfo instead. Usually the planetinfo data has to be set up for each system, however it might be possible to set up a universal planetinfo, but then within that have some ship appearance scripts that include the system government condition. This might allow you to populate a system regardless of player status, avoiding multiple scripts and endless feedback loops.

Another thing that might help for some of the ships is to make more use of generic scripts for things like liners. Murgh originally set this up in the Transports OXP, and I copied and adapted this for Executive SpaceWays because I wanted to force some specific ship appearances, but really the same basic script could be used across all systems. Like the police units, anything with a liner as its role would get called by this basic script, then the government type condition in the shipdata would ensure that communist liners only appear in communist systems.

I've had some thoughts about populating dictatorships along similar lines so any tips on keeping things optimised would be very useful.

Posted: Fri Dec 01, 2006 5:26 pm
by Dr. Nil
Thanks for your advise.

I look forward to your dictatorships. I have a loose idea to throw in - junta style dictatorships with some Latin American flavouring for the Agricultural and more European Fascist style for the Industrial ones.

Posted: Sat Dec 02, 2006 3:40 pm
by Dr. Nil
1.7 Dec 2006

Made the script a lot more compact and made a minor change in shipdata.plist

Posted: Sat Dec 02, 2006 9:14 pm
by Star Gazer
I do like the 'commisar limousines' with their escorts - nice touch!

Posted: Sat Dec 02, 2006 11:08 pm
by Dr. Nil
:) Thanks. The models were lifted from Executive Spaceways OXP by Ramirez

I've been wanting to model my own Sturgeon Party Liner for those who are more equal than others, escorted by some Naucrates Ductor (pilot fish), but the first attemps have looked more like a rotten cod in a bucket :roll:
1.8 Dec 2006

Added Neuropol Info Service (AD-X screens from YOUR_AD_HERE.oxp fitted with communist messages) as Navigational Buoy in Rich Industrial commie systems.


Credits:
Propaganda Poster 1: johnsmith
Propaganda Poster 2: HueijRevisited

Posted: Sat Dec 02, 2006 11:34 pm
by HueijRevisited
Great work Tovarich! If you keep up this tempo of updating you may actually fulfill your part of the Five Year Plan :mrgreen:

Posted: Sun Dec 03, 2006 12:05 pm
by Dr. Nil
More like 5 weeks so far :)

Please just keep commie propaganda posters coming. The proles don't buy the local party secretary's speeches about full bread rations anymore. Not since they discovered that the promised full size rations which had them standing in lines for hours and hours was achieved through downsizing what goes for a full ration and adding sawdust to make up for the rest. And when he told them how suprised the Mrs. Party Secretary was that the proles didn't just eat cake when short on bread... well let's just say that it did not come out well. Not much of an orator that party sec. More posters will do the job instead!

REPEATED SLOGANS WILL TEACH THE PEOPLE!

NB. It might be some days before the next update, but please keep posting ads and propaganda you come up with.

Posted: Tue Dec 05, 2006 6:31 pm
by Dr. Nil
1.81 Dec 2006

Refitted the new smaller N-buoy Terascreen form Your Ad Here v.0.993 for Neuropol propaganda.

Posted: Wed Dec 06, 2006 11:08 am
by TGHC
Just a thought, I've not seen any ads for Viagra, approved loans, Rolex Watches, so why not an ad for "real spam"

http://www.geocities.com/fang_club/Spam_song.html

A new idea - spammers!

Posted: Wed Dec 06, 2006 12:05 pm
by ArkanoiD
Quite rare (otherwise it is really annoying)

broadcasting a lot (a message per second or so)

fugitive (everyone should be happy to hit one ;-)

weak ships (one hit sould be enough)

Posted: Wed Dec 06, 2006 1:42 pm
by Dr. Nil
:lol: I suppose that these ideas were for Your Ad Here! - not for commies..?

I did work on having the Terascreens transmit ads, but since they are placed with roles as buoys the inherit their AI from their role. When I was testing the Neuropol Information system I had placed one screen with it's own role somewhere else - it then started transmitting the very un-Neuropol message "Advertise your stuff with AD-X!" :?

Commies is cool!

Posted: Tue Dec 19, 2006 10:42 pm
by DaddyHoggy
@Doc - just entered my first Communist system post installation of Commies_v1.81 and I just wanted to say - "job well done!" - as I've also installed sunskimmers and piratecoves - at the same time my journey around the system was extremely eventful!

Do Rock Hermits always trigger a red alarm now - or am I just (un?)lucky in always getting a pirate cove? I got to shoot the poop out of several asps and FdLs before collecting their flotsam and I still got to dock with the RH to top up on precious metals and stones!

I also met my first SupraCobra (not one of yours I know but like I said it was an eventful trip) - he swore at me just as I vaporised him (boy am I glad I installed Mil Lasers just before the jump! :lol: )

Those Worker's Commuters are huge! You don't appreciate their size on the opening title screen. Hmmm, big ships, bigger "TV's" - are you compensating for something doc... :wink:

Being thanked by a people's police (Ray?) for helping take on two fugitives (my biggest bounties yet too 101 and 97 Cr) was nice but the Neuropol one made me jump as it filled up my comms with brainwashing material during a close fly by.

I didn't see a SLAPU - is there one in every communist system? My Advanced Compass was damaged in my first skirmish so I don't know whether they show up as anything special.

Finally a suggestion: I'm guessing prisoners are punished by being made to mine the asteroid fields. How about making the shooting up of asteroids in Communist space an offence? How can the people's party punish people to the full extent of the law if Imperialist commercial-driven scum from outside the system destroy the tools of punishment for a single credit at a time!

Keep up the good work.

PS Thanks for tips on Teorge thread - much appreciated.

Re: Commies is cool!

Posted: Wed Dec 20, 2006 3:19 pm
by Rxke
DaddyHoggy wrote:
Finally a suggestion: I'm guessing prisoners are punished by being made to mine the asteroid fields. How about making the shooting up of asteroids in Communist space an offence? How can the people's party punish people to the full extent of the law if Imperialist commercial-driven scum from outside the system destroy the tools of punishment for a single credit at a time!.
I think that's rather hard to do. Easier to script your 'own' asteroids as pseudoships (w/o thrust) copy of the original model with some extra pockmarks and give them an AI that screams bloody murder when shot at, and deathactions script etc