Все это делал на примере vvalve т.к. делал я hl.dll в liblist.gam менять ничего не надо. А когда я пытался сделать по тутору злого барни то получал ошибку: error LNK2005: "struct Schedule_t * slIdleBaStand" (?slIdleBaStand@@3PAUSchedule_t@@A) already defined in barney.obj хотя все slIdleBaStand заменены на: slIdleMaStand. После этого я совсем перестал понимать что делается.
SysOp Аргентинский чувачок, и то больше помог мне =)
Chocolate я бы посоветовал наследовать злого барни от обычного, поменяв лишь классификацию, и если надо модель. Делается это в принципе очень просто:
class CBadBarney : public CBarney
Затем в поле public этого класса прописываешь те методы, в которых ты хочешь что-то поменять, то есть тот, где возвращается отношение к игроку.
Chocolate писал: Все это делал на примере vvalve т.к. делал я hl.dll в liblist.gam менять ничего не надо. А когда я пытался сделать по тутору злого барни то получал ошибку: error LNK2005: "struct Schedule_t * slIdleBaStand" (?slIdleBaStand@@3PAUSchedule_t@@A) already defined in barney.obj хотя все slIdleBaStand заменены на: slIdleMaStand. После этого я совсем перестал понимать что делается.
А ты уверен что все заменены? Просто у меня такое же было, а потом нашел, что кое-где все-таки не заменил. Проверь еще раз, у меня этот тутор работает на ура.
Вроде скомпилилось нормально на этот раз, =) наверно я не усмотрел что С++ при Replace monster_barney на monster_barney_mad , заменял и monster_barney_dead, что в итоге давало monster_barney_mad_dead. Пойду попробую проверить, работает ли.
Добавлено 06-07-2011 в 22:34:
В игре появляется самый обычный барни, дружеский. =(
Добавлено 06-07-2011 в 22:37:
Твоюж на лево, в место того, чтобы делать новый код BarneyMad.cpp отредактировал barney,cpp и в итоге в игре в место барни нормального пустота, а барни злой это обычный. Ппц.
Добавлено 06-07-2011 в 22:52:
УРА! Не знаю каким образом, но я добился чтобы барни стал злым! Еее =)
Я тоже первые несколько раз парился с клонами. Особенно зомби. У меня их 7 видов было
Добавлено 07-07-2011 в 09:00:
Надо внимательно смотреть код, чтобы не допускать опечаток и читать сообщения компилятора. А вообще, клонирование не очень хороший способ. Многие функции просто дублируются. В случае злого Барни можно его унаследовать от обычного. А можно сделать ещё лучше: менять его класс (что отвечает за отношение к другим монстрам) из fgd-файла, и модельку тоже. И звуки тоже можно. И всё остальное
Ну, это была моя первая работа, и вроде теперь немного разобрался, и да я согласен что изменять класс лучше и немного легче. Сейчас уже займусь Этим.
Добавлено 07-07-2011 в 15:02:
Извините за нубство, но я не нашел куда впихать этот код:
C++ Source Code:
float m_flDistTooFar; // if enemy farther away than this, bits_COND_ENEMY_TOOFAR set in CheckEnemy float m_flDistLook; // distance monster sees (Default 2048) int m_iClass;// наша переменная virtual int Classify( void ) { return m_iClass?m_iClass:CLASS_NONE; }
Его надо засунуть куда-то в basemonster.h. Скажите пожалуйста куда.
Chocolate если тебе нужен только один изменяемый монстр, то добавляй эту функцию только в описание его класса, в самом файле с монстром. Если это для всех, то в описание класса CBaseMonster в файле basemonster.h добавь эту функцию и переменную m_iClass не забудь.
Код ты сам из спирита взял? Или тутор нашёл? Лучше скачай сорцы Дядь Мишиного спирита 1.9 и копипасть оттуда.
Дело в том что я только начал разбираться во всем, и пока только понимаю код барни. И толком ничего не умею кроме копи-паста, да и то по учебнику =( Так что мне мало что говорит ваши понятия. =( И в общем мне уже мало надо изменять \ добавлять код, т.к. в REBIRTH используется Sohl вроде, и там есть все, в том числе изменение класса, только вот для турельки нет =(
Ога, в жизни не видел таких глючных модов, даже HLFX:Single раз в 20 больше фпс даёт.
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!