Пользователь
- Сообщения
- 5
- Реакции
- 0
Всем привет, только начинаю всем этим заниматься, потому что порой интересно посидеть что-то пописать, чтобы что-то в итоге получилось.
Не так давно, мною была найдена тема и мне стало интересно попробовать это реализовать, просто потому что интересно.
Имеется код:
Суть в том, что я не могу понять как работают эти две команды. У меня начинается создаваться затухание экрана, после чего оно все также продолжается. Но я не могу ввесте set_task на то, чтобы срабатывал кусок кода на прекращение затемнения.
Была мысль поставить его в f_Effects, ведь оно вызывается спустя 2 секунды начала затухания, но почему-то ничего не происходит
И еще вопрос, как вытаскивать в случайном порядке те строки, которые идут в массиве, но только из файла для вывода в hud?
Открывать файл через fopen, потом создавать массив и через fgets помещать строку и делать ее вывод через hud?
И как понять будет ли он брать случайную строку из файла или по порядку их выводить, или это как-то можно задать?
Не так давно, мною была найдена тема и мне стало интересно попробовать это реализовать, просто потому что интересно.
Имеется код:
Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>
#define PLUGIN_NAME "Call of Dute 2: Quotations of the great"
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "KN"
#define SPECMODE_ALIVE 0
#define EFFECT_TASK_ID 666
#define EFFECT_SCREEN_ALPHA 230
#define EFFECT_SCREEN_FADE 2
#define EFFECT_SCREEN_R 0
#define EFFECT_SCREEN_G 0
#define EFFECT_SCREEN_B 0
new quotamassive[10][]=
{
"11111111111111111111111111111",
"22222222222222222222222222222",
"333333333333333333333333333333",
"444444444444444444444444444",
"5555555555555555555555555",
"666666666666666666666666666",
"777777777777777777777777",
"888888888888888888888888888888",
"99999999999999999999999999999999",
"1010101010101010101010101010101010"
}
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
RegisterHam(Ham_Killed, "player", "Ham_Killed_player_Post", 1);
}
public Ham_Killed_player_Post(iPlrId, iIdattacker, iShouldGib)
{
set_hudmessage(255, 255, 255, -1.0, -1.0, 1, 3.0, 4.0, 0.1, 1.0, -1);
show_hudmessage(iPlrId, (quotamassive[random_num(0,9)]))
set_pev(iPlrId, pev_iuser1, SPECMODE_ALIVE);
return HAM_IGNORED;
}
public f_Effects(UID)
{
new szUserName2 = UID - EFFECT_TASK_ID
if(is_user_connected(szUserName2))
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, szUserName2)
write_short(1<<0) // Время затухания
write_short(1<<0) // Продолжительность показа
write_short(0x0004) // Тип затухания
write_byte(EFFECT_SCREEN_R) // Red
write_byte(EFFECT_SCREEN_G) // Green
write_byte(EFFECT_SCREEN_B) // Blue
write_byte(EFFECT_SCREEN_ALPHA) // Альфа-прозрачность
message_end()
}
}
public fAdeStart(szUserName2)
{
set_task(2.0, "f_Effects", szUserName2 + EFFECT_TASK_ID, "", 0, "b")
if(is_user_connected(szUserName2))
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, szUserName2)
write_short((1<<12) * EFFECT_SCREEN_FADE) // Время затухания
write_short(1<<12) // Продолжительность показа
write_short(0x0001) // Тип затухания
write_byte(EFFECT_SCREEN_R) // Red
write_byte(EFFECT_SCREEN_G) // Green
write_byte(EFFECT_SCREEN_B) // Blue
write_byte(EFFECT_SCREEN_ALPHA) // Альфа-прозрачность
message_end()
}
}
public fAdeEnd(szUserName2)
{
remove_task(szUserName2 + EFFECT_TASK_ID)
if(is_user_connected(szUserName2))
{
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), _, szUserName2)
write_short((1<<12) * EFFECT_SCREEN_FADE) // Время затухания
write_short((1<<12) * 1) // Продолжительность показа
write_short(0x0002) // Тип затухания
write_byte(EFFECT_SCREEN_R) // Red
write_byte(EFFECT_SCREEN_G) // Green
write_byte(EFFECT_SCREEN_B) // Blue
write_byte(EFFECT_SCREEN_ALPHA) // Альфа-прозрачность
message_end()
}
}
Суть в том, что я не могу понять как работают эти две команды. У меня начинается создаваться затухание экрана, после чего оно все также продолжается. Но я не могу ввесте set_task на то, чтобы срабатывал кусок кода на прекращение затемнения.
Была мысль поставить его в f_Effects, ведь оно вызывается спустя 2 секунды начала затухания, но почему-то ничего не происходит
Код:
set_task(5.0, "fAdeEnd", _, "", "a", "1")
И еще вопрос, как вытаскивать в случайном порядке те строки, которые идут в массиве, но только из файла для вывода в hud?
Открывать файл через fopen, потом создавать массив и через fgets помещать строку и делать ее вывод через hud?
И как понять будет ли он брать случайную строку из файла или по порядку их выводить, или это как-то можно задать?