Новые сообщения Участники Правила Поиск
Модератор форума: freeknik, SLAwww, thecre, RealCrazyMan  
Помощь по SDK для Serious Sam 1.05/1.07
vanya109 Суббота, 07.02.2015, 20:54 | Сообщение # 2221


Сообщений: 274
Награды: 13
Замечания: 0%
 
jango, http://www.serioussite.ru/forum/5-3341-1
Вот читай

Добавлено (07.02.2015, 20:54)
---------------------------------------------
Повторю свой вопрос : как добавить ещё один тип полигонов ([standart, water...]Metal) и свой звук добавить металла?

я
SLAwww Суббота, 07.02.2015, 22:59 | Сообщение # 2222


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Для новичка такое будет слишком сложно, но начинать следует с WorldBase.es, там описаны существующие типы поверхностей. Простой поиск по файлу поможет их найти. Далее - для какого-то существующего типа поверхности делаешь копию, меняешь параметры, выполняешь поиск по проекту для переменных, которые встречаются в настройках поверхности. Насколько помню, там ещё в эффектах что-то задействовано, и в классе игрока.

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.

and so ended our search.
vanya109 Воскресенье, 08.02.2015, 18:26 | Сообщение # 2223


Сообщений: 274
Награды: 13
Замечания: 0%
 
Я смог добавить тип Metal
(давно сделал)!
Но мне теперь нужно добавить звуки металла(при выстреле, при хождений по полу)? И напиши конкретно что нужно делать!


я
CAHEK Воскресенье, 08.02.2015, 20:28 | Сообщение # 2224


Сообщений: 794
Награды: 16
Замечания: 0%
 
Вопрос. Как изменить скорость игрока из PlayerWeapon.es ? Хотел сделать эффект замедления бега игрока при стрельбе из оружия.

Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
ST27 Воскресенье, 08.02.2015, 20:39 | Сообщение # 2225


Сообщений: 457
Награды: 7
Замечания: 0%
 
CAHEK,
При FireStart
GetPlayer()->vTranslation(1) *= значение;
GetPlayer()->vTranslation(3) *= значение;

При FireStop
GetPlayer()->vTranslation(1) /= значение;
GetPlayer()->vTranslation(3) /= значение;

Вроде так
(если нужен прыжок, то vTranslation(2), а если всё одновременно, то просто vTranslation)


- My Personal Site -
CAHEK Понедельник, 09.02.2015, 08:00 | Сообщение # 2226


Сообщений: 794
Награды: 16
Замечания: 0%
 
Понял. Спасибо. Пробую.
А я то все через plr_fSpeedForward пытался.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
vanya109 Понедельник, 09.02.2015, 11:27 | Сообщение # 2227


Сообщений: 274
Награды: 13
Замечания: 0%
 
Повторяю свой вопрос : (Я смог добавить тип полигонов Metal) как добавить звуки металла(при выстреле, при хождений по полу)? И напиши конкретно что нужно делать!

я
Ar2R-devil-PiNKy Понедельник, 09.02.2015, 13:49 | Сообщение # 2228


Creative virtuoso
Сообщений: 3136
Награды: 58
Замечания: 
 
Цитата vanya109 ()
Повторяю свой вопрос : (Я смог добавить тип полигонов Metal) как добавить звуки металла(при выстреле, при хождений по полу)? И напиши конкретно что нужно делать!

А вот тебе ответ большинства: не суй свой нос туда, куда тебе не следует.


Мои работы
ST27 Понедельник, 09.02.2015, 14:35 | Сообщение # 2229


Сообщений: 457
Награды: 7
Замечания: 0%
 
vanya109, то есть ты хочешь, чтобы мы за тебя всё написали?

- My Personal Site -
CAHEK Понедельник, 09.02.2015, 15:18 | Сообщение # 2230


Сообщений: 794
Награды: 16
Замечания: 0%
 
Вопрос. Есть модель в СКА формате. Как сделать, чтобы при каком либо действии (атаке например) материал 1 стал невидимым, а материал 2 стал Detail с базовой текстурой 1 и детаил текстура 2?
Точнее даже будет сказать так. Как сменить тип рендера на определенном материале ?


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Понедельник, 09.02.2015, 21:04 | Сообщение # 2231


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Ты заглядывал в интерфейс CModelInstance? Названия переменных там должны говорить сами за себя, по-любому где-то должен быть контейнер материалов, или их свойств.

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.

and so ended our search.
CAHEK Четверг, 19.02.2015, 17:52 | Сообщение # 2232


Сообщений: 794
Награды: 16
Замечания: 0%
 
Было такое, но вот вопрос. Как изменить именно 3 или 4 материал ?
Кстати.
GetPlayer()->vTranslation(1) *= значение;
GetPlayer()->vTranslation(3) *= значение;
Не сработало.

Добавлено (19.02.2015, 17:52)
---------------------------------------------
.

Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
ST27 Четверг, 19.02.2015, 18:07 | Сообщение # 2233


