-
Posts
1517 -
Joined
-
Last visited
Content Type
Profiles
Forums
Events
Everything posted by xcom
-
Will be done
-
Right here :)
-
:notworthy::punk::clap_2: Speachless!
-
First post in the thread. Would like to highlight a video by Ralfidude showcasing GCI work in Blue Flag. I haven't been flying for sometime now, but it seems the community flying in Blue Flag is organized and working very well with the Simple Radio, great to watch this and thanks Ralfidude for another excellent video!
-
Server's up!
-
Server is back up
-
New invite that don't expire - https://discord.gg/KSFd5uV
-
Hi all, You are welcome to BuddySpike's Discord server - https://discord.gg/eb7bp Enjoy some good chat, constant music and company! Cu there!
-
Hi all, You are welcome to BuddySpike's Discord server - https://discord.gg/eb7bp Enjoy some good chat, constant music and company! Cu there!
-
Blue won, map and players coalition restriction reset.
-
PM with the details plz
-
Probably false, didn't export the result but it doesn't go thru the if so probably, it needs to be tested.
-
Sorry for my bad explanation, was trying to add that was testing as a client on a hosted server, but it has little difference. Doesn't work on AI units, specifically tested airplanes.
-
Yes a new issue presented itself. We reverted and are working to fix it.
-
The function in the title doesn't work in multiplayer on clients while the object is not activated yet (late activation). haven't tested on other scenarios.
-
Update - worked around the Scripting Engine bug that held the AI intercepts from identifying. Mission will be updated and resolved soon. Please send in PM if there are any other bugs you notice.
-
Update on the AI intercepts - The issue is due to a new bug introduced by one of the latest patches from ED. getting group information for dynamically spawned units is not possible in multiplayer, waiting for a fix by ED, hopefully in the near future.. if not we will look to revise.
-
REQUEST-is it possible to reserve planes for certain players?
xcom replied to 9.JG27 DavidRed's topic in Mission Editor
Moving it to work with flag is possible, will not do with this script. -
If anyone has an concerns about fairness play in Blue Flag, please contact via PM and not do it in the forum post. Round-10 is still on hold, the server will still be up with ongoing war until we bring round 10.
-
REQUEST-is it possible to reserve planes for certain players?
xcom replied to 9.JG27 DavidRed's topic in Mission Editor
I think it's possible, need to look into it. I take NIS & $s ;) Let me see if it's possible and what it requires, free time unfortunately has grown to be very valuable recently. -
REQUEST-is it possible to reserve planes for certain players?
xcom replied to 9.JG27 DavidRed's topic in Mission Editor
David contacted me about the script that wasn't working and I told him it's no longer supported as the main function in it - destroy clients, does not really work for a long time now. I saw some of the comments here, yes we use slot restrictions in Blue Flag, we do it the way Grimes mentioned. We saw new servers starting to use it as well, glad the idea is being picked up! :D So I created a GameGUI script for restricting slots: specific options - coalition restriction - player ucid is restricted to the first coalition he selects until the mission is restarted - might require a DCS server restart :) fixed name - unit name = player name. tests are ran on the selected slot - unit name - prefix or complete name. group name - prefix or complete name. compared with - user - prefix or name. Installation: Take the file and put it in the servers - C:\Users\<computer name>\Saved Games\DCS\Scripts\ File has to end with GameGUI.lua (case sensitive), notice any mission will have this on from that point and you will have to rename or remove the file, afterwards to restart DCS so the restrictions are off. It was a quick scribble and not tested too much, so if anyone finds an issue let me know and I'll have a go at fixing it, notice it is a good platform to start any restrictions you might think of. Enjoy! -- INTRODUCTION: -- this script will check users who change slots in order to restrict specific units or groups. -- -- CONFIGURATION INFO: -- fixedName - set to true if you simply want to test the user nickname vs the unit name. -- restrictCoa - set to true if you want to restrict the first coalition selection by each player (restricted by ucid) -- -- user- -- prefix - will check if the nickname of the user starts with the matching string in squad_prefix. -- members - will check if the nickname of the user is in the table of members. -- using both useMembers & usePrefix will test first the prefix and if not applicable will check in the squad_members list. -- there must be atleast one configuration set here to be tested against. -- -- unit & group: -- prefix - enter the unit name or group name prefix to be checked against the reserved members or prefix. -- names - enter the unit names or group names to be checked against the reserved members or prefix. -- there must be atleast one configuration set here to be tested against. -- -- net.log("Reserve Slots Script - Running") local reserve = {} local restrictCoa = {} ------------------edit here only------------------ reserve.config = { ['fixedName'] = true, ['restrictCoa'] = true, ['user'] = { ['prefix'] = '9./JG27', --put in the user prefix to test, empty - disabled. ['members'] = { [1] = 'Xcom', --put in the specific members you want to test, empty - disabled. [2] = '9./JG27 DavidRed', }, }, ['unit'] = { ['prefix'] = '1', --put in the unit prefix to test, empty - disabled. ['names'] = { [1] = 'Xcom', --put in the specific unit names you want to test, empty - disabled. [2] = '9./JG27 bf-109 #002', }, }, ['group'] = { ['prefix'] = '2', --put in the unit prefix to test, empty - disabled. ['names'] = { [1] = '9./JG27 bf-109', --put in the specific group names you want to test, empty - disabled. [2] = '9./JG27 FW-190', }, }, } ------------------edit here only------------------ --test functions reserve.testUnitPrefix = function(id, _playerName, _unitName) if reserve.config.unit.prefix and reserve.config.unit.prefix ~= '' and string.sub(_unitName,1,string.len(#reserve.config.unit.prefix)) == reserve.config.unit.prefix then if string.sub(_playerName,1,string.len(#reserve.config.user.prefix)) == reserve.config.user.prefix then net.log("Reserve Slots Script (unit prefix - user prefix) - ".. _playerName .." entered unit name - ".._unitName) return true end for i,name in ipairs(reserve.config.user.members) do if name == _playerName then net.log("Reserve Slots Script (unit prefix - user member) - ".. _playerName .." entered unit name - ".._unitName) return true end end --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS RESERVED, PLEASE USE A DIFFERENT SLOT. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script (unit prefix) - ".. _playerName .." kicked from unit name - ".._unitName) return true end end reserve.testUnitNames = function(id, _playerName, _unitName) for i,uName in ipairs(reserve.config.unit.names) do if uName == _unitName then if string.sub(_playerName,1,string.len(#reserve.config.user.prefix)) == reserve.config.user.prefix then net.log("Reserve Slots Script (unit names - user prefix) - ".. _playerName .." entered unit name - ".._unitName) return true end for i,name in ipairs(reserve.config.user.members) do if name == _playerName then net.log("Reserve Slots Script (unit names - user member) - ".. _playerName .." entered unit name - ".._unitName) return true end end --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS RESERVED, PLEASE USE A DIFFERENT SLOT. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script (unit names) - ".. _playerName .." kicked from unit name - ".._unitName) return true end end end reserve.testGroupPrefix = function(id, _playerName, _groupName) if reserve.config.group.prefix and reserve.config.group.prefix ~= '' and string.sub(_groupName,1,string.len(#reserve.config.group.prefix)) == reserve.config.group.prefix then if string.sub(_playerName,1,string.len(#reserve.config.user.prefix)) == reserve.config.user.prefix then net.log("Reserve Slots Script (group prefix - user prefix) - ".. _playerName .." entered group name - ".._groupName) return true end for i,name in ipairs(reserve.config.user.members) do if name == _playerName then net.log("Reserve Slots Script (group prefix - user member) - ".. _playerName .." entered group name - ".._groupName) return true end end --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS RESERVED, PLEASE USE A DIFFERENT SLOT. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script (group prefix) - ".. _playerName .." kicked from group name - ".._groupName) return true end end reserve.testGroupNames = function(id, _playerName, _groupName) for i,gName in ipairs(reserve.config.group.names) do if gName == _groupName then if string.sub(_playerName,1,string.len(#reserve.config.group.prefix)) == reserve.config.group.prefix then net.log("Reserve Slots Script (group names - group prefix) - ".. _playerName .." entered group name - ".._groupName) return true end for i,name in ipairs(reserve.config.group.members) do if name == _playerName then net.log("Reserve Slots Script (group names - group member) - ".. _playerName .." entered group name - ".._groupName) return true end end --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS RESERVED, PLEASE USE A DIFFERENT SLOT. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script (group names) - ".. _playerName .." kicked from group name - ".._groupName) return true end end end reserve.testCoa = function(id, _playerName, _playerUCID, _playerCoa) if restrictCoa then if restrictCoa[_playerUCID] then if restrictCoa[_playerUCID] == _playerCoa then return false else --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS IN THE WRONG COALITION, PLEASE SELECT THE COALITION YOU INITIALLY SELECTED. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script - ".. _playerName .." kicked due to wrong coalition") return true end else restrictCoa[_playerUCID] = _playerCoa return false end end end reserve.testFixedName = function(id, _playerName, _unitName) if reserve.config.unit and reserve.config.unit.names then for i, name in ipairs(reserve.config.unit.names) do if name == _unitName then if _unitName == _playerName then net.log("Reserve Slots Script - ".. _playerName .." entered unit name - ".._unitName) return true else --kick out of the slot local _chatMessage = string.format("=== %s, THIS SLOT IS RESERVED, PLEASE USE A DIFFERENT SLOT. ***",_playerName) net.send_chat_to(_chatMessage, id) net.force_player_slot(id, 0, '') net.log("Reserve Slots Script - ".. _playerName .." kicked from unit name - ".._unitName) return true end end end else net.log("Reserve Slots Script - Missing unit names for comparison") end end --change slot check reserve.onPlayerChangeSlot = function(id) local _playerName = net.get_player_info(id, "name" ) local _playerSlotID = net.get_player_info(id,'slot') local _playerUCID = net.get_player_info(id, "ucid" ) local _playerCoa = net.get_player_info(id, "side" ) local _unitName = DCS.getUnitProperty(_playerSlotID, DCS.UNIT_NAME) local _groupName = DCS.getUnitProperty(_playerSlotID, DCS.UNIT_GROUPNAME) if (_playerSide ~=0 and _playerSlotID ~='' and _playerSlotID ~= nil) then if _playerName ~= nil then local result --restrictCoa test if reserve.config.restrictCoa == true then local result = reserve.testCoa(id, _playerName, _playerUCID, _playerCoa) if result then return end end --fixedName test: if reserve.config.fixedName == true then local result = reserve.testFixedName(id, _playerName, _unitName) if result then return end end --check unit prefix result = reserve.testUnitPrefix(id, _playerName, _unitName) if result then return end --check unit names result = reserve.testUnitNames(id, _playerName, _unitName) if result then return end --check group prefix result = reserve.testGroupPrefix(id, _playerName, _groupName) if result then return end --check group names result = reserve.testGroupNames(id, _playerName, _groupName) if result then return end end end end DCS.setUserCallbacks(reserve) net.log("Reserve Slots Script - reserve callbacks loaded") ReserveSquadGameGUI.lua -
Was not aware it was broken. We will look into it. GCI slots are available, but you cannot really move things as it creates lag, when ED fixes it we will be the first to allow it, It's a very needed part. Calling for AI refueling tanker is also possible, we will look into it. We keep shuffling things, will take under consideration. Maybe :)
-
Next round will start soon, we plan to do some changes which we will update as the time comes. There was some time off from the team on holidays etc... We tried it a few months ago and saw issues, Ciribob probably will test it again soon. Thanks for reporting, we will have a look! Thanks for reporting, again will have a look! Repair crates should not work on the same base/farp/comm you pick them from, you can use them on other base/farp/comm that your coalition owns to repair one group immediately. About EWRs & SAMs, I'm guessing you are referring to those deployed dynamically with CTLD, those are removed on mission restart (every 3 hours), reason is to keep the map clean and not over crowded. Reloads, basically depends the location where the Stinger or SAM is deployed, if near a FARP or a Base,it will reload from the base, if not, it will require a reload truck to be close.
-
Really nice stuff, reminds me of something I did a while back but on a much smaller scale. Hope DCS limitation will be lifted soon with a dedicated server, cuz right now ground warfare is kind of limited with many players - created lag :(.
-
Hi guys, We have done 2 things yesterday which showed a vast improvement to the LAG - 1. Removed the CSAR script yesterday and it will be reviewed by Ciribob. 2. Changed connection limits in autoexec.cfg, thanks to 104th Mustang for reminding us to check it again, it was not set after our migration to the new server. I monitored the server for around an hour and with around 47 pilots I did not see the warping and lagging that was happening. Please give us your feedback, we would like to make sure the severe LAG is resolved. Notice that small spikes of specific players is not server lag, it can be best monitored through the CA ground commander slot, in case all players warp/lag at the same time, it is most likely a server issue. Thanks for joining Blue Flag and for the feedback! Xcom & Buddyspike team.