Новые сообщения Участники Правила Поиск
Модератор форума: freeknik, SLAwww, thecre, RealCrazyMan  
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Помощь по SDK для Serious Sam 1.05/1.07
SLAwww Суббота, 26.05.2012, 19:31 | Сообщение # 1531


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
А, ну да, можно и с помощью ContinueCast, результат будет тот же, может, даже, чуть быстрее. А если создавать в цикле новые экземпляры CCastRay вместо вызова ContinueCast, то не грех было бы сделать пули, отлетающие рикошетом от стен. )
Сообщение отредактировал SLAwww - Суббота, 26.05.2012, 19:32


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.
seriously_petr Суббота, 26.05.2012, 20:51 | Сообщение # 1532


Сообщений: 446
Награды: 4
Замечания: 0%
 
Как всё сложно. :( Я это буду всё это делать 100 лет. :)
Я так понял запускать новый луч надо из crRay.cr_penHit и после.
Code
        if (crRay.cr_penHit->GetEntityInfo()!=NULL) {
           if( ((EntityInfo*)crRay.cr_penHit->GetEntityInfo())->Eeibt == EIBT_FLESH)


SLAwww Суббота, 26.05.2012, 23:13 | Сообщение # 1533


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Ненене, то, что ты показал только что - это получение структуры типа EntityInfo. Тебе надо:
0) Создать и настроить объект класса CCastRay.
1) Бросить луч GetWorld()->CastRay(crYourCastRay)
2) Проверить, ударили ли мы что-нибудь (параметр cr_penHit должен быть ненулевым)
3) Если мы что-то ударили, проверить его rendertype (должен быть RT_MODEL). Или можно проверять на признак наследования от класса CEnemyBase, но тогда луч остановится на первой попавшейся модели, и не обязательно это будет CModelHolder2, так что лучше проверять rendertype.
4) Если действительно RT_MODEL, то нанести повреждение (не важно, если объект не может быть повреждён - тогда просто ничего не произойдёт). Затем либо выполнить ContinueCast, либо создать новый CCastRay, бросить его и вернуться к 2)


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.
seriously_petr Воскресенье, 27.05.2012, 00:36 | Сообщение # 1534


Сообщений: 446
Награды: 4
Замечания: 0%
 
SLAwww, А ты скажи мне где его создавать в CBullet, в какой функции :)

$оучаснеG Воскресенье, 27.05.2012, 00:40 | Сообщение # 1535


ЫЫЫЙААУЩЕГ! XD
Сообщений: 414
Награды: 24
Замечания: 0%
 
seriously_petr, посмотри как кольт стреляет например, в PlayerWeapons.es. А ещё лучше у Scorpman.es.
Сообщение отредактировал $оучаснеG - Воскресенье, 27.05.2012, 00:43


seriously_petr Воскресенье, 27.05.2012, 01:20 | Сообщение # 1536


Сообщений: 446
Награды: 4
Замечания: 0%
 
$оучаснеG, А причём здесь стрельба из пулевого оружия. Делать выстрел пулей я умею. Я просто не знаю куда сувать код на создание следующего луча в CBullet :D

SLAwww Воскресенье, 27.05.2012, 18:55 | Сообщение # 1537


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
А не многовато ли ты хочешь? Всмотрись внимательно в цикл, который начинается с while(ctCasts<10), разберись, что делает каждый кусок кода, и вноси нужные тебе изменения.

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.
seriously_petr Понедельник, 28.05.2012, 16:33 | Сообщение # 1538


Сообщений: 446
Награды: 4
Замечания: 0%
 
SLAwww, Хм в конец оператора можно запихать ctCasts++; чтобы не было бесконечного цикла, а вместо 10 взять к примеру 3 :D

SLAwww Понедельник, 28.05.2012, 16:48 | Сообщение # 1539


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Нет, тебе как раз нужен бесконечный цикл, из которого будет совершаться выход (break) только тогда, когда луч уйдёт в пустоту (cr_penHit==NULL), или когда ударится об кисть.

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.
seriously_petr Понедельник, 28.05.2012, 17:01 | Сообщение # 1540


Сообщений: 446
Награды: 4
Замечания: 0%
 
SLAwww, Хммм...

Code

while(ctCasts<10)
{
   if((crRay.cr_penHit==NULL) || (crRay.cr_penHit->GetRenderType()==RT_BRUSH))
   {
    break;
   }
}


Так чтоли? :D
Сообщение отредактировал seriously_petr - Понедельник, 28.05.2012, 17:02


SLAwww Понедельник, 28.05.2012, 17:10 | Сообщение # 1541


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
while(TRUE), и там ещё очень многого не хватает.

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.
seriously_petr Понедельник, 28.05.2012, 17:31 | Сообщение # 1542


Сообщений: 446
Награды: 4
Замечания: 0%
 
SLAwww, А я тут заметил код, если ентитя из плоти то там луч продолжается(GetWorld()->ContinueCast(crRay);) для того чтобы зарендерить партиклы крови на стене, можно использовать это чтобы поразить уроном ентитю находящююся на линии луча если она является наследником класса CEnemyBase. :)

CAHEK Понедельник, 25.06.2012, 06:46 | Сообщение # 1543


Сообщений: 794
Награды: 15
Замечания: 0%
 
Вопрос 1. Я прицепил атачмент но мне надо чтоб при каждом движении у атачмента проигрывалась своя анимация (она в нем встроена).

Вопрос 2. Как называется система частиц исчезания трупа.


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


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
1) Чтобы проиграть анимацию у аттачмента:
Code
GetModelObject()->GetAttachmentModel( НАЗВАНИЕ_АТТАЧМЕНТА )->amo_moModelObject.PlayAnim( НАЗВАНИЕ_АНИМАЦИИ_АТТАЧМЕНТА , ФЛАГИ_АНИМАЦИИ_АТТАЧМЕНТА );

НАЗВАНИЕ_АТТАЧМЕНТА - посмотри в .h-файле, который был автоматически создан SeriousModeler'ом при создании основной модели. НАЗВАНИЕ_АНИМАЦИИ_АТТАЧМЕНТА - посмотри в .h-файле модели аттачмента. Оба эти файла, кстати говоря, нужно подключить к проекту и заинклюдить, хотя это и не обязательно, т.к. и название аттачмента, и его номер - лишь макроопределения обычных целых чисел, то есть, если у модели один аттачмент, то его номер всегда будет 0. ФЛАГИ_АНИМАЦИИ_АТТАЧМЕНТА - может быть 0, либо комбинация нескольких флагов, как AOF_LOOPING, AOF_NORESTART и т. п., которые, по сути, тоже являются обычными целыми числами, но желательно писать именно названия флагов (для понятности и переносимости).
2) void Particles_Death(CEntity *pen, TIME tmStart)


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.
seriously_petr Понедельник, 25.06.2012, 21:27 | Сообщение # 1545


Сообщений: 446
Награды: 4
Замечания: 0%
 
Слав, у мЭня серьёзные траблы. Перестали показываться данные в Нетриксе. Везде пишет No messages. До этого она вообще не открывалась - вылетало с ошибкой памяти. Но после замены Player.es чистым(там были разные эксперементы, которые не представляли никакой ценности) - стала открываться с указанной мной уже проблемой. =((

SLAwww Вторник, 26.06.2012, 00:26 | Сообщение # 1546


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Сообщения Инертана хранятся в m_acmiMessages. Это - CDynamicStackArray, то есть, ты можешь вызвать его метод Count(), чтобы проверить, есть ли в нём какие-либо сообщения. Если есть - значит, проблема в их отображении. Если нет - проблема в их добавлении.

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.
art-serious Вторник, 26.06.2012, 10:10 | Сообщение # 1547


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
HUD.cpp

Вотъ тут вопрос один возник - как заменить bar на изображение? То есть, чтобы часть картинки "обрезалась" при определенном значении переменной. К примеру тот же мод BTBA - Картинка начинает обрезаться с краю. Как осуществить на C++ - хз. Есть варианты? (буду благодарен)


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
CAHEK Вторник, 26.06.2012, 12:51 | Сообщение # 1548


Сообщений: 794
Награды: 15
Замечания: 0%
 
Спасибо SLAwww. Получилось как надо.
Такая штука. Мне надо чтобы атачмент (плоский квадрат имитирует огонь)
всегда был повернут к сему как дым. Ну или как еще можно прикрепить огонь к персонажу.(враг).
Ну и второе необязательное (так из интереса) как можно сделать чтоб в главном меню была не тексура а 3д модель.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
Heming_Hitrowski Вторник, 26.06.2012, 13:29 | Сообщение # 1549


Double Jumper
Сообщений: 883
Награды: 32
Замечания: 0%
 
CAHEK, Насчет модели в меню - Товарищ SeriousAlexej писал в статьях, как это сделать.

seriously_petr Вторник, 26.06.2012, 15:21 | Сообщение # 1550


Сообщений: 446
Награды: 4
Замечания: 0%
 
Модель в меню вызывает подвисание(в моде Алексея или даже моём) при открытии любого пункта, не знаю как у других.

Добавлено (26.06.2012, 15:21)
---------------------------------------------
Артём, BTBA полон загадок. Эх хочу тачки с физикой как там, хотя у меня уже есть пара задумок которые хорошо себя показали.

art-serious Вторник, 26.06.2012, 15:25 | Сообщение # 1551


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
То есть графический bar в XBOX mod и BTBA это тоже загадка?

[ zc-lab.org ] [ Операция "Новый год" - 40% ]
seriously_petr Вторник, 26.06.2012, 15:48 | Сообщение # 1552


Сообщений: 446
Награды: 4
Замечания: 0%
 
В XBOX анимированная текстура и там рендарятся её фреймы. А BTBA там как раз урезается текстура.

P.S. Уже пальцы болят. Строчу с мобилки я щас на даче с ноутом. А инета как известно нет.

Добавлено (26.06.2012, 15:48)
---------------------------------------------
Арт. Полистай тему Слав где-то на 37 странице толковал метод с анимацией. А я у себя в моде использую 100 IF операторов и столько же ХУД-ДРАВОВ, чтобы достичь того же эффекта что в BTBA для жизней и брони

SLAwww Вторник, 26.06.2012, 16:07 | Сообщение # 1553


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Quote (seriously_petr)
100 IF операторов


А модель в меню не имеет никаких оснований тормозить. Это уже ты там что-то не совсем то написал. Достаточно было посмотреть код, который отвечает за рендеринг моделей в Инертане, и скопировать его (с небольшими изменениями).

CAHEK, чтобы модель всегда смотрела на игрока - это задаётся не через СДК, а во время создания модели в Serious Modeler. Там в скрипте есть параметры FLAT и HALF_FLAT. Это - то, что тебе нужно.


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.
seriously_petr Вторник, 26.06.2012, 16:13 | Сообщение # 1554


Сообщений: 446
Награды: 4
Замечания: 0%
 
ХНЫ ХНЫ у меня на мобиле не открываются спойлеры ¥£€$#₩~©¢®¤¿¡₩§% =((

art-serious Вторник, 26.06.2012, 16:18 | Сообщение # 1555


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
Code
switch(fValue) {    
        case fValue>100 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium101, /*C_WHITE*/ _colHUD, fNormValue, FALSE); }    
        case fValue<101 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium100, /*C_WHITE*/ _colHUD, fNormValue, FALSE); }     
        case fValue<100 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium099, /*C_WHITE*/ _colHUD, fNormValue, FALSE); }    
        ...
        case fValue<1 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium000, /*C_WHITE*/ _colHUD, fNormValue, FALSE); }    
        default : break;    
    }


