HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > weapon_flamethrower
Не получилось немного...
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



Unhappy weapon_flamethrower

Доброго времени суток!Вобщем.проблема такова:делал огнемет по всем известному туториалу.Вроде бы все правильно скомпилировалось и т.д.
Но при попытке поставить weapon_flamethrower на карту его там просто нет.С чем это может быть связано?В .fgd энтитю не прописывал-может,в связи с этим?

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

Старое сообщение 11-08-2012 13:42
- За что?
fire64
Житель форума

Дата регистрации: Apr 2007
Проживает: Москва
Сообщений: 2362
Возраст: 35

Рейтинг



Для начала, о каком туторе речь?
Ты уверен, что в LIN_ENTITY_TO_CLASS указана именно та интятя, что ты поместил на карту?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей

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

Старое сообщение 11-08-2012 14:14
- За что?
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



HALF-LIFE SDK TUTORIALS Release 1.0 от hl-lab

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

Старое сообщение 11-08-2012 14:21
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Сцылку довай. Я о таком, например, впервые слышу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

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

Старое сообщение 11-08-2012 14:45
-
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



Дядя Миша
http://hl-info.ru/load/48-1-0-1010

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

Старое сообщение 11-08-2012 14:49
- За что?
HAWK0044
Житель форума

Дата регистрации: Oct 2010
Проживает: Анапа
Сообщений: 563
Возраст: 28

Рейтинг



anonymous2797 в фгд и не надо прописывать. ПОпробуй тутор заного сделать да и всё.

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

Старое сообщение 11-08-2012 14:52
- За что?
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



Вот код flamethrower.cpp

code:
#include "extdll.h" #include "util.h" #include "cbase.h" #include "monsters.h" #include "weapons.h" #include "nodes.h" #include "player.h" #include "soundent.h" #include "gamerules.h" enum flamethrower_e { FLAMETHROWER_LONGIDLE, FLAMETHROWER_IDLE1, FLAMETHROWER_RELOAD, FLAMETHROWER_DEPLOY, FLAMETHROWER_HOLSTER, FLAMETHROWER_SHOOT, }; class CFLAMETHROWER : public CBasePlayerWeapon { public: void Spawn( void ); void Precache( void ); int iItemSlot( void ) { return 4; } int GetItemInfo(ItemInfo *p); int AddToPlayer( CBasePlayer *pPlayer ); void PrimaryAttack( void ); BOOL Deploy( void ); void Holster( int skiplocal = 0 ); void Reload( void ); void WeaponIdle( void ); float m_flNextAnimTime; }; LINK_ENTITY_TO_CLASS( weapon_flamethrower, CFLAMETHROWER ); void CFLAMETHROWER::Spawn( ) { pev->classname = MAKE_STRING("weapon_flamethrower"); Precache( ); SET_MODEL(ENT(pev), "models/w_flamethrower.mdl"); m_iId = WEAPON_flamethrower; m_iDefaultAmmo = 100; FallInit(); } void CFLAMETHROWER::Precache( void ) { PRECACHE_MODEL("models/v_flamethrower.mdl"); PRECACHE_MODEL("models/w_flamethrower.mdl"); PRECACHE_MODEL("models/p_flamethrower.mdl"); PRECACHE_MODEL("sprites/flamesteam.spr"); PRECACHE_MODEL("models/w_flamefuel.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); PRECACHE_SOUND("weapons/flamethrower_reload.wav"); PRECACHE_SOUND("weapons/flame_hitwall.wav"); PRECACHE_SOUND("items/clipinsert1.wav"); PRECACHE_SOUND("items/cliprelease1.wav"); PRECACHE_SOUND ("weapons/flamethrower.wav"); PRECACHE_SOUND ("weapons/357_cock1.wav"); m_flNextPrimaryAttack = gpGlobals->time + 0.5; } int CFLAMETHROWER::GetItemInfo(ItemInfo *p) { p->pszName = STRING(pev->classname); p->pszAmmo1 = "fuel"; p->iMaxAmmo1 = _FUEL_MAX_CARRY; p->pszAmmo2 = NULL; p->iMaxAmmo2 = -1; p->iMaxClip = 100; p->iSlot = 4; p->iPosition = 4; p->iFlags = 0; p->iId = m_iId = WEAPON_flamethrower; p->iWeight = FLAMETHROWER_WEIGHT; return 1; } int CFLAMETHROWER::AddToPlayer( CBasePlayer *pPlayer ) { if ( CBasePlayerWeapon::AddToPlayer( pPlayer ) ) { MESSAGE_BEGIN( MSG_ONE, gmsgWeapPickup, NULL, pPlayer->pev ); WRITE_BYTE( m_iId ); MESSAGE_END(); return TRUE; } return FALSE; } BOOL CFLAMETHROWER::Deploy( ) { return DefaultDeploy( "models/v_flamethrower.mdl", "models/p_flamethrower.mdl", FLAMETHROWER_DEPLOY, "mp5" ); } void CFLAMETHROWER::Holster( int skiplocal ) { SendWeaponAnim( FLAMETHROWER_HOLSTER ); } void CFLAMETHROWER::PrimaryAttack( void ) { if (m_pPlayer->pev->waterlevel == 3) { PlayEmptySound( ); m_flNextPrimaryAttack = gpGlobals->time + 0.15; return; } if (m_iClip <= 0) { PlayEmptySound(); m_flNextPrimaryAttack = 0.15; return; } m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME; m_pPlayer->m_iWeaponFlash = NORMAL_GUN_FLASH; m_iClip--; SendWeaponAnim( FLAMETHROWER_SHOOT ); m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/flamethrower.wav", 0.8, ATTN_NORM); UTIL_MakeVectors( m_pPlayer->pev->v_angle + m_pPlayer->pev->punchangle ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 16 + gpGlobals->v_right * 5 + gpGlobals->v_up * -10, gpGlobals->v_forward * 900 ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 16 + gpGlobals->v_right * 10 + gpGlobals->v_up * -15, gpGlobals->v_forward * 920 ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 24 + gpGlobals->v_right * 15 + gpGlobals->v_up * -20, gpGlobals->v_forward * 940 ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 24 + gpGlobals->v_right * 5 + gpGlobals->v_up * -10, gpGlobals->v_forward * 960 ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 32 + gpGlobals->v_right * 10 + gpGlobals->v_up * -15, gpGlobals->v_forward * 980 ); CFlame::ShootFlame( m_pPlayer->pev, m_pPlayer->pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_forward * 32 + gpGlobals->v_right * 15 + gpGlobals->v_up * -20, gpGlobals->v_forward * 1000 ); MESSAGE_BEGIN( MSG_PVS, SVC_TEMPENTITY, pev->origin ); WRITE_BYTE( TE_DLIGHT ); WRITE_COORD( pev->origin.x ); WRITE_COORD( pev->origin.y ); WRITE_COORD( pev->origin.z ); WRITE_BYTE( 75 ); WRITE_BYTE( 128 ); WRITE_BYTE( 128 ); WRITE_BYTE( 0 ); WRITE_BYTE( 5 ); WRITE_BYTE( 10 ); MESSAGE_END(); m_flNextPrimaryAttack = gpGlobals->time + 0.1; m_flTimeWeaponIdle = gpGlobals->time + 5; m_pPlayer->pev->punchangle.x -= 1; } void CFLAMETHROWER::Reload( void ) { int iResult; if ( m_iClip == 100 ) { m_flNextPrimaryAttack = gpGlobals->time + 0.5; return; } if (m_iClip == 0) { iResult = DefaultReload( 100, FLAMETHROWER_RELOAD, 4.3 ); EMIT_SOUND(ENT(pev), CHAN_ITEM, "weapons/flamethrower_reload.wav", 1, ATTN_NORM); } if (iResult) { m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 ); } } void CFLAMETHROWER::WeaponIdle( void ) { ResetEmptySound( ); m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES ); if (m_flTimeWeaponIdle > gpGlobals->time) return; int iAnim; switch ( RANDOM_LONG( 0, 1 ) ) { case 0: iAnim = FLAMETHROWER_IDLE1; break; default: case 1: iAnim = FLAMETHROWER_LONGIDLE; break; } SendWeaponAnim( iAnim ); m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 ); } class CFLAMETHROWERAmmo : public CBasePlayerAmmo { void Spawn( void ) { Precache( ); SET_MODEL(ENT(pev), "models/w_flamefuel.mdl"); CBasePlayerAmmo::Spawn( ); } void Precache( void ) { PRECACHE_MODEL ("models/w_flamefuel.mdl"); PRECACHE_SOUND("items/9mmclip1.wav"); } BOOL AddAmmo( CBaseEntity *pOther ) { int bResult = (pOther->GiveAmmo( 50, "fuel", _FUEL_MAX_CARRY ) != -1); if (bResult) { EMIT_SOUND(ENT(pev), CHAN_ITEM, "items/9mmclip1.wav", 1, ATTN_NORM); } return bResult; } }; LINK_ENTITY_TO_CLASS( ammo_fuel, CFLAMETHROWERAmmo );

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

