Новые сообщения Участники Правила Поиск
Помощь по SDK для Serious Sam 1.05/1.07
Jack_Stone Вторник, 04.10.2016, 10:10 | Сообщение # 2611


Сообщений: 146
Награды: 1
Замечания: 0%
 
Heming_Hitrowski, нет, не происходит, но всё компилируется нормально.

Добавлено (04.10.2016, 00:26)
---------------------------------------------
Хотя неее, что то да есть уже) сам Light появляется и исчезает при нажатии кнопки, но свет не производит.

Добавлено (04.10.2016, 00:28)
---------------------------------------------
вот с этим кодом

// turn on off flashlight
void Flashlight(){

Код
     if (m_penLight == NULL){
    m_penLight = CreateEntity(GetPlacement(), CLASS_LIGHT);
    m_penLight->Initialize();
       }
    else {
      m_penLight->Destroy();
        m_penLight = NULL;

      }

  };

Добавлено (04.10.2016, 00:28)
---------------------------------------------
я вообще запутался уже))

Добавлено (04.10.2016, 00:32)
---------------------------------------------
с твоим кодом точно также работает, но света нет

Код
  // turn on off flashlight
  void Flashlight(){  
   
      if (m_penLight == NULL){
CPlacement3D pl = GetPlacement(); // получили позицию игрока
pl.pl_PositionVector(2) += 1.0f; // сдвинули ее чуть повыше, чтобы лайт не был в "земле"
m_penLight = CreateEntity(pl, CLASS_LIGHT); // объяви CLASS_LIGHT заранее, в блоке components
    m_penLight->Initialize();
       }
    else {
      m_penLight->Destroy();
        m_penLight = NULL;

      }

  };

Добавлено (04.10.2016, 10:10)
---------------------------------------------
может он просто телепортирует модель лайта, а "физические свойства" надо отдельно прописывать? но как?

Heming_Hitrowski Вторник, 04.10.2016, 11:37 | Сообщение # 2612


Double Jumper
Сообщений: 888
Награды: 32
Замечания: 0%
 
Цитата
Это самый простой способ инициализации. У нас создается стандартный Trigger на том месте, где мы стоим (GetPlacement()). Вот, например, более сложный.

m_penTrigger = CreateEntity(GetPlacement(), CLASS_TRIGGER);
(CTrigger*)&*m_penTrigger)->m_strName = "New Trigger";
m_penTrigger->Initialize();


Jack_Stone Вторник, 04.10.2016, 12:54 | Сообщение # 2613


Сообщений: 146
Награды: 1
Замечания: 0%
 
ааа, то есть то же самое и с Light можно сделать, и прописать уже имя лайта - например, LT_POINT. Я правильно понял?

Heming_Hitrowski Вторник, 04.10.2016, 12:57 | Сообщение # 2614


Double Jumper
Сообщений: 888
Награды: 32
Замечания: 0%
 
Jack_Stone, да) Только не имя, а тип.
Сообщение отредактировал Heming_Hitrowski - Вторник, 04.10.2016, 12:58


Jack_Stone Четверг, 06.10.2016, 10:30 | Сообщение # 2615


Сообщений: 146
Награды: 1
Замечания: 0%
 
Heming_Hitrowski, всё то же самое. Как будто и не менял ничего. Света нет.

Добавлено (04.10.2016, 21:21)
---------------------------------------------
(CTrigger*)&*m_penTrigger)->m_strName = "New Trigger";

эта строка вообще никак не влияет, написать можно любой набор букв на месте "New Trigger"

Добавлено (04.10.2016, 22:20)
---------------------------------------------
попробовал ту же схему с моделью, та же фигня: почему то не меняет тип проджектайла - всегда выстреливает ракету, которая убивает Сэма

Добавлено (04.10.2016, 23:00)
---------------------------------------------
тут и правда используется ракета Сэма, но это ладно. Я сделал так, чтобы она не летела, а как сделать так, чтобы она приатачилась к Сэму и двигалась вместе с ним?

Добавлено (06.10.2016, 10:30)
---------------------------------------------
ВСЕМ, кто помогал мне с созданием фонарика, СПАСИБО, особенно Heming_Hitrowski, ) наконец-то получилось :) но вот чего я не пойму, так это почему он начал светить только тогда, когда прописал эту строчку:

Код
m_penLight->SetParent( this);


а сам код вот такой получился:

