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


Сообщений: 140
Награды: 1
Замечания: 0%
 
Heming_Hitrowski, хочу кое что уточнить. Подскажи, пожалуйста, если мы делаем так, чтобы один класс врагов атаковал остальные, наряду с player, нам нужно создать и распознавание отдельным классом всех остальных классов, и распознавание остальными классами отдельного класса? Как выделить отдельный класс врагов? Я продублировал итерации для врагов, как ты советовал, но наверно что-то не то все равно сделал, результата нет пока.

Jack_Stone Четверг, 06.02.2020, 16:45 | Сообщение # 2792


Сообщений: 140
Награды: 1
Замечания: 0%
 
Порыскал на форуме еще по данной теме. Толком ничего нет. Максимум, что вышло - враг атакует другого, только если тот в него попадет. У других людей с форума тоже только это получалось. Не выходит заставить врага видеть других врагов, а не только "чувствовать" их. :(

Heming_Hitrowski Четверг, 06.02.2020, 20:32 | Сообщение # 2793


Double Jumper
Сообщений: 883
Награды: 32
Замечания: 0%
 
Цитата
Как выделить отдельный класс врагов?


Если ты имеешь в виду разные группы врагов (например, гнаары, которые могут атаковать только гарпий), то в xbox-моде когда-то придумали целочисленную переменную Attack Group. Суть очень простая - в цикле поиска по врагам проверяем, равны ли группы текущего EnemyBase и возможной цели. Если они равны, то два этих EnemyBase не атакуют друг друга, и наоборот.
Еще можно сделать оптимизацию и добавить некое условие, из-за которого не все твои враги будут искать других врагов (такие циклы поиска могут заметно замедлить мод, т.к. идет поиск по всем объектам, включая триггеры, маркеры и т.п.).

Цитата
Не выходит заставить врага видеть других врагов, а не только "чувствовать" их.

Попробуй запустить студию в режиме дебага (я писал статью на эту тему), либо проставь CPrintF, чтобы узнать, отрабатывает ли твой цикл поиска по врагам правильно. Если враг нашелся в watcher, то смотри дальше - в EnemyBase есть функция
Код
BOOL IsValidForEnemy(CEntity *penPlayer)


скорее всего ее тоже надо будет редактировать.


SLAwww Четверг, 06.02.2020, 21:47 | Сообщение # 2794


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Цитата Jack_Stone ()
Не выходит заставить врага видеть других врагов, а не только "чувствовать" их.

Это потому что твой класс CWatcher умеет видеть только игроков, а нужно научить его видеть и врагов тоже. Враги используют CWatcher чтобы видеть игроков.


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 Суббота, 09.05.2020, 08:19 | Сообщение # 2795


Сообщений: 140
Награды: 1
Замечания: 0%
 
ребята, спасибо!

Jack_Stone Среда, 13.05.2020, 19:22 | Сообщение # 2796


Сообщений: 140
Награды: 1
Замечания: 0%
 
СНОВА НУЖНА ПОМОЩЬ!
Объясните, пожалуйста, как иконка бензопилы идет после ножа (при смене оружия), если у ножа 1й индекс, а у пилы 10й? Как цикл for 10 после 1 выбирает? Или фокус тут не в цикле? Заранее спасибо! :)

=============================

Вопрос отпал, разобрался сам :D
Сообщение отредактировал Jack_Stone - Четверг, 14.05.2020, 11:35


AndreyII Суббота, 14.11.2020, 14:36 | Сообщение # 2797


Сообщений: 45
Награды: 3
Замечания: 0%
 
Я прочитал статью как настроить SDK всё настроил сохранил и выключил, а потом хочу открыть файл с настройками нажимаю открыть файл и c++6.0 вылетает. И мне что теперь каждый раз заново настраивать?

Добавлено (14.11.2020, 17:28)
---------------------------------------------
А, всё понял

Добавлено (14.11.2020, 17:28)
---------------------------------------------
Я дурачок...

Лучше иметь друга, чем друг друга.
Maxsis_Specifications Четверг, 11.03.2021, 15:44 | Сообщение # 2798


Сообщений: 23
Награды: 0
Замечания: 0%
 
