Для контри на amxx есть мод backweapons(модели оружия на спине), вот решил я сделать в своем моде подобную фичу.
В общем я все cделал, все работает отлично но только когда я один на сервере)), если на сервере больше одного игрока возникает такая проблема, допустим у меня и в другого игрока есть ak47, в обоих игроков модель ak47 отображается на спине, но если один из игроков вибросит ak47 то модель исчезает в обоих игроков.
Как решить эту проблему?
Все изменения делал в: CStudioModelRenderer::StudioDrawPlayer и на сервере в каждую пушку добавил кеширование модели b_назание_пушки.mdl
а ты не думал,что gHUD.m_iWeaponBits и вообще весь класс худа(включая аммо.цпп) это чисто клиентские фишки,а амхх - серверный мод? Вобщем тебе либо нужно взять pev->weapons на клиенте из энтитии игрока которого рисуешь (вроде как так нельзя сделать, не помню), либо отослать все оружия, т.е 4 байта(1 WRITE_LONG) для каждого клиента каждому клиенту с этим самым pev->weapons ну и конечно же выбранное оружие, это аж целых пять байт. можно конечно отослать 1 байт на выбранное оружие, но там уже надо по-другому делать. Ну и соответственно тебе нужно будет смотреть если ли нужное тебе оружие именно у этого игрока, а не у тебя в gHUD или где-то еще в клиентском стаффе.
Danger находишь объект класса другова игрока на сервере,например
CBasePlayer *Target = (CBasePlayer*)UTIL_PlayerByIndex(1); естественно по индексу.Ну а далее
Target->pev->weapons .
Danger писал: А как получить pev->weapons другого игрока на серевере?
Странный вопрос. А зачем получать pev->weapons другого игрока?
Всё решается в классе того же игрока без дополнительных проверок просто и изящно. Вы, вместо того, чтобы разобраться как всё устроено уподобляетесь тому чукче, который таскал камаз, прицепив к нему собачью упряжку. Или тому суровому лесорубу, который валил лес бензопилой, а потом ему мужыки сказали, что её завести надо.