Код
  // turn on off flashlight
  void Flashlight(){  
   
      if (m_penLight == NULL){

    m_soFlashlight.Set3DParameters(50.0f, 10.0f, 4.0f, 1.0f);
    PlaySound(m_soFlashlight, SOUND_FLASHLIGHT, SOF_3D|SOF_VOLUMETRIC|SOF_LOCAL);

    CPlacement3D pl = GetPlacement(); // получили позицию игрока
    pl.pl_PositionVector(2) += 2.0f; // сдвинули ее чуть повыше, чтобы лайт не был в "земле"

    m_penLight = CreateEntity(pl, CLASS_LIGHT);
        m_penLight->SetParent( this);
     m_penLight->Initialize();

       }
    else {
     m_soFlashlight.Set3DParameters(50.0f, 10.0f, 4.0f, 1.0f);
     PlaySound(m_soFlashlight, SOUND_FLASHLIGHT, SOF_3D|SOF_VOLUMETRIC|SOF_LOCAL);
       m_penLight->Destroy();
         m_penLight = NULL;

      }
  };


Heming_Hitrowski Четверг, 06.10.2016, 12:41 | Сообщение # 2616


Double Jumper
Сообщений: 888
Награды: 32
Замечания: 0%
 
Цитата
(CTrigger*)&*m_penTrigger)->m_strName = "New Trigger";

эта строка вообще никак не влияет, написать можно любой набор букв на месте "New Trigger"


Оно и логично.) Попробуй сам себе объяснить этот код и понять, что он делает. Если не получится, вот спойлер.


Код
m_penLight->SetParent( this);


Эта строчка привязывает лайт к игроку (на манер свойства Parent в Serious Editor). this - это как раз указатель на класс Player. Поэтому лайт движется за игроком) Это конечно грубый способ, но работать будет.
Сообщение отредактировал Heming_Hitrowski - Четверг, 06.10.2016, 13:52


Jack_Stone Четверг, 06.10.2016, 23:32 | Сообщение # 2617


Сообщений: 146
Награды: 1
Замечания: 0%
 
ну теперь то до меня дошло)) хотелось бы теперь узнать, как изменить свойства лайта - яркость и цвет. :)

Добавлено (06.10.2016, 23:29)
---------------------------------------------
я пытался с этим разобраться и очень долго, но никак :(

Добавлено (06.10.2016, 23:32)
---------------------------------------------
и еще у меня какая-то фигня с GameMP.dll, не компилируется, выдает 14 ошибок, может дело в Dependencies? как там галки надо расставить?

Heming_Hitrowski Суббота, 08.10.2016, 14:00 | Сообщение # 2618


Double Jumper
Сообщений: 888
Награды: 32
Замечания: 0%
 
Jack_Stone, в Light.es есть переменная
2 COLOR m_colColor "Color" 'C' =C_GRAY,

Она же отвечает за цвет лайта, и по сути, за его яркость.

COLOR - это тип переменной, он принимает значения в шестнадцатеричной системе счисления (старожилы меня поправят, вообще это тип ULONG, но значения, видимо, для удобства записывают по другому). Но что такое C_GRAY? Это уже определенная в движке константа, смотри, что можно обнаружить, если ты зайдешь в Engine/Graphics/Color.h



Соответственно, лайту можно задать, например, C_WHITE и он будет ярче.
(CLight*)&*penLight)->m_colColor = C_WHITE;

Можно и не пользоваться константами и записать значение самому. Вот как по сути расшифровывается запись цвета: 0xRRGGBBAA. Где RR - это Red, GG - это Green, BB - это Blue и AA - это альфа-канал (для лайта можно оставить 00). Осталось только подставить нужные цифры) Вот как это выглядело бы с белым цветом.

(CLight*)&*penLight)->m_colColor = 0xFFFFFF00;

Могу ошибаться, конечно, нет компилятора под рукой, но должно работать)
Сообщение отредактировал Heming_Hitrowski - Суббота, 08.10.2016, 14:05


Heming_Hitrowski Суббота, 08.10.2016, 14:06 | Сообщение # 2619


Double Jumper
Сообщений: 888
Награды: 32
Замечания: 0%
 
