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

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- SOHL Custom Build (https://hlfx.ru/forum/forumdisplay.php?forumid=15)
-- Message in spirit (https://hlfx.ru/forum/showthread.php?threadid=189)


Отправлено Cool.T 20-01-2006 в 09:09:

Question Message in spirit

Люди суть моей темы в том чтоб вы мне подсказали как можно сделать следуюшие.Я у себя в моде хотель сделать статус для игрока которий после определёного количества убийст менялся премеру чтоб менялся мессаче ша обясню


После 10 килс сробатывает функция

void CBasePlayer::Status1()
MESSAGE_BEGIN( MSG_ONE, gmsgST1HUD, NULL, m_pPlayer->pev );
WRITE_BYTE( 1);
MESSAGE_END();

потом через 40 килсс

void CBasePlayer::Statuы2()
MESSAGE_BEGIN( MSG_ONE, gmsgST2HUD, NULL, m_pPlayer->pev );
WRITE_BYTE( 2);
MESSAGE_END();


MESSAGE_BEGIN( MSG_ONE, gmsgST1HUD, NULL, m_pPlayer->pev );
WRITE_BYTE( 0);
MESSAGE_END();
===========================================
Вот я хотел-бы узнать как мне сделать чтоб функция сробатывала через определёное количество убийст?

__________________
В такую строчку не поместится


Отправлено XaeroX 20-01-2006 в 11:16:

Тебе лучше мессаги не передавать, а сразу на клиенте рисовать именно нужный статус. А на клиенте можно узнать кол-во убийств - посмотри код окошка счета в мультиплеере.

__________________

xaerox on Vivino


Отправлено Cool.T 20-01-2006 в 12:24:

Question

Тебе лучше мессаги не передавать, а сразу на клиенте рисовать именно нужный статус.
Почему?

__________________
В такую строчку не поместится


Отправлено XaeroX 20-01-2006 в 12:52:

Ну как почему... Потому что не надо определять момент изменения числа убийств, да и трафик сэкономишь.

__________________

xaerox on Vivino


Отправлено Cool.T 20-01-2006 в 13:43:

Я всё понел.Хота мне легче с сервером работать !!!Тачто выручайте

__________________
В такую строчку не поместится


Отправлено XaeroX 20-01-2006 в 14:17:

Ну а что там... Берешь и в CHud::Draw рисуешь нужное тебе по типу

C++ Source Code:
1
if (numKills > 30)
2
{
3
  //draw something
4
}
5
else if (numKills > 20)
6
{
7
  //draw something esle
8
}
9
...

а numKills посмотри сам как узнать, говорю, где-то есть это в клиенте, погляди vgui_ScoreBoard.cpp.

__________________

xaerox on Vivino


Отправлено Cool.T 20-01-2006 в 17:56:

Я посмотрел в спирите кстати нет ни худ-драв не vgui_ScoreBoard.cpp
да и то я нечего не понел,говорюж я клиент плохо понемаю!!!

__________________
В такую строчку не поместится


Отправлено XaeroX 20-01-2006 в 18:49:

Блин. Ну vgui_ScorePanel.cpp - перепутал малость, догадаться можно ведь.
Кол-во фрагов получается примерно так:

C++ Source Code:
1
int frags;
2
cl_entity_t *plr = gEngfuncs.GetLocalPlayer();
3
if (plr)
4
{
5
  frags = g_PlayerExtraInfo[plr->index].frags;
6
}

а рисовать надо в ф-и int CHud :: Redraw.
плохо понимаешь - разбирайся

__________________

xaerox on Vivino


Отправлено Cool.T 20-01-2006 в 19:43:

да нет я то понел что vgui_ScorePanel.cpp и редрав несовсем в этом тупой просто я совсем тупой на клиенте Но буду разбераца (слава есть такии учителя как ты)

__________________
В такую строчку не поместится


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

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