Случайная подборка модов
Холодная кровь: Факты.Часть первая
1.9
GUNSLINGER mod
4.5
«Последний Сталкер»
4.1
Большая Зона
3.4
Dream Reader-TFZ 1.1
3.7
Смерти Вопреки. В Паутине лжи
4.1
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: Аdmin, Overfirst, Hardtmuth  
The FreeZone Project
Соединенные Штаты  Angry
Воскресенье, 25.09.2016, 07:23 | Сообщение # 1
Статус:
Зевака:
Сообщений: 10
Награды: 0
Регистрация: 06.12.2014


The FreeZone Project

Платформа: ЧН 1.5.10
Разработчик: FreeZone Team
Дата выхода: TBD, беты выходят по мере создания.











Сообщение отредактировал Angry - Воскресенье, 25.09.2016, 11:15
  Злобная реклама
Воскресенье, 25.09.2016, 07:23
Статус:
Сообщений: 666
Регистрация: 06.12.2014
Российская Федерация  drksnc
Вторник, 24.10.2017, 08:12 | Сообщение # 76
xrMPE
Статус:
Гость:
Сообщений: 30
Награды: 2
Регистрация: 23.10.2017

Цитата Sin ()
А если скриптами?

Не умею smile
В любом случае, спасибо за разъяснения. Звучит не очень сложно. Буду пробовать.
  Злобная реклама
Вторник, 24.10.2017, 08:12
Статус:
Сообщений: 666
Регистрация: 23.10.2017
Российская Федерация  Vojlok
Суббота, 28.10.2017, 23:23 | Сообщение # 77
Статус:
Гость:
Сообщений: 63
Награды: 0
Регистрация: 15.08.2014

LastManStanding" - это режим боя такой? Очень интересно было б пойграть во что-то новенькое в мп:)
  Злобная реклама
Суббота, 28.10.2017, 23:23
Статус:
Сообщений: 666
Регистрация: 15.08.2014
Российская Федерация  Hardtmuth
Воскресенье, 29.10.2017, 07:09 | Сообщение # 78
Статус:
Ветеран:
Сообщений: 5233
Награды: 37
Регистрация: 01.03.2012

Цитата Vojlok ()
LastManStanding" - это режим боя такой? Очень интересно было б пойграть во что-то новенькое в мп:)


Не думаю что это какой-то отдельный вариант режима боя в игре. Интересно было бы услышать его рассказ о проекте. Может какой то модифицированный вариант какого то имеющегося режима в игре.

Я знаю, что LastManStanding - первая бесплатная игра в жанре "battle royale" (батл роял), представляющая уникальное сочетание высокой динамики игрового процесса, накала адреналина от постоянно уменьшающейся карты боевых действий и драйва от участия в грандиозной охоте, где сражаются за жизнь сразу 100 игроков; энтузиазм молодой студии-разработчика гарантируют регулярные обновления и постоянное совершенствование игры на основе обратной связи от игроков!

Но она 2017 года, а значит автор при создании своего проекта об этой игре и знать не знал.
Сообщение отредактировал Hardtmuth - Воскресенье, 29.10.2017, 07:12
  Злобная реклама
Воскресенье, 29.10.2017, 07:09
Статус:
Сообщений: 666
Регистрация: 01.03.2012
Российская Федерация  Hardtmuth
Воскресенье, 29.10.2017, 09:31 | Сообщение # 79
Статус:
Ветеран:
Сообщений: 5233
Награды: 37
Регистрация: 01.03.2012

Цитата francyfox ()
оба делают короче pubg из сталкера


Это не пабг из сталкера. Это проект, который делает сеттинг СО в ЗП.
  Злобная реклама
Воскресенье, 29.10.2017, 09:31
Статус:
Сообщений: 666
Регистрация: 01.03.2012
Российская Федерация  francyfox
Воскресенье, 29.10.2017, 09:33 | Сообщение # 80
Статус:
Гость:
Сообщений: 32
Награды: 0
Регистрация: 01.09.2013

drksnc, Hardtmuth,
режим battleroyal предумали еще при arma2, он не является чем это иновационым и придуман давно. pubg результат отделения от движка arma3 с режимом выживания одного игрока.