Старое сообщение 11-08-2012 16:54
- За что?
HAWK0044
Житель форума

Дата регистрации: Oct 2010
Проживает: Анапа
Сообщений: 563
Возраст: 28

Рейтинг



а ты его пробовал через give получить и потом выбрать через консоль командой weapon_flamethrower

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

Старое сообщение 11-08-2012 17:33
- За что?
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



Да.На give отвечает:
NULL Ent in GiveNamedItem

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

Старое сообщение 12-08-2012 02:40
- За что?
HAWK0044
Житель форума

Дата регистрации: Oct 2010
Проживает: Анапа
Сообщений: 563
Возраст: 28

Рейтинг



интересно , но класс тут в самом файле объявляется , к вечеру напишу тутор под HLSDK 2.3

Добавлено 12-08-2012 в 14:32:

И еще , ресурсы для этого огнемёта (спрайты, модели,звуки) кто-нибудь дайте мне, а то как тестить?

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

Старое сообщение 12-08-2012 10:32
- За что?
anonymous2797
Новичок

Дата регистрации: Aug 2012
Проживает: Экибастуз
Сообщений: 11
Возраст: 27

Рейтинг



HAWK0044 ,вот:http://rghost.ru/39742061
Правда,модельку канистры с бензином(аммо) автор сделать забыл.

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

Старое сообщение 12-08-2012 14:07
- За что?
HAWK0044
Житель форума

Дата регистрации: Oct 2010
Проживает: Анапа
Сообщений: 563
Возраст: 28

Рейтинг



http://www.hlfx.ru/forum/showthread...=&postid=105321

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

Старое сообщение 12-08-2012 17:36
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 19:03. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > weapon_flamethrower
Не получилось немного...
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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