eekz Posted June 7, 2018 Share Posted June 7, 2018 Решил создать тему посвященную API DCS. User scripts, callback functions и вот это вот всё. Очень прошу, что если вы не знаете что это такое - не флудите в теме. Было бы здорово, если бы модераторы дали этой теме статус Sticky и повесили под темой про SSE. У меня первая большая просьба к разработчикам API. function onGameEvent(eventName,arg1,arg2,arg3,arg4) --"kill", killerPlayerID, killerUnitType, killerSide, victimPlayerID, victimUnitType, victimSide, weaponName добавить аргумент в "kill" event, чтобы он выглядел вот так --"kill", killerPlayerID, killerUnitType, killerUnit_missionID, killerSide, victimPlayerID, victimUnitType, victimUnit_missionID, victimSide, weaponName это нужно для того, чтобы опознать убитого игрока, если в него попали, но он отсоединился от сервера до того, как самолет разбился Куплю B-17, можно B-24. B-29 не предлагать! Burning Skies =Burning Skies= @ Facebook Link to comment Share on other sites More sharing options...
BR55Sevas Posted August 14, 2018 Share Posted August 14, 2018 (edited) Не получается настроить скрипт для отключения клиента по нику. Сервер запущен, в папке Saved Games\Scripts\Hooks\ лежит файл BanHammerGameGUI.lua со следующим содержимым local test = {} function test.onPlayerTryConnect(ipaddr, name, ucid, playerID) local strlog = string.format("%s %s\n", name, ucid) --Грузим в файлик ник и юсид игрока net.kick(playerID, strlog) -- [b]КИК ВСЕХ ПОДРЯД[/b] player_info_file = io.open("c:\\Phantom\\Ban\\PLAYER_INFO_" .. os.date("%Y%m%d%H%M%S") ..".log", "w") player_info_file:write(strlog) player_info_file:close() if (ucid == "") or --ucid надо обрамлять в кавычки! (ucid == "") or --ucid надо обрамлять в кавычки! (ucid == "") or --ucid надо обрамлять в кавычки! (ucid == "") or --ucid надо обрамлять в кавычки! (ucid == "") then --ucid надо обрамлять в кавычки! net.kick(playerID, strlog) end if (name == "777****777") or (name == "123") or --с пустыми никами не пускать (name == "BR=55=Sevas") or --с пустыми никами не пускать (name == "") then--с пустыми никами не пускатьthen --ники с матюками неоч, баним мягко - по нику net.kick(playerID, 'Wrong nickname. Change please. Thank you.') end return true -- allow the player to connect end function test.onSimulationStop() --player_info_file:close() end function test.onSimulationStart() -- player_info_file = io.open(lfs.writedir() .. "Logs/PLAYERS_INFO_" .. os.date("%Y%m%d%H%M%S") ..".log", "w")--"a": режим дозаписи в конец файла; -- player_info_file:write(strlog) -- player_info_file:close() end DCS.setUserCallbacks(test) -- here we set our callbacks Сервер клиента отключает, но сообщение о причине кика ему не выводится. Или это не предусмотрено? Edited August 14, 2018 by BR=55=Sevas МиГ-29 Fly by wire СДУ Su-27SM second display panel https://www.youtube.com/embed/videoseries?list=PL_2GGwNpWNp_fKXfRtDhIk8s5Jf4a9XHS http://berkuts.ru Пилотажный сервер с роботом | Aerobatic server with PhantomControl Link to comment Share on other sites More sharing options...
ED Team USSR_Rik Posted August 14, 2018 ED Team Share Posted August 14, 2018 Предусмотрено, но пока показ текста сообщения при кике отключен. Там есть проблемы. Men may keep a sort of level of good, but no man has ever been able to keep on one level of evil. That road goes down and down. Можно держаться на одном уровне добра, но никому и никогда не удавалось удержаться на одном уровне зла. Эта дорога ведёт вниз и вниз. G.K. Chesterton DCS World 2.5: Часто задаваемые вопросы Link to comment Share on other sites More sharing options...
ctajiuh58 Posted September 11, 2021 Share Posted September 11, 2021 Подскажите DCS API выполняется в том же потоке что и SSE? Имеет смысл делать что то в апи для того чтобы разгрузить SSE или придется учить Coroutines? Сервер Battlefield. Железо: I9-9900k, 32GB DDR4, SSD, RTX 2080super Link to comment Share on other sites More sharing options...
Recommended Posts