Добавлено (29.10.2017, 09:33)
---------------------------------------------
Hardtmuth, автор сказал что будет делать pubg. Просто нафига то напихал все из сзон)) я хз

  Злобная реклама
Воскресенье, 29.10.2017, 09:33
Статус:
Сообщений: 666
Регистрация: 01.09.2013
Российская Федерация  Hardtmuth
Воскресенье, 29.10.2017, 09:34 | Сообщение # 81
Статус:
Ветеран:
Сообщений: 5233
Награды: 37
Регистрация: 01.03.2012

Цитата francyfox ()
Hardtmuth, автор сказал что будет делать pubg. Просто нафига то напихал все из сзон))

Я сейчас с ним общаюсь на эту тему. Проект меняет сеттинг CoP На сеттинг S-Online. Но есть камера, приближенная к Pubg
  Злобная реклама
Воскресенье, 29.10.2017, 09:34
Статус:
Сообщений: 666
Регистрация: 01.03.2012
Коста Рика  Jargon
Воскресенье, 29.10.2017, 10:04 | Сообщение # 82
X-Ray Multiplayer Extension
Статус:
Бывалый:
Сообщений: 1078
Награды: 3
Регистрация: 24.06.2012

Цитата francyfox ()
автор сказал что будет делать pubg. Просто нафига то напихал все из сзон)) я хз

Автор сказал что есть настройки камеры приближающие её к камере pubg.
  Злобная реклама
Воскресенье, 29.10.2017, 10:04
Статус:
Сообщений: 666
Регистрация: 24.06.2012
Российская Федерация  drksnc
Пятница, 03.11.2017, 17:46 | Сообщение # 83
xrMPE
Статус:
Гость:
Сообщений: 30
Награды: 2
Регистрация: 23.10.2017

sin, спасибо за помощь в личке. Не знаю работают ли там bb-коды, поэтому все таки пощу свой кривой код здесь. Вылетает при попытке подключения клиента, если убрать проверку на локального игрока и запустить невыделенный сервер, то багтрап показывает что последняя вызванная функция была GetModuleVer.

*.h файл


Кусок из xrServer_connect.cpp, вставил в конец AttachNewClient()
Сообщение отредактировал drksnc - Пятница, 03.11.2017, 19:49
  Злобная реклама
Пятница, 03.11.2017, 17:46
Статус:
Сообщений: 666
Регистрация: 23.10.2017
Российская Федерация  Sin
Суббота, 04.11.2017, 14:01 | Сообщение # 84
Статус:
Отмычка:
Сообщений: 77
Награды: 1
Регистрация: 15.01.2014

Хм... На самом деле, в ДЛЛ сейчас заметил пару APIных неоднозначностей, которые надо бы пофиксить. Имей в виду их пока:
1) Размер enum'a - на разных платформах и компиляторах он может быть разным; не очень понятно, байт или двойное слово сейчас нужно.
2) boolean - скорее всего, там будет байт, но выравнивание может испортить жизнь

Теперь по коду:
using FZSysMsgSender = void*; - с ним так не прокатит, это колбэк, который будет дернут ДЛЛкой для отправки пакета; не забудь про соглашение о вызове, когда будешь его писать (stdcall, он же winapi).

void(*DLLFunc) - это вообще что? smile Для получения из длл SendSysMessage? Тогда смотри внимательнее на аргументы: вторым идет указатель, а не структура. Более того, структуры там могут передаваться разные в зависимости от того, какие требует первый аргумент. Последний аргумент - также указатель.

myCppProc(payload, moddllinfo, sndr, userdata); - в payload передается указатель на процедуру, тебе нужно передать на FZSysMsgsProcessClientModDll; moddllinfo - вместо нее самой надо указатель; sndr - вообще неинициализированное нечто, хотя там должен быть указатель на колбэк, отправляющий клиенту пакет; userdata - надо указатель.

Добавлено (04.11.2017, 14:01)
---------------------------------------------

Цитата Sin ()
сейчас заметил пару APIных неоднозначностей, которые надо бы пофиксить

Исправлено в последнем коммите. Теперь вместо enum'ов явно используются 4-байтовые целые, а структуры имеют атрибут packed (то есть, выровнены по байту). Просьба обратить внимание, что кроме этих двух моментов была расширена структура FZDllDownloadInfo.
  Злобная реклама