скачал образ диска с visual c++ 6.0 Установщик вылетает. Что делать, не знаю...
возможно, программа древнющая, и уже не поддерживается на win10 64x

Прикрепления: 8065876.png (114.6 Kb)


Cr1sTaL Четверг, 11.03.2021, 21:26 | Сообщение # 2799


Сообщений: 2175
Награды: 18
Замечания: 0%
 
Maxsis_Specifications, скачай отсюда. Кнопка "Скачать с сервера".

Работы пользователя
Maxsis_Specifications Суббота, 13.03.2021, 09:50 | Сообщение # 2800


Сообщений: 23
Награды: 0
Замечания: 0%
 
Cr1sTaL, я отсюда как раз и скачивал. <_<

Incurso Вторник, 16.03.2021, 09:56 | Сообщение # 2801


Сообщений: 470
Награды: 15
Замечания: 0%
 
Maxsis_Specifications, Попробуй эту

Попарнопараллельнопорно 8B

Мои работы
PavelTemnikow Воскресенье, 12.09.2021, 12:20 | Сообщение # 2802


Сообщений: 16
Награды: 0
Замечания: 0%
 
Народ есть такой вопрос с темой по читам, где я смогу посмотреть базу, я знаю что они через консоль водятся , но мне надо чтобы ввести их по другому , например не Please giveall ,а SamEnableWeapons к примеру.
так же и please god - К примеру SamEnableGod , искал в класcе player.es и PlayerWeapons.es?


SeriousAlexej Воскресенье, 12.09.2021, 17:55 | Сообщение # 2803


Serious Editor
Сообщений: 1245
Награды: 52
Замечания: 0%
 
GameMP\Console.cpp

#define CHEAT_PREFIX "please"


Найдено простым поиском по решению слова please.


PavelTemnikow Воскресенье, 12.09.2021, 19:26 | Сообщение # 2804


Сообщений: 16
Награды: 0
Замечания: 0%
 
GameMP\Console.cpp - а благодарочка теперь буду иметь ввиду, а то я искал в пределах EntitiesMP

serious_vovachka Среда, 15.09.2021, 10:59 | Сообщение # 2805


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

Мой Steam - https://steamcommunity.com/id/Vladimir_332

Мой Discord - Vladimir_332#8791

время от времени захожу
PavelTemnikow Воскресенье, 05.12.2021, 18:18 | Сообщение # 2806


Сообщений: 16
Награды: 0
Замечания: 0%
 
Народ Всем привет , есть такая проблема , создал я новый класс (CustomEntity) , у меня в этом классе прописаны 2 функции - 1 функция - если у тебя есть Снайп.Винтовка в руках, то в консоль отправлятся текст "Sniper" Компилирует без ошибок ... НО при подборе самой Снайп.Винтовки или же брони нацеленной на этот класс
Редактор вылетает ... Сначала думал что этот класс (PlayerWeapons) добавить в хеш.. - Добавил \ подключил его - #include "EntitiesMP/PlayerWeapons.h" и так же вылетает.( 2 функция с убийством врага работает) Кто сможет сказать где что я не так добавил , или забыл добавить ? сам код прикрепляю
==================================================================================================

[/spoiler] // Temnikov (5 December 2021) //

2021

%{
#include "StdH.h"
#include "EntitiesMP/EnemyBase.h"
#include "EntitiesMP/PlayerWeapons.h"

%}

class CCustomEntity: CRationalEntity {
name "CustomEntity";
thumbnail "Thumbnails\\Trigger.tbn";
features "HasName", "IsTargetable";

properties:

1 CTString m_strName "Name" = "CustomEntity",
2 CTString ClassBaseKill "Class Kill" = "Enemy Base",
// 3 BOOL m_bActive "Active" = TRUE,



4 BOOL KillAllE "Kill All" = FALSE,


5 COLOR ColorBase " Color " = C_WHITE,

6 BOOL WeaponSniper "SniperHelp" = FALSE,
16 CEntityPointer m_penWeapons,

components:

0 class CLASS_PLAYER_WEAPONS "Classes\\PlayerWeapons.ecl",
1 model MODEL_MARKER "Models\\Editor\\Trigger.mdl",
2 texture TEXTURE_MARKER "Models\\Editor\\Camera.tex"



functions:

void Precache(void)
{
PrecacheClass(CLASS_PLAYER_WEAPONS, m_iCurrentWeapon);
}

SLONG GetUsedMemory(void)
{
// initial
SLONG slUsedMemory = sizeof(CCustomEntity) - sizeof(CRationalEntity) + CRationalEntity::GetUsedMemory();
// add some more

slUsedMemory += m_strName.Length();
slUsedMemory += ClassBaseKill.Length();


return slUsedMemory;
}

BOOL AdjustShadingParameters(FLOAT3D &vLightDirection, COLOR &colLight, COLOR &colAmbient) {
colAmbient = ColorBase;
return true;
}

class CPlayerWeapons *GetPlayerWeapons(void)
{
ASSERT(m_penWeapons!=NULL);
return (CPlayerWeapons *)&*m_penWeapons;
}

void SniperA()
{
if (((CPlayerWeapons&)*m_penWeapons).m_iCurrentWeapon==WEAPON_SNIPER)
{
CPrintF("%s : Sniper\n", m_strName);
}
}


void StartCustomEntity()
{

if(KillAllE)
{
FOREACHINDYNAMICCONTAINER(this->GetWorld()->wo_cenEntities, CEntity, iten)
{
CEntity *pen = iten;

if (IsDerivedFromClass(pen, ClassBaseKill))
{
CEnemyBase *penEnemy = (CEnemyBase *)pen;

if (penEnemy->m_bBoss == TRUE || DistanceTo(this, penEnemy) > 250.0f) {
continue;
}

this->InflictDirectDamage(pen, this, DMT_EXPLOSION, penEnemy->GetHealth()+100.0f, pen->GetPlacement().pl_PositionVector, FLOAT3D(0, 1, 0));
}
}
}
}

procedures:

Main()
{



InitAsEditorModel();
SetPhysicsFlags(EPF_MODEL_IMMATERIAL);
SetCollisionFlags(ECF_IMMATERIAL);

// set appearance
SetModel(MODEL_MARKER);
SetModelMainTexture(TEXTURE_MARKER);

wait()
{
on (ETrigger eTrigger):

{

if(WeaponSniper)
{
SniperA();
}

StartCustomEntity();
}
}



return;
}

};


JustRick Воскресенье, 06.03.2022, 15:46 | Сообщение # 2807


Сообщений: 161
Награды: 0
Замечания: 0%
 
Я опередил тут всех по своей глупости, поэтому начну свой вопрос с установки SDK X_X
Для тех, у кого куплен TSE в Стиме обязательно скачивать файлы по типу:
SDK107_DebugBinaries.zip
SDK107_EntitiesSE.zip
SDK107_Includes.zip
SDK107_ModelsSE.zip
?
Если да, то в статье от ZIM сказано, что содержимое этих архивов нужно извлечь по папкам, но дело в том, что внутри этих архивов есть ещё одни, их тоже нужно извлекать, или же нужно просто извлечь только одни архивы? O_o X_X





SLAwww Понедельник, 07.03.2022, 00:29 | Сообщение # 2808


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Цитата PavelTemnikow ()
void SniperA()
{
if (((CPlayerWeapons&)*m_penWeapons).m_iCurrentWeapon==WEAPON_SNIPER)
{
CPrintF("%s : Sniper\n", m_strName);
}
}

У тебя нигде ничего не записывается в переменную m_penWeapons, она указывает на нуль.


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.
Wynerros Понедельник, 07.03.2022, 19:17 | Сообщение # 2809


Ground Angel
Сообщений: 3108
Награды: 9
Замечания: 20%
 
JustRick, посмотри мою статью, может там чуть понятнее для тебя? :D

До сих пор в топе загрузок и просмотров...
Неужели я тоже оставил свой след на этом сайте? А ведь я здесь уже целых двенадцать лет...
Удалил свои старые карты из профиля, на кой они мне. Маппер из меня никудышный.


Мое железо:
CPU - Ryzen 7 2700x
MB - MSI B450M Mortar Max
RAM - 2x16 ADATA XPG GAMMIX D20 3200 mhz
GPU - Palit RTX 2060 StormX 6g
sharafievemie Понедельник, 25.04.2022, 09:34 | Сообщение # 2810


Сообщений: 15
Награды: 0
Замечания: 0%
 
Спасибо!

Делаю классные пушки
Sam_Of_The_Hell Пятница, 17.06.2022, 22:57 | Сообщение # 2811


Сообщений: 15
Награды: 0
Замечания: 0%
 
.

PavelTemnikow Четверг, 30.06.2022, 19:28 | Сообщение # 2812


Сообщений: 16
Награды: 0
Замечания: 0%
 
Народ , есть вопрос : возможно ли в Hud.cpp создать кнопку ,как например в меню Одиночная игра , сетевая и тп, смотрел я класс кнопки в проекте Serious sam :GUI/Gadgets/MGButton.cpp .

НО не как не понимаю как мне это сделать ,
У меня при нажатии кнопки V пояляется рамка , туда хочу поставить кнопку . Кто подскажет как это сделать? Сначала я думал , что надо подключать сам класс кнопки #include "Serioussam/GUI/Gadgets/MGButton.h" , но нет не работает

Прикрепления: 1558199.jpg (383.6 Kb)


e1_42 Понедельник, 08.08.2022, 08:21 | Сообщение # 2813


Сообщений: 24
Награды: 2
Замечания: 0%
 
Ребят, если кто знает, подскажите пожалуйста, как сделать новый тип сообщения в Инертан с помощью SDK!
Ну типа оружие, враги, статистика и т.д.

Добавлено (23.06.2023, 12:20)
---------------------------------------------
Слушайте, я создал новое оружие, но почему-то когда я его хочу поставить на уровень, Editor вылетает. Подскажите пожалуйста, в чём причина

Добавлено (24.06.2023, 15:13)
---------------------------------------------
Точнее это не новая пушка, это старый добрый GhostBuster из Альфы!

case WIT_GHOSTBUSTER: CPlayerWeapons_Precache(1<<(INDEX(WEAPON_GHOSTBUSTER )-1)); break;

Если я в этой строчке после "WEAPON_" пишу "GHOSTBUSTER", то мой editor просто вылетает, когда я ставлю GHOSTBUSTER, а если я там прописываю другое оружие из классики, то во всех 100% случаев item-модель GHOSTBUSTERа отображается в редакторе уровней правильно, а всегда подбирается СНАЙПЕРКА. Даже если я пишу WEAPON_LASER или другое оружие из классики!

Добавлено (24.06.2023, 15:40)
---------------------------------------------
Я даже в Нетриксе сообщение прописал, и самое главное - ОНО АКТИВИРУЕТСЯ! Но с подбором реально проблема!

Сообщение отредактировал e1_42 - Воскресенье, 18.06.2023, 15:37


Жду,когда выйдет сириус сэм революшн SDK
Jack_Stone Суббота, 25.11.2023, 20:15 | Сообщение # 2814


Сообщений: 140
Награды: 1
Замечания: 0%
 
e1_42, сталкивался со всем, что ты описал, но это было очень давно. Так с лёту не скажешь, в чем проблема.
Мой совет: продублируй для гоустбастера всё, что есть и для других пушек в коде, наверное что-то упустил, должно быть аналогично. Хотя я так понимаю, ты это и делал, поэтому просто проверь, идя, например, по коду лазера и сравнивая с тем, что есть для гоустбастера.


Jack_Stone Суббота, 25.11.2023, 20:21 | Сообщение # 2815


Сообщений: 140
Награды: 1
Замечания: 0%
 
У меня тоже есть вопрос: можно динамически изменять объекты на карте (модели, текстуры) во время игры или же во время загрузки уровня, используя настройки игры? <_<
Я хочу сделать альтернативный набор оружия, который можно использовать, не меняя то, что есть на уровне, руками. Иначе говоря переключаться между стандартным набором и новым каким-то образом. Пожалуйста, посоветуйте, если кто знает, как это сделать. Спасибо! :)


Heming_Hitrowski Понедельник, 27.11.2023, 13:33 | Сообщение # 2816


Double Jumper
Сообщений: 883
Награды: 32
Замечания: 0%
 
Jack_Stone, вот первое что пришло на ум
1) объяви переменную в pShell, типа
_pShell->DeclareSymbol("persistent user INDEX plr_iWeaponSet;", &plr_iWeaponSet);

