HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > SOHL Custom Build > Переключение оружия в Спирите
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



Переключение оружия в Спирите

Здравствуйте, ув. форумчане. Не знаю были, ли такие вопросы, но я ничего подобного так и не нашел.

Начиная с версии 1.4, в спирите теперь оружие выбираеться с некоторой задержкой, и в это время стрелять нельзя. Мне это нововведение несколько не по душе, но я не знаю что конкретно надо редактировать.

Как сделать так, что б всё было по-старому?

Сообщить модератору | | IP: Записан
Сообщение: 10823

Старое сообщение 12-02-2007 13:34
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



MSteam все просто. У каждой пушки в функции Holster есть переменная m_flHolsterTime или что-то вроде этого. Достаточно это время поставить (для каждой пушки) равным нулю и все вернется на круги своя.

Сообщить модератору | | IP: Записан
Сообщение: 10824

Старое сообщение 12-02-2007 14:52
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



Дядя Миша, спасибо.
Называлось оно правда
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.0;

О, еще вопрос:

В player.cpp, есть следуйщее:

C++ Source Code:
1
void CBasePlayer::Spawn( void )
2
{
3
  //	ALERT(at_console, "PLAYER spawns at time %f\n", gpGlobals->time);
4
 
5
  pev->classname		= MAKE_STRING("player");
6
  [B]pev->health			= 100;[/B]
7
  pev->armorvalue		= 0;
8
  pev->takedamage		= DAMAGE_AIM;

Выделенное жирным - здоровье. Будет ли для меня очень сложной вещью сменить этот параметр прямо в игре, с помощью ентити?

Отредактировано MSteam 12-02-2007 в 20:06

Сообщить модератору | | IP: Записан
Сообщение: 10829

Старое сообщение 12-02-2007 19:57
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


MSteam да вроде можно свободно менять. В спирите есть для этого trigger_changevalue

__________________

Сообщить модератору | | IP: Записан
Сообщение: 10834

Старое сообщение 12-02-2007 20:19
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



XaeroX, энтити, конечно есть, но параметры:

Entity to affect
Keyname to change
New value set

Ввели меня в заблуждение. Пробовал первому задавать значание player, а второму нужное здоровье, но при активации ничего не произошло... Как ею пользоваться-то?

Сообщить модератору | | IP: Записан
Сообщение: 10839

Старое сообщение 12-02-2007 21:03
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



MSteam а никак. Trigger_changevalue - чистая фикция и работает на 5% всех энтить.
а чтобы менять здоровье игрока есть замечательная энтить, называется trigger_hurt

Сообщить модератору | | IP: Записан
Сообщение: 10840

Старое сообщение 12-02-2007 21:55
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша она выше 100 поднять не может.
MSteam сделай так, чтобы она активировалась от триггера игроком, и в поле "Entity to affect" напиши "*locus". Кажется, так.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 10845

Старое сообщение 13-02-2007 08:26
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



Увы, не помогло.

Сообщить модератору | | IP: Записан
Сообщение: 10853

Старое сообщение 13-02-2007 15:46
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


MSteam если ты расскажешь, чего именно тебе надо сделать, можно уже подумать о разных вариантах

__________________

Сообщить модератору | | IP: Записан
Сообщение: 10857

Старое сообщение 13-02-2007 17:16
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



XaeroX
Спасибо, что захотел помочь=)
Ну значит так. Допустим у игрока с начала игры максимально 100 жизней.
Потом с ним чё-то просходит, он пересекает опредёленный триггер, и у него уже максимально может быть 110. Или 50 например.
Не важно, главное что б во время игры можно было изменить максимальное значение...

Хотя было б интересно как это и с бронёй делать, но это уже не так важно.

Сообщить модератору | | IP: Записан
Сообщение: 10861

Старое сообщение 13-02-2007 21:13
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


MSteam
Сделай простенькую энтитю. Вот так, например:

C++ Source Code:
1
class CPlayerDataModifyTrigger : public CBaseDelay
2
{
3
public:
4
  void Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value );
5
};
6
 
7
LINK_ENTITY_TO_CLASS( player_modify, CPlayerDataModifyTrigger );
8
 