Суббота, 04.11.2017, 14:01
Статус:
Сообщений: 666
Регистрация: 15.01.2014
Российская Федерация  drksnc
Суббота, 04.11.2017, 21:08 | Сообщение # 85
xrMPE
Статус:
Гость:
Сообщений: 30
Награды: 2
Регистрация: 23.10.2017

Цитата Sin ()
указатель на колбэк

Насколько я понимаю, коллбэк - обычная процедура, поэтому могу использовать typedef, так?
Код
typedef void(__stdcall *FZSysMsgSender)(char* msg, unsigned int len, FZSysMsgSendCallbackData* userdata);
  Злобная реклама
Суббота, 04.11.2017, 21:08
Статус:
Сообщений: 666
Регистрация: 23.10.2017
Российская Федерация  Sin
Воскресенье, 05.11.2017, 03:57 | Сообщение # 86
Статус:
Отмычка:
Сообщений: 77
Награды: 1
Регистрация: 15.01.2014

drksnc, ну да, как-то так.
  Злобная реклама
Воскресенье, 05.11.2017, 03:57
Статус:
Сообщений: 666
Регистрация: 15.01.2014
Российская Федерация  drksnc
Среда, 08.11.2017, 02:14 | Сообщение # 87
xrMPE
Статус:
Гость:
Сообщений: 30
Награды: 2
Регистрация: 23.10.2017

Я так понял что мне нужен этот коллбэк на С++. А что такое msg:pointer?
Код
procedure SysMsg_SendCallback(msg:pointer; len:cardinal; userdata:pointer); stdcall;
var
  data:pFZSysMsgSendCallbackData;
begin
  data:=pFZSysMsgSendCallbackData(userdata);
  //DPNSEND_IMMEDIATELLY + DPNSEND_GUARANTEED + DPNSEND_PRIORITY_HIGH
  IPureServer__SendTo_LL.Call([data.srv, data.cl_id.id, msg, len, $100+$8+$80, 0]);
end;

Код
void xrServer::SysMsg_SendCallback(void* msg, unsigned int len, FZSysMsgSendCallbackData* userdata)
{
    userdata->srv->SendTo_LL(userdata->cl_id, msg, len, DPNSEND_IMMEDIATELLY + DPNSEND_GUARANTEED + DPNSEND_PRIORITY_HIGH, 0);
}

И в FZSysMsgsSendSysMessage давать указатель на этот метод?
Сообщение отредактировал drksnc - Среда, 08.11.2017, 03:34
  Злобная реклама
Среда, 08.11.2017, 02:14
Статус:
Сообщений: 666
Регистрация: 23.10.2017
Российская Федерация  Sin
Среда, 08.11.2017, 13:53 | Сообщение # 88
Статус:
Отмычка:
Сообщений: 77
Награды: 1
Регистрация: 15.01.2014

Цитата drksnc ()
msg:pointer

Указатель на данные, которые надо отправить клиенту вызовом SendTo_LL; len - длина этих данных.

Цитата drksnc ()
давать указатель

Да. Только прототип не совсем соответствует требуемому. Во-первых, соглашение о вызове stdcall. Во-вторых, колбэк не должен быть членом класса (или быть статическим членом, если очень хочется). В третьих - странно выглядит FZSysMsgSendCallbackData* userdata, тут достаточно xrServer* же передать.
  Злобная реклама
Среда, 08.11.2017, 13:53
Статус:
Сообщений: 666
Регистрация: 15.01.2014
Российская Федерация  drksnc
Среда, 08.11.2017, 17:00 | Сообщение # 89
xrMPE
Статус:
Гость:
Сообщений: 30
Награды: 2
Регистрация: 23.10.2017

Цитата Sin ()
тут достаточно xrServer* же передать

А как тогда получить ClientID?
  Злобная реклама
Среда, 08.11.2017, 17:00
Статус:
Сообщений: 666
Регистрация: 23.10.2017
Российская Федерация  Sin
Четверг, 09.11.2017, 03:06 | Сообщение # 90
Статус:
Отмычка:
Сообщений: 77
Награды: 1
Регистрация: 15.01.2014

Хм, вообще, да, придется тогда паковать в структуру их.
  Злобная реклама
Четверг, 09.11.2017, 03:06
Статус:
Сообщений: 666
Регистрация: 15.01.2014
Поиск: