Пятница, 19.04.2024, 08:31
Crazy Arts DoAm
                Вы вошли как Гость | Группа Гости |  RSS Приветствую Вас Гость
Главная | Каталог статей | Мой профиль | Выход | Регистрация | Вход
Меню сайта

Наши друзья
HLDM RMF TeaM HLBase Half-Life Страйдеры Half-Life: Confession Все для игр VALVE

Форма входа

Категории раздела
HL SDK [9]
Всё о ХЛ СДК
HL Source SDK [2]
Всё о кодинге под Сойсом
Маппинг HL [0]
Маппинг CS [1]
Маппинг под соусом(HL2, CSS, ....) [2]
Моделинг [0]
Текстуринг [0]
Серверы [2]

Поиск

Мини-чат

Наш опрос
Оцените мой сайт
Всего ответов: 27
Хотите видеть ещё опросы?
Пишите в Предложения в форуме

Главная » Статьи » Наши статейки » HL SDK

Низкоуровневый моддинг (HLSDK)
1.Скорость стрельбы
Изменить её можно в файлах с оружиями (python.cpp, mp5.cpp, ...)
в функциях типа:

 void имя_оружия::PrimaryAttack()

Для этого найдите там строчки, сходные с следующими:
 m_flNextPrimaryAttack = некоторое_значение;

Значение переменной m_flNextPrimaryAttack - это и есть скорострельность оружия в игре
(Для альтернативного режима изменять m_flNextSecondaryAttack в void имя_оружия::SecondaryAttack(), но не играйте со скорость стрельбы в альтернативой атаке в файле python.cpp!!!)

Значение переменной вычисляется формулой:
 1/кол-во_выстрелов_в_секунду
То есть - если вы хотите, чтобы ваше орудие выпускало за 1 сек. 6 пуль, надо поставить значение m_flNextPrimaryAttack в 0.33.

2.Стрельба под водой
Во многих из вышеперечисленных файлах есть похожие строчки:
// don't fire underwater
if (m_pPlayer->pev->waterlevel == 3)
{
       PlayEmptySound( );
       m_flNextPrimaryAttack = 0.15;
       return;
}

Это означает, что оружие под водой не стреляет
Эту СПРАВЕДЛИВОСТЬ можно исправить очень просто - изменить сие строчки на следующие:
// don't fire underwater
//if (m_pPlayer->pev->waterlevel == 3)
//{
//       PlayEmptySound( );
//       m_flNextPrimaryAttack = 0.15;
//       return;
//}

Или вовсе их убрать (не советую)

3.Количество патронов в магазине и их максимальное кол-во

Все значения есть в файле weapons.h (113 строка):

// weapon clip/carry ammo capacities
#define URANIUM_MAX_CARRY        100
#define    _9MM_MAX_CARRY            240
#define _357_MAX_CARRY            240
#define BUCKSHOT_MAX_CARRY        240
#define BOLT_MAX_CARRY            240
#define ROCKET_MAX_CARRY        240
#define HANDGRENADE_MAX_CARRY    240
#define SATCHEL_MAX_CARRY        240
#define TRIPMINE_MAX_CARRY        240
#define SNARK_MAX_CARRY            240
#define HORNET_MAX_CARRY        240
#define M203_GRENADE_MAX_CARRY    240

// the maximum amount of ammo each weapon's clip can hold
#define WEAPON_NOCLIP            -1

//#define CROWBAR_MAX_CLIP        WEAPON_NOCLIP
#define GLOCK_MAX_CLIP            20
#define PYTHON_MAX_CLIP            8
#define MP5_MAX_CLIP            32
#define MP5_DEFAULT_AMMO        30
#define SHOTGUN_MAX_CLIP        24
#define CROSSBOW_MAX_CLIP        5
#define RPG_MAX_CLIP            240
#define GAUSS_MAX_CLIP            WEAPON_NOCLIP
#define EGON_MAX_CLIP            WEAPON_NOCLIP
#define HORNETGUN_MAX_CLIP        WEAPON_NOCLIP
#define HANDGRENADE_MAX_CLIP    WEAPON_NOCLIP
#define SATCHEL_MAX_CLIP        WEAPON_NOCLIP
#define TRIPMINE_MAX_CLIP        WEAPON_NOCLIP
#define SNARK_MAX_CLIP            WEAPON_NOCLIP


// the default amount of ammo that comes with each gun when it spawns
#define GLOCK_DEFAULT_GIVE            20
#define PYTHON_DEFAULT_GIVE            8
#define MP5_DEFAULT_GIVE            30
#define MP5_DEFAULT_AMMO            32
#define MP5_M203_DEFAULT_GIVE        1
#define SHOTGUN_DEFAULT_GIVE        12
#define CROSSBOW_DEFAULT_GIVE        5
#define RPG_DEFAULT_GIVE            24
#define GAUSS_DEFAULT_GIVE            20
#define EGON_DEFAULT_GIVE            20
#define HANDGRENADE_DEFAULT_GIVE    5
#define SATCHEL_DEFAULT_GIVE        1
#define TRIPMINE_DEFAULT_GIVE        1
#define SNARK_DEFAULT_GIVE            5
#define HIVEHAND_DEFAULT_GIVE        120

// The amount of ammo given to a player by an ammo item.
#define AMMO_URANIUMBOX_GIVE        20
#define AMMO_GLOCKCLIP_GIVE            GLOCK_MAX_CLIP
#define AMMO_357BOX_GIVE            PYTHON_MAX_CLIP
#define AMMO_MP5CLIP_GIVE            MP5_MAX_CLIP
#define AMMO_CHAINBOX_GIVE            240
#define AMMO_M203BOX_GIVE            2
#define AMMO_BUCKSHOTBOX_GIVE        48
#define AMMO_CROSSBOWCLIP_GIVE        CROSSBOW_MAX_CLIP
#define AMMO_RPGCLIP_GIVE            RPG_MAX_CLIP
#define AMMO_URANIUMBOX_GIVE        20
#define AMMO_SNARKBOX_GIVE            5

Первый абзац - сколько всего можно нести с собой патронов данного типа (у меня не оригинальные значения - у вас они будут отличатся)

2ой - максимальное кол-во патронов в магазине (не изменяйте WEAPON_NOCLIP на другие значения - могут возникнуть ошибки!!!)

3ий - сколько дать патронов игроку, когда он подберёт данное оружие

4ый - сколько дать патронов игроку, когда он подберёт магазин к данному оружию

Изменяйте на свое усмотрение, но помните:
(!) значения не должны превышать 255 и желательно чтобы максимум патронов  был кратен кол-ву патронов в магазине

4.Здоровье и Броня


В файле player.cpp(2803):
pev->max_health        = 100;
Это - максимальное здоровье - не делайте его больше 255(!!!)

Категория: HL SDK | Добавил: Админко (06.04.2009)
Просмотров: 1266 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Инфа
Привет: Гость

Сообщения:

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!

Статистика

Онлайн всего: 1
Гостей: 1
Юзеров: 0

GeoIP

Наши баннеры

Сайт CrazyArts

[ Получить код баннера]

Copyright CrazyArts © 2024 This site is using individual dizigne called CombineDiz, made by MadKing, CrazyArts in 2009 year