Сообщений: 457
Награды: 7
Замечания: 0%
 
CAHEK, попробуй тогда найти в Player.es функцию ActiveActions, и ниже, где есть:
Код
if( ((CPlayerWeapons&)*m_penWeapons).m_iCurrentWeapon==WEAPON_KNIFE &&
          !GetSP()->sp_bCooperative) {
       vTranslation *= 1.3f;
     }

Добавь ниже, что-то типа:
Код
if( ((CPlayerWeapons&)*m_penWeapons).m_iCurrentWeapon==WEAPON_MINIGUN &&
          ulNewButtons&PLACT_FIRE) {
       vTranslation /= 2.0f;
     }


- My Personal Site -
CAHEK Четверг, 19.02.2015, 18:39 | Сообщение # 2234


Сообщений: 794
Награды: 16
Замечания: 0%
 
Нет я так пробовал.
Просто ситуация какая. При выстреле из минигана скорость ГГ должна быть меньше чем обычная, и после окончания стрельбы не должна восстанавливаться. Восстановление будет происходить отдельными функциями. Идеальный вариант - из PlayerWeapon послать сигнал в Player на смену скорости, но я не знаю как.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
ST27 Понедельник, 23.02.2015, 16:30 | Сообщение # 2235


Сообщений: 457
Награды: 7
Замечания: 0%
 
И снова привет. Я хочу сделать подвижную модель (гравитация, отталкивание и т.д.)
Сделал я её как нейтральный Enemy Base. Но теперь хотелось бы узнать, как сделать так, чтобы когда атакуешь эту модель она не брызгала кровью (ну или "разлеталась" как клир). Как это можно сделать?
В прикреплении показано, что кровь мне не нужна

Прикрепления: 1914333.jpg (225.5 Kb)


- My Personal Site -
SLAwww Понедельник, 23.02.2015, 21:33 | Сообщение # 2236


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Попробуй перегрузить метод ReceiveDamage так, чтобы он не вызывался у базового класса. А вообще, подвижную модель сделать гораздо проще. Достаточно посмотреть, какие значения можно передавать в SetPhysicalFlags/SetCollisionFlags.

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.

and so ended our search.
CAHEK Вторник, 24.02.2015, 08:08 | Сообщение # 2237


Сообщений: 794
Награды: 16
Замечания: 0%
 
Ситуация.
В PlayerWeapon.es я накодил проверку, назовем ее "Test". Эта проверка весьма объемна и в тоже время нужна каждому оружию в нескольких местах. Можно, конечно, вставить ее во все места где она необходима, но есть ли другие способы ?


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
thecre Вторник, 24.02.2015, 12:56 | Сообщение # 2238


Сообщений: 3449
Награды: 28
Замечания: 0%
 
STPROD,
void ReceiveDamage(тут аргументы, которые берешь в любом другом классе, например, Eyeman)
{
return;
}


ST27 Вторник, 24.02.2015, 15:43 | Сообщение # 2239


Сообщений: 457
Награды: 7
Замечания: 0%
 
thecre, нет, имел ввиду то, что когда стреляю в модель, она отлетала, но не брызгала кровью.

Добавлено (24.02.2015, 15:43)
---------------------------------------------
И ещё: можно ли поставить моей модельке (или ModelHolder2) какую-нибудь модель с текстурой, когда я создаю её через игрока?
Этот способ не установил нужную модель, а просто поставил ентитю со стандартным Axis.mdl (который по дефолту стоит)

Код
CEntityPointer pen = penThis->CreateEntity(penThis->GetPlacement(), CLASS_MODEL);
     ((CMovableModel*)&pen)->m_fnModel = CTFILENAME("ModelsMP\\SouthAmerica\\Bridge\\Bridge.mdl");
     ((CMovableModel*)&pen)->m_fnTexture = CTFILENAME("ModelsMP\\SouthAmerica\\Bridge\\Bridge.tex");
     pen->Initialize(EVoid());

А этот способ вообще вылетает:
Код
CEntityPointer pen = penThis->CreateEntity(penThis->GetPlacement(), CLASS_MODEL);
     ((CMovableModel*)&pen)->SetModel(CTFILENAME("ModelsMP\\SouthAmerica\\Bridge\\Bridge.mdl"));
     ((CMovableModel*)&pen)->SetModelMainTexture(CTFILENAME("ModelsMP\\SouthAmerica\\Bridge\\Bridge.tex"));
     pen->Initialize(EVoid());


- My Personal Site -
Heming_Hitrowski Вторник, 24.02.2015, 20:21 | Сообщение # 2240


Double Jumper
Сообщений: 885
Награды: 32
Замечания: 0%
 
CAHEK, может поможет создание функции? (например, BOOL)
что-то типа

BOOL IsChtoTo() {
return m_bChtoTo && GetFlags()&ENF_ALIVE && GetSP()->sp_bUseFrags;
}

которую ты сможешь потом использовать как

if (IsChtoTo()) {
// ...
}

STPROD, попробуй вот так
CEntityPointer pen = penThis->CreateEntity(penThis->GetPlacement(), CLASS_MODEL);
pen->Initialize(EVoid());
((CMovableModel*)&pen)->SetModel(MODEL_SOMEMODEL);
((CMovableModel*)&pen)->SetModelMainTexture(TEXTURE_SOMETEXTURE);
Сообщение отредактировал Heming_Hitrowski - Вторник, 24.02.2015, 20:27


ST27 Вторник, 24.02.2015, 20:56 | Сообщение # 2241


Сообщений: 457
Награды: 7
Замечания: 0%
 
Heming_Hitrowski, к сожалению, не работает. Может это всё из-за того, что моя модель CMovableModelEntity?

- My Personal Site -
Heming_Hitrowski Вторник, 24.02.2015, 21:05 | Сообщение # 2242


Double Jumper
Сообщений: 885
Награды: 32
Замечания: 0%
 
STPROD, таки да, без приведения типов разве не работает?

попробуй вот эти два варианта
pen->SetModel(...);
((CНазваниеКласса*)&*pen)->SetModel(...);
Сообщение отредактировал Heming_Hitrowski - Вторник, 24.02.2015, 21:06


SLAwww Вторник, 24.02.2015, 21:37 | Сообщение # 2243


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
После изменения модели у энтити надо вызывать ModelChangeNotify. Кстати, менять модель можно и после инициализации.

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.

and so ended our search.
ST27 Вторник, 24.02.2015, 21:38 | Сообщение # 2244


Сообщений: 457
Награды: 7
Замечания: 0%
 
Heming_Hitrowski, 2ой способ не вылетает, но просто делает Axis.mdl с Default текстурой (в клетку)

- My Personal Site -
SLAwww Вторник, 24.02.2015, 22:45 | Сообщение # 2245


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Кстати, есть ещё у CModelObject метод Load_t как раз для загрузки модели из файла. Приставка "_t" означает, что метод может бросать исключения, поэтому надо вызывать через try/catch как-то так (примерно, не проверял):

try {
penMyEntity->GetModelObject()->Load_t(CTFILENAME("ModelsMP\\MyModel.mdl"));
} catch (char* strError) {
CPrintF(strError);
}
penMyEntity->ModelChangeNotify();

Желательно ещё кешировать модель перед загрузкой, для этого есть CAutoPrecacheModel. Применяется аналогично CAutoPrecacheSound (его можно найти и сделать по примеру так же для модели).


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.

and so ended our search.
ST27 Среда, 25.02.2015, 14:55 | Сообщение # 2246


Сообщений: 457
Награды: 7
Замечания: 0%
 
SLAwww, как ни странно, но мне пишет, что Load_t is not a member of 'CModelObject'

- My Personal Site -
SLAwww Среда, 25.02.2015, 20:37 | Сообщение # 2247


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Упс, Read_t, а не Load_t. И принимает он не имя файла, а указатель на CTStream, то есть, тебе нужно будет создать CTFileStream для чтения нужного файла.

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.

and so ended our search.
ST27 Среда, 25.02.2015, 22:29 | Сообщение # 2248


Сообщений: 457
Награды: 7
Замечания: 0%
 
Похоже, я ещё слишком туп, чтобы что-то подставить Read_t(сюда). Не получается. И примеров в коде даже нет

Добавлено (25.02.2015, 22:10)
---------------------------------------------
Хреновую идею я задумал...

Добавлено (25.02.2015, 22:25)
---------------------------------------------
Экспериментировал я, значит, написал это:

Код
CTFileStream fnModel;
  fnModel.Open_t(m_fnModel);

     GetModelObject()->Read_t(&fnModel);

И оно скомпилилось без ошибок O_o

Добавлено (25.02.2015, 22:29)
---------------------------------------------
Но теперь оно падает, когда ставишь в редакторе.

- My Personal Site -
SLAwww Среда, 25.02.2015, 22:39 | Сообщение # 2249


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Заключи вызовы Open_t и Read_t в блок try/catch и увидишь, из-за чего падает.

try {
fnModel.Open_t(m_fnModel);
GetModelObject()->Read_t(&fnModel);
} catch (char* strError) {
CPrintF(strError);
}


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.

and so ended our search.
ST27 Среда, 25.02.2015, 23:01 | Сообщение # 2250


Сообщений: 457
Награды: 7
Замечания: 0%
 
Всё сделал, сделал CAutoPrecacheModel для m_fnModel, но:
"Не удается открыть файл 'ModelsMP\\Model.mdl'. Для этого потока команд не включена потоковая обработка."
Но ставиться Axis.mdl без текстуры

Добавлено (25.02.2015, 23:01)
---------------------------------------------
Ок, сделал PrecachaModel на модель, сработало. Но, можно для каждой модели/текстуры этого не делать?

- My Personal Site -
Поиск:

Статистика