HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > HPB-bot
Вопросег
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
~ X ~ писал:
Очень печально что за годы хотения ты сам не мог допилить такую несложную вещь. (

Если вещь простая, отчего же этого не сделал сам автор? Значит не такая уж она и простая. А если вещь сложная, тогда никто тем более не будет связываться.

Цитата:
~ X ~ писал:
Например, нельзя это пихать в save/restore потому что... там лимиты.

Лимиты везде есть. А раз так, значит сделать вообще ничего нельзя.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171086

Старое сообщение 18-01-2018 15:02
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Ghoul [BB] писал:
Может быть, ещё бы опытом с ~ X ~ поделился, как их в ХДМ поставить?


Что ты, прости меня, несёшь? Банальная копипаста же. И будут в XDM эти боты. Другой вопрос, что надо ещё дописать им взаимодействие с игровыми событиями, посредством втыкания вызовов Bot_Event (или как его там правильно) в разные места в коде серверной дллки. Чтобы боты могли реагировать на выстрелы, прыжки других игроков/ботов, звуки, действия... Написать свои собственные стейты и отредактировать старые применительно к XDM...
Ты или прикидываешься лалкой, или действительно не понимаешь, что АБСОЛЮТНО ВЕСЬ код ZBot 1.5 доступен для скачивания и копипасты? Бери и воруй с гитхаба, никто не запрещает. Вон, БУзер в своё время украл код рендерера из Тенебры, и получилась Паранойя. Так же и Мастер может сделать. И получится XDM с новыми ботами.
Есть, правда, один нюанс: Мастер любит всё без коммерческих копирайтов. А ZBot - это очень и очень проприетарная вещица, т.к. в свободном доступе полных сорцев нету, только реверс-инжинированные из ReGameDLL. Но, Вальва сама выложила значительную часть этих сорцев в папку game_shared в HLSK на гитхабе. Так что, возможно, есть способ легально юзать этих ботов в некоммерческом моде, удалив CS-специфичный код.

Сообщить модератору | | IP: Записан
Сообщение: 171091

Старое сообщение 18-01-2018 17:26
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Ku2zoff писал:
Вон, БУзер в своё время украл код рендерера из Тенебры, и получилась Паранойя.

За такое в приличном обществе бьют канделябром.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 171092

Старое сообщение 18-01-2018 17:27
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



XaeroX я перефразирую. Не украл, а позаимствоал и адаптировал под халфу. У меня интернет неожиданно отвалился (аж целых 20 минут не было, спасибо Ростелекому), я ведь хотел исправить слово в исходном посте

Добавлено 19-01-2018 в 00:51:

Цитата:
XaeroX писал:
канделябром

Канделябром из винного погреба в Шато ДюКлер! Надо бы первый DX пройти заново для настроения. Пардон за оффтоп.

Добавлено 19-01-2018 в 01:13:

Нужны ZBot в XDM? Никто не мешает скопипастить их. Они лучше чем Parabot в плане стрельбы. В плане навигации почти такие же, единственное, они не могут выучить некоторые финты игроков, т.к. действуют по нав-зонам, а у паработов есть клетки (cells), которые постоянно апдейтятся в процессе игры. И они могут учиться как друг у друга, так и у живых игроков.

Сообщить модератору | | IP: Записан
Сообщение: 171093

Старое сообщение 18-01-2018 18:13
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Вон, БУзер в своё время украл код рендерера из Тенебры, и получилась Паранойя.

Не подскажешь случайно какие именно участки кода из Тенебры BUzer украл в параною? И откуда я украл код для второй паранои?

Цитата:
Ku2zoff писал:
Не украл, а позаимствоал и адаптировал под халфу

Ну приведи пример таких участков кода про которые можно однозначно сказать "да это же из тенебры, ха-ха".

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171095

Старое сообщение 18-01-2018 18:20
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Ku2zoff
Ну никто Ваньку и не валяет. Эти сорцы и у меня на диске наверное уже год как пылятся. Но проблема-то как раз в том, что им надо взаимодействовать с игровыми событиями. Я Мастера просил неоднократно на ZBOT перейти, но он отказывался. Не припомню в чём именно была причина, но то, что их не так уж просто научить игровым событиям, ты и сам признаёшь. Возможно, и Мастер тоже так решил.
Тем не менее, я лично пока не готов их копипастить т.к. во-первых, идут постоянные дописывания кода во многих местах, во-вторых, код ХДМ местами довольно специфичен и там не всегда есть совместимость с чем-то другим (надо адаптировать) ну и в-третьих, никто не знает кода ХДМ лучше самого творца, чтобы эффективно и быстро имплементировать ботов. Ну вот простой пример: Мастер отказался от UtilRemove(). И нет бы совсем эту функцию вырезать. Нет. Её так же можно с кодом копипастить откуда-то, но потом этот код где-нибудь при каком-то условии крэшанётся. Пример самый характерный. И Вот это тоже надо учитывать.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 171096

Старое сообщение 18-01-2018 18:26
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ghoul [BB] писал:
Ну вот простой пример: Мастер отказался от UtilRemove()

Ну я же говорю 18 лет страдания хернёй не проходят даром. Ну не поворачивается у меня язык назвать это по другому.

Добавлено 18-01-2018 в 21:45:

Я тут посмотрел на UTIL_Remove в XDM.


Сперва покажу оригинал
C++ Source Code:
1
void UTIL_Remove( CBaseEntity *pEntity )
2
{
3
  if ( !pEntity )
4
    return;
5
 
6
  pEntity->UpdateOnRemove();
7
  pEntity->pev->flags |= FL_KILLME;
8
  pEntity->pev->targetname = 0;
9
}

Что тут делается? Вызывается виртуальная (ну или в оригинале не виртуальная, не помню уже) функция, с целью произвести очистительные работы и ставится флаг, дающий движку понять, что эдикт можно освободить. Теперь XDM
C++ Source Code:
1
void UTIL_Remove(CBaseEntity *pEntity)
2
{
3
  if (pEntity == NULL)
4
    return;
5
 
6
  if (pEntity->IsRemoving())
7
  {
8
    DBG_PRINTF("Error: UTIL_Remove() called on already removed entity!\n");
9
    return;
10
  }
11
  if (pEntity->IsPlayer())
12
  {
13
    DBG_PRINTF("Error: UTIL_Remove() called on player!\n");
14
    DBG_FORCEBREAK
15
    return;
16
  }
17
  // TODO?	pEntity->SetThink(&CBaseEntity::SUB_Remove);
18
  //	pEntity->SetNextThink(0);// remove it ASAP
19
  //	conprintf(1, "UTIL_Remove(%s[%d] %s)\n", STRING(pEntity->pev->classname), pEntity->entindex(), STRING(pEntity->pev->targetname));
20
  //bad	pEntity->SUB_Remove();// XDM3037: NUM_FOR_EDICT: bad pointer
21
  // XDM3038a: BUGBUG: why do gluon beams have ShouldRespawn() NULL during changelevel, while UpdateOnRemove() is not NULL!!!?
22
#if defined (USE_EXCEPTIONS)
23
  try
24
  {
25
#endif
26
    if (pEntity->ShouldRespawn())// XDM3035
27
    {
28
      if (pEntity->StartRespawn() != NULL)
29
        return;
30
      //pEntity->SetTouchNull();
31
      /*pEntity->SetUseNull();
32
      		pEntity->SetBlockedNull();
33
      		// BAD pEntity->m_iExistenceState = ENTITY_EXSTATE_VOID;
34
      		pEntity->SetThink(&CBaseEntity::SUB_Respawn);
35
      		if (pEntity->IsMonster())
36
      			pEntity->SetNextThink(mp_monstersrespawntime.value);// XDM: TODO
37
      		else
38
      		{
39
      			DBG_PRINTF("UTIL_Remove(%s[%d]): respawning a non-monster!\n", STRING(pEntity->pev->classname), pEntity->entindex());
40
      			pEntity->SetNextThink(10.0f);// unknown entity is respawning!
41
      		}*/
42
    }
43
 
44
    pEntity->UpdateOnRemove();
45
    // NUM_FOR_EDICT: bad pointer		REMOVE_ENTITY(ENT(pEntity->pev));
46
 
47
#if defined (USE_EXCEPTIONS)
48
  }
49
  catch (...)
50
  {
51
    SERVER_PRINT("UTIL_Remove() exception!!!\n");
52
    DBG_FORCEBREAK
53
    SetBits(pEntity->pev->flags, FL_KILLME);// XDM3037: give entities a chance to update client side
54
    pEntity->pev->ltime = 0;// XDM3038a
55
    pEntity->DontThink();// XDM3038a
56
    //pEntity->SendClientData(NULL, MSG_ALL, SCD_ENTREMOVE);
57
    pEntity->SetThinkNull();// XDM3037
58
    pEntity->SetTouchNull();
59
    pEntity->SetUseNull();
60
    pEntity->SetBlockedNull();
61
    pEntity->pev->targetname = MAKE_STRING("???ERROR???");// XDM3038a: AWESOME debugging idea!!
62
    pEntity->pev->target = iStringNull;// XDM3038a
63
    // we can't pEntity->m_iExistenceState = ENTITY_EXSTATE_VOID;
64
  }
65
#endif
66
}

Видите в середине попытки записать SetThink::Sub_Remove и прямой вызов SUB_Remove. А знаете что делает SUB_Remove? А он вызывает функцию Destroy, названную в честь нашего друга Georg Destroy. А Destroy вызывает - ТА-ДАААМ UTIL_Remove. И вот у нас получается уже интересный случай рекурсии. Тоесть автор настолько запутался во всём этом, что принял решение вообще отказаться от UTIL_Remove. Вот вам наглядная иллюстрация моим словам - всё это можно смело выкинуть, оно нахрен не нужно. Там где достаточно одной строчки - городится фабрика или вообще рекурсивные вызовы.

Добавлено 18-01-2018 в 21:49:

Забыл добавить самое интересное. Отказ от UTIL_Remove это чьи-то фантазии, ибо в сорцах с Moddb ничего такого не наблюдается даже и близко.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171099

Старое сообщение 18-01-2018 18:49
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Дядя Миша
А, по-моему, сама моделька в IDLE анимации немного ёрзает?!

https://ufile.io/01mev

Добавлено 18-01-2018 в 23:17:

Ну да. Idle4 погляди-ка. У меня не глюки же?!

Добавлено 18-01-2018 в 23:33:

Цитата:
Дядя Миша писал:
Забыл добавить самое интересное. Отказ от UTIL_Remove это чьи-то фантазии, ибо в сорцах с Moddb ничего такого не наблюдается даже и близко.


Ну отчего же?
Там, где раньше было UTIL_Remove теперь используется или Util_SubRemove() или Destroy().

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 171104

Старое сообщение 18-01-2018 20:33
- За что?
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
Ну приведи пример таких участков кода про которые можно однозначно сказать "да это же из тенебры, ха-ха".

Ты сам писал, что БУзер заимствовал код из тенебры:
Цитата:
Дядя Миша писал:
Цитата:
FiEctro писал:
Копипасть из паранойи. Больше никак.


тогда уж из Тенебры, как из первоисточника.

Вот здесь писал. Или это неправда, и БУзер не заимствовал код из Тенебры? И даже не использовал его как образец?

Добавлено 19-01-2018 в 12:09:

Цитата:
Ghoul [BB] писал:
Но проблема-то как раз в том, что им надо взаимодействовать с игровыми событиями. Я Мастера просил неоднократно на ZBOT перейти, но он отказывался.

Ну возьми, и перейди сам, ёлки. Заверни все вызовы ботов в #ifdef, чтобы можно было собрать сервер без них в случае чего, для дебага. Не понимаю, в чём сложность почитать сорцы ReGameDLL и найти места вызовов эвентов для ботов. В ветке hlzbot-random-weapons много где вставлены эти вызовы. Для тебя не составило труда написать 40 с лишним пушек в ХЛВЕ, но ты боишься попытаться вставить новых ботов в XDM. Знаешь, я в далёком 2007-м году, летом-осенью, вставил по тутору Ботмана Bot #10 в свои сорцы. При том, что у меня даже студии не было. Компилил компилятором от БУзера и редактировал в блокноте. И оно собиралось и работало. Да я кодить не умел вообще, нисколечко. Мог написать клон барника, заменяя строчки. Хочешь новых ботов, а Мастер не хочет - делай сам. Тутора (как для Bot #10) нет, но есть сорцы, которые виндиффом можно просканировать и найти отличия.

Отредактировано Ku2zoff 19-01-2018 в 05:15

Сообщить модератору | | IP: Записан
Сообщение: 171113

Старое сообщение 19-01-2018 05:09
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Ты сам писал, что БУзер заимствовал код из тенебры:


Ну код клиппинга декалей это ClipWinding стандартный тащем-то. И ты на основании этого утверждения сделал вывод, что параноя это копипаста тенебры?

Добавлено 19-01-2018 в 11:34:

Цитата:
Ghoul [BB] писал:
А, по-моему, сама моделька в IDLE анимации немного ёрзает?!

Так яж аб чём и говорю - после декомпиляции вот така фигня случается.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171116

Старое сообщение 19-01-2018 08:34
-
Ghoul [BB]
МРАЗЬ ОПАСНАЯ

Дата регистрации: Jan 2006
Проживает: ...и прожигает...
Сообщений: 2567

Рейтинг



Цитата:
Дядя Миша писал:
Так яж аб чём и говорю - после декомпиляции вот така фигня случается.


Ты считаешь, что декомпиляция портит ещё и анимации (кроме съезжающих текстур) ?

Ku2zoff
Всё нормально, всё нормально. Сделаем ботов в своё время, если Мастер не будет. Пойми, у меня задач других полно по горло, я один тута. Поимаешь?! Один сижу тута, как сыч, перед этим компуктером. На всё времени просто нету. Вот ненавязчиво и намекнул тебе помочь Мастеру их туда впердолить. Не то что это мегасложно или вообще невозможно, это муторно и долго, а человек, однажды прошедший путь, имхо, сможет этот же путь повторно пройти чуть быстрее.

__________________
Ты топчешь мир своими ботинками,
Не замечая куда наступаешь,
А время от тебя уходит цветными картинками,
Но ты даже этого не понимаешь.

Компрометирую данные своей учётной записи.
ЛОГИН: Ghoul [BB]
ПАРОЛЬ: paladin_solo

Сообщить модератору | | IP: Записан
Сообщение: 171119

Старое сообщение 19-01-2018 09:04
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Ghoul [BB] общеизвестный факт. Из милки декомпилятор портит сильнее, кратист - слабее, но портят оба. Потому что анимации и координаты текстур пишутся с потерями.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171122

Старое сообщение 19-01-2018 09:12
-
Ku2zoff
Мастер Ёда из Деревни Дуракоф

Дата регистрации: Apr 2007
Проживает: В Деревне дураков
Сообщений: 6749
Возраст: 33

Рейтинг



Цитата:
Дядя Миша писал:
И ты на основании этого утверждения сделал вывод, что параноя это копипаста тенебры?

Вон оно что. Значит, я ошибся. Но, тем не менее, БУзер всё равно на что-то ориентировался.
Цитата:
Дядя Миша писал:
Из милки декомпилятор портит сильнее, кратист - слабее, но портят оба.

Это из серии про барников, ёрзающих ногами по полу, когда они нажимают кнопки? И про съезжающие руки во вьюмоделях? Однако. Кратист, на моей памяти только текстурные координаты смещал всегда. После нескольких операций компила-декомпила у стандартных халфовских моделек очень сильно съезжают в сторону рожы:
http://pix.academ.info/images/img/2013/03/28/026f047dfb34bc0a4f649a8247e8dc95.jpg

Сообщить модератору | | IP: Записан
Сообщение: 171135

Старое сообщение 19-01-2018 18:53
- За что?
thambs
мразь конченная

Дата регистрации: Mar 2006
Проживает: -
Сообщений: 6417

Рейтинг



Дядя Миша
>кратист
это mdldec или это из милки?

__________________
http://www.moddb.com/mods/monorail-quest

Сообщить модератору | | IP: Записан
Сообщение: 171136

Старое сообщение 19-01-2018 18:57
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
Ku2zoff писал:
Но, тем не менее, БУзер всё равно на что-то ориентировался.

Ну естественно ориентировался. Естественно ориентировался на Тенебру, т.к. там был код декалей. Но нельзя сказать, что там что-то цельнотянутое.
Важна идея.

Цитата:
Ku2zoff писал:
Это из серии про барников, ёрзающих ногами по полу, когда они нажимают кнопки?

Да, оно самое.
Цитата:
Ku2zoff писал:
И про съезжающие руки во вьюмоделях?

Не сталкивалсо как-то.

Цитата:
Ku2zoff писал:
Однако. Кратист, на моей памяти только текстурные координаты смещал всегда.

Это вы ненаблюдательные просто. Анимация херится, но увидеть можно лишь, сравнив с оригиналом и в замедленном темпе. Т.е. малозаметно.

thambs
первое. Да твои барники тоже ёрзают при ходьбе, ты просто не приглядывался. Там почти незаметно, но всё же.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 171140

Старое сообщение 19-01-2018 19:15
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:53. Новая тема    Ответить
Страницы (3): « 1 [2] 3 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > HPB-bot
Вопросег
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024