1C Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official 1C Company forum > 1C Publishing > IL-2 Sturmovik: Cliffs of Dover > FMB, Mission & Campaign builder Discussions

Reply
 
Thread Tools Display Modes
  #1  
Old 04-16-2011, 08:56 AM
Ataros Ataros is offline
Senior Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,438
Default Online War - FMB scripting

I'll just copy my post from Syndicate forums:

Please have a look at post #73 from a developer here.
http://translate.google.com/translat...964%26page%3D3

Corrected translation:
Quote:
In the enclosure there is simple example of a mission with a script - run mission 1.mis (in 2 pieces), it executes the script 1.cs - every 1200 ticks of game (~ 30 ticks a second, iirc) which loads the mission 2.mis (1 Spitfire) - this is the answer to how to create a group of aircraft every N minutes.

When a player leaves the plane - an event triggered OnPlaceLeave and a second later the plane is killed - this is the answer on how to get rid of bots. Naturally, for your specific conditions, all this can be reconfigured.
I think using these scripts we can
1) kill all bots after a player exits an aircraft for better stability

and much more important(!)

2) create any submissions for current mission loading every 10, 15, 20 and 30 minutes, including

- programmed bombing runs on England (and France )
- tank battles
- armored cars attacking airfields
- ship convoys (bombing/intercepting submissions)
- free hunters surprisingly attacking on takeoff
- submarines sinking convoys (with 3rd party addons )
- etc, etc.

Basically any mission from Offline Campaign can be taken online.

Another useful thread on scripting and triggers.
http://translate.google.com/translat...hp%3Ft%3D68369

upd. New forum section on FMB and scripting http://translate.google.com/translat....php%3Ff%3D234

Lets make some small missions consisting of 3-4 submissions first to simulate what we had in IL-2 online wars like VEF or ADW.

File with sample mission from developer attached. Let the full-scale war begin!
Attached Files
File Type: zip tmp.zip (1.6 KB, 224 views)

Last edited by Ataros; 04-27-2011 at 09:18 AM.
Reply With Quote
  #2  
Old 04-16-2011, 10:09 AM
doghous3 doghous3 is offline
Senior Member
 
Join Date: Apr 2011
Posts: 168
Default

had a look at that this morning.

1. works a treat. spawn, respawn, first spawn plane immediately gone.

2. didn't work. From what I could see, it actually tries to load a new mission. Perhaps it is possible to load a mission into a mission, doesn't seem desirable, but then maybe i need more coffee.

Great finds again though Ataros.
Reply With Quote
  #3  
Old 04-16-2011, 02:35 PM
Ataros Ataros is offline
Senior Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,438
Default

Quote:
Originally Posted by doghous3 View Post
From what I could see, it actually tries to load a new mission. Perhaps it is possible to load a mission into a mission, doesn't seem desirable, but then maybe i need more coffee.
Oleg mentioned long time ago that this is their idea for multiplayer i.e. continuous non-stop war. Server does not have to stop the mission and put all connected players into waiting interface screen when server is changing mission objectives as it was in original IL-2.

In original Il-2 when mission objectives are met you server had to stop the mission to load a new one. If you were flying in the air at this moment you would have to start again on the ground.

Now in CoD you can continue flying when "mission is changing".

Say you have a mission to stop enemy tanks from taking an airfield.
Then you have options
1) If you are successful this triggers loading next objectives:
- for your tanks advance to next city and for your aircraft to cover them.
- for enemy to bomb your airfield

2) If you fail to protect your airfield the objectives will be different:
- for you to cover bomber strike on enemy tank factory
- for enemy to escort transport aircraft to the newly taken airfield.

New objectives (together with new aircraft, tanks, ships, etc.) will be loaded into current mission while you are still flying in the air. You can prepare say 20-50 such small sub-missions and they will rotate on your server depending on results of previous missions set as triggers. Several sub-missions may overlap in time.
And this is just one possibility, there are much more of them.

Atm you may wish to try adding sub-missions of Stukas attacking shipping in the channel loading into your current mission every 20 minutes. ...and Beaufighters attacking blue airfields every 30 minutes, and... the possibilities are endless.