9
void CPlayerDataModifyTrigger::Use( CBaseEntity *pActivator, CBaseEntity *pCaller, USE_TYPE useType, float value )
10
{
11
  CBaseEntity *pPlayer;
12
 
13
  if (pActivator->IsPlayer())
14
    pPlayer = pActivator;
15
  else
16
    pPlayer = UTIL_PlayerByIndex(1);
17
 
18
  if ( pPlayer )
19
  {
20
    pPlayer->pev->health = pev->health;
21
    pPlayer->pev->armorvalue = pev->armorvalue;
22
  }
23
}

__________________

Сообщить модератору | | IP: Записан
Сообщение: 10862

Старое сообщение 14-02-2007 06:03
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



Спасибо работает. Правда максимальное значение всё-равно остаётся 100.
Тоесть, если поставить 80 - можно вылечить до 100.
Если 180 - лечится нельзя, пока не будет меньше 100. И выличитьтся тоже можно только до 100.

Хотя, всё-равно спасибо=)

Сообщить модератору | | IP: Записан
Сообщение: 10878

Старое сообщение 14-02-2007 19:18
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32213
Нанёс повреждений: 392 ед.

Рейтинг



MSteam в самом игроке есть ограничитель, который не дает поставить здоровье выше ста.
Ищи дефайн MAX_HEALTH.

Сообщить модератору | | IP: Записан
Сообщение: 10879

Старое сообщение 14-02-2007 19:39
-
MSteam
Житель форума

Группа: Опытный
Дата регистрации: Feb 2007
Проживает: Киев
Сообщений: 296
Возраст: 35

Рейтинг



Дядя Миша, в player.cpp в функции Спавн, нашел строчку:

C++ Source Code:
pev->max_health		= pev->health;

Если мне правильно подсказывает логика, то изменяя одно, должно изменятся и другое...%)
Почему же этого не происходит?=(

Добавлено сегодня в 03:51:

Ага, всё, разобрался. Оно берёт начальное значение.
Буду менять той-же ентитей, с новым параметром.

Дядя Миша и XaeroX, спасибо!

Добавлено сегодня в 04:23:

Эм... Надеюсь, я не слишьком надоел, но у меня еще вопрос:

В клиенте, есть файл cl_until.h, в котором задаётся цвет худа:

C++ Source Code:
1
inline void UnpackRGB(int &r, int &g, int &b, unsigned long ulRGB)\
2
{\
3
r = (ulRGB & 0xFF0000) >>16;\
4
g = (ulRGB & 0xFF00) >> 8;\
5
b = ulRGB & 0xFF;\
6
}


На ресурсе ВЕРК, был тутор где рекомендовалось замнить эту ф-ю на:

C++ Source Code:
1
inline void UnpackRGB(int &r, int &g, int &b, unsigned long ulRGB)
2
{
3
  if ( ulRGB == RGB_YELLOWISH )
4
  {
5
    r = CVAR_GET_FLOAT( "hud_red" );
6
    g = CVAR_GET_FLOAT( "hud_green" );
7
    b = CVAR_GET_FLOAT( "hud_blue" );
8
  }
9
  else
10
  {
11
    r = (ulRGB & 0xFF0000) >>16;
12
    g = (ulRGB & 0xFF00) >> 8;
13
    b = ulRGB & 0xFF;
14
  }
15
}


Таким, образом я иогу менять цвет худа из косоли, такими коммандами как hud_red и т.д.

Но как мне сделать такую этнтити, которая бы меняла худ, по её активации, и самое главное, не заносила этого в конфиг?

Просто я уже делал такую чтуку, но она просто отправляла значения Ред, Грин, Блу в консоль, и при следуйщем старте игры, худ был такой, как в последний раз=(
Я хочу так-же иметь возможность задавать временный цвет, т.е. при след. запуске игры, он снова будет жёлтый...

Сообщить модератору | | IP: Записан
Сообщение: 10881

Старое сообщение 15-02-2007 01:23
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Когда регистрируешь cvar_t, не указывай FCVAR_ARCHIVE, и она не будет писаться в конфиг

__________________

Сообщить модератору | | IP: Записан
Сообщение: 10882

Старое сообщение 15-02-2007 04:31
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 20:40. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > Архив проектов > SOHL Custom Build > Переключение оружия в Спирите
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВЫКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024