И так здравствуйте, У меня возникла такая проблема. Я скопипастил файл хекушника, поменял в нем все что нужно, ну и сделал ему френдли класс.
Все получилось нормально, солдат получился добряш милаш и с игроком теперь дружит. Но вот на моменте, когда надо было заставить его следовать за игроком, все застопорилось. Я честно пытался гуглить и даже на этом форуме искал, но ничего на эту тему не нашел.
Я пытался банально скопировать вот этот код с Барни (там где надо переименовал):
C++ Source Code:
1
Task_t tlBaFollow[] =
2
{
3
{TASK_MOVE_TO_TARGET_RANGE, (float)128}, // Move within 128 of target ent (client)
4
{TASK_SET_SCHEDULE, (float)SCHED_TARGET_FACE},
5
};
6
7
Schedule_t slBaFollow[] =
8
{
9
{tlBaFollow,
10
ARRAYSIZE(tlBaFollow),
11
bits_COND_NEW_ENEMY |
12
bits_COND_LIGHT_DAMAGE |
13
bits_COND_HEAVY_DAMAGE |
14
bits_COND_HEAR_SOUND |
15
bits_COND_PROVOKED,
16
bits_SOUND_DANGER,
17
"Follow"},
18
};
Ну и соответственно солдату в конец Define_custom_shedules добавил:
C++ Source Code:
1
DEFINE_CUSTOM_SCHEDULES(CFHGrunt){
2
slFGruntFail,
3
slFGruntCombatFail,
4
slFGruntVictoryDance,
5
slFGruntEstablishLineOfFire,
6
slFGruntFoundEnemy,
7
slFGruntCombatFace,
8
slFGruntSignalSuppress,
9
slFGruntSuppress,
10
slFGruntWaitInCover,
11
slFGruntTakeCover,
12
slFGruntGrenadeCover,
13
slFGruntTossGrenadeCover,
14
slFGruntTakeCoverFromBestSound,
15
slFGruntHideReload,
16
slFGruntSweep,
17
slFGruntRangeAttack1A,
18
slFGruntRangeAttack1B,
19
slFGruntRangeAttack2,
20
slfgFollow,
21
22
23
};
Но почему то он он упорно не желает ходить за игроком.
Для своих целей я вообще сделал отдельный класс, в котором сосредоточил всё поведение связанное со следованием за игроком, и от него уже наследовал и солдат и вортигонтов и кого только душе угодно.
Для своих целей я вообще сделал отдельный класс, в котором сосредоточил всё поведение связанное со следованием за игроком, и от него уже наследовал и солдат и вортигонтов и кого только душе угодно.
Хм, идея с классом звучит разумно. Думаю, я могу попробовать безболезненно скопипастить в него код из squadmonster и talkmonster.
Для своих целей я вообще сделал отдельный класс, в котором сосредоточил всё поведение связанное со следованием за игроком, и от него уже наследовал и солдат и вортигонтов и кого только душе угодно.
Короче идея с классом у меня не вышла... Мне пока мозгов не хватает на что то настолько масштабное.
Если не можешь разобраться, то лучше всего сделай наоборот. Возьми за основу код барника, и на него уже накладывай необходимые для грантов поведения. Потому что тебе в любом случае придется вырезать некоторые вещи, завязанные на их принадлежности к CSquadMonster. По факту нужно лишь сделать скедьюлы и таски для обычной атаки, как у барника, только для автомата и дробовика, да броски гранат. Потом, когда разберешься получше, можешь попробовать немного улучшить их поведение.
__________________ Никогда не поздно сделать мод под хл1
zombiman посмотри исходники Raven City
там реализованы дружественные гранты из опфора. https://github.com/HLSources/Raven-City
и еще много чего, правда не столь идеально, но сгодится.