Случайная подборка модов
Lost Alpha DC
3.9
Хроники Зоны: Viam Fata
3.0
Another Zone Mod. Пролог
4.2
New Level Changer 6.0. Начало
4.0
Хроники Кайдана. Вторая серия
4.0
Закоулки правды
3.6
Последние обновленные темы Прямой эфир Самые популярные темы Последние новости
Модератор форума: А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
Поиск: