Выдача денег по результатам раунда |
Здравствуйте, гость Вход | Регистрация
Наши новости:
|
|
Выдача денег по результатам раунда |
Fraig |
27.1.2019, 19:04
Сообщение
|
Всем привет!
Хочу немного изменить экономику на сервере, подскажите, пожалуйста, как можно либо заблокировать выдачу денег в начале раунда, либо сделать hud денег в начале раунда на пару секунд невидимым, либо может знаете вариант выдачи другой суммы в начале раунда. На данный момент я сделал следующим образом: выдаю некоторую сумму в конце раунда, записываю сумму в переменную и в начале раунда выдаю игроку сумму, которую записал в переменную, но это выглядит не совсем красиво, игроку начисляется к примеру $3250, а потом в худе отображается, что списана некоторая сумму |
|
|
|
SISA |
27.1.2019, 20:37
Сообщение
|
Вариантов много. Всё зависит от того, какой уровень костылей вам подходит.
На сколько я помню, в реапи есть нативы отвечающие за выдачу денег или в рехлдс. За что они там точно отвечают, я не помню. На уровне самого движка, все суммы жестко записаны в код и без хука функции: Код void CBasePlayer::AddAccount(int amount, bool bTrackChange) { m_iAccount += amount; if (m_iAccount < 0) m_iAccount = 0; else if (m_iAccount > 16000) m_iAccount = 16000; MESSAGE_BEGIN(MSG_ONE, gmsgMoney, NULL, pev); WRITE_LONG(m_iAccount); WRITE_BYTE(bTrackChange); MESSAGE_END(); } так просто, вы к ним не подберетесь. Работа с бабосами зиждиться на клиентском оффсете "m_iAccount" и двух мессагах "Money" и "BlinkAcct" "m_iAccount" - фактическое количество бабла. Если вы покупаете какое-то оружие, то данные по наличие необходимой суммы у игрока берутся именно с этого оффсета. "Money" - клиентская мессага. По факту, рисует количество денег на экране игрока. "BlinkAcct" - вызывает мегание объекта с деньгами (допустим, когда их не достаточно, при попытке купить оружие). Так же, есть два серверных оффсета: m_iAccountCT m_iAccountTerrorist Они регулируют количество бабла, выдаваемого в следующем раунде, игрокам той или иной команды. Доступ к серверным оффсетам есть на реапи и Amx 1.8.3+ В вашем случае, нужен доступ к серверным оффсетам или жесткие костыли, в виде перехвата мессаги "Money" в нужные моменты и последующим изменением значения оффсета m_iAccount и отправку нужного значения в мессагу через set_msg_arg_int.
Отредактировал: SISA, - 27.1.2019, 20:37
|
|
|
|
georgeml |
28.1.2019, 3:26
Сообщение
|
|
|
bionext |
31.1.2019, 18:01
Сообщение
|
Всем привет! Хочу немного изменить экономику на сервере, подскажите, пожалуйста, как можно либо заблокировать выдачу денег в начале раунда, либо сделать hud денег в начале раунда на пару секунд невидимым, либо может знаете вариант выдачи другой суммы в начале раунда. На данный момент я сделал следующим образом: выдаю некоторую сумму в конце раунда, записываю сумму в переменную и в начале раунда выдаю игроку сумму, которую записал в переменную, но это выглядит не совсем красиво, игроку начисляется к примеру $3250, а потом в худе отображается, что списана некоторая сумму В reapi можно самому назначать награду за определённую победу через Код:
|
|
|
|