Вот так и только? (отображение графического bar)




Сообщение отредактировал art-serious - Вторник, 26.06.2012, 16:53


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
SLAwww Вторник, 26.06.2012, 16:26 | Сообщение # 1556


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Нет, после case должно стоять значение, которое может принимать fValue. А ещё ты забыл про break после каждого куска кода:
Code
switch(fValue) {    
        case 100 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium, /*C_WHITE*/ _colHUD101, fNormValue, FALSE); break; }    
        case 99 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium, /*C_WHITE*/ _colHUD100, fNormValue, FALSE); break; }     
        case 98 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium, /*C_WHITE*/ _colHUD099, fNormValue, FALSE); break; }    
        ...   
        case 0 : { HUD_DrawIcon( fCol+fMoverX, fRow+fMoverY, _toArmorMedium, /*C_WHITE*/ _colHUD000, fNormValue, FALSE); break; }    
        default : break;    
    }


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.
seriously_petr Вторник, 26.06.2012, 16:54 | Сообщение # 1557


Сообщений: 446
Награды: 4
Замечания: 0%
 
Арт это ШТО?
Тут только цвет меняется у иконки голубенькой брони, которая рисуется и стоит на месте.

---------
Слав, ты видимо не понял мою систему, у меня не так:
if(var<1){HUD_DRAW...
if(var<2){HUD_DRAW...
if(var<3){HUD_DRAW...

А так:

if(var<4){HUD_DRAW...if(var<104){HUD_DRAW...}}
if(var<8){HUD_DRAW...if(var<108){HUD_DRAW...}}

Добавлено (26.06.2012, 16:47)
---------------------------------------------
И так по 25 строк к жизни и броне итого - 100 операторов.

Добавлено (26.06.2012, 16:54)
---------------------------------------------
Ой не так написал знаки в операторах.

if(var>=4){HUD_DRAW...if(var>=104){HUD_DRAW...}}

art-serious Вторник, 26.06.2012, 16:59 | Сообщение # 1558


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
Один вопрос - нагружает ли это игру, если идёт проверка одного значения в сотне операторов?
Да и с таким подходом уж лучше проще сделать какой-то шаг деления


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
seriously_petr Вторник, 26.06.2012, 17:05 | Сообщение # 1559


Сообщений: 446
Награды: 4
Замечания: 0%
 
Лучше проще Xd Арт жжёшь =)

Не знаю играли даже в ДМ в мод вчетвером - тестили новое оружие да и вообще мод - ничего не глючило.


SLAwww Вторник, 26.06.2012, 20:58 | Сообщение # 1560


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
seriously_petr, это дикость какая-то - столько ИФов. switch - это почти как один ИФ, он выполняется гораздо быстрее, и является оптимальным в плане оптимизации кода при множественном ветвлении. Конечно, ты сейчас не заметишь разницы, зато её заметит процессор, и когда ты будешь писать что-то более сложное, выбор оператора может стать ключевым.

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.
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Поиск:

Статистика