Новые сообщения Участники Правила Поиск
Модератор форума: freeknik, SLAwww, thecre, RealCrazyMan  
Помощь по SDK для Serious Sam 1.05/1.07
art-serious Четверг, 06.09.2012, 22:46 | Сообщение # 1621


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



По умолчанию всё центрируется. В предположении ширина текста величины должна сохраняться хоть при 3-значном, 2-значном или даже 1-значном. Но при этом, к примеру, в числе 080 красная цифра должна заменяться на тот самый "пустой" спрайт.

a)
Если делать центрирование по правому краю, то "пустые" спрайты можно сделать отдельным слоем и уже значение накладывать вторым

b)
Если через MakeFONT назначить "пустой" спрайт каким-нибудь символом, можно просто выполнить проверку разрядности числа и прибавлять необходимое кол-во пустых спрайтов.
Этот вариант я пробывал, пока безсупешно.


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
art-serious Четверг, 06.09.2012, 23:17 | Сообщение # 1622


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
А знаешь, голова ещё для таких мелочей варит

Использовал свой вариант b

Прикрепления: 9068904.jpg (89.5 Kb)
Сообщение отредактировал art-serious - Четверг, 06.09.2012, 23:18


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
SLAwww Пятница, 07.09.2012, 02:19 | Сообщение # 1623


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

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 Пятница, 07.09.2012, 17:49 | Сообщение # 1624


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
Quote (SLAwww)
Тебе просто нужно было вывести текст с выравниванием по правому краю?

Из-за дизайна с этими "пустыми" спрайтами, да.
Quote (SLAwww)
Тогда надо было сразу использовать PutTextR

И тут же у меня возникли проблемы с размерами/позиционированием. Я ещё пытался разбить число на три цифры и выводить каждое в отдельной иконке, но это пригодится в полномаштабном редактировании HUD'а. Кажись придется использовать идею Алексея - инициализировать модель в HUD


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
SLAwww Суббота, 08.09.2012, 15:43 | Сообщение # 1625


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

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.
МегаМозг Суббота, 08.09.2012, 17:37 | Сообщение # 1626


Сообщений: 444
Награды: 3
Замечания: 0%
 
SLAwww, Слушай, как мне получить доступ к Player.es через новую энтию, что-то на подобие плауер контрол в моде Lost-Life?
Сообщение отредактировал МегаМозг - Суббота, 08.09.2012, 17:37


Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
SLAwww Суббота, 08.09.2012, 18:22 | Сообщение # 1627


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

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.
МегаМозг Воскресенье, 09.09.2012, 17:34 | Сообщение # 1628


Сообщений: 444
Награды: 3
Замечания: 0%
 
Короче смотри/слушай/читай, допустим, я хочу сделать максимальное число HP игрока, не точным значением, а сделать переменную, и хочу чтобы я смог изменять её в игре через новую энтию, т.е через другую энтию, я хочу изменять максимальное кол-во здоровье игрока, как мне это сделать?

Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
Serious_Master Воскресенье, 09.09.2012, 19:57 | Сообщение # 1629


Сообщений: 19
Награды: 0
Замечания: 0%
 
Всем привет. Что нужно сделать, чтобы HUD был а-ля DooM или Duke Nukem 3D?
Прикрепления: 7582010.jpg (28.2 Kb)
Сообщение отредактировал Serious_Master - Воскресенье, 09.09.2012, 20:01


