Дядя Миша писал: Так что служебный бот нифига не поможет. Нужен служебный человек.
Гениальное решение!! Нужно посадить специально обученного человека на сервер, чтоб работал за еду.
осталось только разместить вакансию на ёб.ру
__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.
Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo
Дядя Миша
Там нужен не бот в смысле fake client, а бот в смысле приконнектившийся реальный человек, но который ничего не делает. То есть в самой простой реализации - клиент, запущенный на том же компе, что и выделенный сервер. Можно в принципе и урезанного клиента создать в рамках протокола, который шлёт примитивные юзеркоманды ничегонеделанья, единственная цель которых - не попасть в таймаут.
XaeroX а как это можно сделать? Средствами дллки возможно? Я пробовал создавать игрока и спавнить его, но для него даже PM_Move в таком случае не вызывается.
Ku2zoff
В смысле - как? Запускаешь халфу на компе и вводишь в консоли connect имя сервера. А чтобы этот клиент спавнился в секретной комнатке, сделай ему ник "SpawnMeInSecretRoom", а в движке проверяй этот ник и выбирай соотв. спавн-поинт.
Цитата:
Ku2zoff писал: Я пробовал создавать игрока и спавнить его
Средствами дллки можно сделать только pfnCreateFakeClient, но это не настоящий игрок (как следует из названия). Тут либо вручную обычным способом игрока коннектить, либо написать внешнюю программку, которая будет эмулировать полноценного игрока.
XaeroX писал: Тут либо вручную обычным способом игрока коннектить, либо написать внешнюю программку, которая будет эмулировать полноценного игрока.
Вот это я и хотел узнать. Аццкий костыль, на самом деле. Надо подумать, как починить отставание дочерних энтить в Xash Movewith System, и использовать эту систему.
Ku2zoff писал: Надо подумать, как починить отставание дочерних энтить в Xash Movewith System, и использовать эту систему.
старый ксаш-мовевитч он только для точечных энтить. Спиритовский хотя бы минимально дружил с физикой. Самый нормальный механизм в ксаш-моде, собсно. Требует полностью кастомной физики, но не для этого ли ты её вытаскивал в дллку столько времени?
Дядя Миша писал: Мовевитч из спирита работает как пост-эффект. Энтити сдвинулись, а он это отследил проапдейтил позиции. Всё бы ничего, но в халфе нет никакой возможности что-либо вызвать пост-фактум. StartFrame есть а EndFrame нет.
Как я понял, система такая: из StartFrame вызываем CheckAssistList, затем из PlayerPostThink вызываем CheckDesiredList.
Можно сделать костыль. Получается, у нас нет EndFrame, но всё-таки нужно вызвать функцию CheckDesiredList после выполнения физики. Я попробовал так: сделал функцию Think для класса CWorld, и из неё вызвал CheckDesiredList c минимальным интервалом. Тчинк для энтить с MOVETYPE_PUSH вызывается в самом конце обработки их физики, судя по сорцам rehlds. То есть чуть раньше, чем должен был бы вызываться EndFrame (в конце функции SV_Physics). Получилось почти так же, как и в оригинале спирита, с той лишь разницей, что из PlayerPostThink CheckDesiredList вызывается даже на паузе, и немного чаще после самого старта уровня. Ну а дальше они чередуются, как и положено. Пришлось конечно выкинуть cached_frametime, но думаю, из-за этого ничего особо не изломается. В общем, будем потестировать, и если стёкла с дверьми и поездами будут двигаться нормально, это сгодится. Какие-то сложные конструкции я строить не планирую.
Добавлено 02-05-2017 в 23:33:
Цитата:
Ku2zoff писал: Пришлось конечно выкинуть cached_frametime, но думаю, из-за этого ничего особо не изломается.
А ведь и не должно изломаться, т.к. ничего теперь не вызывается из PlayerPostThink.
Попробовал поезд со стёклами в окнах, вроде нормально. При резких поворотах немного запаздывает смена angles у стекла, но это ничего, просто не стоит вертеть поезд с бешеной скоростью.
В чем возможна эта проблема работал на хр норм было запустил на 7 такая бяка вот
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Народ подскажите что не так, почему оружия не работает в 1 слоту и еще добавил такие флаги ITEM_FLAG_SELECTONEMPTY и ITEM_FLAG_NOAUTOSWITCHEMPTY чтоб пушка бралась если даже потронов 0 она берется,а анимация не идет в чем проблема?
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Luciferchik писал: ITEM_FLAG_SELECTONEMPTY и ITEM_FLAG_NOAUTOSWITCHEMPTY
Вроде же эти флаги конфликтуют между собой... И вообще, ITEM_FLAG_SELECTONEMPTY некорректно работает, по крайней мере у меня не получалось, чтобы пушка оставалась в руках после выбора. Она сразу убиралась, если нет патронов. Ну то есть переключения на другое оружие не было, модель просто убиралась с анимацией holster. Возможно, в этом виноваты клиентские пушки.
Ku2zoff Ну у меня оно работает так подобрал пушку выпустил весь магазин сменил пушку меняю обратно, а остается модель той пушки которою сменил, клиентские пушки удалены у меня
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.
Luciferchik У меня у всех пушек стоит флаг ITEM_FLAG_SELECTONEMPTY, никаких проблем нет. Клиентские пушки удалены. Может быть, в твоем случае дело в самой пушке? Может, в функции Deploy? Попробуй поставить флаг на другое оружие и проверить. Или у тебя на всех пушках такая проблема происходит?
__________________
Sometimes you have to get knocked down lower than you've even been to stand up taller than you everwere.
You so sad. No, i just die everyday...
I can't do anything around here without everybody getting up in my shit...
The aim of life is self-development.