Нашел тут в поиске такой код:
- Код: Выделить всё
#include <amxmodx>
new g_iMsgId_Crosshair;
public plugin_init()
{
register_plugin("Free Look Crosshair Fix", "1.2", "Numb");
register_event("TextMsg", "Event_TextMsg", "b", "1=4", "2=#Spec_Mode3");
g_iMsgId_Crosshair = get_user_msgid("Crosshair");
}
public Event_TextMsg(iPlrId)
{
message_begin(MSG_ONE, g_iMsgId_Crosshair, _, iPlrId);
write_byte(1);
message_end();
}
Убирает маленький прицел, когда ты в наблюдателях.
Попробовал добавить свой спрайт, вместо прицела, был на 100% уверен, что не заработает, но других вариантов у меня нет. В общем, сервер аж вырубился с ошибкой
- Код: Выделить всё
FATAL ERROR (shutting down): PF_MessageEnd_I: User Msg 'Crosshair': 3 bytes written, expected 1
Собственно, сам мой код:
- Код: Выделить всё
#include <amxmodx>
new g_iMsgId_Crosshair;
new g_iSprite;
public plugin_init()
{
register_plugin("Free Look Crosshair Fix", "1.2", "Numb");
register_event("TextMsg", "Event_TextMsg", "b", "1=4", "2=#Spec_Mode3");
g_iMsgId_Crosshair = get_user_msgid("Crosshair");
}
public plugin_precache(){
g_iSprite = precache_model("sprites/welcome.spr")
}
public Event_TextMsg(iPlrId)
{
message_begin(MSG_ONE, g_iMsgId_Crosshair, _, iPlrId);
write_byte(1);
message_end();
set_task(0.1, "SpriteView", iPlrId, .flags="b");
}
public SpriteView(id) {
message_begin(MSG_ONE, g_iMsgId_Crosshair);
write_byte(TE_SPRITE);
write_short(g_iSprite);
message_end();
}
Что нужно добавить, чтобы мой спрайт отобразился вместо прицела? Спасибо.