Дратуте, мыня довут М`дет...
SLAwww Воскресенье, 09.09.2012, 20:18 | Сообщение # 1630


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
МегаМозг, насколько помню, там есть внеклассовые функции GetMaxHealth и GetTopHealth, тебе надо заменить их вызовы на обращения к переменным (создать переменные m_fMaxHealth и m_fTopHealth), затем обращаться к ним у объекта игрока, допустим, ((CPlayer*)GetPlayerEntity(0))->m_fMaxHealth=150.0f;.
Serious_Master, нужно много кодить. =Р


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.
МегаМозг Воскресенье, 09.09.2012, 21:51 | Сообщение # 1631


Сообщений: 444
Награды: 3
Замечания: 0%
 
SLAwww, Так попробую утром) СПС) :)

Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
art-serious Воскресенье, 09.09.2012, 22:05 | Сообщение # 1632


Старый маппер
Сообщений: 652
Награды: 29
Замечания: 0%
 
Quote (Serious_Master)
чтобы HUD был а-ля DooM или Duke Nukem 3D

Отредактировать HUD.cpp

Если интересно, могу свою нароботку выложить
Сообщение отредактировал art-serious - Воскресенье, 09.09.2012, 22:07


[ zc-lab.org ] [ Операция "Новый год" - 40% ]
МегаМозг Понедельник, 10.09.2012, 11:24 | Сообщение # 1633


Сообщений: 444
Награды: 3
Замечания: 0%
 
Quote (SLAwww)
((CPlayer*)GetPlayerEntity(0))->m_fMaxHealth=150.0f;.

SLAwww, Т.е. Таким образом можно изменять "на ходу" скорость бега, размер, текстуры и атачменты?


Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
CAHEK Понедельник, 10.09.2012, 12:26 | Сообщение # 1634


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

Main(EVoid) {
      if (m_EecChar==EYC_SOLDIER) {
         m_EecChar=EYC_SOLDIER;  }

if (m_EecChar==EYC_XXX)
    {
autowait(0.1f);
       switch (IRnd()%20) {
case 0:  m_EecChar=EYC_SOLDIER; break;
case 1:  m_EecChar=EYC_SERGEANT; break;
     case 2:  m_EecChar=EYC_Z2; break;
case 3:  m_EecChar=EYC_Z3; break;
………………………….
     case 20:  m_EecChar=EYC_Z20; break;
    }
}
switch (m_EecChar) {
case SOLDIER
тут идут характеристики врага
Сообщение отредактировал CAHEK - Понедельник, 10.09.2012, 12:31


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


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
МегаМозг, да.

CAHEK, во-первых:
Code
if (m_EecChar==EYC_SOLDIER) {  
     m_EecChar=EYC_SOLDIER;  }

Это зачем? Убери. Во-вторых, autowait(0.1f); должен стоять перед if(m_EecChar==EYC_XXX). А ещё раньше должно стоять присвоение врагу модели и текстуры. Если у него в редакторе не будет модели и текстуры, он будет каждый раз вылетать, поэтому назначь любую, а уже после начала игрового времени модель, текстура и другие параметры будут меняться. В-третьих, последним будет не case 20:, а case 19:, и после него ещё default: (можно вместо 19-го). Во втором свитче убедись, что не забыл ни одного ключевого слова 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.
SeriousAlexej Понедельник, 17.09.2012, 23:30 | Сообщение # 1636


Serious Editor
Сообщений: 1245
Награды: 52
Замечания: 0%
 
У меня вопрос - каким способом можно пройтись по массиву всех клавиш клавиатуры и послать эвент **поднять клавишу**, если она зажата?

Нашел вот такой пример, но он не работает :(
Code
unsigned char KeyStates[256];
GetKeyboardState(KeyStates);
   
for (int i = 0; i < 256; i++)
{
       if (KeyStates[i] & 0x8000)
       {
     keybd_event(i, 0, KEYEVENTF_KEYUP, 0);
       }
}


И этот...
Code
DWORD i        = 0x00;

     do
     {
         if( GetAsyncKeyState(i)&0x1 )
         keybd_event(i, 0, KEYEVENTF_KEYUP, 0);

         i++;
     }
     while( i < 0xFF );


А перебирать вручную все идентификаторы виртуальных клавиш - слишком громоздко и нелепо(


SLAwww Вторник, 18.09.2012, 00:45 | Сообщение # 1637


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

Просто поменять значение ctl_-переменной можно через _pShell->Execute.


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.
SeriousAlexej Вторник, 18.09.2012, 00:50 | Сообщение # 1638


Serious Editor
Сообщений: 1245
Награды: 52
Замечания: 0%
 
Я менял, но поскольку виртуальная клавиша все равно зажата, то переменная через момент опять == 1

SLAwww Вторник, 18.09.2012, 04:53 | Сообщение # 1639


Рряа? ^..^
Сообщений: 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.
SeriousAlexej Вторник, 18.09.2012, 09:11 | Сообщение # 1640


Serious Editor
Сообщений: 1245
Награды: 52
Замечания: 0%
 
Проблема в том, что залипать могут все клавиши, а не только кнопки управления. Т.е. по-настоящему я клавишу не держу, но она для компьютера она в зажатом состоянии. Просто сообщения о поднятии клавиши отправляются не SeriousSam.exe, а другому приложению, а когда Сэм вновь стает активной задачей, клавиши залипают. Приходится их зажать и отпустить, что бы послать сообщение о поднятии кнопки. Так что останавливать игрока насильно с помощью SetDesiredTranslation/Rotation бесполезно. Вот я и пытаюсь найти способ полегче, что бы послать всем клавишам KEYEVENTF_KEYUP

Добавлено (18.09.2012, 09:11)
---------------------------------------------
мм... Надо попробовать сделать цикл где числа от 1 до 254 переводятся в НЕХ и послать им KEYEVENTF_KEYUP...

МегаМозг Вторник, 18.09.2012, 10:08 | Сообщение # 1641


Сообщений: 444
Награды: 3
Замечания: 0%
 
Кстати, на счёт клавиш, каким образом заставить триггер сбрасываться при нажатии клавиши? То бишь я хочу попытаться сделать диалоги в игре...

Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
CAHEK Вторник, 18.09.2012, 11:59 | Сообщение # 1642


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

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


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

МегаМозг, _pShell->GetINDEX(m_strParam) вернёт 1, если, допустим, m_strParam - это "ctl_bMoveForward", и зажата кнопка движения вперёд (если не зажата - вернёт 0). Просто совершай эту проверку в цикле. Это самый лёгкий способ, без возни с классом игрока.

CAHEK, ты это серьёзно? -_- Может, у тебя две разных сущности, а не просто две функции?


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.
МегаМозг Среда, 19.09.2012, 11:07 | Сообщение # 1644


Сообщений: 444
Награды: 3
Замечания: 0%
 
SLAwww, Т.е. нужно ещё создавать доп кнопки "да" и "нет", если я хочу диалог?)

Мои работы....


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
SLAwww Среда, 19.09.2012, 20:27 | Сообщение # 1645


Рряа? ^..^
Сообщений: 2398
Награды: 27
Замечания: 0%
 
Нет, нужно создать энтити, которая будет в цикле проверять _pShell->GetINDEX(m_strParam).

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 Пятница, 21.09.2012, 12:28 | Сообщение # 1646


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

Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
SLAwww Пятница, 21.09.2012, 16:27 | Сообщение # 1647


Рряа? ^..^
Сообщений: 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.
CAHEK Среда, 26.09.2012, 15:23 | Сообщение # 1648


Сообщений: 794
Награды: 16
Замечания: 0%
 
И еще вопрос.
Где прописаны системы частиц (Particles.es я не обнаружил)


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


Ground Angel
Сообщений: 3108
Награды: 9
Замечания: 20%
 
Ищи исходник Particles.cpp в папке Entities\Common.

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


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


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

Как зовут систему частиц крови.

Ну и еще.
Я сделал ствол с нуля но при этом столкнулся с ограничением количества видов оружия. Как его убрать.
Сообщение отредактировал CAHEK - Понедельник, 01.10.2012, 19:07


Всё очень серьёзно.
P.S. Не пишите мне на Email, пишите в Л.С.
Поиск:

Статистика


Кто сегодня был