-
Posts
386 -
Joined
-
Last visited
Personal Information
-
Flight Simulators
DCS
-
Location
Norway
-
Interests
Gaming and Scripting
-
Occupation
IT
-
Website
https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Why "No force from mission, use mine" option?
Kanelbolle replied to Andurula's topic in Mission Editor
Don't know what was toxic about my reply. I just suggested to ask instead of stating that this is how things work without understanding how it works. The "No force from mission, use mine" is used in Singel player. If you join a multiplayer server as a client, this is not applied. In short, servers can enforce settings through the mission they are hosting. Now there is a more confusing thing about settings when making a mission and hosting the mission you made on a Dedicated server. If you want example "Spectate External View" in your mission, you have to have this "ON" under game settings -> "MISC." when you save the mission. If it was off when you saved, and you try and edit the config file of the "Dedicated server" to use "Spectate External View", it will have no effect. It's silly how settings work, but this is what ED cooked up to confuse us all. My personal opinion is that if you host a dedicated server, the server settings should override mission settings. -
Why "No force from mission, use mine" option?
Kanelbolle replied to Andurula's topic in Mission Editor
I would suggest doing some more searching before posting "statements", just my opinion. Servers can force settings, client's can't override this. Al tho it's a bit confusing to do so, since there are 3 ways to set settings in DCS. -
@Leopold I modified it in to a working example: function getGroupPos(groupname) local unit1 = Group.getByName(groupname):getUnit(1) local targetCoord = unit1:getPoint() return targetCoord end function goRoute(MoveGroupname, targetGroupName) local targetCord = getGroupPos(targetGroupName) local misTask = { id = 'Mission', params = { route = { ["points"] = { [1] = { ["alt"] = 13, ["type"] = "Turning Point", ["ETA"] = 0, ["alt_type"] = "BARO", ["formation_template"] = "", ["y"] = targetCord.z, ["x"] = targetCord.x, ["ETA_locked"] = true, ["speed"] = 30, ["action"] = "Off Road", ["task"] = { ["id"] = "ComboTask", ["params"] = { ["tasks"] = {}, }, -- end of ["params"] }, -- end of ["task"] ["speed_locked"] = true, }, -- end of [1] [2] = { ["alt"] = 13, ["type"] = "Turning Point", ["ETA"] = 65.493407534521, ["alt_type"] = "BARO", ["formation_template"] = "", ["y"] = targetCord.z, ["x"] = targetCord.x, ["ETA_locked"] = false, ["speed"] = 30.5555555555556, ["action"] = "Off Road", ["task"] = { ["id"] = "ComboTask", ["params"] = { ["tasks"] = {}, }, -- end of ["params"] }, -- end of ["task"] ["speed_locked"] = true, }, -- end of [2] }, -- end of ["points"] }, }, } local group if type(MoveGroupname) == 'string' then env.info('MoveGroupname was string, getting group') group = Group.getByName(MoveGroupname) end local groupCon = group:getController() if groupCon then env.info('groupCon is valid! Pushing task!') groupCon:pushTask(misTask) return true end end env.info('Script Loaded!') goRoute('Ground-1', 'Ground-2') And if you want it to go to a trigger zone, you can use zone = trigger.misc.getZone('zonename') if zone then targetCord =zone.point end Move_Group_to_other_Group_Location.miz
-
Complete Transport and Logistics Deployment - CTLD
Kanelbolle replied to Ciribob's topic in Scripting Tips, Tricks & Issues
I tested the demo and it's trash for a new comer to scripting Here is a working example (see file) ctld-140-test.miz -
Complete Transport and Logistics Deployment - CTLD
Kanelbolle replied to Ciribob's topic in Scripting Tips, Tricks & Issues
There is a demo mission included (demo-mission.miz) in the CTLD download. Use it to see how to load it. Also use the MIST version inclided in CTLD. Be aware also that the default setup in the new version is not to add the menu by pilot name, but by Aircraft type, via the setting: -- Allow units to CTLD by aircraft type and not by pilot name - this is done everytime a player enters a new unit ctld.addPlayerAircraftByType = true Aircraft types are selected in this table: -- ******************** Transports names ********************** -- If ctld.addPlayerAircraftByType = True, comment or uncomment lines to allow aircraft's type carry CTLD ctld.aircraftTypeTable = { --%%%%% MODS %%%%% --"Bronco-OV-10A", --"Hercules", --"SK-60", --"UH-60L", --"T-45", --%%%%% CHOPPERS %%%%% --"Ka-50", --"Ka-50_3", "Mi-8MT", "Mi-24P", --"SA342L", --"SA342M", --"SA342Mistral", --"SA342Minigun", "UH-1H", "CH-47Fbl1", --%%%%% AIRCRAFTS %%%%% --"C-101EB", --"C-101CC", --"Christen Eagle II", --"L-39C", --"L-39ZA", --"MB-339A", --"MB-339APAN", --"Mirage-F1B", --"Mirage-F1BD", --"Mirage-F1BE", --"Mirage-F1BQ", --"Mirage-F1DDA", --"Su-25T", --"Yak-52", --%%%%% WARBIRDS %%%%% --"Bf-109K-4", --"Fw 190A8", --"FW-190D9", --"I-16", --"MosquitoFBMkVI", --"P-47D-30", --"P-47D-40", --"P-51D", --"P-51D-30-NA", --"SpitfireLFMkIX", --"SpitfireLFMkIXCW", --"TF-51D", } -
How to change mission's duration to unlimited?
Kanelbolle replied to motoadve's topic in Mission Editor
You sure you didn't make it in the "Quick Action Generator" ? This is the message that is shown when using the QAG when the mission is over. Should just go in to the mission editor and open the mission and check what trigger is ending the mission and delete it. -
How to change mission's duration to unlimited?
Kanelbolle replied to motoadve's topic in Mission Editor
You have ti be more specific or explain what you mean by change mission duration... If you open the Mission editor, there is no mission end unless you put a trigger that does a mission end / load mission action. How did you make the mission ? -
CPU runs +20° hotter in idle after update to 2.9.16.10523.
Kanelbolle replied to Dmsea1's topic in Game Performance Bugs
Log analyser on DCS discord points to Nvidia Drivers If you have stability or performance issues pointing to your GPU, rollback the GPU driver to version 566.36, Disable Core Parking., Verify that this is configured correctly in Windows: Game Mode disabled, Hardware accelerated GPU scheduling disabled, Core Isolation disabled Tuning Tips Remove the OH6GunnerExport script for performance reasons., Consider using DLAA., Turn off SSLR., Turn off SSAO., Tuning tips are recommendations for better FPS based on your CPU, GPU and RAM. They might result in slightly decreased display quality. -
Can't bring ground Units to life with 'group late activation'
Kanelbolle replied to NoJoy's topic in Mission Editor
Have seen a bug before on Group Alive, it did not register. Had to make a new mission from scratch to fix it. But got Group alive to work in this example .miz Red-Activate-On-Group-Alive.miz -
last update 21.5.2025 problem sound.dll cannot delete
Kanelbolle replied to ER*Wumme's topic in Installation Problems
This might also be permissions. You might need to delete the file manually from the File Explorer. Had this 1 time myself. Also check that you have fee space to update. -
Can't bring ground Units to life with 'group late activation'
Kanelbolle replied to NoJoy's topic in Mission Editor
Have you tried checking for "Unit Alive" instead of group with "OR" between them ? Example: Unit Alive (Unit 1) OR Unit Alive (Unit 2) OR Unit Alive (Unit 3) OR Unit Alive (Unit 4) -
unitsDB = unitsDB or {} function updateUnitDB() -- Remove the old data in $unitsDB unitsDB = nil unitsDB = unitsDB or {} ----------------------------------- -- Get Red Coalition Forces ------------------- ----------------------------------- for i, gp in pairs(coalition.getGroups(1)) do local _GpName = Group.getName(gp) if _GpName ~= nil then if (Group.getByName(_GpName) and Group.getByName(_GpName):getSize() > 0) and (Group.isExist(gp) == true) then for index, _unit in pairs(gp:getUnits()) do _unitId = _unit:getID() _unitName = _unit:getName() unitsDB[tonumber(_unitId)] = {["name"] = _unitName, ["groupname"] = _GpName,} env.info('Adding to database- Id: ' .. _unitId .. ' - Name: ' .. _unitName) trigger.action.outText('Adding to database- Id: ' .. _unitId .. ' - Name: ' .. _unitName, 10) end -- for index, _unit in pairs(gp:getUnits()) do end -- if (Group.getByName(_GpName) and Group.getByName(_GpName):getSize() > 0) and (Group.isExist(gp) == true) then end -- if _GpName =~ nil then end -- for i, gp in pairs(coalition.getGroups(1)) do ----------------------------------- -- Get Blue Coalition Forces ------------------- ----------------------------------- for i, gp in pairs(coalition.getGroups(2)) do local _GpName = Group.getName(gp) if _GpName ~= nil then if (Group.getByName(_GpName) and Group.getByName(_GpName):getSize() > 0) and (Group.isExist(gp) == true) then for index, _unit in pairs(gp:getUnits()) do _unitId = _unit:getID() _unitName = _unit:getName() unitsDB[tonumber(_unitId)] = {["name"] = _unitName, ["groupname"] = _GpName,} env.info('Adding to database- Id: ' .. _unitId .. ' - Name: ' .. _unitName) trigger.action.outText('Adding to database- Id: ' .. _unitId .. ' - Name: ' .. _unitName, 10) end -- for index, _unit in pairs(gp:getUnits()) do end -- if (Group.getByName(_GpName) and Group.getByName(_GpName):getSize() > 0) and (Group.isExist(gp) == true) then end -- if _GpName =~ nil then end -- for i, gp in pairs(coalition.getGroups(2)) do end -- function updateUnitDB() function getUnitByid(id) local _id = tonumber(id) -- for index, _u in pairs(unitsDB) do -- trigger.action.outText('From database index : ' .. index .. ' - Unit Name: ' .. unitsDB[index].name, 10) -- end if unitsDB[_id] ~= nil then trigger.action.outText('From database- Name - '.. unitsDB[_id].name, 10) local _unit = Unit.getByName(unitsDB[_id].name) if _unit then return _unit else return false end end return false end Added a working .miz test file. getUnitId.miz
-
Shot answer: You can do this by getting all groups in a coalition with coalition.getGroups and getting all the id's of all the units in all the groups with Group.getUnits then make a Database with all the id's.