Jump to content

Recommended Posts

Решил создать тему посвященную 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

  • 2 months later...

Не получается настроить скрипт для отключения клиента по нику.

Сервер запущен, в папке 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 by BR=55=Sevas
Link to comment
Share on other sites

  • ED Team

Предусмотрено, но пока показ текста сообщения при кике отключен. Там есть проблемы.

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

  • 3 years later...

Подскажите DCS API выполняется в том же потоке что и SSE? Имеет смысл делать что то в апи для того чтобы разгрузить SSE или придется учить Coroutines?

Сервер Battlefield. Железо: I9-9900k, 32GB DDR4, SSD, RTX 2080super

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...