HLFX.Ru Forum
Показать все 12 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Дать оружие (https://hlfx.ru/forum/showthread.php?threadid=2208)


Отправлено Jackass 20-06-2010 в 02:55:

Half-Life Дача оружия

Доброго времени суток товарищи!!!

От у меня назрел такой вопрос. Стандартные вещи которые даются игроку нахоятся
В файле: multiplay_gamerule.cpp
В функции: void CHalfLifeMultiplay :: PlayerSpawn( CBasePlayer *pPlayer )

ну и там:

if ( addDefault )
{
pPlayer->GiveNamedItem( "weapon_crowbar" );
ля ля ля.

Это понятно... Всё это оружие даётся по стандарту каждому...

А как сделать проверку на модель. Т.е. Предположим:

code:
Если - модель Зомбя Даётся оружие: АвтоматеГ ПистолетеГ и т.д А если Модель Барни Даётся оружие: АвтоматеГ Касточка...

Вот.. что то в роде этого... Подскажите плиз.

Чё то зачистил я с вопросами... ))


Отправлено maxbars 20-06-2010 в 08:22:

Это ты для сервера делаешь??

__________________
ьфч


Отправлено Дядя Миша 20-06-2010 в 08:41:

Jackass а что такое касточка?
Проверку на модель можно сделать так:

C++ Source Code:
1
if( FStrEq( g_engfuncs.pfnInfoKeyValue(g_engfuncs.pfnGetInfoKeyBuffer(edict()), "model"), "models/player/barney/barney.mdl" ))
2
{
3
  // касточка
4
}

А вообще про дачу оружия можно обалденный мод сбацать:
Тут такая дача, на ней тёща, крестьяне во дворе...

__________________
My Projects: download page

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

Цитата:

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


Отправлено maxbars 20-06-2010 в 08:42:

if("barney.mdl")
{
// pPlayer->GiveNamedItem( "weapon_9mmhandgun" );
pPlayer->GiveNamedItem( "weapon_9mmAR");
}

if( "zombie.mdl")
{
pPlayer->GiveNamedItem("weapon_crossbow");
}

Как-то вот так...
После цикла ставь..
Это я написал даже не проверив в игре но должно работать!

__________________
ьфч


Отправлено Дядя Миша 20-06-2010 в 08:44:

Цитата:
maxbars писал:
Как-то вот так...
После цикла ставь..
Это я написал даже не проверив в игре но должно работать!

Ты дурак чтоле? Тут и проверять не надо, чтобы понять что оно работать не будет никогда.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 20-06-2010 в 08:45:

Дядя Миша
Ты разве не в курсе, что pev->model у игрока всегда равна "models/player.mdl"? Вот так надо:

C++ Source Code:
if( FStrEq( g_engfuncs.pfnInfoKeyValue( g_engfuncs.pfnGetInfoKeyBuffer( pl->edict() ), "model" ), "barney" ))
{
  // касточка
}

__________________

xaerox on Vivino


Отправлено Jackass 20-06-2010 в 08:58:

Дядя Миша... хотел написать Касочка )))

Ага.. как довать понял.. но.. объясните дураку почему на:
pl->edict ругается матом... ???


Отправлено maxbars 20-06-2010 в 09:08:

Потомучто надо писать pPlayer->edict//

Добавлено 20-06-2010 в 13:08:

Просто команды pl нету но есть pPlayer

__________________
ьфч


Отправлено Jackass 20-06-2010 в 09:16:

Дядя Миша
XaeroX
maxbars

Падаю ниц!!! ЦЕЛУЮ НОГИ!!!

ОГРОМНОЕ СПАСИБО!!!

П.С.

Кому интересно и надо:

if( FStrEq( g_engfuncs.pfnInfoKeyValue( g_engfuncs.pfnGetInfoKeyBuffer( pPlayer->edict() ), "model" ), "Название модели" ))
{
pPlayer->GiveNamedItem( "Название пукалки" );
}


Отправлено Дядя Миша 20-06-2010 в 10:45:

Цитата:
XaeroX писал:
Ты разве не в курсе, что pev->model у игрока всегда равна "models/player.mdl"?

Да забыл совсем, потом поправил код.

__________________
My Projects: download page

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

Цитата:

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


Отправлено XaeroX 20-06-2010 в 11:04:

Дядя Миша все равно у тебя неправильный код. В инфостринге хранится название модели, а не полный путь

__________________

xaerox on Vivino


Отправлено Дядя Миша 20-06-2010 в 11:54:

Цитата:
XaeroX писал:
В инфостринге хранится название модели, а не полный путь

дык я и не проверял

__________________
My Projects: download page

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

Цитата:

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


Временная зона GMT. Текущее время 02:08.
Показать все 12 сообщений этой темы на одной странице

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