а также переменную, отвечающую за последний выбранный набор оружия
plr_iLastWeaponSet

Добавим plr_iWeaponSet как настройку в расширенных возможностях.

2) Теперь нужно отредактировать метод SetCurrentWeaponModel в PlayerWeapons так, чтобы в зависимости от plr_iWeaponSet аттачилась нужная модель. Переменную из pShell можно взять с помощью метода _pShell->GetINDEX("plr_iWeaponSet");

По идее теперь после загрузки уровня у игрока в руках будет нужное оружие. Также нужно сделать это в PlayerAnimator и Item-классах.

3) Опционально, во время игры: Если iWeaponSet и iLastWeaponSet отличаются, тогда нужно будет убрать аттачменты из рук игрока и вызывать метод SetCurrentWeaponModel снова. По сути очень похоже на механизм со сменой текстуры прицела у игрока.

Как менять Item классы во время игры пока идей нет, но думаю для начала ответ сойдет :) Также надо быть осторожным с сетевой игрой, стоит проверить все это на рассинхроны. Если будут, то можно какие-то блоки кода выполнять через

if (_pNetwork->IsPlayerLocal(this)) {
// ...
}
Сообщение отредактировал Heming_Hitrowski - Понедельник, 27.11.2023, 14:30


Jack_Stone Понедельник, 27.11.2023, 20:27 | Сообщение # 2817


Сообщений: 140
Награды: 1
Замечания: 0%
 
Heming_Hitrowski, большое спасибо за развёрнутый ответ Cool Буду разбираться :)

JustRick Вторник, 12.12.2023, 13:08 | Сообщение # 2818


Сообщений: 161
Награды: 0
Замечания: 0%
 
Решил вот засесть за изучение СДК на классического Сэма (совместно с изучением плюсов) и на моменте настройки программы уже столкнулся сразу со странной ошибкой.
Когда пытаюсь открыть что-либо (изображение снизу)



Программа вылетает



Но я хотел узнать в первую очередь другое. Я вот сижу пока что на 7-ке. И думаю, может мне Вижуал студио на виртуалке запустить лучше? Или всё-таки за семёркой можно на нём работать? Если да, то подскажите пожалуйста как пофиксить эту ошибку. Также, хотелось бы попросить у вас, друзья, если не сложно, скинуть полезные ссылки на несколько гайдов или видео-уроков по плюсам подходящих под работу с СДК Семёна, или отдельно от Сэма вообще мб даже книгу если можете посоветуйте какую-нибудь, мало-ли. Т.к. сам то я программированием почти не занимался, а для проектов то своих хотелось бы данные навыки возыметь.
Сообщение отредактировал JustRick - Среда, 13.12.2023, 09:07





ST27 Вторник, 12.12.2023, 22:12 | Сообщение # 2819


Сообщений: 457
Награды: 6
Замечания: 0%
 
JustRick, по поводу программы: она рабочая даже на Windows 10, но её установка становится сложнее с новыми версиями. Могу только посоветовать заново её переустановить, следуя этим шагам:

1. В главном окне оставить включенным Microsoft Visual C++ 6.0, а всё остальное выключить.
2. Далее зайти под эту опцию (нажать на "Change Option...") и всё включить.
3. Далее зайти под VC++ MFC and Template Libraries, затем MS Foundation Class Libraries и включить эти настройки:

  • Static Libraries for Unicode
  • Shared Libraries for Unicode

4. В этом же месте выключить:

  • Browser Database

5. Вернись назад дважды, зайди под VC++ Runtime Libraries и выключи:

  • CRT Source Code

6. Далее согласиться на "Register environment variables" в следующем окне и продолжить.
7. Если появится окно с предложением "overwrite JIT Settings", нажми "No".
8. После успешной установки (а не какой-либо ошибки или зависания установщика) следует установить Service Pack 6, скачиваемый отдельно.
Сообщение отредактировал ST27 - Вторник, 12.12.2023, 22:13


- My Personal Site -
JustRick Четверг, 14.12.2023, 17:11 | Сообщение # 2820


Сообщений: 161
Награды: 0
Замечания: 0%
 
ST27. Спасибо большое за ответ, пока что не могу проверить, сработает ли этот способ или нет, но отпишу потом, помогло ли :D




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

Статистика