выкидывает за скрин

Статус
Новые ответы в этой теме размещать нельзя.

wewewe

Пользователь
Регистрация
26 Янв 2018
Сообщения
57
Симпатии
0
#1
OS
Linux
Amx Mod X
AMXX 1.8.3-dev
Билд
последний
ReGamedll
последняя
Metamod
последний
Meta модули
все стандарт от 1.10
Плагины
проверял их отключал но они не при чем. загружал серв только с одним и все равно вылетает
Amxx Модули
стандарт
Ошибка
по английски не помню но дает отправку игроку который вышел или которого нету
Исходник
Код:
#include <amxmodx>

public plugin_init() {
   register_plugin("ScreenFade", "1.0", "Admin")
   
   register_event("DeathMsg", "hook_death", "a")
}

public hook_death() {
   new id = read_data(1)
   
   message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0, 0, 0}, id)
   write_short(1<<10)
   write_short(1<<10)
   write_short(0x0000)
   
   switch(random_num(0, 2)) {
      case 0: {
         write_byte(255)
         write_byte(0)
         write_byte(0)
      }
     
      case 1: {
         write_byte(0)
         write_byte(255)
         write_byte(0)
      }
     
      case 2: {
         write_byte(0)
         write_byte(0)
         write_byte(255)
      }
   }
   
   write_byte(75)
   message_end()
}
есть код он подсвечивает экран разными цветами. амх 1.10. реапи последняя. я когда его ставлю с сервера выкидывает всех через какое то время. в консоле ошибка что передал инфу не существующему игроку.
 
Последнее редактирование модератором:

fantom

Постоялец
Регистрация
11 Июн 2017
Сообщения
236
Симпатии
158
Пол
Мужской
#2
Код:
#include <amxmodx>
#include <reapi>

new const COLORS[][3] = {
    { 255, 0, 0 },
    { 0, 255, 0},
    { 0, 0, 255 }
};

#define FFADE_IN 0x0000
const TIME = 1 << 10; // 1 second is equal to (1<<12) i.e. 4096 units

new MsgIdScreenFade;

public plugin_init() {
   RegisterHookChain(RG_CSGameRules_PlayerKilled, "CSGameRules_PlayerKilled_Post", true);
   MsgIdScreenFade = get_user_msgid("ScreenFade");
}

public CSGameRules_PlayerKilled_Post(const id, const killer) {
    if (id == killer || !is_user_connected(killer)) {
        return HC_CONTINUE;
    }
    
    if (Float:get_member(id, m_blindStartTime) + Float:get_member(id, m_blindFadeTime) >= get_gametime()) {
        return HC_CONTINUE;
    }
    
    new color = random(100) % sizeof COLORS;
    message_begin(MSG_ONE_UNRELIABLE, MsgIdScreenFade, .player = killer);
    write_short(TIME); // Duration
    write_short(TIME); // HoldTime
    write_short(FFADE_IN); // Flags
    write_byte(COLORS[color][0]); // Red
    write_byte(COLORS[color][1]); // Green
    write_byte(COLORS[color][2]); // Blue
    write_byte(75); // Alpha
    message_end();
    return HC_CONTINUE;
}
 

wewewe

Пользователь
Регистрация
26 Янв 2018
Сообщения
57
Симпатии
0
#3
Код:
#include <amxmodx>
#include <reapi>

new const COLORS[][3] = {
    { 255, 0, 0 },
    { 0, 255, 0},
    { 0, 0, 255 }
};

#define FFADE_IN 0x0000
const TIME = 1 << 10; // 1 second is equal to (1<<12) i.e. 4096 units

new MsgIdScreenFade;

public plugin_init() {
   RegisterHookChain(RG_CSGameRules_PlayerKilled, "CSGameRules_PlayerKilled_Post", true);
   MsgIdScreenFade = get_user_msgid("ScreenFade");
}

public CSGameRules_PlayerKilled_Post(const id, const killer) {
    if (id == killer || !is_user_connected(killer)) {
        return HC_CONTINUE;
    }
   
    if (Float:get_member(id, m_blindStartTime) + Float:get_member(id, m_blindFadeTime) >= get_gametime()) {
        return HC_CONTINUE;
    }
   
    new color = random(100) % sizeof COLORS;
    message_begin(MSG_ONE_UNRELIABLE, MsgIdScreenFade, .player = killer);
    write_short(TIME); // Duration
    write_short(TIME); // HoldTime
    write_short(FFADE_IN); // Flags
    write_byte(COLORS[color][0]); // Red
    write_byte(COLORS[color][1]); // Green
    write_byte(COLORS[color][2]); // Blue
    write_byte(75); // Alpha
    message_end();
    return HC_CONTINUE;
}
Спасибо вылетов не замечено.
Все работает как надо
 
Статус
Новые ответы в этой теме размещать нельзя.