I will try to do it myself on Monday probably as i am currently away from my gaming PC.
Reply With Quote
  #4  
Old 04-16-2011, 03:30 PM
doghous3 doghous3 is offline
Senior Member
 
Join Date: Apr 2011
Posts: 168
Default

Ah, thanks for explaining the concept.

Part of the confusion was that in 2.mis, it contained information for [PARTS], [MAIN] etc.. (set as a full mission) also, and call me a doughnut, I had the tmp file in multi folder, not just missions. *facepalm*

So most the fluff can be removed and in that instance just have the airgroup/waypoints.

It does work. I need that caffiene in the morning.
Reply With Quote
  #5  
Old 04-16-2011, 04:36 PM
baffa baffa is offline
Approved Member
 
Join Date: Apr 2011
Posts: 34
Default

These things looks really promising!
Reply With Quote
  #6  
Old 04-16-2011, 04:45 PM
Jwam Jwam is offline
Member
 
Join Date: Apr 2011
Posts: 51
Default

Thank you very much for sharing.

I'm using it on my server, and it's really cool not to see thousands of IAs flying without ammo or standing on the taxiway.
Reply With Quote
  #7  
Old 04-16-2011, 05:00 PM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Great find!!!

now if i can only script the dog to walk himself in the morning and not pester me

S!
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote
  #8  
Old 04-17-2011, 12:08 AM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

Quote:
The name of the offending applications: Launcher.exe_Launcher, version: 1.0.0.0, time stamp: 0x4d6e3d08
0x4ce7ba58 Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp 0x4ce7ba58
Exception Code: 0xc0000005 Exception Code: 0xc0000005
An access violation is a serious problem: it is an unexpected attempt to write to an invalid memory address. As John already clarified, the unmanaged DLL might already have corrupted the process memory before the access violation has been raised. This can have unpredicted effects on any part of the current process

The original poster of the error also noted it happend after the Chanel map has been running for a while.

S!
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote
  #9  
Old 04-17-2011, 02:34 AM
Thee_oddball Thee_oddball is offline
Approved Member
 
Join Date: Mar 2011
Posts: 812
Default

I must be doing something wrong...i have added the script to one of my maps and there is even a .cs file of the same name but when i tested it and spwned four planes they just took off like they always do is the file below correct?
Quote:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;

public class Mission : AMission
{


public override void OnTickGame()
{
{
if (Time.tickCounter() % 1200 == 0)
{

GamePlay.gpPostMissionLoad("missions\Multi\Dogfigh t\basic40c.mis");
}
}
}

public override void OnPlaceLeave(Player player, AiActor actor, int placeIndex)
{
base.OnPlaceLeave(player, actor, placeIndex);
Timeout(1, () =>
{
AiAircraft CurAircraft = player.Place() as AiAircraft;
AiAircraft PrevAircraft = actor as AiAircraft;
if (CurAircraft != PrevAircraft)
{ (actor as AiAircraft).Destroy(); }
});
}

}
__________________
Gigabyte Z68
Intel 2500K (@4.3 ghz)212 CM Cooler
8GB Ram
EVGA 660SC (super clocked) 2GB Vram
CORSAIR CMPSU-750TX 750W
64 GB SSD SATA II HD
WIN7 UL 64BIT
Reply With Quote
  #10  
Old 04-17-2011, 11:55 AM
Ataros Ataros is offline
Senior Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,438
Default

Quote:
Originally Posted by Thee_oddball View Post
when i tested it and spwned four planes they just took off like they always do is the file below correct?
I can not say if something is wrong as I do not know C# myself.
Why do you expect the AI aircraft not to take off? If basic40c.mis tells them to take off, they will.


upd. All events you can use in a mission script. Sorry for jpg format.


upd.2 And a good thread on triggers here http://forum.1cpublishing.eu/showthr...builder&page=2

Last edited by Ataros; 04-17-2011 at 02:21 PM.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:48 PM.

Based on a design by: Miner Skinz.com

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Copyright © 2007 1C Company. All rights reserved.