Dangerzone Posted July 5 Posted July 5 1 hour ago, Motion_Blurz said: Is there a way to destroy crates that others leave behind? Yes - you can pick them up, take them above a certain height, and drop them. They will be destroyed because they were dropped from too-high a height.
Motion_Blurz Posted July 5 Posted July 5 (edited) Figured it out. Disregard. Edited July 5 by Motion_Blurz
Alpenwolf Posted July 13 Posted July 13 Has ED's latest update caused some issues to CTLD? Mine stopped working in all missions. 1 Cold War 1947 - 1991 Discord Helicopters Tournaments Combined Arms Tournaments You can help me with keeping up the server via PayPal donations: hokumyounis@yahoo.com
jgreg Posted July 14 Posted July 14 Yes, mine has stopped working too. I checked the DCS.log and it all seems to be loading and building the tables etc, but there it no CTLD menu item.
Alpenwolf Posted July 14 Posted July 14 7 hours ago, jgreg said: Yes, mine has stopped working too. I checked the DCS.log and it all seems to be loading and building the tables etc, but there it no CTLD menu item. So, we wait on Ciribob to do something or what? Cold War 1947 - 1991 Discord Helicopters Tournaments Combined Arms Tournaments You can help me with keeping up the server via PayPal donations: hokumyounis@yahoo.com
Kanelbolle Posted July 14 Posted July 14 2 hours ago, Alpenwolf said: So, we wait on Ciribob to do something or what? Script should work just fine without dynamic slots. With dynamic slots you have to modified the script quite a lot WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
Alpenwolf Posted July 14 Posted July 14 1 hour ago, Kanelbolle said: Script should work just fine without dynamic slots. With dynamic slots you have to modified the script quite a lot I don't use dynamic slots. Unless they're generated by default and I'll have to disable them and save the missions again? 1 Cold War 1947 - 1991 Discord Helicopters Tournaments Combined Arms Tournaments You can help me with keeping up the server via PayPal donations: hokumyounis@yahoo.com
Kanelbolle Posted July 15 Posted July 15 11 hours ago, Alpenwolf said: I don't use dynamic slots. Unless they're generated by default and I'll have to disable them and save the missions again? Tested it last night with the latest version of CTLD and MIST. Works with no problems. Make sure you have the latest version of both. WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
jgreg Posted July 16 Posted July 16 On 7/14/2024 at 8:52 PM, Kanelbolle said: Script should work just fine without dynamic slots. With dynamic slots you have to modified the script quite a lot I do use dynamic slots. Do you have a reference for how the script needs to be changed?
Kanelbolle Posted July 16 Posted July 16 (edited) 1 hour ago, jgreg said: I do use dynamic slots. Do you have a reference for how the script needs to be changed? I have a test going on my Wargames server at the moment. Have not tested it fully but seam to work as it should. Basically what i did was use the event BIRTH to add the unitname to the list of allowed pilots if the type of aircraft is correct. And i changed the getGroupID function to not use mist (since the id of Dynamic slots do not exist in the Mist DB), to using the listplayers functions. (this does not work with AI aircraft). But as far as i can tell there will be a update to CTLD according to the changelog of DCS: New Dynamic Respawn slots system has been added that allows mission designers to set up airfields serving any aircraft respawn its associated warehouse without the need of specific placement in the editor. Airfields with active dynamic spawns are specifically marked on the map with a hexagon icon. Parking spots are assigned automatically on a respawn request. We are coordinating with MOOSE, MIST and CTLD developers for supporting these new spawn methods in their scripts (Thank you Pikey, funkyfranky, Grimes, and Ciribob). Additionally, a specific dynamic spawns template system was added to customise dynamic slots properties and restrictions. Edited July 16 by Kanelbolle 1 WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
jgreg Posted July 16 Posted July 16 Thankyou for your detailed reply. As I am not too fluent in .lua I guess I will be waiting for an update to CTLD. As a workaround I have added some static slots for Hueys.
Sprool Posted July 17 Posted July 17 I have an issue that is puzzling me, placing Hercs in as transport in the Kola map, its a small simple single player sandbox mission. I know the Herc is not supported any more, but it still works at many airfields - Using the herc-cargo-ctld code, all the correct naming procedures for logistics & pickzones works fine at some airports, I can use them to load troops into Hueys, and hercs, i can put troops and vehicles into hercs and they parachute out as ground units, but at other airports the game freezes on spawn-in to a particular herc if its cold or hot-start, and the mist, ctld and herc-cargo script just doesnt load. It's just with the Herc. Why would it all work fine at all airports with the Huey but only a few airports in Kola with the Herc? Are there other settings I may not know about, such as time spend loading the textures first?
Lekaa Posted August 17 Posted August 17 (edited) How can i make the ctld work with the dyamic spawn? On 7/16/2024 at 12:03 PM, Kanelbolle said: I have a test going on my Wargames server at the moment. Have not tested it fully but seam to work as it should. Basically what i did was use the event BIRTH to add the unitname to the list of allowed pilots if the type of aircraft is correct. And i changed the getGroupID function to not use mist (since the id of Dynamic slots do not exist in the Mist DB), to using the listplayers functions. (this does not work with AI aircraft). But as far as i can tell there will be a update to CTLD according to the changelog of DCS: New Dynamic Respawn slots system has been added that allows mission designers to set up airfields serving any aircraft respawn its associated warehouse without the need of specific placement in the editor. Airfields with active dynamic spawns are specifically marked on the map with a hexagon icon. Parking spots are assigned automatically on a respawn request. We are coordinating with MOOSE, MIST and CTLD developers for supporting these new spawn methods in their scripts (Thank you Pikey, funkyfranky, Grimes, and Ciribob). Additionally, a specific dynamic spawns template system was added to customise dynamic slots properties and restrictions. Hello, would you mind share your Lua for the CTLD? Edited August 17 by Lekaa
Kanelbolle Posted August 17 Posted August 17 (edited) 46 minutes ago, Lekaa said: How can i make the ctld work with the dyamic spawn? Hello, would you mind share your Lua for the CTLD? No point.. I have changed so much it will brake your mission. I have customized so much over the years to fit my needs. Can see if I can post what you have to change/add to make it work with dynamic slots when I have time. (Will only work with players, and not AI if you change it) Edited August 17 by Kanelbolle WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
Lekaa Posted August 17 Posted August 17 Just now, Kanelbolle said: No point.. I have changed so much it will brake your mission. I have customized so much over the years to fit my needs. Can see if I can post what you have to change/add to make it work with dynamic slots when I have time. (Will only work with players, and not AI if you change it) I don't Use AI for that, only human players. If you would share the function for using the event for birth and to get the menu to show up. Even if you share it, i will compare it will the original. have you tried to get persistence to work?
Kanelbolle Posted August 17 Posted August 17 3 minutes ago, Lekaa said: I don't Use AI for that, only human players. If you would share the function for using the event for birth and to get the menu to show up. Even if you share it, i will compare it will the original. have you tried to get persistence to work? You mean saving unit's for restarts? If so I use my own script (spgg) for this. https://forum.dcs.world/topic/307157-spgg-simple-persistent-ground-groups-script/ WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
Lekaa Posted August 17 Posted August 17 1 minute ago, Kanelbolle said: You mean saving unit's for restarts? If so I use my own script (spgg) for this. https://forum.dcs.world/topic/307157-spgg-simple-persistent-ground-groups-script/ Will it work with foothold you think?
Kanelbolle Posted August 17 Posted August 17 15 minutes ago, Lekaa said: Will it work with foothold you think? Never tried foothold, so can't answer that. WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
Lekaa Posted August 17 Posted August 17 What should i now do if i so bad want the CTLD to work with dynamic slots? After that i will try to get the persistence to work 37 minutes ago, Kanelbolle said: Never tried foothold, so can't answer that.
Kanelbolle Posted August 17 Posted August 17 (edited) 7 hours ago, Lekaa said: What should i now do if i so bad want the CTLD to work with dynamic slots? After that i will try to get the persistence to work @Lekaa How to adapt the current version (Release 202401.01) of CTLD work with dynamic slots. (Will only work with players. Will not work with AI if you change this) Regular slots will also automatically receive CTLD menu if the unit type is in the "ctld.allowedTransportAircraftType" table. 1. Download the CTLD version above. 2. Edit CTLD function : function ctld.getGroupId(_unit) Search for it with your favorite notepad program. This to circumvent the MIST DB lookup. Dynamics slots will not exist in the MIST DB. Change to look like this: function ctld.getGroupId(_unit) if _unit ~= nil then local _group = _unit:getGroup() if _group ~= nil then local _groupid = _group:getID() return _groupid end end return nil end 3.Add this to the very end of the CTLD lua fil : -- WG Dynamic Helicopters ctld.dynSpawnLog = false function ctld.findValue(checkArray, checkName) for currentIndex = 1, #checkArray do if checkArray[currentIndex] == checkName then return true end end end function ctld.findIndexOfValue(checkArray, checkName) for currentIndex = 1, #checkArray do if checkArray[currentIndex] == checkName then return currentIndex end end end ctld.allowedTransportAircraftType = { "UH-1H", "Mi-8MT", "Mi-24P", "CH-47Fbl1", } ctld.ClientHandler = {}; function ctld.ClientHandler:onEvent(event) if (world.event.S_EVENT_BIRTH == event.id) then local BIRTHclient = event.initiator if BIRTHclient == nil then return -- error! end local _redPlayers = coalition.getPlayers(1) local _bluePlayers = coalition.getPlayers(2) local _validPlayer = false for i = 1, #_bluePlayers do if BIRTHclient == _bluePlayers[i] then local _group = Unit.getGroup(_bluePlayers[i]) local _groupname = _group:getName() local _groupid = _group:getID() if ctld.dynSpawnLog == true then env.info(' -- ctld - _bluePlayers - _groupname: ' .. _groupname .. ' - _groupid: ' .. _groupid) end _validPlayer = true end end for i = 1, #_redPlayers do if BIRTHclient == _redPlayers[i] then local _group = Unit.getGroup(_redPlayers[i]) local _groupname = _group:getName() local _groupid = _group:getID() if ctld.dynSpawnLog == true then env.info(' -- ctld - _redPlayers - _groupname: ' .. _groupname .. ' - _groupid: ' .. _groupid) end _validPlayer = true end end if ctld.dynSpawnLog == true then env.info(' -- ctld _bluePlayers - count ' .. #_bluePlayers) env.info(' -- ctld _redPlayers - count ' .. #_redPlayers) end if _validPlayer then if (BIRTHclient:getGroup() ~= nil) then local BIRTHgroup = BIRTHclient:getGroup() local BIRTHgroupname = BIRTHgroup:getName() local BIRTHgroupId = BIRTHgroup:getID() -- local BIRTHunitname = Group.getByName(BIRTHgroupname):getUnit(1):getName() local BIRTHunitname = BIRTHclient:getName() local BIRTHfortype = Unit.getByName(BIRTHunitname) if ctld.dynSpawnLog == true then env.info('--- BIRTHunitname Name: ' .. BIRTHunitname) end brithClientName = BIRTHclient:getPlayerName() if ctld.dynSpawnLog == true then env.info('--- Birth Player Name: ' .. brithClientName) end if brithClientName ~= nil then local BIRTHtype = BIRTHfortype:getTypeName() if (ctld.findValue(ctld.transportPilotNames, BIRTHunitname)) ~= true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit Name not in ctld.transportPilotNames : ' .. BIRTHunitname .. ' - GID: ' .. BIRTHgroupId ) end if (ctld.findValue(ctld.allowedTransportAircraftType, BIRTHtype )) == true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit type : ' .. BIRTHtype ) end table.insert(ctld.transportPilotNames, BIRTHunitname) end else if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit Name found in ctld.transportPilotNames : ' .. BIRTHunitname ) end if (ctld.findValue(ctld.allowedTransportAircraftType, BIRTHtype )) ~= true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Removing - Unit type : ' .. BIRTHtype ) end local pilotIdx = ctld.findIndexOfValue(ctld.transportPilotNames, BIRTHunitname) if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Removing - Unit name : ' .. ctld.transportPilotNames[pilotIdx] ) end table.remove(ctld.transportPilotNames, pilotIdx) end end end end end end end world.addEventHandler(ctld.ClientHandler) Hope this helps until a possible new version of CTLD is released. Edited August 17 by Kanelbolle 1 3 WARGAMES Servers: https://forum.dcs.world/topic/301046-wargames-server-pvp-and-pve-campaign-servers/ Scripts: RGC & SPGG https://github.com/AGluttonForPunishment/
Lekaa Posted August 17 Posted August 17 3 hours ago, Kanelbolle said: @Lekaa How to adapt the current version (Release 202401.01) of CTLD work with dynamic slots. (Will only work with players. Will not work with AI if you change this) Regular slots will also automatically receive CTLD menu if the unit type is in the "ctld.allowedTransportAircraftType" table. 1. Download the CTLD version above. 2. Edit CTLD function : function ctld.getGroupId(_unit) Search for it with your favorite notepad program. This to circumvent the MIST DB lookup. Dynamics slots will not exist in the MIST DB. Change to look like this: function ctld.getGroupId(_unit) if _unit ~= nil then local _group = _unit:getGroup() if _group ~= nil then local _groupid = _group:getID() return _groupid end end return nil end 3.Add this to the very end of the CTLD lua fil : -- WG Dynamic Helicopters ctld.dynSpawnLog = false function ctld.findValue(checkArray, checkName) for currentIndex = 1, #checkArray do if checkArray[currentIndex] == checkName then return true end end end function ctld.findIndexOfValue(checkArray, checkName) for currentIndex = 1, #checkArray do if checkArray[currentIndex] == checkName then return currentIndex end end end ctld.allowedTransportAircraftType = { "UH-1H", "Mi-8MT", "Mi-24P", "CH-47Fbl1", } ctld.ClientHandler = {}; function ctld.ClientHandler:onEvent(event) if (world.event.S_EVENT_BIRTH == event.id) then local BIRTHclient = event.initiator if BIRTHclient == nil then return -- error! end local _redPlayers = coalition.getPlayers(1) local _bluePlayers = coalition.getPlayers(2) local _validPlayer = false for i = 1, #_bluePlayers do if BIRTHclient == _bluePlayers[i] then local _group = Unit.getGroup(_bluePlayers[i]) local _groupname = _group:getName() local _groupid = _group:getID() if ctld.dynSpawnLog == true then env.info(' -- ctld - _bluePlayers - _groupname: ' .. _groupname .. ' - _groupid: ' .. _groupid) end _validPlayer = true end end for i = 1, #_redPlayers do if BIRTHclient == _redPlayers[i] then local _group = Unit.getGroup(_redPlayers[i]) local _groupname = _group:getName() local _groupid = _group:getID() if ctld.dynSpawnLog == true then env.info(' -- ctld - _redPlayers - _groupname: ' .. _groupname .. ' - _groupid: ' .. _groupid) end _validPlayer = true end end if ctld.dynSpawnLog == true then env.info(' -- ctld _bluePlayers - count ' .. #_bluePlayers) env.info(' -- ctld _redPlayers - count ' .. #_redPlayers) end if _validPlayer then if (BIRTHclient:getGroup() ~= nil) then local BIRTHgroup = BIRTHclient:getGroup() local BIRTHgroupname = BIRTHgroup:getName() local BIRTHgroupId = BIRTHgroup:getID() -- local BIRTHunitname = Group.getByName(BIRTHgroupname):getUnit(1):getName() local BIRTHunitname = BIRTHclient:getName() local BIRTHfortype = Unit.getByName(BIRTHunitname) if ctld.dynSpawnLog == true then env.info('--- BIRTHunitname Name: ' .. BIRTHunitname) end brithClientName = BIRTHclient:getPlayerName() if ctld.dynSpawnLog == true then env.info('--- Birth Player Name: ' .. brithClientName) end if brithClientName ~= nil then local BIRTHtype = BIRTHfortype:getTypeName() if (ctld.findValue(ctld.transportPilotNames, BIRTHunitname)) ~= true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit Name not in ctld.transportPilotNames : ' .. BIRTHunitname .. ' - GID: ' .. BIRTHgroupId ) end if (ctld.findValue(ctld.allowedTransportAircraftType, BIRTHtype )) == true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit type : ' .. BIRTHtype ) end table.insert(ctld.transportPilotNames, BIRTHunitname) end else if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Unit Name found in ctld.transportPilotNames : ' .. BIRTHunitname ) end if (ctld.findValue(ctld.allowedTransportAircraftType, BIRTHtype )) ~= true then if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Removing - Unit type : ' .. BIRTHtype ) end local pilotIdx = ctld.findIndexOfValue(ctld.transportPilotNames, BIRTHunitname) if ctld.dynSpawnLog == true then env.info('__--__ CTLD Dynamic Spawn - Removing - Unit name : ' .. ctld.transportPilotNames[pilotIdx] ) end table.remove(ctld.transportPilotNames, pilotIdx) end end end end end end end world.addEventHandler(ctld.ClientHandler) Hope this helps until a possible new version of CTLD is released. Thanks alot !
Sprool Posted October 5 Posted October 5 (edited) I'm struggling with a simple CTLD mission playing around with the CH-47. I want to be able to transport 40 troops in the CH-47 and 16 in the Mi-8. I created a new 40-strong unit "Platoon" which shows up in the F10 menu and I imposed the unit load limits but every time I load troops I get 40 into any helo, then the Mi-8 and Huey cant take off as they're too heavy. Lol. I also set ctld.numberOfTroops = 40, could that be the problem? If the number is < 40 then the Platoon option does not appear. Edited October 5 by Sprool
Recommended Posts