Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

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

Reply
 
Thread Tools Display Modes
  #11  
Old 07-29-2011, 03:01 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

Quote:
Originally Posted by Ataros View Post
I did not see any frontline on the map. I assume it should move depending on tanks progress? Moving frontline gives players incentive to fight harder.
I was planning to create dynamic frontmarkes placed at the positions of ships&tanks and updated periodically but i had no time, this is relatively easy and not cpu intensive, will include this feature when i have time.

Quote:
Originally Posted by Ataros View Post
Could you please write a very short briefing for the mission explaining what sides can achieve
Mission Info is in the attachment, I had prepared a better info for mission but lost it when my raid array failed, anyway this would be useful too.

Quote:
Originally Posted by Ataros View Post
What are the balancing rules?
there are two modes for balance either by fighter ratio difference or by fighter count difference. Default values are these:
  • stb_FighterBalanceActive = true
    used for enabling/disabling balance system
  • stb_BalanceFightersByRatio = true
    means balance will be checked according to ratio difference
  • stb_DesiredRatio = 2.0
    means if one side's fighter count is greater than 2 times the other side's fighter count, new players at the high ratio side will be blocked from spawning fighters, this scales well with changing total player count whereas setting BalanceFightersByRatio to false makes the balance system check for a current fighter count difference which is the constant value defined in DesiredDelta. For example DesiredDelta = 5 means there can only be 5 more fighters on a side regarless of total player count
  • stb_DesiredDelta = 5
  • stb_MinCountForBalance = 10
    this means the code wont block any player(fighter) if total player count is lower than 10 even if the ratio or difference is above the desired values.

Quote:
Originally Posted by Ataros View Post
Could you please include air kill per death,...
collecting stats for deaths(ondead events) is a little bit more tricky, for example you damaged a ship, its burning but not dead yet, you exit and changed side, than the ship died, game's onActorDead event triggers and you seem to kill your own ship, because the parameters on this event are just references which are up to date. The same is true for reverse and opens a door for easy unfair score gain by attacking your own side, with missions allowing side change, in script there is no easy way to know "the initiators side(army) when the related events occured" causing another event even if you recorded army change times for each player manually and checked them with event times, This is also much hard&complex to write and very cpu intensive compared to current stat collection system. The right way to go this far in my opinion is in c++ not managed c#. The game also has a nice score system for the kills in which your score increases even depending on how well you hit a target. (i got 7 score points when i killed a ship by dropping a bomb to water, a few meters next to it but it gave 17 score points when i dropped the bomb right into its belly) It also seems to resolve these conflicts. There's no need to do the same calculations on the script which the game already does, it could be a good idea to ask the devs for a tip or example about this.

About different/variated stats:
if you stop the battle, move the "StbVolcanicIslands2_playerstats_full.txt" and "StbVolcanicIslands2_playerstats_low.htm" files to another folder manually and restart the battle, it will create the stats from scratch. This way you can archive them daily/weekly or however you like and can give the player with most air kills a nick or award. etc. i'll write an example about the things like "tasks per placeEnters" shortly.
Attached Images
File Type: jpg MissionInfo.jpg (716.9 KB, 20 views)

Last edited by stillborn; 07-29-2011 at 03:07 PM.
Reply With Quote
  #12  
Old 07-29-2011, 03:22 PM
Ataros Ataros is offline
Approved Member
 
Join Date: Jun 2010
Location: USSR
Posts: 2,439
Default

Thanks a lot for all the answers.

This is how a path to cache looks
C:\Documents and Settings\Администратор\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\cache

This is Russian WinServer 2003 x32, contains Cyrillic letters. Can this cause the problem?
Reply With Quote
  #13  
Old 07-29-2011, 04:18 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

Quote:
Originally Posted by Ataros View Post
Thanks a lot for all the answers.

This is how a path to cache looks
C:\Documents and Settings\Администратор\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\cache

This is Russian WinServer 2003 x32, contains Cyrillic letters. Can this cause the problem?
attachment has a modified version for you, i hope this resolves the error.

i dont think its caused by Cyrillic letters, the cs files containing nonstandart chars are saved as utf8 by default unless you force them to save as ascii, i think its the Path.GetDirectoryName(System.Reflection.Assembly.G etExecutingAssembly().Location) command that returns something different in win server 2003.

make sure you extracted the modified archive to

"C:\Documents and Settings\Администратор\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight\StbVolcanicIslands2\ "

, not the one inside program files so "StbVolcanicIslands2.cs" file location should be like this:

"C:\Documents and Settings\Администратор\Мои документы\1C SoftClub\il-2 sturmovik cliffs of dover\missions\Multi\Dogfight\StbVolcanicIslands2\ StbVolcanicIslands2.cs"
Attached Images
File Type: jpg ChangedLinesForRepka.jpg (18.2 KB, 6 views)
Attached Files
File Type: zip StbVolcanicIslands2Repka.zip (35.4 KB, 10 views)

Last edited by stillborn; 07-29-2011 at 04:21 PM.
Reply With Quote
  #14  
Old 07-29-2011, 06:32 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