там опять какая-то беда с тегами, скобок в коде в начале должно быть две. ((СLight...
Сообщение отредактировал Heming_Hitrowski - Суббота, 08.10.2016, 14:07


NucaCat Воскресенье, 09.10.2016, 15:23 | Сообщение # 2620


Сообщений: 46
Награды: 2
Замечания: 0%
 
Настроил SDK, вылазит ошибка
G:\MYMOD\Sources\GameMP\stdafx.h(14) : fatal error C1083: Cannot open include file: 'EntitiesMP/Global.h': No such file or directory
Error executing cl.exe.
Поиск по сайту мне не помог, в настройках stdafx стоит create precompiled header, в других местах use precompilled header, компиляция отдельно этого файла дает такую же точно ошибку. Помогите, пожалуйста.


seriously_petr Воскресенье, 09.10.2016, 16:06 | Сообщение # 2621


Сообщений: 446
Награды: 4
Замечания: 0%
 
NucaCat, Global.h генерируется из Global.es компилятором ECC.
При сборке компилятор студии не может найти заголовочный файл и этому могут быть следующие ричины:

- У тебя не собран проект EntitiesMP. Это может быть из-за того что не правильно настроены зависимости проектов. EntitiesMP должен собираться в первую очередь.
- У тебя не правильно указаны пути к Includes в Options->Directories.


NucaCat Воскресенье, 09.10.2016, 17:18 | Сообщение # 2622


Сообщений: 46
Награды: 2
Замечания: 0%
 
seriously_petr, мда похоже что я в глаза долбился, когда настраивал зависимости. Спасибо, чувак

CAHEK Вторник, 11.10.2016, 16:53 | Сообщение # 2623


Сообщений: 794
Награды: 16
Замечания: 0%
 
Ситуация. Я делал мод. Потом был конкурс и я его заморозил. Сейчас я к нему вернулся, но вот у меня при запуске уровня вот такая ошибка выскакивает.
https://yadi.sk/i/jY_7TGSVweRre
З.Ы. Раньше работал на другом компьютере. Потом винт с него переставил в компьютер на котором работаю сейчас.


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
Ar2R-devil-PiNKy Вторник, 11.10.2016, 18:38 | Сообщение # 2624


Creative virtuoso
Сообщений: 3743
Награды: 58
Замечания: 
 
А ты точно в той среде открываешь? Ты вроде как с исходниками движка что-то делал.

Мои работы
CAHEK Вторник, 11.10.2016, 19:23 | Сообщение # 2625


Сообщений: 794
Награды: 16
Замечания: 0%
 
Это вылетает при работе в СЕДе, о ошибка явно не СЕДовская.

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


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Используешь 1.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.
CAHEK Вторник, 11.10.2016, 20:22 | Сообщение # 2627


Сообщений: 794
Награды: 16
Замечания: 0%
 
Работаю на 1.10. Вылетает только на моих т.к. кроме моих там больше нет. Это можно классифицировать, как новая игра на движке SE 1.10.

Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Вторник, 11.10.2016, 22:25 | Сообщение # 2628


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
У тебя последняя стабильная версия кода с гитхаба? Сам собирал в 2013/2015 студии?

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 Среда, 12.10.2016, 13:34 | Сообщение # 2629


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

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


Сообщений: 461
Награды: 7
Замечания: 0%
 
Как ей может быть два года, если 1.10 выложили полгода назад?

- My Personal Site -
CAHEK Среда, 12.10.2016, 15:08 | Сообщение # 2631


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

Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Среда, 12.10.2016, 15:36 | Сообщение # 2632


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 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.

and so ended our search.
Jack_Stone Четверг, 13.10.2016, 08:04 | Сообщение # 2633


Сообщений: 146
Награды: 1
Замечания: 0%
 
я хочу прописать еще одни автоматные патроны. Сделал по аналогии с Bullets - прописал в PlayerWeapons, AmmoItem, AmmpPack, HUD, но все равно выдает ошибки и пишет это тип патронов не объявлен, а где не понятно. Может я что-то пропустил, где-то еще нужно объявлять их?

seriously_petr Четверг, 13.10.2016, 10:31 | Сообщение # 2634


Сообщений: 446
Награды: 4
Замечания: 0%
 
Jack_Stone, Что не объявлено? Где не объявлено? Так на словах трудно понять что там у тебя происходит, косяк можно допустить где угодно.
Ошибку, которая вылазит при компиляции хотя бы прикладывал бы, а ещё лучше заодно и куски кода где и что ты менял.


Jack_Stone Четверг, 13.10.2016, 14:34 | Сообщение # 2635


Сообщений: 146
Награды: 1
Замечания: 0%
 
Так я не знаю, потому и спрашиваю, может где-то еще нужно прописывать, объявлять новые патроны. потому что с++ ничего не пишет кроме как UNDECLARED, хотя по сути везде где нужно я объявил новую переменную новых патронов - в PlayerWeapons, AmmoItem, AmmpPack, HUD. На счет менял-не менял: я ничего не менял, а просто добавил строки по аналогии с Bullets.

x7 Четверг, 13.10.2016, 16:57 | Сообщение # 2636

Сообщений: 18
Награды: 0
Замечания: 0%
 
Jack_Stone,
Undeclared - это как раз то что и не объявлено. Поэтому тебя и попросили дать скрин этих ошибок или написать так, что именно не объявлено и где, чтобы помочь тебе


art-serious Четверг, 13.10.2016, 17:29 | Сообщение # 2637


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
Не хочу показаться попрошайкой, но где можно начать лепить 3D HUD? Понятное дело, что это реализуется там же, где и рендер элементов от первого лица (оружие игрока, как пример). Сигналы изменения текстуры на модели посылать с сурса с параметрами игрока? Где начать копать?
Сообщение отредактировал art-serious - Четверг, 13.10.2016, 17:47


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
ST27 Четверг, 13.10.2016, 20:36 | Сообщение # 2638


Сообщений: 461
Награды: 7
Замечания: 0%
 
Я б завел каких-нибудь переменных (ну или использовал en_fHealth, m_fArmor и прочее) и обновлял бы все рендеримые текстуры и модели в зависимости от изменения числа в каком-нибудь каждотикном RenderGameView.
А начать? - ну, припили все компоненты худа (модели и текстуры), добавь в пре-кэш и потом уже в рендер. Не знаю, почему это должно показаться слишком сложным, хотя сам 3д худ делать не пробовал

Добавлено (13.10.2016, 20:36)
---------------------------------------------
Ну и да, не забыть стащить из RenderWeaponModel относительные координаты игрока для рендера худа. (свою функцию рендера можешь как раз запихать рядом со строкой GetPlayerWeapons()->RenderWeaponModel(аргументы) или что-то такое в Player)

- My Personal Site -
Jack_Stone Понедельник, 17.10.2016, 22:01 | Сообщение # 2639


Сообщений: 146
Награды: 1
Замечания: 0%
 
Вот такое выдает:

Код
--------------------Configuration: EntitiesMP - Win32 Release--------------------
Compiling...
HUD.cpp
D:\IMAGES\FOR GAMES\SERIOUSSAM\SAM\NE\Sources\EntitiesMP\Common\HUD.cpp(686) : error C2039: 'm_iMaxAKBullets' : is not a member of 'CPlayerWeapons'
        D:\IMAGES\FOR GAMES\SERIOUSSAM\SAM\NE\SOURCES\EntitiesMP/PlayerWeapons.h(103) : see declaration of 'CPlayerWeapons'
AmmoItem.cpp
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/AmmoItem.es(192) : error C2065: 'AV_AKBULLETS' : undeclared identifier
AmmoPack.cpp
D:\IMAGES\FOR GAMES\SERIOUSSAM\SAM\NE\Sources\EntitiesMP\AmmoPack.cpp(34) : error C2065: 'MAX_AKBULLETS' : undeclared identifier
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/AmmoPack.es(99) : error C2065: 'AV_AKBULLETS' : undeclared identifier
PlayerWeapons.cpp
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/PlayerWeapons.es(585) : error C2065: 'MAX_AKBULLETS' : undeclared identifier
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/PlayerWeapons.es(2653) : error C2065: 'm_iMaxAKBullets' : undeclared identifier
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/PlayerWeapons.es(2665) : error C2065: 'AMMO_AKBULLETS' : undeclared identifier
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/PlayerWeapons.es(3131) : error C2065: 'AV_AKBULLETS' : undeclared identifier
Generating Code...
Error executing cl.exe.

EntitiesMP.dll - 8 error(s), 0 warning(s)

Добавлено (14.10.2016, 00:02)
---------------------------------------------
больше всего не понятна эта строка:

Код
D:/Images/For games/SeriousSam/Sam/NE/Sources/EntitiesMP/PlayerWeapons.es(585) : error C2065: 'MAX_AKBULLETS' : undeclared identifier


потому на 585 строке вот это на самом деле:

Код
31 FLOAT m_fRayHitDistance = 100.0f,   // distance from hit point

Добавлено (17.10.2016, 22:01)
---------------------------------------------
Никто не знает, почему при попытке запуска NETRICSA игра может зависать???

ST27 Понедельник, 17.10.2016, 22:15 | Сообщение # 2640


Сообщений: 461
Награды: 7
Замечания: 0%
 
GameMP надо пересобирать

- My Personal Site -
Поиск: