Новые сообщения Участники Правила Поиск

Страница 55 из 91«1253545556579091»
Модератор форума: SLAwww, thecre, RealCrazyMan 
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Помощь по SDK для Serious Sam 1.05/1.07
art-serious Среда, 05.09.2012, 18:43 | Сообщение # 1621


Старый маппер
Сообщений: 630
Награды: 26
Замечания: 0%
 
error C2660: 'PutTextR' : function does not take 1 parameters

И собсно сам код
HUD_DrawText( fCol-20, fRow-3, _pDP->PutTextR(strValue), NONE, fNormValue);

Кажись мне придется полностью переписывать вывод вместо HUD_DrawText на что-то вроде strAmmo.PrintF( "%d", iAmmo);
Сообщение отредактировал art-serious - Среда, 05.09.2012, 18:56


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
SLAwww Среда, 05.09.2012, 20:39 | Сообщение # 1622


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Пфф. Ты умеешь читать?
Quote (art-serious)
function does not take 1 parameters

"Функция принимает не один аргумент". Это означает, что функция принимает другое число аргументов! Вот её прототип:
Code
void PutTextR(   const CTString &strText, PIX pixX0, PIX pixY0, const COLOR colBlend=0xFFFFFFFF) const;

Это означает, что твой код должен был быть примерно таким:
Code
HUD_DrawText( fCol-20, fRow-3, _pDP->PutTextR(strValue, pixWidth, pixHeight), NONE, fNormValue);

pixWidth и pixHeight - это PIX-переменные, отвечающие за размер элемента. Аргумент цвета можно опустить, потому что у него задано значение по умолчанию.


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 Среда, 05.09.2012, 21:54 | Сообщение # 1623


Старый маппер
Сообщений: 630
Награды: 26
Замечания: 0%
 
error C2664: 'HUD_DrawText' : cannot convert parameter 3 from 'void' to 'const class CTString &'
Expressions of type void cannot be converted to other types


Сам код
Code
HUD_DrawText( fCol-80, fRow-32, _pDP->PutTextR(strValue, _pixDPWidth-8*fCharWidth, fCharHeight*i+fOneUnit*2), NONE, fNormValue);


Как мне понятно, он не может "текст и Expressions" конвертировать в прочие типы, то есть подразумевается конвертирование числа 1.99999999, которое нельзя сделать
Сообщение отредактировал art-serious - Среда, 05.09.2012, 22:05


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
SLAwww Четверг, 06.09.2012, 00:21 | Сообщение # 1624


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
Quote
cannot convert parameter 3 from 'void' to 'const class CTString &'

Третий аргумент должен быть типа CTString, а он у тебя имеет тип void. Значит, нужно вот так:
Code
HUD_DrawText( fCol-80, fRow-32, strValue, NONE, fNormValue);


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 Четверг, 06.09.2012, 21:49 | Сообщение # 1625


Старый маппер
Сообщений: 630
Награды: 26
Замечания: 0%
 
брр... Но это ведь стандартный вывод. То что ты предложил
_pDP->PutTextR(strValue, pixWidth, pixHeight) и есть модификация самого strValue
Сообщение отредактировал art-serious - Четверг, 06.09.2012, 21:49


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
SLAwww Четверг, 06.09.2012, 22:29 | Сообщение # 1626


Рряа? ^..^
Сообщений: 2366
Награды: 28
Замечания: 0%
 
У strValue нет никаких "модификаций", а PutTextR возвращает void, когда тебе нужен CTString.

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 Четверг, 06.09.2012, 22:46 | Сообщение # 1627


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



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

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

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


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
art-serious Четверг, 06.09.2012, 23:17 | Сообщение # 1628


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

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

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


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
SLAwww Пятница, 07.09.2012, 02:19 | Сообщение # 1629


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


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

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

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


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
SLAwww Суббота, 08.09.2012, 15:43 | Сообщение # 1631


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


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


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


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


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


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

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


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


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


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


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


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

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


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


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

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

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


[ zc-lab.org ] [ Memes list ] [ Operation "New Year" - 16% ]
МегаМозг Понедельник, 10.09.2012, 11:24 | Сообщение # 1639


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

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


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


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


Сообщений: 698
Награды: 7
Замечания: 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 | Сообщение # 1641


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


Serious Editor
Сообщений: 1200
Награды: 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 | Сообщение # 1643


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


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


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


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


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

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


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


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

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


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


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

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


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


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

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


Увлекаешься дядей сэдом? Тогда тебе >>сюда<<!
Форум » Serious Sam » Серьёзное редактирование » Помощь по SDK для Serious Sam 1.05/1.07 (Вопросы по комплекту средств разработки для Serious Sam 1.)
Страница 55 из 91«1253545556579091»
Поиск: