![]() |
Great thread on searchlights and adding AA to trains and trucks
http://forum.1cpublishing.eu/showthr...t=22740&page=2 |
Quote:
WOW! I start getting depressed that flying at 400kmh, jinking like mad, the last thing I will want to do is looking a the detail of the AAA shooting at me.... :-) It looks as if the mission builders will have as much fun as the pilots with this sim... Great job, we will go throgh hell finding out about the details but, great job! Nice week end to all ! |
Ataros
thanks for all the scripting info. I am trying your tmp script with three sub missions. It gets as far as loading the first sub mission and then my plane explodes. The text message is shown in cockpit then boom! Please help. Disregard..pilot error :) GH |
Thanks for the thread Ataros. Very helpful.
Is there a reason you guys are using "ticks" to measure time. C# has a few different ways of keeping track of time. Here's an example using the Stopwatch class. Don't get me wrong, modulus is great but this stopwatch is probably more accurate and it's a heck of a lot more readable. :) Code:
using System; |
Quote:
If you want to get rid of counting ticks, you can use this: Code:
//Runs once, when mission is loaded |
Oh, I'm sorry. I thought that you guys wanted to base the intervals that missions run on on real time not on game time.
|
1 Attachment(s)
Okay. I think I've got a handle on how to create and manipulate "MissionMarkers" aka Front Markers in a script. I've attached a simple, commented example. Shoot down the bomber in front of you and the southwest airfield's front marker changes to blue.
Quote:
Do you have a link to a tutorial on how to create multiplayer missions? |
1 Attachment(s)
Quote:
When new submission is loaded it can contain a new moved frontline and a new birthplace (e.g. red one) in the location where the blue one used to be. The problem is the old birthplace is not removed by loading a new submission and blue aircraft still can be created in the newly captured red airfield. That is why you need to destroy an old blue birthplace with a script I guess: Code:
foreach (AiBirthPlace bp in GamePlay.gpBirthPlaces()) Ideally I would like to move the frontline and change side of these 2 birthplaces based on results of a recent submission. Say if reds loose more aircrafts or tanks (or more then say 70%) in recent mission reds loose an airfield in D3. If they win next mission they take it back, etc. and repeat it forever. In the future I believe this script can be used to move frontline across the whole map to create an ongoing war. Please find a recent version of my mission attached. |
Could some C# experts check this part of script for errors. Trying to randomize submission loading here. Thanks to Groundhog for idea.
Intended to run in cycle forever. Does not work for me ( Need help please. Code:
using System; |
Thanks for the help Ataros, I'll start experimenting with that right away.
As for your code, what exactly isn't working? I can tell you right now that case 3 will never run because the Next(int, int) method returns an integer greater than or equal to the smaller number, but only less than the larger number. In other words, it will never return three, just one or two. It should look like this: switch (RandomIncident.Next(1, 4)) See here: http://msdn.microsoft.com/en-us/library/2dx6wyd4.aspx |
1 Attachment(s)
Quote:
I am trying to run this script with reduced delays for testing purposes and it does not load any submission or prints any message at all. Please try to run it if you have time to see. Mission is attached. Code:
// v.1_17_05. script by oreva, zaltys, small_bee |
Quote:
I'm not at my desktop so I can't run your mission, but I can't see why that code wouldn't work. |
@Ataros
Code:
switch (RandomIncident.Next(1,4)) It should look like: Code:
public override void OnTickGame() |
Quote:
Would it be hard to exclude the last mission flown from random selection for the next round? As I am getting case #3 like 4 times in a row, than case 2 2 times. It can become boring for players. (I am planning to add more various missions to it in the future.) We will test the script on Repka 2 for some time and then move it to Repka 1. Welcome to our servers! |
It's possible to avoid repeating of last mission:
Code:
public class Mission : AMission |
I use C# everyday and I can't imagine using any of the .NET stuff to code a flight sim.
|
Quote:
Tested offline and now put up on Repka 2 for online test. Randomization will give us possibility to add more missions and overlap them randomly in time to make the airwar environment absolutely unpredictable. I consider Repka server as a sandbox or a demo for the game-engine possibilities hoping that more people from community would be involved in mission-building and even in creation of online wars like ADW, Bellum or AFW as soon as they see how far the engine allows them to go compared to limited IL-2 COOPs or Dogfights. Unfortunately I do not have enough knowledge in C# myself. Your help is highly appreciated. Complete code as of today for Repka 2. Code:
// v.1_17_05. script by FG28_Kodiak, ZaltysZ, oreva, small_bee |
I can understand this thread just enough to get excited by the possibilities for online wars. Otherwise you guys might as well be doing voodoo for all I can tell :D
Great stuff! I may one day even move myself to borrow a C# for Dummies! |
1 Attachment(s)
Well, I've been messing around with changing spawn points for a while and I've got it mostly working except for one huge problem. The new spawn points don't update until I switch teams. For example, if I'm on red team and BirthPlace_1 switches to blue, I can still spawn there until I switch to blue and then back to red. I suspect it has something to do with the first mission still running after the second one is started, or the code isn't destroying BirthPlaces properly. It destroys "AiBirthPlaces". Do players use "AiBirthPlaces", or is that only for the AI. I saw no way to get a list of player "BirthPlaces".
Here's the code and the missions attached. If anybody sees any problems with it, please tell me. The spawn points and front lines will change sixty seconds after the mission starts. Code:
using System; |
Quote:
I suspect that BirthPlace has not much to do with creating planes, except as mean for UI making decision where it should show spawn points on map. Probably, we won't be able to handle this nicely until we get access to client UI (i.e. force refresh of UI). Quote:
|
Quote:
Code:
foreach (AiBirthPlace bp in GamePlay.gpBirthPlaces()) If we can change the frontline just by loading a new submission with moved frontline, why would we need the first part of the script defining the markers? I am a bit lost. I came to a simple practical idea to prevent spawning after AF is lost: 1) set trigger starting final an attack on the airfield only when all ground units on it are killed 2) load tanks attacking the af 3) load submission containing new forntline and new bp based on trigger (tanks reached af) 4) spawn arty and tanks to patrol the af. 5) anyone from the side that lost the af spawning on it is killed by arty or tanks and learns a lesson to check the frontline position before spawning. Not elegant but brutally practical. Did not have time to test it yet. Anyway we have to find out how to solve the issue in a more user-friendly way ...or ...isn't it a brutal military sim? |
Quote:
I'm slowly getting to grips with this :D I have a script for generating sub-missions, messages etc., and want to start a later flight in the same mission to make a second later attack on a convoy in the same mission but I can't seem to set a later start time in FMB Object Viewer. There's no way to change it from the main mission start time of 12:00 (which seems a bit daft). Can I script a start time for a planned mission or perhaps a spawn, aircraft. waypoints etc? I tried to follow your moving front line and army changes but I can't see how to make it work for a new flight. |
Quote:
You can try setting both a timedelay trigger and action (with the same name as trigger) in FMB in script menu but it did not work for me if I used other scripts with this mission. Maybe you can set only an "action" in FMB in script menu and then run it with a script with action.Do as in this example but delayed in time. Just guessing here. Code:
AiAction action = GamePlay.gpGetAction(ActorName.Full(missionNumber, shortName)); |
Quote:
Now that I think about it, I don't know what happens if I choose my army after the switch. It probably appears correctly then. Quote:
The reason that we can change spawn points by loading a new mission is because we can get all of the birthplaces and destroy them one by one, then let the ones in the new mission replace them. We can also create spawn points in code too, but I wanted to do that with a new mission because it was simpler. I'll try doing this tomorrow and see if it fixes my problem. |
1 Attachment(s)
Quote:
Actions are listed in the mission file not the script. A surprise of the month for me! lol |
The method I used to delay the start of a flight is as follows. There could very well (and probably is) be a better way.
1. Create a trigger that fires after the desired amount of time in the FMB. 2. Create an action that spawns the aircraft you want in the FMB. 3. Put code like this in the script file. Specifically in the OnTrigger() method. Code:
public override void OnTrigger(int missionNumber, string shortName, bool active) |
Quote:
|
Quote:
Quote:
Later I think it will be possible to script removal of 1-2 af only. BTW the greatest solution would be to have bp side changed automatically if a submission loads new frontline leaving the bp to enemy! That would be an excellent piece of code! C# geniuses are called for help :) Quote:
Quote:
Where are you located? |
1 Attachment(s)
Attached my test mission.
Frontline moves in 1800 ticks then tanks clear the captured AF from remaining enemy arty. 2 spawnpoints are placed at the same spot. Do not work as intended yet iirc. |
Quote:
Quote:
Quote:
|
Quote:
Edit: This code will loop through all BirthPlaces and print a message to the screen if a BirthPlace is on the opposite side of the front line. Code:
foreach (AiBirthPlace bp in GamePlay.gpBirthPlaces()) |
Quote:
Moscow, Russia here. Quote:
Another idea I have: If we can track a ground group position we can simplify ground mission creation to the following: - submission loads group of tanks with waypoints - script reads current frontmarker positions from the mission - every minute the game tracks tanks position and moves a frontmarker to this pos with say 3 minutes delay. if all tanks are killed within this 3 minutes the marker is not moved. - thus several groups of tanks will move the frontline in real time - enemy tanks will do the same pushing it backward - if tanks are dead a new group is spawn on trigger in some distance behind frontlines - tank battle will go on forever if players do not kill tanks themselves - after a frontline moves further than an enemy airfield the airfield turns to friendly in say 10 minutes (to allow recapture within this period) and then AAA and new tanks spawn near it to patrol it killing enemy players if spawned there (new submission loaded) If the above is possible a mission maker would have to manually create say only 10-20 tank spawning missions to have a huge battle for 10-20 cities/airfields. I think we have to place tanks waypoints manually at this point because there are no bridges at some rivers and tanks may get stuck in some villages/cities making it impossible for tanks to get from one waypoint to another if the waypoints are generated 100% automatically. But I am sure a solution to this problem can be found in the future. Have you heard of mission generator for original IL-2 by Starshoy? It automatically created online missions for IL-2 and was used in the majority of online war projects. I do not know if it is possible to convert it to C# to be used with CloD. At least some ideas can be borrowed for now I think. And another one for offline I think http://www.lowengrin.com/news.php?90 |
Some help from the devs.
File here http://www.sukhoi.ru/forum/attachmen...2&d=1305794840 Link http://www.sukhoi.ru/forum/showthrea...=1#post1622955 Quote:
|
Great thread.. very helpful. Personally not really interested in any capture the flag kind of gameplay, just not my thing, but i am playing with the random mission selection.
To this i have a question. How do i alter ths code to add a case? I could guesses and i'm sure i would get there through trial & error, but i'm sure someone here can show me ;) Can someone add a case to the below script so i can see how it is done? Thanks! Code:
// randomly selects 1 of several submissions excluding the recent one |
it is easy
Code:
|
And in this line you put number of your cases+1
Code:
do 5 for 4 cases etc |
Quote:
|
Im having a bit of trouble with the command to load a new submission, and for it to load repeatedly. Here is the particular bit of script (pinched from an earlier Ataros script):
PHP Code:
its this part that doesn't seem to work: if (Time.tickCounter() % 216000 == 27000) As i understand it this means that every 216000 tick (120 mins) the action should happen (spawns bombers and shows a message), but it is postponed for 27000 ticks (15 mins). However when I run the mission what happens is after 15 minutes the bombers spawn and the message shows, but it never happens again. I have checked through the logs of various runs of this mission and it is always the same, it only runs once. Am i doing something wrong, or am I mistunderstanding the settings? What I want to happen is this: Server starts>at 15 mins-mission and message loads>2hrs after first mission loads (i.e. 2-15 server time)-mission reloads>2 hours later mission loads again... and so on as long as the main mission runs. ANy help appreciated! |
Quote:
I'm pretty new to this but I see in your code you are playing with Spawn points. I see you creating new Mission markers (front line markers) but only destroying BirthPlaces, not creating them. I want to create a new BirthPlace, a Stuka Unit and waypoints including a shipping attack to an existing mission. All this stems from the fact that I can't seem to set a delayed start time for a second sortie in FMB, I can't even see a start time for it in the .mis file, just the overall mission start time. Ataros has suggested loading a second FMB mission at the appropriate time but I don't see how I can tie that to an existing mission i.e. an existing Convoy route that receives a second attack later on. It seems I would have to show the convoy route in the new mission to include the Attack and that would duplicate the one in the first misson. Do you know the code for creating a new BirthpPlace and a Sortie in an existing mission? Thanks |
Quote:
After that, create an action that will spawn the airgroup you just created. You could even make the action spawn the original airgroup if you want the second attack force to be exactly the same as the first. Just remember to uncheck "script spawn only" so that the airgroup spawns at the start of the mission like normal. The script will look like this: Code:
using System; Note that I've named the trigger "attackConvoyDelay" and the action "attackConvoy". You can change them to whatever you want, just make sure they are the same in both the mission and the script. I hope this helps. :grin: |
Quote:
I've set up the Trigger, Action and Script, just got to add the rest of the waypoints. I'll finish it tonight and try it out. Cheers |
I have just had a thought about scripts that start submissions.... can the submissions themselves have scripts? I think they can: when first testing the submission script i accidentally left a script in one of the submissions and it took ages for me to work out what the hell was going on!
Im at work so I can't test this but here is an idea to allow a mission to repeat every 2 hours or so. A few posts up I related how im having trouble doing this with the repeat part of the script but an alternative method might be this: MAIN MISSION SCRIPT: Spawn bombergroup1 submission after 15 mins server time. NO repeats 15 mins main server time > bombergroup1 submission starts. It has a script itself which says: Spawn bombergroup 1 after 2 hours (i.e. it starts itself again) 2hr 15 min main server time> bombergroup1 submission starts again... If this works correctly then so long as the server is running every two hours the bombergroup1 submission will spawn. the bombergroup1 submission will last approx 90 mins plus however long it takes to despawn the landed/crashed planes (using Atatos et als script..which works well!). In other words it should finish and the aircraft despawn BEFORE it starts again. Questions: 1) has anyone tried this? (I will later... damn I hate work!!) 2) when the submission starts, does it start its own tickcount from its creation, or does it 'read' the master mission tick count? This is important because if it starts its own tickcount then the second time the bomber group spawns it will be 2 hours after the first. If however it uses the master mission tickcount it might start after 2 hours server time, but this is only 1 hr 45 after the first submission starts. This might mean that the next subsequent submission will not start at all. 3) Am i making any sense whatsoever? PS I know that the tickcount isn't truly accurate with regards to time, but its close enough for my needs. |
Quote:
Quote:
Quote:
|
Quote:
|
Quote:
probably should have mentioned that... |
Than it should work with bigger figures if you set the 1st figure greater than the 2nd in all cases. Try showing the complete code maybe someone finds a mistake in another part that influences this part. It helped me 2 times at least.
|
I am using the following script to send an immediate message to the player when he enters the cockpit (picked up earlier from this thread):
Quote:
if (aircraft.Name (). Equals (GamePlay.gpPlayer (). Place (). Name ())) edit: And sorry to be so dumb but I want to get a carriage return/line feed into the longer messages. I tried: { GamePlay.gpHUDLogCenter(new Player[] { player }, "Get Organised! Watch for Radar Controller information. \r\n Plan your tactics and meet the enemy! Provide escort for bombers where possible."); } but it doesn't like it. Any ideas? |
I think you should add Divebomber type to this script as stated here
http://forum.1cpublishing.eu/showpos...1&postcount=63 Can not answer other questions. |
Quote:
|
Im trying different things with these scripts by picking through other peoples. I have been trying various methods to ensure missions repeat, though so far they only repeat once for some reason.
Anyway instead of using the tick counter i have been looking at the init time settings people have been using. If i understand it correctly this allows a certaqin number of seconds to pass before carrying out whatever command you set. This is a test script I am having problems with: PHP Code:
However when I test the mission, endless stukas spawn and blow each other up, in other words far more than 1!!!! I have no idea about scripts, I have been picking bits out of other peoples, inserting them, hitting 'compile' and then testing the effects in game. I would be grateful if anyone can have a look and see where I am going wrong. |
Flashman,
OnTickGame() is called 30 times in second and every second, so your script 30 times in second schedules a mission loading, and repeats that endlessly. You are abusing your computer :) Put this into Init(), not in OnTickGame(). |
Quote:
Hi Zaltys, Thanks for your help, however please excuse my ignorance. I have tried putting Init() in carious places but I can't work it out. ANy chance you can edit my previous file and put it in the correct place so I can see how it should work? I really have no idea what im doing...... Thanks |
PHP Code:
|
Quote:
I had worked out I was missing the (battle, mission....) part but it still didn't work. it was the base.init part that made it function correctly, and I wouldn't have a clue about that. Cheers! |
Quote:
//SEND MESSAGE TO PLAYER WHEN THEY HAVE TAKEN OFF public override void OnAircraftTookOff(int missionNumber, string shortName, AiAircraft aircraft) { base.OnAircraftTookOff(missionNumber, shortName, aircraft); GamePlay.gpHUDLogCenter("Takeoff messages start."); //Test/debug Message if (aircraft.Name() == GamePlay.gpPlayer().Place().Name()) // if the plane took off - a player, then ... { GamePlay.gpHUDLogCenter("Switch section reached"); //Test/debug Message switch (aircraft.Army()) { case 1: if ((aircraft.Type() == AircraftType.Bomber) || (aircraft.Type() == AircraftType.DiveBomber)) // if Bomber or Divebomber { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Remember, Get Organised! Attack briefed targets!"); } else { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Organise Escorts and protect Convoy moving from Beachy Head to the Thames Estuary!"); } break; case 2: if ((aircraft.Type() == AircraftType.Bomber) || (aircraft.Type() == AircraftType.DiveBomber)) // if Bomber or Divebomber { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Remember, Get Organised and attack briefed Targets!"); } else { GamePlay.gpHUDLogCenter(new Player[] { GamePlay.gpPlayer() }, "Remember, Get Organised and protect our bombers by Escort or Frei Jagd!"); } break; } } } //end public override void OnAircraftTookOff |
Hi,
I have never tried scripting for Clod, but as a C# programer, I'm going to make an educated guess: Try changing this line: if (aircraft.Name() == GamePlay.gpPlayer().Place().Name() ) for this one: if ( aircraft.Name().Equals(GamePlay.gpPlayer().Place().Name()) ) I'm not sure of this because I don't know the types of the objects involved in the comparison (strings?), but try it anyway. (Check this for more info about why: C# Value Type vs Reference Type) Also you should check that aircraft is not null, and that GamePlay.gpPlayer().Place() is not null, for security reasons in order to avoid NullReference exceptions. |
klem,
OnAircraftTookOff(() does not currently work for planes spawned at BirthPlaces. It should work for FMB planes with waypoints. I guess, you get first message showed because you have AI taking off. |
Instead of;
Code:
if (aircraft.Name() == GamePlay.gpPlayer().Place().Name()) Code:
if (aircraft == GamePlay.gpPlayer().Place()) |
Quote:
It was for MP and for a BirthPlace so a double fail :( btw I had it report aircraft.Name() and GamePlay.gpPlayer().Place().Name() and they were the same string so 'If == ' should have worked ok. |
Quote:
public override void OnTrigger(int missionNumber, string shortName, bool active) { //call base classes OnTrigger method. base.OnTrigger(missionNumber, shortName, active); GamePlay.gpHUDLogCenter("shortname = " + shortName); //if the trigger that was called is the trigger that we're looking for if (shortName.Equals("AttackConvoy2Delay1")) { AiAction action = GamePlay.gpGetAction("AttackConvoy2_1") ; if (action != null) { action.Do(); } } } The '&& active' didn't work because: 1. It seems it should be + not && 2. You can see I tested for the shortname and of course ("AttackConvoy2Delay1" + active) isn't equal to "AttackConvoy2Delay1". I don't know what 'active' comes back as but it would make the strings unequal. Also, I put { } around the if(action != null) output as { action.Do(); } although that may not havebeen necessary. Anyway it works ! Thanks for the help TheEnlightenedFlorist. |
"active" is boolean (logical true or false). You should check "active" to see if trigger is active.
Code:
if (shortName.Equals("attackConvoyDelay") && active) |
Aaahh! Got it. Thanks
|
Quote:
Does GamePlay.gpFrontArmy(bp.Pos().x, bp.Pos().y) work at any point of map or only at frontline/border? Where can I see the complete list of such commands/functions like GamePlay.gpFrontArmy(bp.Pos().x, bp.Pos().y)? Should I add some game files to my project in Visual Studio? Till now I only opened separate .cs files with it. |
Quote:
Visual Studio will let you see all of the methods in roundabout way. Try this: 1. File >> New >> Project Type in a name and solution name at the bottom. Don't worry about what kind of project you create. 2. On the right side under "Solution Explorer", right click on "References", "Add Reference..." 3. Click on the "Browse" tab, navigate to "Steam/steamapps/common/il-2 sturmovik cliffs of dover/parts/core" 4. Go through each .dll file in that list and try to add it. Some will give you an error, just skip those. After you've added all the .dll files, right click on the name of your project and do "Add Existing Item". Find one of your script files and add it. Now Visual Studio will show you all the possible methods as you're typing your code. You can also go to View >> Object Browser and have a look in there. Important: When you import an existing item, Visual Studio makes a copy of the file so any changes you make won't be reflected in the original file, you'll have to copy the new one over it. If anybody knows how to change this, I'd be quite grateful. |
Thanks a lot for detailed explanation.
BTW did you see the scripting in this mission from the devs http://forum.1cpublishing.eu/showpos...&postcount=133 I was reading it yesterday and it just blows my mind away. There are some great pieces everyone should use: - airfield capture with removal of old arty - generating triggers names with variables (string str = "changeArmy" + i.ToString() + "_" + (j).ToString();) - generating waypoints for bombers to attack the most close ground target - scoring system etc. I'll try to convert this mission to the Channel map when I have time. Probably will need a lot of help on C# )) Devs confirmed that there is a bug not allowing to use captured airfields before switching sides. They are working on it. |
Quote:
I've only glanced at that mission, but I've already learned a few things that will make things easier. |
I'm having trouble giving messages to a particular side under OnTickGame because I don't know how to find out which side I am on (" 'aircraft' is not valid in this context"). Any ideas please?
Code:
public override void OnTickGame() |
I converted the Dynamic campaign onto the Channel map. Works great.
I am trying to build a Falcon 4 type game where Germans advance towards cahnnel and English must drive them back.
|
Hi all, and sorry Klem, I can´t help you...:(
I started now with my attempt to get familar with scripting and C#... :-P:rolleyes: I read through this thread a several times and copied some samples of the outlined scripts. The problem at hand now, is that I want to include a script in the submissions, which will be loaded into a main, basic-map. This submission script shall contain Sec 1- the trigger messages, Sec 2-the instruction messages for new players and players which just took off (WIP:Message shall only be shown, if trigger is not activated yet) Sec 3- a count of trigger states, so very time a victory-trigger is set to true a counter raises the number for the side, which activated the trigger Sec 4- clean up procedure at a certain time from begin of submission, removing all AI loaded into the basic map with the submission Following questions appeared now at this stage: (A) I already found out how to theoretically get the trigger messages running, still have to get it right, how to show the message only if the otherside (red/blue) has not activated their trigger yet. Is thiss possible by something like this? if (<Trigger Red won> == active || <Trigger Blue won> == acitve) <message red won> (B) How do I get rid off of all the AI loaded on the basic map, when the submission has done its job? I wanted to try following script sample to remove the AI after an hour into the submission: //////////////// Section 4: get rid off all AI loaded with submission //mod-start by SNAFU -> ZIEL: nach 1h AI-Flieger entfernen public override void OnTickGame() { double initTime; if (Time.tickCounter() % 108000 == 10799) // 108000=1h { //mod-end by SNAFU foreach (int army in GamePlay.gpArmies()) { foreach (AiAirGroup group in GamePlay.gpAirGroups(army)) { if (ActorName.MissionNumber(group.Name()).Equals(Miss ionNumber)) /// <- delete line to kill all { AiActor[] members = group.GetItems(); for (int i = members.Length - 1; i > -1; i--) { (members[i] as AiAircraft).Destroy(); } } } foreach (AiGroundGroup group in GamePlay.gpGroundGroups(army)) { if (ActorName.MissionNumber(group.Name()).Equals(Miss ionNumber)) /// <- delete line to kill all { AiActor[] members = group.GetItems(); for (int i = members.Length - 1; i > -1; i--) { (members[i] as AiGroundActor).Destroy(); } } } } } (C) I now loaded a briefing message into the basic map, so every player joining and taking off, will be briefed into the actual ongoing submission. The basic map listens to all events introduced with the submissions, ok. But... If the the submission is over, how does the main script notice the that the submissions states, messages (f.e. the briefing messages) are not valid anymore? Ist that the "puplic override" I see everywhere? Here the template for the submission script and sorry for all the silly questions: :rolleyes: Code:
using System; |
All times are GMT. The time now is 07:14 PM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.