Если хочешь запретить менять спрятанное оружие с помощью ActionMarker'а, то зоведи какую-нить булю, ставь ей true в AutoStoreWeapon, а false, например, в AutoReleasePlayer (или что там такое) и в ChangeWeapon при твоей переменной == true завершать цикл
Добавлено (12.11.2015, 19:36) --------------------------------------------- *самый простой и костыльный способ*
Как сделать чтобы Сэм брал Health item без ограничений когда Сэм 100HP? Я ставил на всех item health true (или наоборот, короче брал из таблетки (ну или из сердечки))! P.s. когда я в редакторе то все подбирает здоровья, а в игре нет...
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Проблема: После переустановки программы и сдк, почему то entitiesMP нет никаких цветных шрифтов (я перешёл на другой комп, там теперь буду работать) http://i.imgur.com/89oXwpo.jpg Но в gameMP всё на месте http://i.imgur.com/ecJ8xG0.jpg
Хочу сделать чтобы звуков ходьбы было не 2, а 4. Решил сделать через рандом. Добавил переменную, которая рандомится от 0 до 1 (если я правильно понял), и если == 0, то выбирался один звук, иначе второй. Но что-то не получается, и я думаю что дело в рандоме, так как если я поменяю == 0 на == 1, то звук меняется. В чём же дело?
Код
INDEX SndWalkRandL = SOUND_WALK_L; INDEX SndWalkRandR = SOUND_WALK_R; FLOAT SndRnd = FRnd(); FLOAT SndRnd2 = FRnd(); if (SndRnd == 0) { SndWalkRandL = SOUND_WALK_L; } else { SndWalkRandL = SOUND_WALK_L2; } if (SndRnd2 == 0) { SndWalkRandR = SOUND_WALK_R; } else { SndWalkRandR = SOUND_WALK_R2; } INDEX iSoundWalkL = SndWalkRandL; INDEX iSoundWalkR = SndWalkRandR;
FRnd() возвращает любые числа в диапазоне от 0 до 1, а не только 0 или 1. Тебе нужно было проверять SndRnd > 0.5f, а не SndRnd == 0.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Дайте мне, ленивой заднице полностью готовый к работе SDK.
Если ты не можешь настроить Workspace, то вряд ли сможешь разобраться в C++ коде, понять, как что делает ecc, освоить систему состояний энтить... оно тебе надо?
А если из полезного, то лучше один раз самому настроить на относительные пути, залить куда-нибудь в хранилище, и в случае чего просто копировать оттуда файл с воркспейсом.
CREATER, Ты допустил ошибку, рассказывая о том как впихнуть музыку в меню... Строку... static CSoundObject m_soSound; ...нужно добавить в самое начало, а не в LCDInit.
Я сделал музыку в игре. Как сделать, чтобы музыка в игре не играла(то есть в меню пусть играет, а когда карту запускаешь то музыка должна быть выключена)?
И еще вопрос: как сделать так, чтобы при выстрела пушки врага CannonStatic и CannonRotating был воспроизведен звук выстрела?
И еще : как сделать чтобы у пистолетов были патроны томмигана (минигана)?
2) Объяви CSoundObject в переменных класса. например 100 CSoundObject m_soFire, Добавь звук SOUND_FIRE, думаю понятно как Кэшируй его Затем выстави ему 3D-параметры m_soFire.Set3DParameters(25.0f, 5.0f, 1.0f, 1.0f); И проиграй где-нибудь PlaySound(m_soSound, SOUND_FIRE, SOF_3D);
3) Это надо в HUD.cpp поработать. Сделать так, чтобы кольт тоже ссылался на m_iBullets. Потом в PlayerWeapons надо поработать с процедурой стрельбы и, кажется, с функцией HasAmmo.
vanya109, я делаю немного проще, без кода. если мне хочется, чтобы было тихо, можно просто записать пустой звуковой файл длительностью в секунду, и поставить его куда надо, будет тишина)
Как можно сделать рандомную текстуру для модели из нескольких? В Model Holder например добавить функцию, только не знаю как будет выбираться список текстур из которых будет выбираться случайная.
Потом, в процедуре Main, сразу после {, можно попробовать заменить основную текстуру (то есть по сути изменить значение переменной m_fnTexture) теми, которые указаны, и если они указаны. Касаемо рандома - есть конструкция switch(IRnd()%колво_исходов). Посмотри как она используется в исходниках.
Сообщение отредактировалHeming_Hitrowski - Понедельник, 28.12.2015, 02:45
Heming_Hitrowski, спасибо, получилось. Но таким способом текстура рандомится в редакторе, а есть ли возможность сделать чтобы она рандомилась один раз при запуске уровня? Чтобы запуская карту каждый раз была разная текстура на этой модели.
Тогда можно зарандомить после Init'а, но написать следущее:
Код
Main() { вроде тут InitModelHolder(); и то, что должно быть в редакторе
autowait(0.1f); а то, что тут, делается уже только в игре текстурный рандом ModelChangeNotify();
дестрои, ретурны, и то, что в редакторе не делается }
Добавлено (28.12.2015, 10:36) --------------------------------------------- А хотя нет, надо перед ModelChangeNotify написать SetModelMainTexture(m_fnTexture), а то ты просто изменишь значение переменной. Или всё вообще полетит к чертям, т.к. я уже намучился с изменениями моделей и текстур в игре в своё время
Тогда каждый раз при запуске уровня она тоже будет рандомной.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Andrey, процедура Main выполняется всегда при инициализации объекта. То есть, твой код работает и в игре, но вот только в Сэме рандом написан так, чтобы можно было синхронизировать его с сетевой игрой и демками. Скорее всего он зависит от количества игроков и чего то еще. Так что по сути то, что ты видишь при запуске игры одну и ту же текстуру - это нормально. Есть вариант воспользоваться другим рандомом, но тогда о сетевой игре и синхронизации с демками можно позабыть. Хотя с другой стороны, это по сути лишь текстура, и не думаю что произойдет что то шибко страшное. Есть интересная конструкция if (_pNetwork_>IsPlayerLocal(указатель на игрока)) {}, код внутри этой конструкции будет исполняться только у указанного игрока. Можешь поглядеть как она работает.
Сообщение отредактировалHeming_Hitrowski - Понедельник, 28.12.2015, 17:25