here's a file explaining which types of damages goes where in stats htm
Attached Files
File Type: zip StatsCompactDetails.zip (245.8 KB, 30 views)
Reply With Quote
  #15  
Old 08-09-2011, 04:07 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

Here is version 1.1
Changes:
  • added dynamic frontmarker creation from ground and naval unit positions
  • added "last place online" and "tasks per place enter" columns to stats
  • fixed stats html client side sortability
  • stats html is automatically sorted by tasks per place enter when opened
  • stats html is now standalone, does not require any css or js
  • added a servername option for stats html
  • increased upload interval to 133 secs and made some minor adjustments to other timings
  • ship hulls are now removed
  • ai bomber difficulties are all ace (0.99)
  • reduced the number of ai bomber to 3 for each side
  • mission runs at least 2x faster due to reduced ai bombers and minor tweaks in stat thread
  • fixed OnPlaceEnter and OnPlaceLeave script bugs
  • "removal of unused planes and ai" script is more stable
  • mission is now in dll form for easier integration with other scripts

StbViMission.dll must be in the folder where Launcher.exe is.
You can put the "StbVi.cs" and "StbVi.mis" files anywhere you like and run the mission from there.
If you want to edit the mission further, visual studio solution for the dll is in the second zip.

Please turn on "Cannot Swith Planes" difficulty option when running this mission because Blues can get into He111s by pressing AltF1 but reds cant use Wellingtons.

Btw it seems like game only lets me to load dlls from the folder where Launcher.exe is.
I used "//$reference StbViMission.dll" for import at the top of the script.
"Assembly.LoadFrom" and similar methods work fine but they are useless because i use this dll to define the class type of mission at the top.
If you find a way to include folders with "//$reference" or another way to reference a dll from another folder (without editing an xml or ini, just from inside the mission script) please suggest.
Attached Files
File Type: zip StbVolcanicIslands1.1.zip (65.0 KB, 28 views)
File Type: zip Source_StbViMission_dll.zip (54.6 KB, 29 views)
Reply With Quote
  #16  
Old 08-09-2011, 04:31 PM
41Sqn_Banks 41Sqn_Banks is offline
Approved Member
 
Join Date: Oct 2007
Posts: 644
Default

You can give the path the the dll relative to the path with the launcher.exe, for example:
Code:
//$reference parts/il2dce/IL2DCE.Mission.dll
Reply With Quote
  #17  
Old 08-09-2011, 05:09 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

Quote:
Originally Posted by 41Sqn_Banks View Post
You can give the path the the dll relative to the path with the launcher.exe, for example:
Code:
//$reference parts/il2dce/IL2DCE.Mission.dll
Thanks for the help. I tried this now by moving the "StbViMission.dll" into parts folder and changing the top line in "StbVi.cs" to "//$reference parts/StbViMission.dll" but it didnt work.
Your example naming seems to be identical to the namespaces you use, maybe i should wrap my custom class in a namespace according to the dlls folder (yes i havent used a namespace). or some kind of default compiler option for my net4.0 runtime is different and messing things up.
Reply With Quote
  #18  
Old 08-09-2011, 06:34 PM
41Sqn_Banks 41Sqn_Banks is offline
Approved Member
 
Join Date: Oct 2007
Posts: 644
Default

This is really strange.

http://code.google.com/p/il2dce/sour....GameServer.cs

I can load assemblies with the following script.

However I get a exception because Core is not marked as serializable. Do you have a similar problem and have to mark classes you use within a mission as serializable?
Reply With Quote
  #19  
Old 08-09-2011, 09:02 PM
stillborn stillborn is offline
Approved Member
 
Join Date: Sep 2010
Posts: 21
Default

I guess its good to access "imported objects with //$reference" after everything is loaded and initialized. From what i see things differ a bit before and after the initialization of a mission. For example one strange thing i noticed is: The first version of this mission had "Assembly.GetExecutingAssembly().Location" command inside OnBattleStarted Method, which returned a path with "1cSoftClub" in it but the same command returns the launcher.exe path when used as a variable's default value at the top.

I never had an issue with serializability when both deriving the Mission class from a custom class and when using/accessing another class.

if you are not saving your class or another object inside with its current state intentionally, probably something in the process of packing your dll and/or loading it requires serialization, to save or to send it somewhere in memory as a stream, etc. try using alternative approaches when importing/accessing your classes. Hope this helps.

Btw i'm just curious, is there a specific purpose of importing gamePlay.dll via //$reference, which is as far as i know, identical to this
Code:
using maddox.game;
using maddox.game.play;
it would be good to know if there are extra things accessible with that way
Reply With Quote
  #20  
Old 08-09-2011, 09:13 PM
41Sqn_Banks 41Sqn_Banks is offline
Approved Member
 
Join Date: Oct 2007
Posts: 644
Default

I had to import gamePlay.dll because I cast a IGamePlay object to GameDef. GameDef is defined within this assembly and is otherwhise not know. In fact this gives a lot of new possibilities because GameDef has some useful methods (like the Chat event).

With "using" you only don't need to write always the namespace before you access something of it but it doesn't load the assembly.
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 11:43 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.