kreedz_util.inc
VIP Сървъри
Всички сървъри
#if defined _kreedz_util_included
#endinput
#endif
#define _kreedz_util_included
#include <reapi>
stock kz_register_cmd(szCmd[], szHandler[]) {
new szFormatedCmd[64];
formatex(szFormatedCmd, 63, "say %s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
formatex(szFormatedCmd, 63, "say_team %s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
formatex(szFormatedCmd, 63, "say /%s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
formatex(szFormatedCmd, 63, "say_team /%s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
formatex(szFormatedCmd, 63, "%s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
formatex(szFormatedCmd, 63, "/%s", szCmd);
register_clcmd(szFormatedCmd, szHandler);
}
stock UTIL_LogToFile(const szPath[], const szLevel[], const szFunction[], const szMessage[], any:...) {
new szMsg[512];
vformat(szMsg, charsmax(szMsg), szMessage, 5);
log_to_file(szPath, "[%s][%s] %s", szLevel, szFunction, szMsg);
}
stock UTIL_TimeToSec(Float:fTime, &iMin, &iSec, &iMS) {
iMin = floatround(fTime / 60.0, floatround_floor);
iSec = floatround(fTime - iMin * 60.0, floatround_floor);
iMS = floatround((fTime - (iMin * 60.0 + iSec)) * 100.0, floatround_floor);
}
stock UTIL_FormatTime(Float:fTime, szBuffer[], iLen, bool:withMS = false) {
new iMin, iSec, iMS;
UTIL_TimeToSec(fTime, iMin, iSec, iMS);
if (withMS)
formatex(szBuffer, iLen, "%02d:%02d.%02d", iMin, iSec, iMS);
else
formatex(szBuffer, iLen, "%02d:%02d", iMin, iSec);
}
stock UTIL_BroadcastToSpec(
id, const szMsg[], bool:isOnlySpec, bool:isDhud,
red, green, blue,
Float:x, Float:y,
Float:holdTime, channel = -1
) {
for (new i = 1; i <= MAX_PLAYERS; ++i) {
if (i == id && !isOnlySpec) {
if (isDhud) {
set_dhudmessage(red, green, blue, x, y, 0,
0.00, holdTime, 0.01, 0.01);
show_dhudmessage(i, szMsg);
}
else {
set_hudmessage(red, green, blue, x, y, 0,
0.00, holdTime, 0.01, 0.01, channel);
show_hudmessage(i, szMsg);
}
continue;
}
if (is_user_alive(i)) continue;
if (get_entvar(i, var_iuser2) != id) continue;
if (isDhud) {
set_dhudmessage(red, green, blue, x, y, 0,
0.00, holdTime, 0.02, 0.02);
show_dhudmessage(i, szMsg);
}
else {
set_hudmessage(red, green, blue, x, y, 0,
0.00, holdTime, 0.02, 0.02, channel);
show_hudmessage(i, szMsg);
}
}
}
stock UTIL_RGBPack(r, g, b) {
new rgb = (r << 16) + (g << 8) + b;
return rgb;
}
stock UTIL_RGBUnpack(color) {
new rgb[3];
rgb[0] = (color >> 16) & 255;
rgb[1] = (color >> 8) & 255;
rgb[2] = color & 255;
return rgb;
}
stock UTIL_TimerRoundtime(id, time) {
if (!is_user_connected(id)) return;
static msgRoundTime;
if (!msgRoundTime) msgRoundTime = get_user_msgid("RoundTime");
message_begin(MSG_ONE_UNRELIABLE, msgRoundTime, .player = id);
write_short(time + 1);
message_end();
}
stock bool:is_user_spectating(iAlive, iSpec) {
if (!is_user_connected(iSpec) || is_user_alive(iSpec) || is_user_bot(iSpec))
return false;
if (get_entvar(iSpec, var_iuser1) != 1 &&
get_entvar(iSpec, var_iuser1) != 2 &&
get_entvar(iSpec, var_iuser1) != 4)
return false;
if (get_entvar(iSpec, var_iuser2) != iAlive)
return false;
return true;
}
КАК ДА ИЗПОЛЗВАМ
Добави в началото на .sma файла:
#include <kreedz_util>
1. Изтегли
Свали файла от бутона по-горе
2. Копирай
Постави в
scripting/include/3. Включи
Добави #include директивата
4. Компилирай
Използвай amxxpc или scripting/compile.exe