Jump to content

nosaMtrevoC

Members
  • Posts

    209
  • Joined

  • Last visited

Everything posted by nosaMtrevoC

  1. There must be other relevant files for the f-14 that I'm unaware of (probably called during the init. file of that aircraft), I only based my assumptions on aircraft I had previously worked on. The f-14 module being more advanced it probably has more relevant files. That being said, above should work.
  2. Last post (above) shouldn't matter. There probably isn't a discrepancy in the f-14 export file. I thought the original files posted were for the f14 but were for the a-10 I didn't see the f-14 files when I made these posts for some reason, but now they are showing up <shrug> Anyways, We'll assume that the f-14 script provided by Chackal works and go with the first iteration of the code with id's 2117, 6010 and 6020, not 88,89,90 This definitely confused me as I assumed the f-14 mod would (and did) define the mainPanelDevice array or table variables) I just chalked it up to a portion of the script or mod that I hadn't fully explored. I'm glad my original understanding of the module hasn't changed. Sorry for the confusion. Also, to correct looks like Chackal did follow convention, and again nice work. It's time-consuming. I apologize for any error or omissions that are made due to assumptions, but its tough to work blind without the f-14 files or mod or dcs at all as I'm not at home when typing this, so again apologies in advance.
  3. Another note: If the data comes back and doesn't make sense at all or isn't displayed, (which would explain the mismatch I saw between the export script as provided and the mainpanel_init.lua file) If so, I will have to edit the above example. change: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output local ourVariableTotalFuelRIO10k = mainPanelDevice:get_argument_value(2117) local ourVariableTotalFuel10k = mainPanelDevice:get_argument_value(6010) local ourVariableBingoFuel10k = mainPanelDevice:get_argument_value(6020) ExportScript.Tools.SendData(2600, ourVariableTotalFuelRIO10k) ExportScript.Tools.SendData(2601, ourVariableTotalFuel10k) ExportScript.Tools.SendData(2602, ourVariableBingoFuel10k) end to this code: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output local ourVariableTotalFuelRIO10k = mainPanelDevice:get_argument_value(88) local ourVariableTotalFuel10k = mainPanelDevice:get_argument_value(89) local ourVariableBingoFuel10k = mainPanelDevice:get_argument_value(90) ExportScript.Tools.SendData(2600, ourVariableTotalFuelRIO10k) ExportScript.Tools.SendData(2601, ourVariableTotalFuel10k) ExportScript.Tools.SendData(2602, ourVariableBingoFuel10k) end Note the only changes are the 3 id's in the first three lines of code (line 2097 to 2099) from 2177 to 88 and 6010 to 89 and 6020 to 90 save the lua file, you don't need to change anything in stream deck software, Reload f-14 in dcs and see if those ID's make more sense with fuel.
  4. Continuation of prior posts... (don't start here) In this post we will test some of the values and what output we receive. I cannot do this myself (if you've been following along I don't own the f-14 module) I have too many DCS modules as it is and still need to finish those before I move on, unless there is a sale in which I'll snap up my remaining modules. (spent way to much on the last sale that just passed) If you havn't SAVED THE LUA FILE, make sure to do this now. (Sorry, adding the above to each post in case someone happens upon this mid way, you can skip to here if you've been following along. Also apologize if I'm breaking this down too much for the experienced user and not enough for the layman. I'm not a teacher by any stretch, nor familiar with anyones level of experience in coding or DCS. I just started using DCS again a few weeks ago during the sales and am familiarizing myself with it again. Also never programmed in lua until a few weeks ago, but as a programmer by trade once upon a time, it's all the same pile.) If you skipped above, save your .lua file and load up the DCS stream deck software. (I assume you have the DCS stream deck plugin installed and working) I don't have the stream deck plugin or stream deck with me right now (I'm not at home), so bear with me as I go off memory. May have to edit some of this when I get home. Add a stream deck button (most of them should work, but the one with the black box in the middle works for sure) In the third option, (monitor text or something like that), in the id field, put the 2600 id. Do the same (add two more buttons) and use the id 2601 and 2602 respectively. These buttons will not display any values until you are actually flying the f-14 Load up DCS, instant action, fly the f-14. When flying, these numbers should (although initially they may bounce around or settle) display some type of number. This number should relate to fuel in some manner. It could be direct like : the number displayed: 0.1456 Actual fuel: 1,456 lbs or also direct like: the number displayed: 1456.3240 Actual fuel: 1,456.3240 lbs It could also not be as obvious at first for example: F-14 max fuel is 1920 lbs number displayed: 1.0000 actual fuel: 1920 lbs which might change to: number displayed: 0.5000 actual fuel: 960 lbs and then: number displayed: 0.2500 actual fuel: 480 lbs etc.... Hopefully its linear. (in the p-51 it is not because it doesn't relate to the fuel available, but instead to the postion of the fuel guage which is not linear. In the p-51 the first quarter of the fuel guage is 0 to 5 lbs to give you more accuracy when low, but the last quarter of the guage shows 72 to 96 lbs representing 5 lbs in the first quarter and 24 lbs in the last quarter and different again in the middle. or 0.25 is 5 lbs of fuel and 0.75 is 72 lbs of fuel) At this point you guys will have to try to interpret what you are seeing compared to the fuel in the f-14 and see if you can find some type of correlation. Keep in mind we output only the 10k fuel variable hoping that it stores the whole fuel amount and not just the 10k portion of it. Anyways, I'll leave this with you guys until we get some data. Hope this helps.
  5. Also, I apologize for the spelling or grammar. I'm straight typing this as fast as I can get it out of my brain without edits.
  6. Ahhh Phoenix (mentioned there are front and back seat fuel) that helps make some sense of it. Let's continue in next post with this info, maybe it will be the same values then.
  7. Continuation of prior posts... (don't start here) In this post we will test some of the values and what output we receive. I cannot do this myself (if you've been following along I don't own the f-14 module) I have too many DCS modules as it is and still need to finish those before I move on, unless there is a sale in which I'll snap up my remaining modules. (spent way to much on the last sale that just passed) If you don't still have the F-14B.lua file open, do it now. (Sorry, adding the above to each post in case someone happens upon this mid way, you can skip to here if you've been following along. Also apologize if I'm breaking this down too much for the experienced user and not enough for the layman. I'm not a teacher by any stretch, nor familiar with anyones level of experience in coding or DCS. I just started using DCS again a few weeks ago during the sales and am familiarizing myself with it again. Also never programmed in lua until a few weeks ago, but as a programmer by trade once upon a time, it's all the same pile.) We should have between lines 2093 and 2105: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output end We are interested in the following items (to test their output): [2117] = "%.4f", -- FUEL_TotalFuelRIO10k [6010] = "%.4f", -- FUEL_TotalFuel10k [6020] = "%.4f", -- FUEL_BingoFuel10k The number to the left in brackets (e.g. [2117]) is the ID we will be referring to below. First we are going to make a local variable (remember the mention of scope, local plays a role here) for each of the above items so that we can manipulate them outside the function we will be calling with those variables. Don't worry about typing this in the lua file yet, lets just examine what is happing with the following: local ourVariableTotalFuelRIO10k = mainPanelDevice:get_argument_value(2117) the above code says lets make a "local" variable named "ourVariableTotalFuelRIO10k" and assign it a value after the equals sign after the equals sign is our value which could be something like = 1 in which case our variable named "ourVariableTotalFuelRIO10k" would equal 1. In this case however our variable = mainPanelDevice:get_argument_value(2117) which is a table of values passed to the function we are in right now (you can see mainPanelDevice in brackets on line 2094) that we are accessing with another function "get_argument_value" and an ID for the value we want to get "get_argument_value(2117)" which should return the value associated with that ID, or in other words get argument value that is associated with fuel and the lua interpreter should return that value. When all is interpreted by lua, we should have something like "ourVariableTotalFuelRIO10k = 0.2423" 0.2423 being representative of 2423 lbs of fuel assuming that is how much fuel your plane has. There is another assumption here outside the concept of how this works, and that is that Chacal's code works and that these ID's are representative of their proper counterparts. As i mentioned prior, I noticed that the ID's in his script do not match those in the mainpanel_init.lua so we will have to do some testing to make sure this works. That's where you guys come in. We will continue our code below and I will have to wait for you guys to give me some results to continue. With that understanding, lets proceed with putting some code into our .lua file. on line 2097 we will create our first variable, followed by our second and third variable relating to the three values we are testing on lines 2098 and 2099 respectively. You should have this code block now between lines 2093 and 2105: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output local ourVariableTotalFuelRIO10k = mainPanelDevice:get_argument_value(2117) local ourVariableTotalFuel10k = mainPanelDevice:get_argument_value(6010) local ourVariableBingoFuel10k = mainPanelDevice:get_argument_value(6020) end Notice in the above the only thing that changes line to line is the name of the variable and the ID in the brackets at then end. When the code is interpreted by lua, it will set the appropriate (lets hope) fuel values to our named variables. Now lets call the function that will make these values available to the stream deck which will look like the following: (don't worry about typing this yet, we'll just go over what we are doing first) ExportScript.Tools.SendData(2600, ourVariableTotalFuelRIO10k) What is happening here is that we are calling a function (much like the function we are typing this code in) that performs an action. When we used get_argument(id) above, it returned a value for us, which functions commonly do. the ExportScript.Tools.Sendata() function, makes our information available to the stream deck (or other things.) If you were interested in how that functions code looks, you could open the tools.lua (off the top of my head) file in the C:\Users\<you>\Saved Games\DCS.openbeta\Scripts\DCS-ExportScript\lib directory and look for that function to see what the code does. If you notice the two values "2600" and "ourVariable..." between the brackets of the function seperated by a comma. This function requires input of two values. For example a function that adds two numbers together would require those two numbers and return a value of the answer or addFunction(4, 3) might take the input values of 4 and 3 and return 7 which might look like: myAnswer = addFunction(4, 3) myAnswer in this case would be 7 the addFunction function might look like: function addFunction(firstNumber, secondNumber) local result = firstNumber + secondNumber return result end You don't need to fully understand this, I just wanted you to understand the code we are typing on some level. Sorry If I'm digressing too much, but this can be a bit of a rabbit hole. Right or Wrong I just thought "teach a man to fish" sort of thing. Anyways, In our ExportScript.Tools.SendData() function example we need to give it to input's, the ID number we want to use to access this output (not the fuel id in this case, just an id we want to use in stream deck, could be anything) and we also need to provide it with the actual fuel data (our variable we created) So lets add the following three lines on 2101 to 2103 so our code now looks like: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output local ourVariableTotalFuelRIO10k = mainPanelDevice:get_argument_value(2117) local ourVariableTotalFuel10k = mainPanelDevice:get_argument_value(6010) local ourVariableBingoFuel10k = mainPanelDevice:get_argument_value(6020) ExportScript.Tools.SendData(2600, ourVariableTotalFuelRIO10k) ExportScript.Tools.SendData(2601, ourVariableTotalFuel10k) ExportScript.Tools.SendData(2602, ourVariableBingoFuel10k) end Notice a few things. One, the 2600, 2601, 2602 id's are not used anywhere else in this script. They are unique to our output here. You can take one of the above id's and use it here if you just want to output a switch state for example. (This statement is not completely true or complete, but I don't want to go down another rabbit hole, this is the simpler example for a layman. Just don't want some experienced programmer jumping on me to find fault, I'm excluding a lot of potential scenarios that I use myself, but are more diffucult to interpret. I use the following in my p-51 which does it all in one line: ExportScript.Tools.SendData(2155, string.format("%d", ExportScript.CalculateFuel(mainPanelDevice:get_argument_value(155))) .. ' gal' ) --155 Left Fuel Tank) I digress. Essentially we are building out this problem line by line instead of nesting them. It is cleaner and easier to read this way. So 2600, 2601 and 2602 are the ID's we will be using in the stream deck to monitor these values which are id's not used anywhere else in this script. Notice also after the 2600 series of id's that the next value is our variable that we are passing to the sendData function that is storing our fuel data. So essentially we are saying, take the fuel data and make it available to the stream deck in the 2600 id. That's it for now. Next step is to setup the stream deck to display these values (next post) and test them and give me the results.
  8. Continuation of prior posts... (don't start here) In this post we will prepare our code to test some of the values and what output we receive. I cannot do this myself (if you've been following along I don't own the f-14 module) I have too many DCS modules as it is and still need to finish those before I move on, unless there is a sale in which I'll snap up my remaining modules. (spent way to much on the last sale that just passed) If you don't still have the F-14B.lua file open, do it now. Go to line: 927 which should look like: [2117] = "%.1f", -- FUEL_TotalFuelRIO10k We are going to change the output from 1 decimal place to four by changing the "%.1f" > "%.4f" to display 0.4352 instead of 0.4 Your new line 927 should look like this now: [2117] = "%.4f", -- FUEL_TotalFuelRIO10k Now do the same for line 998 which should look like this when done: [6010] = "%.4f", -- FUEL_TotalFuel10k And we might as well figure out what the bingo fuel number outputs by changing line 1003 to this: [6020] = "%.4f", -- FUEL_BingoFuel10k Now it's time to export these values to the DCS streamdeck. Now go near the end of the file at line 2093. It should look like this between 2093 and 2105: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --[[ every frame export to Ikarus Example from A-10C Get Radio Frequencies get data from device local lUHFRadio = GetDevice(54) ExportScript.Tools.SendData("ExportID", "Format") ExportScript.Tools.SendData(2000, string.format("%7.3f", lUHFRadio:get_frequency()/1000000)) -- <- special function for get frequency data ExportScript.Tools.SendData(2000, ExportScript.Tools.RoundFreqeuncy((UHF_RADIO:get_frequency()/1000000))) -- ExportScript.Tools.RoundFreqeuncy(frequency (MHz|KHz), format ("7.3"), PrefixZeros (false), LeastValue (0.025)) ]] end All the text in green (if you are using visual studio code) is a comment and doesn't do anything at all. You can put anything you want between the comment brackets including old code, or notes to yourself etc... You cann see the beginning of the comment brackets start with --[[ and end with ]] Anything in between does not get interpreted. For the sake of this example and being able to refer to line numbers properly, we are going to delete the green comment within this function (this function starts at "function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice)" and ends with "end" (in purple in visual studio code)) Although we are deleting the comment, we are going to keep the blank space or lines within the function so that we can add new code to this function and refer to the appropriate line numbers. Go ahead and select the green text and delete it paying attention to the fact that the function line and end line need to remain, only delete the green text within this function or between lines 2095 and 2104 leaving lines 2094 and 2105 alone. You should have gone from the above code to this now: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) end Insert the same amount of blank lines within the function where the comment used to be so that we can continue to refer to specific line numbers. This means that on line 2094 you will still have the function......(mainPanelDevice) code and line 2105 will still be end, but lines 2095 to 2104 will be blank. Should look like this: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) end Now on line 2096 we will add a comment. Comments are extremely important in code as when you come back to this a month later you do not have to reverse engineer or interpret what you did before. There is no maximum amount of comments, the more the better. It also allows others to interpret your code easily. on line 2096 we will put: --Test fuel 10k output Notice the tab space before the code. Indenting helps you to visualize that this piece of code or in this case comment lives inside the function which helps to visualize scope and other things beyond the scope of this post. You should now have: -- Pointed to by ProcessIkarusDCSHighImportance function ExportScript.ProcessIkarusDCSConfigHighImportance(mainPanelDevice) --Test fuel 10k output end Now we're ready to add some code.
  9. With your code editor, open the F-14B.lua, Lines 927 to 931 should look like: [2117] = "%.1f", -- FUEL_TotalFuelRIO10k [2118] = "%.1f", -- FUEL_TotalFuelRIO1k [2119] = "%.1f", -- FUEL_TotalFuelRIO100 [2120] = "%.1f", -- FUEL_TotalFuelRIO10 [2135] = "%.1f", -- FUEL_TotalFuelRIO1 with the description of TotalFuel in these variables, I'm only assuming that these may output total fuel for the f-14. That being said, if you look at my post above, there are a number of variables that store total fuel, so maybe there is a total fuel for Left and Right. There is also Bingo Fuel. In reference to the F-14 I don't know what the Bingo Fuel output is. Is there a seperate tank for an emergency amount of fuel? Anyways, we will have to take some of the above information and see what it outputs and go from there. You guys will have to do this testing for me. To decipher the above variables, it looks like the above holds the fuel variables in single, tens, hundreds, thousands and tens of thousands. This is so that a guage with multiple needles (like an altimeter) can show the proper information. Sometimes in DCS you need to add all these values together: example: FUEL_TotalFuelRIO10k = 0.0000 FUEL_TotalFuelRIO1k = 0.1000 FUEL_TotalFuelRIO100 = 0.4000 FUEL_TotalFuelRIO10 = 0.3000 FUEL_TotalFuelRIO1 = 0.7000 Meaning we have from top to bottom: 0, 10,000 units of fuel stored in this variable 1, 1,000 units of fuel or 1000 lbs of fuel stored in this variable 4, 100 units of fuel or 400 lbs of fuel stored in this variable 3, 10 units of fuel or 30 lbs of fuel stored in this variable 7, 1 units of fuel or 7 lbs of fuel stored in this variable or all those variables added together, 01437 (1,437 lbs of fuel) I've also seen however (like in the P-51d) the 10k variable store 0.01437 meaning that we can drop the whole adding everything together and just use 10kvariable * 10,000 giving us an accurate number. That being said, (unlike other modules I've done), maybe the f-14 stores whole numbers like 1,000.0 instead of 0.1000 for 1,000 lbs. That is a possibility, and would explain why Chacal used "%.1f" instead of "%.4f" Lets find out in my next post.
  10. OK, so for the F-14 guys who want to export, lets use the link posted by Phoenix FR as a start. Download the .rar file in the following post: https://forums.eagle.ru/showpost.php?p=4337945&postcount=62 extract the contents and place the f-14B.lua in the directory: C:\Users\<yourProfile>\Saved Games\DCS.openbeta\Scripts\DCS-ExportScript\ExportsModules Should look like: C:\Users\<yourProfile>\Saved Games\DCS.openbeta\Scripts\DCS-ExportScript\ExportsModules\F-14B.lua Unfortunately, Chacal IX did not follow the standard convention when creating the file, but he did put a lot of work into it (Amazing first attempt Chacal), so for now, as a quick start, we'll use it. I'm assuming it works. I don't see any reason why it won't REVISED: I was apparently reading the files for the A-10 posted here instead of the F-14. Didn't realize someone requested a-10 files before and that caused the confusion. I have no reason to believe the files chacal posted did not follow convention now. I do not have enough of the f-14 files at current to know, either way, buy my assumption leans to be optimistic. Chacal IX, for future reference if you end up here, Use the same ID in your exportscripts file as the mainpanel_init.lua file. For Chacal IX (or other exportscripts users only): example: mainpanel_init.lua: FuelQuantityCounterTenthOfThous = CreateGauge() FuelQuantityCounterTenthOfThous.arg_number = 90 FuelQuantityCounterTenthOfThous.input = {0.0, 10.0} FuelQuantityCounterTenthOfThous.output = {0.0, 1.0} FuelQuantityCounterTenthOfThous.params = {2} FuelQuantityCounterTenthOfThous.controller = controllers.FuelQuantityCounterDrum In your exportscripts use the same id, for example: Your exportscripts: [90] = "%.1f", -- RECORD_power Better to be: [90] = "%.1f", -- FuelQuantityCounterTenthOfThous That way the exportscripts ID matches the mainpanel_init arg_number and is easy to cross reference. Anyways, I digress, just thought I'd shoot you a pointer. So once you have that exportscripts in the above folder, you can help me deduce what some of these values are. I'm not familiar with the F-14 at all (mostly fly WWII and GA aircraft in sims) From the looks of the file lua file provided by Chacal, we are provided with the following fuel related ID's: f-14 Fuel related ids [15018] = "%.1f", -- WARN_LFuelPress [15021] = "%.1f", -- WARN_RFuelPress [15029] = "%.1f", -- WARN_LFuelLow [15035] = "%.1f", -- WARN_RFuelLow [1001] = "%.1f", -- FUELSYSTEM_WingExt_Trans [1044] = "%.1f", -- FUELSYSTEM_Shutoff_R [1050] = "%.1f", -- FUELSYSTEM_Bingo_Knob [1054] = "%.1f", -- FUEL_AftL [1055] = "%.1f", -- FUEL_FwdR [1070] = "%.1f", -- FUELSYSTEM_Shutoff_L [1073] = "%.1f", -- FUELSYSTEM_Refuel_Probe [1074] = "%.1f", -- FUELSYSTEM_Dump [1076] = "%.1f", -- FUELSYSTEM_Fuel_Qty_Sel [1094] = "%.1f", -- FUELSYSTEM_Fuel_Feed_Cover [1095] = "%.1f", -- FUELSYSTEM_Fuel_Feed [2211] = "%.1f", -- rAnnunc_FUELLOW [2117] = "%.1f", -- FUEL_TotalFuelRIO10k [2118] = "%.1f", -- FUEL_TotalFuelRIO1k [2119] = "%.1f", -- FUEL_TotalFuelRIO100 [2120] = "%.1f", -- FUEL_TotalFuelRIO10 [2135] = "%.1f", -- FUEL_TotalFuelRIO1 [6000] = "%.1f", -- FUEL_LFuelDial1k [6001] = "%.1f", -- FUEL_LFuelDial100 [6002] = "%.1f", -- FUEL_LFuelDial10 [6003] = "%.1f", -- FUEL_LFuelDial1 [6004] = "%.1f", -- FUEL_RFuelDial1k [6005] = "%.1f", -- FUEL_RFuelDial100 [6006] = "%.1f", -- FUEL_RFuelDial10 [6007] = "%.1f", -- FUEL_RFuelDial1 [6010] = "%.1f", -- FUEL_TotalFuel10k [6011] = "%.1f", -- FUEL_TotalFuel1k [6012] = "%.1f", -- FUEL_TotalFuel100 [6013] = "%.1f", -- FUEL_TotalFuel10 [6014] = "%.1f", -- FUEL_TotalFuel1 [6020] = "%.1f", -- FUEL_BingoFuel10k [6021] = "%.1f", -- FUEL_BingoFuel1k [6022] = "%.1f", -- FUEL_BingoFuel100 [6023] = "%.1f", -- FUEL_BingoFuel10 [6024] = "%.1f", -- FUEL_BingoFuel1 [15002] = "%.1f", -- Refuel_probe_light [999] = "%.1f", -- FUEL_FuelDumpTorchHor [999] = "%.1f", -- FUEL_FuelDumpTorchVert [22] = "%.1f", -- FUEL_FuelProbe [999] = "%.1f", -- FUEL_FuelDump [999] = "%.1f", -- FUEL_FuelDumpTorch [610] = "%.1f", -- LIGHTS_Fuel_Probe [12300] = "%1d", -- Left Engine Fuel Cutoff, (-1, 0, 1) [12301] = "%1d", -- Right Engine Fuel Cutoff, (-1, 0, 1) [12300] = "%1d", -- Left Engine Fuel Cutoff, (1, 0, 1) [12301] = "%1d", -- Right Engine Fuel Cutoff, (1, 0, 1) -- FUELSYSTEM(20) [1001] = "%1d", -- Wing/Ext Trans, (-1, -1, 1) [1073] = "%1d", -- Refuel Probe, (-1, -1, 1) [1074] = "%1d", -- Fuel Dump, (-1, 0, 1) [1076] = "%1d", -- Fuel Quantity Selector, (-1, -1, 0) [1094] = "%1d", -- Fuel Feed Cover, (-1, 0, 1) [1095] = "%1d", -- Fuel Feed, (-1, -1, 1) [1044] = "%1d", -- Fuel Shutoff - Right, (0, 0, 1) [15081] = "%1d", -- Fuel Shutoff - Left, (0, 0, 1) [1001] = "%1d", -- Wing/Ext Trans, (1, -1, 1) [1044] = "%1d", -- Fuel Shutoff - Right, (1, 0, 1) [1050] = "%1d", -- BINGO Fuel Level Knob, (1, 0, 1) [1073] = "%1d", -- Refuel Probe, (1, -1, 1) [1074] = "%1d", -- Fuel Dump, (1, 0, 1) [1076] = "%1d", -- Fuel Quantity Selector, (1, 1, 0) [1094] = "%1d", -- Fuel Feed Cover, (1, 0, 1) [1095] = "%1d", -- Fuel Feed, (1, -1, 1) [15081] = "%1d", -- Fuel Shutoff - Left, (1, 0, 1) Ok, now that I've compiled the above and am looking at it, it looks like we are going to have to make some changes to the above. I'm sort of figuring this out for you as I write the post. Unfortunately in doing that I may have to go back on some of the instructions above. Figure if you can see or learn how I'm doing it, it will prove more valuable for you in the future in creating your own pieces of the script. We can deduce the following fairly accurately: Any above Value with the "%1d" string format (after the equal sign) is either a switch or a light or something simliar with a few states (as you can see in the brackets at the end of these lines their accepted values) -1, 0, 1 for example usually means 3 way switch. These will output non decimal numbers like 1 or 0 (not 1.4 or 0.3433). I'm not sure how Chacal documented the states, but lets move forward. Anything with a "%.1f" value is going to output numbers like 0.1 or 0.2. Most of these should have probably been "%.4f" which would output 0.1234 or 0.5235 for example. The difference being the 4 decimal places instead of 1. The problem with 1 decimal place is that if for instance you are trying to output fuel for example, DCS will most likely store this value like 0.1000 so 0.1000 * 10000 = 1000 (or 1,000 lbs of fuel). 1 decimal place works in the prior example, but what if we have 416 lbs of fuel. In this case DCS would store 0.0416 in the variable (or ID) and by limiting the variable to 1 decimal place we get 0.0 * 10000 which is just 0. By formatting the value with a single decimal place we are losing accuracy to the tune of 1000 lbs per value that can be stored. By using 4 digits we have an accuracy or resolution with that variable of 1 lb per value. or 0.0001 is 1 lb of fuel. You can be more accurate if you like, but for the purpose of DCS 4 digits is usually fine. We would probably want to change the majority of this file to 4 digits. Not all are required, example flaps with 5 positions may be stored like 0.1, 0.2, 0.3, 0.4, 0.5 I hope I made that idea clear enough. (Please ask questions if you like) Anyways, Lets change the above values to 4 decimal and continue. I will need some of your help to determine what is what. Again, I don't have the F-14 module, so cannot test it. I'd suggest your next step is to download a good code editor. I use many of these for different projects, but my two most widely used are both free: Visual Studio Code: https://code.visualstudio.com/ or Notepad ++ https://notepad-plus-plus.org/ Notepad++ is sort of a stay over from years past that I'm just used to, but for the most part I use both at the same time. I use notepad++ to look for a string of words (e.g search "Fuel") in all files within this directory will look through all the code in all the files in the aircraft\f-14 directory for instance and display the results nicely so that I can easily find pieces of code. I Usually use visual studio code for coding now as it is much more modern and does a lot more. Either way, I will be referring to line numbers (left column) which is literally the line number of the code I'm referencing in the file starting from the first line (1) to the last. I'll end this post here and continue on the next post.
  11. slaintemaith, thanks for posting the files Phoenix FR, thanks for posting that link. If some of the work is done already, better than re-inventing the wheel I'll have a look.
  12. When you post in this forum, click the Go Advnaced to give you more options (beside quick reply) Then at the top of the screen you get a lot more options. Find the hashtag # button which is 3 left from the youtube button click that and it will give you code tags like (code)(/code) but with square brackets instead. post the file contents between these tags like (code)file contents(/code) if I post the content THIS IS MY CONTENT between the code tags below it looks like below: THIS IS MY CONTENT Thats all. dave
  13. also need: mainpanel_init.lua clickabledata.lua in same directory
  14. Just realized there isn't an F-14 Script for DCS-ExportScripts module I can probably make one easily that will work for fuel, but because I don't own the F-14 module I don't have the proper files to look into. I can probably figure it out if you post the contents of these files, but no promises. Sometimes these files point to other files and it becoms a rabbit hole. It's tough without owning the modules. If you want me to try: Open the following folder: "...\Eagle Dynamics\DCS World\Mods\aircraft\A-10C\Cockpit\Scripts" The following three files are of interest there: devices.lua mainpanel_init.lua clickabledata.lua Post the contents here (wrapped in the hastag (above) code blocks) I'll take a look.
  15. I'll take a look at the exportscript. I don't own the f-14 module, but I can make a pretty good guess.
  16. Exactly. We can't have a Triple A quality title moving forward while also trying to support the lowest common denominator. I get that people with lesser hardware might be left behind, but I think DCS does a great job in supporting them by offering prior versions of DCS (1.5 for eg). There will be incompatibilities moving forward with certain hardware. It's just the reality of living with a PC. Let's move forward IMO.
  17. I think you'll find (I'm guessing) that if they wanted to use some instruction set moving forward to improve gameplay for client side, the server side requirement is more out of not having a dedicated server side host, but rather a stripped down client side that just isn't rendering, therefore the requirements stay simliar. Most tech is available in Virtual Environments. It's just not necessarily enabled by default. This is by design (VM Design) for a multitude of reasons. DCS Server side is relatively new, I'm guessing they would be working on a dedicated server host application at some point allowing them to fork the two (maybe the current itteration is the first steps in that fork). You can't have them sharing the same code base moving forward and then try to drive differences in requirements from two angles. They need to move to some type of client/server api that is independent of the client/server (like odbc is for databases) allowing each side to not break the other each time they want to implement something new on only one of the sides (like sse if thats was their intention). Using said logic of not including SSE to keep server requirements low would be the same as saying lets remove any other feature of DCS (3d models for a ridiculous extreme example) to keep server requirements low. From my perspective, using DCS more for SP than MP, I prefer them to move forward with the tech in the DCS Game itself, using the current solution (which is some what of a band aid) to run DCS with no render to get some semblence of a dedicated server until they come out with something that is properly only handling and hosting the server required elements. These would be very small if done properly. The current solution is not ideal, and just better than what they had before, but I'm guessing is just an improvement for the community until something else is released.
  18. Went to go replay (and record) a mission from the Blue Nosed bastards... campaing for the p-51d and something really strange hapens instead. A replay (that i didn't save) of whatever i was playing last loads instead. If i do a instant action with an f-18, then go to replay the BNBOB campaign track file, it doesn't load and instead loads a replay (again, I didnt' save the instant action replay) of the f-18 mission. The p-51 challenge campaign replays seem to be loading, but the BNBOB replays load whatever I was doing last. made a quick video of what is going on here: Note: If not in HD or 2k, it's probably still processing on youtube, posted 1:27 am EST 5/30/2020
  19. I think he lives in the land of Z's
  20. For me it would be F-111, any wwII bomber like the B-17 or lancaster (I realize this isn't happening), or either of the modern single prop light attack aircraft already announced. Corsair makes me happy, especially if it comes with wwII carrier and pacific map. Would also be happy with something really unique like cargo missions or spooky variant of the c-130. Again, doubt this (like the wwII bombers) as it would be difficult to implement without AI or multi player.
  21. This is really frustrating for me. Was trying to post some walkthrough's of the p-51d challeng campaign. Had many of the missions flown perfectly and showing a number of techniques to avoid AA fire etc... Load up my replay's. One of my best missions where I took out all the AA successfully and without getting hit once and then attacking the ground targets... the replay shows me getting hit by the very first AA weapon and diving into the ground... lol, wtf. Well that idea didn't last very long. At least I have the tracviews, but its not the same. More than half (I havn'g figured the numbers out exactly, but My standard expectation now is that it won't work) of my replays don't play out in full at all, and if they do, they rarely represent what happened accurately. I also hope they spend some time on this. I love DCS, but half of my enjoyment of DCS is pulling off a really challenging mission and being able to enjoy and review it later. If I can't, all that effor although enjoyable is lost in the ether.
  22. Exactly, I grew up flying gliders and have a bit of experience in single engine. I almost always fly the full circuit when approaching an airfield and also attempt to navigate and fly as if I were in real life. IL2 just doesn't cut it. If I want to fly, I want to simulate flying. Everything look very flat and dull. It just doesn't pop visually, and doesn't feel real. P-51D landings all look similar to this, although granted it took a while to figure out the tail draggers from only having landed single engine GA aircraft and gliders. p-51D landing:
  23. I've been playing DCS since lock on su27/a10/black shark and I've always held it in high regard. Recently got back into it after a number of years of hiatus and jumped at the chance to fly the old birds. Absolutely love it. (Currently flying the p-51D) Loved it so much I figured that I'd take advantage of a $20.00 IL2 sale for the newest pack recently to give me a different experience. Had never flown IL2 in the past. Wow, was I ever dissapointed. IL2 looks like a cartoon IMO compared to DCS. It doesn't feel right, and doesn't look the part either. I will have to give it another shot as I only spent an hour or two trying some different planes, but comparing the p-51 in both is night and day. I'm glad I only spent $20 on it, but I just don't see the draw. That being said I'll have to spend an afternoon and jump into IL2 with both feet. I'm obviously missing something here, or is DCS just that superior. I have my own gripes with DCS (impossible challenge campaign for instance) That being said, a bugged DCS is far greater IMO than IL2. Maybe I'll revise that opinion with more hours in IL2 if I can bring myself to play it again. I honestly expected more out of IL2 since a lot of people rave about it. Tell me what I'm missing here?
  24. Not sure whether to praise or rant this campaign. I did have a lot of fun so far, and I've gained a ton of experience, especially bombing and strafing. So many buggy parts of this campaign though. Fly under the bridges?... second bridge has obviously been bugged by scenery at one point... Fly past it and come at it from behind to avoid the trees to complete this one. The shoot down two helicopter campaign... I turned on unlimited ammo to see if it was even possible to shoot it down. Turns out it's not (after a cerain point even though it's still flying). Pumped thousands of rounds into it according to tacview and just lots of fire on the heli but it won't go down... Found out you need to get to them really quickly and they go down. So far pretty challenging, but save the two helicopters, not too frustrating. I don't mind a challenge, in fact that's kind of why I like DCS. Then the bombing campaigns (Mission 18 & 19) I must have flown Mission 18 30 times before finaly switching to unlimited ammo to finish off the last truck Checked Youtube, and a few people have Challenge Campaign Video series up, but all stopped before Mission 18. I had bombing runs perfectly center spread between the group of trucks and one truck always survived. Clipped together some of the replays that weren't bugged (I digress, but some of my best replay's in this mission and others don't work at all, or are wildly different than what I did). Some of my best bombing runs show me diving into the ground before the target even though I was diving at the target and pulled up with plenty of altitude. Not sure what this is about. Now I'm stuck on the shoot down two AI P-51D's. Mission 23, sigh. Not sure I'll ever get past that one which is a shame. So close. I've moved on to the Blue Nosed Bastards for now. It seems like the AI planes can take a beating without effecting their performance or flight charachteristics at all. The most bullets on target I've given any one of them so far is about 60, which I know isn't huge, but if I take 4 hits I can't fly anymore, smoke coming out, cockpit damaged... ? Anyways, to conclude, I loved my time with the challenge campaign, but I think it needs just a little finesse and some re-work. Although granted, The "Challenge Campaign", it holds true to it's name. I shouldn't however have to use unlimited ammo to get past some points. Here's some clips of my attempts at Mission 18 & 19 in 2k Link in case embed doesn't work: ${1}
  25. Glad to hear it's not just me. If I free flight the p-51d it flies great, but whenever I jump into the challenge campaign (stuck on the shoot down to ai p-51's), it's like it's a different plane. I can barely turn in any direction at any speed or altitude without spinning or shaking out of control and if I take any bullet damage I'm done, while hitting the AI planes seems to do no damage whatsoever. Very frustrating.
×
×
  • Create New...