Русское сообщество по скриптингу

Sprite вместо прицела.

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Sprite вместо прицела.

Сообщение solo98 » 16 окт 2018, 21:13

Может, кто подскажет, даже на заказ не хотят люди делать.

Нашел тут в поиске такой код:

Код: Выделить всё
#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_ONEg_iMsgId_Crosshair_iPlrId);
   
write_byte(1);
   
message_end();


Убирает маленький прицел, когда ты в наблюдателях.
Попробовал добавить свой спрайт, вместо прицела, был на 100% уверен, что не заработает, но других вариантов у меня нет. В общем, сервер аж вырубился с ошибкой

Код: Выделить всё
FATAL ERROR (shutting down): PF_MessageEnd_IUser Msg 'Crosshair'3 bytes writtenexpected 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_ONEg_iMsgId_Crosshair_iPlrId);
   
write_byte(1);
   
message_end();
   
   
set_task(0.1"SpriteView"iPlrId, .flags="b");
}

public 
SpriteView(id) {
    
message_begin(MSG_ONEg_iMsgId_Crosshair);
    
write_byte(TE_SPRITE);
    
write_short(g_iSprite);
    
message_end();


Что нужно добавить, чтобы мой спрайт отобразился вместо прицела? Спасибо.
Аватара пользователя
solo98
 
Сообщения: 5
Зарегистрирован: 16 окт 2018, 17:20
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Sprite вместо прицела.

Сообщение артист666 » 17 окт 2018, 06:26

Код: Выделить всё
FATAL ERROR (shutting down): PF_MessageEnd_IUser Msg 'Crosshair'3 bytes writtenexpected 1


Написано же, отправлено 3 байта, а должен быть 1.

Неправильно:
Код: Выделить всё
public SpriteView(id) {
    
message_begin(MSG_ONEg_iMsgId_Crosshair);
    
write_byte(TE_SPRITE);
    
write_short(g_iSprite);
    
message_end();
}  


Прицел через текстовый файл меняется:
Вы должны зарегистрироваться, чтобы видеть ссылки.

Вы должны зарегистрироваться, чтобы видеть ссылки.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2682
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 283 раз.
Поблагодарили: 624 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: Sprite вместо прицела.

Сообщение MFTWUZTLBW » 14 янв 2019, 14:22

Из худа просто прицел нарисуй символами.
Аватара пользователя
MFTWUZTLBW
 
Сообщения: 5
Зарегистрирован: 05 дек 2018, 20:42
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю


Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 2