Compare commits

...

6 Commits

16 changed files with 1891 additions and 1759 deletions

View File

@ -83,18 +83,8 @@ public:
inline bool IsBot()
{
if ((pEdict->v.flags & FL_FAKECLIENT) == FL_FAKECLIENT)
{
return true;
}
const char *auth = GETPLAYERAUTHID(pEdict);
if (auth && (strcmp(auth, "BOT") == 0))
{
return true;
}
return false;
return auth && !strcmp(auth, "BOT");
}
inline bool IsAlive()

View File

@ -37,18 +37,38 @@ amx_show_activity 2
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
//
// Default values: "Welcome to %hostname%" "000255100"
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
// Frequency in seconds of colored messages
// Frequency in seconds of info messages
//
// Default value: 180
amx_freq_imessage 180
// X position on the screen for info messages
//
// Default value: -1.0
amx_imessage_x_pos -1.0
// Y position on the screen for info messages
//
// Default value: 0.2
amx_imessage_y_pos 0.2
// Hold time for info messages
//
// Default value: 12.0
amx_imessage_holdtime 12.0
// Set to 1 if you want to show info messages only to dead clients
//
// Default value: 0
amx_imessage_only_dead 0
// Ban times for the main ban menu (amx_banmenu)
// Use 0 for permanent ban.
// Default values: 0 5 10 15 30 45 60
@ -181,13 +201,3 @@ amx_debug 1
//
// Default value: ""
amx_mldebug ""
// Performance monitor
//
// If function executed more than amx_perflog_ms milliseconds
// print plugin and function name to current amxmodx log file.
//
// Time in milliseconds
// Default value: 1.0
//
amx_perflog_ms 1.0

View File

@ -37,18 +37,38 @@ amx_show_activity 2
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
//
// Default values: "Welcome to %hostname%" "000255100"
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
// Frequency in seconds of colored messages
// Frequency in seconds of info messages
//
// Default value: 180
amx_freq_imessage 180
// X position on the screen for info messages
//
// Default value: -1.0
amx_imessage_x_pos -1.0
// Y position on the screen for info messages
//
// Default value: 0.2
amx_imessage_y_pos 0.2
// Hold time for info messages
//
// Default value: 12.0
amx_imessage_holdtime 12.0
// Set to 1 if you want to show info messages only to dead clients
//
// Default value: 0
amx_imessage_only_dead 0
// Ban times for the main ban menu (amx_banmenu)
// Use 0 for permanent ban
// Default values: 0 5 10 15 30 45 60
@ -220,13 +240,3 @@ amx_statsx_freeze -2.0
// -
// Default value: 0
amx_restrmapsettings 0
// Performance monitor
//
// If function executed more than amx_perflog_ms milliseconds
// print plugin and function name to current amxmodx log file.
//
// Time in milliseconds
// Default value: 1.0
//
amx_perflog_ms 1.0

View File

@ -37,18 +37,38 @@ amx_show_activity 2
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
//
// Default values: "Welcome to %hostname%" "000255100"
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
amx_imessage "Welcome to %hostname%" "000255100"
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
// Frequency in seconds of colored messages
// Frequency in seconds of info messages
//
// Default value: 180
amx_freq_imessage 180
// X position on the screen for info messages
//
// Default value: -1.0
amx_imessage_x_pos -1.0
// Y position on the screen for info messages
//
// Default value: 0.2
amx_imessage_y_pos 0.2
// Hold time for info messages
//
// Default value: 12.0
amx_imessage_holdtime 12.0
// Set to 1 if you want to show info messages only to dead clients
//
// Default value: 0
amx_imessage_only_dead 0
// Ban times for the main ban menu (amx_banmenu)
// Use 0 for permanent ban.
// Default values: 0 5 10 15 30 45 60
@ -218,14 +238,3 @@ amx_idle_ignore_immunity 1
//
// Default value: 4
amx_unstuck_frequency 4
// Performance monitor
//
// If function executed more than amx_perflog_ms milliseconds
// print plugin and function name to current amxmodx log file.
//
// Time in milliseconds
// Default value: 1.0
//
amx_perflog_ms 1.0

View File

@ -232,6 +232,15 @@ namespace AMXX
*/
virtual const char *ValueToString(JS_Handle value) = 0;
/**
* @brief Gets a string data length.
*
* @param value JSON handle
*
* @return Length of string data
*/
virtual size_t ValueToStringLen(JS_Handle value) = 0;
/**
* @brief Gets a number.
*
@ -277,6 +286,16 @@ namespace AMXX
*/
virtual const char *ArrayGetString(JS_Handle array, size_t index) = 0;
/**
* @brief Gets string data length from the array.
*
* @param array JSON handle
* @param index Position in the array (starting from 0)
*
* @return Length of string data
*/
virtual size_t ArrayGetStringLen(JS_Handle array, size_t index) = 0;
/**
* @brief Gets a number from the array.
*
@ -468,6 +487,20 @@ namespace AMXX
*/
virtual const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc = false) = 0;
/**
* @brief Gets string data length from the object.
*
* @note If dot notation is used some values may be inaccessible
* because valid names in JSON can contain dots.
*
* @param object JSON handle
* @param name Key name
* @param dotfunc True to use dot notation, false to not
*
* @return Length of string data
*/
virtual size_t ObjectGetStringLen(JS_Handle object, const char *name, bool dotfunc = false) = 0;
/**
* @brief Gets a number from the object.
*
@ -696,6 +729,15 @@ namespace AMXX
*/
virtual char *SerialToString(JS_Handle value, bool pretty) = 0;
/**
* @brief Slashes should be escaped or not when serializing JSON.
*
* @note This function sets a global setting and is not thread safe.
*
* @param escape_slashes True to escape slashes, false to not
*/
virtual void EscapeSlashes(int escape_slashes) = 0;
/**
* @brief Frees serialized string.
*

View File

@ -465,3 +465,8 @@ char *JSONMngr::SerialToString(JS_Handle value, bool pretty)
return (result) ? result : nullptr;
}
void JSONMngr::EscapeSlashes(int escape_slashes)
{
json_set_escape_slashes(escape_slashes);
}

View File

@ -69,6 +69,10 @@ class JSONMngr : public IJSONMngr
// Convert functions
const char *ValueToString(JS_Handle value) override;
inline size_t ValueToStringLen(JS_Handle value) override
{
return json_value_get_string_len(m_Handles[value]->m_pValue);
}
inline double ValueToNum(JS_Handle value) override
{
return json_value_get_number(m_Handles[value]->m_pValue);
@ -81,6 +85,10 @@ class JSONMngr : public IJSONMngr
// Wrappers for Array API
bool ArrayGetValue(JS_Handle array, size_t index, JS_Handle *handle) override;
const char *ArrayGetString(JS_Handle array, size_t index) override;
inline size_t ArrayGetStringLen(JS_Handle array, size_t index) override
{
return json_array_get_string_len(m_Handles[array]->m_pArray, index);
}
inline bool ArrayGetBool(JS_Handle array, size_t index) override
{
return json_array_get_boolean(m_Handles[array]->m_pArray, index) == 1;
@ -142,6 +150,15 @@ class JSONMngr : public IJSONMngr
// Get functions
bool ObjectGetValue(JS_Handle object, const char *name, JS_Handle *handle, bool dotfunc) override;
const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc) override;
inline size_t ObjectGetStringLen(JS_Handle object, const char *name, bool dotfunc) override
{
if (!dotfunc)
{
return json_object_get_string_len(m_Handles[object]->m_pObject, name);
}
return json_object_dotget_string_len(m_Handles[object]->m_pObject, name);
}
double ObjectGetNum(JS_Handle object, const char *name, bool dotfunc) override;
bool ObjectGetBool(JS_Handle object, const char *name, bool dotfunc) override;
inline size_t ObjectGetCount(JS_Handle object) override
@ -171,6 +188,7 @@ class JSONMngr : public IJSONMngr
bool SerialToBuffer(JS_Handle value, char *buffer, size_t size, bool pretty) override;
bool SerialToFile(JS_Handle value, const char *filepath, bool pretty) override;
char *SerialToString(JS_Handle value, bool pretty) override;
void EscapeSlashes(int escape_slashes) override;
inline void FreeString(char *string) override
{
json_free_serialized_string(string);

View File

@ -231,6 +231,19 @@ static cell AMX_NATIVE_CALL amxx_json_get_number(AMX *amx, cell *params)
return static_cast<cell>(JsonMngr->ValueToNum(value));
}
//native json_get_string_len(const JSON:value);
static cell AMX_NATIVE_CALL amxx_json_get_string_len(AMX *amx, cell *params)
{
auto value = params[1];
if (!JsonMngr->IsValidHandle(value))
{
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON value! %d", value);
return 0;
}
return JsonMngr->ValueToStringLen(value);
}
//native Float:json_get_real(const JSON:value);
static cell AMX_NATIVE_CALL amxx_json_get_real(AMX *amx, cell *params)
{
@ -290,6 +303,19 @@ static cell AMX_NATIVE_CALL amxx_json_array_get_string(AMX *amx, cell *params)
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
}
//native json_array_get_string_len(const JSON:array, index);
static cell AMX_NATIVE_CALL amxx_json_array_get_string_len(AMX *amx, cell *params)
{
auto array = params[1];
if (!JsonMngr->IsValidHandle(array, Handle_Array))
{
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON array! %d", array);
return 0;
}
return JsonMngr->ArrayGetStringLen(array, params[2]);
}
//native json_array_get_number(const JSON:array, index);
static cell AMX_NATIVE_CALL amxx_json_array_get_number(AMX *amx, cell *params)
{
@ -578,6 +604,22 @@ static cell AMX_NATIVE_CALL amxx_json_object_get_string(AMX *amx, cell *params)
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
}
//native json_object_get_string_len(const JSON:object, const name[], bool:dotfunc = false);
static cell AMX_NATIVE_CALL amxx_json_object_get_string_len(AMX *amx, cell *params)
{
auto object = params[1];
if (!JsonMngr->IsValidHandle(object, Handle_Object))
{
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON object! %d", object);
return 0;
}
int len;
auto name = MF_GetAmxString(amx, params[2], 0, &len);
return JsonMngr->ObjectGetStringLen(object, name, params[3] != 0);
}
//native json_object_get_number(const JSON:object, const name[], bool:dotfunc = false);
static cell AMX_NATIVE_CALL amxx_json_object_get_number(AMX *amx, cell *params)
{
@ -871,6 +913,13 @@ static cell AMX_NATIVE_CALL amxx_json_serial_to_file(AMX *amx, cell *params)
return JsonMngr->SerialToFile(value, path, params[3] != 0);
}
//native json_set_escape_slashes(bool:escape_slashes = true);
static cell AMX_NATIVE_CALL amxx_json_set_escape_slashes(AMX *amx, cell *params)
{
JsonMngr->EscapeSlashes(params[1] != 0);
return 1;
}
AMX_NATIVE_INFO JsonNatives[] =
{
{ "json_parse", amxx_json_parse },
@ -888,11 +937,13 @@ AMX_NATIVE_INFO JsonNatives[] =
{ "json_deep_copy", amxx_json_deep_copy },
{ "json_free", amxx_json_free },
{ "json_get_string", amxx_json_get_string },
{ "json_get_string_len", amxx_json_get_string_len },
{ "json_get_number", amxx_json_get_number },
{ "json_get_real", amxx_json_get_real },
{ "json_get_bool", amxx_json_get_bool },
{ "json_array_get_value", amxx_json_array_get_value },
{ "json_array_get_string", amxx_json_array_get_string },
{ "json_array_get_string_len", amxx_json_array_get_string_len },
{ "json_array_get_count", amxx_json_array_get_count },
{ "json_array_get_number", amxx_json_array_get_number },
{ "json_array_get_real", amxx_json_array_get_real },
@ -913,6 +964,7 @@ AMX_NATIVE_INFO JsonNatives[] =
{ "json_array_clear", amxx_json_array_clear },
{ "json_object_get_value", amxx_json_object_get_value },
{ "json_object_get_string", amxx_json_object_get_string },
{ "json_object_get_string_len", amxx_json_object_get_string_len },
{ "json_object_get_number", amxx_json_object_get_number },
{ "json_object_get_real", amxx_json_object_get_real },
{ "json_object_get_bool", amxx_json_object_get_bool },
@ -931,6 +983,7 @@ AMX_NATIVE_INFO JsonNatives[] =
{ "json_serial_size", amxx_json_serial_size },
{ "json_serial_to_string", amxx_json_serial_to_string },
{ "json_serial_to_file", amxx_json_serial_to_file },
{ "json_set_escape_slashes", amxx_json_set_escape_slashes },
{ nullptr, nullptr }
};

File diff suppressed because it is too large Load Diff

View File

@ -14,110 +14,133 @@
#include <amxmodx>
#include <amxmisc>
#define X_POS -1.0
#define Y_POS 0.20
#define HOLD_TIME 12.0
const MAX_MSG_LEN = 384;
const TASK_MSG = 12345;
new Array:g_Values
new Array:g_Messages
new g_MessagesNum
new g_Current
enum _:MessageInfo
{
Message[MAX_MSG_LEN],
R,
G,
B
}
new amx_freq_imessage;
new Array:g_messages;
new g_messagesNum;
new g_hudObject;
new g_current;
new g_hostname[64];
new Float:g_amx_freq_imessage;
new Float:g_amx_imessage_x_pos;
new Float:g_amx_imessage_y_pos;
new Float:g_amx_imessage_holdtime;
new g_amx_imessage_only_dead;
public plugin_init()
{
g_Messages=ArrayCreate(384);
g_Values=ArrayCreate(3);
register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("imessage.txt")
register_dictionary("common.txt")
register_srvcmd("amx_imessage", "setMessage")
amx_freq_imessage=register_cvar("amx_freq_imessage", "10")
register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team");
register_srvcmd("amx_imessage", "setMessage", _, "<message> <color in RRRGGGBBB format>");
new lastinfo[8]
get_localinfo("lastinfomsg", lastinfo, charsmax(lastinfo))
g_Current = str_to_num(lastinfo)
set_localinfo("lastinfomsg", "")
register_dictionary("imessage.txt");
register_dictionary("common.txt");
g_messages = ArrayCreate(MessageInfo);
g_hudObject = CreateHudSyncObj();
bind_pcvar_num(create_cvar("amx_imessage_only_dead", "0", _, "Set to 1 to show info messages only to dead clients", true, 0.0, true, 1.0), g_amx_imessage_only_dead);
bind_pcvar_float(create_cvar("amx_freq_imessage", "180", _, "Frequency in seconds of info messages", true, 0.0), g_amx_freq_imessage);
bind_pcvar_float(create_cvar("amx_imessage_x_pos", "-1.0", _, "X position for info messages", true, -1.0, true, 1.0), g_amx_imessage_x_pos);
bind_pcvar_float(create_cvar("amx_imessage_y_pos", "0.2", _, "Y position for info messages", true, -1.0, true, 1.0), g_amx_imessage_y_pos);
bind_pcvar_float(create_cvar("amx_imessage_holdtime", "12.0", _, "Hold time for info messages", true, 0.0), g_amx_imessage_holdtime);
bind_pcvar_string(get_cvar_pointer("hostname"), g_hostname, charsmax(g_hostname));
new lastinfo[8];
get_localinfo("lastinfomsg", lastinfo, charsmax(lastinfo));
g_current = str_to_num(lastinfo);
set_localinfo("lastinfomsg", "");
}
public infoMessage()
{
if (g_Current >= g_MessagesNum)
g_Current = 0
// No messages, just get out of here
if (g_MessagesNum==0)
if (!g_messagesNum)
{
return;
}
new values[3];
new Message[384];
// If the last message is reached, go back to the first one
if (g_current >= g_messagesNum)
{
g_current = 0;
}
ArrayGetString(g_Messages, g_Current, Message, charsmax(Message));
ArrayGetArray(g_Values, g_Current, values);
static message[MessageInfo];
ArrayGetArray(g_messages, g_current, message);
replace_stringex(message[Message], charsmax(message[Message]), "%hostname%", g_hostname);
new hostname[64];
set_hudmessage(message[R], message[G], message[B], g_amx_imessage_x_pos, g_amx_imessage_y_pos, 0, 0.5, g_amx_imessage_holdtime, 2.0, 2.0, -1);
get_cvar_string("hostname", hostname, charsmax(hostname));
replace(Message, charsmax(Message), "%hostname%", hostname);
if (g_amx_imessage_only_dead)
{
new players[MAX_PLAYERS], pnum;
get_players_ex(players, pnum, GetPlayers_ExcludeAlive);
set_hudmessage(values[0], values[1], values[2], X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1);
for (new player, i; i < pnum; i++)
{
player = players[i];
show_hudmessage(0, "%s", Message);
ShowSyncHudMsg(player, g_hudObject, message[Message]);
console_print(player, message[Message]);
}
}
else
{
ShowSyncHudMsg(0, g_hudObject, message[Message]);
console_print(0, message[Message]);
}
client_print(0, print_console, "%s", Message);
++g_Current;
g_current++;
new Float:freq_im = get_pcvar_float(amx_freq_imessage);
if (freq_im > 0.0)
set_task(freq_im, "infoMessage", 12345);
if (g_amx_freq_imessage > 0.0)
{
set_task(g_amx_freq_imessage, "infoMessage", TASK_MSG);
}
}
public setMessage()
{
remove_task(TASK_MSG);
new Message[384];
static message[MessageInfo];
read_argv(1, message[Message], charsmax(message[Message]));
replace_string(message[Message], charsmax(message[Message]), "\n", "^n");
remove_task(12345)
read_argv(1, Message, charsmax(Message))
new fullcolor[10];
read_argv(2, fullcolor, charsmax(fullcolor));
while (replace(Message, charsmax(Message), "\n", "^n")) {}
message[B] = str_to_num(fullcolor[6]);
fullcolor[6] = 0;
new mycol[12]
new vals[3];
message[G] = str_to_num(fullcolor[3]);
fullcolor[3] = 0;
read_argv(2, mycol, charsmax(mycol)) // RRRGGGBBB
vals[2] = str_to_num(mycol[6])
message[R] = str_to_num(fullcolor[0]);
fullcolor[0] = 0;
mycol[6] = 0
vals[1] = str_to_num(mycol[3])
g_messagesNum++;
ArrayPushArray(g_messages, message);
mycol[3] = 0
vals[0] = str_to_num(mycol[0])
if (g_amx_freq_imessage > 0.0)
{
set_task(g_amx_freq_imessage, "infoMessage", TASK_MSG);
}
g_MessagesNum++
new Float:freq_im = get_pcvar_float(amx_freq_imessage)
ArrayPushString(g_Messages, Message);
ArrayPushArray(g_Values, vals);
if (freq_im > 0.0)
set_task(freq_im, "infoMessage", 12345)
return PLUGIN_HANDLED
return PLUGIN_HANDLED;
}
public plugin_end()
{
new lastinfo[8]
num_to_str(g_Current, lastinfo, charsmax(lastinfo))
set_localinfo("lastinfomsg", lastinfo)
ArrayDestroy(g_Messages)
ArrayDestroy(g_Values)
ArrayDestroy(g_messages);
set_localinfo("lastinfomsg", fmt("%i", g_current));
}

View File

@ -228,6 +228,16 @@ native bool:json_free(&JSON:handle);
*/
native json_get_string(const JSON:value, buffer[], maxlen);
/**
* Gets string data length.
*
* @param value JSON handle
*
* @return Length of string data
* @error If passed value is not a valid handle
*/
native json_get_string_len(const JSON:value);
/**
* Gets a number.
*
@ -284,6 +294,17 @@ native JSON:json_array_get_value(const JSON:array, index);
*/
native json_array_get_string(const JSON:array, index, buffer[], maxlen);
/**
* Gets string data length from the array.
*
* @param array Array handle
* @param index Position in the array (starting from 0)
*
* @return Length of string data from the array
* @error If passed handle is not a valid array
*/
native json_array_get_string_len(const JSON:array, index);
/**
* Gets a number from the array.
*
@ -519,6 +540,21 @@ native JSON:json_object_get_value(const JSON:object, const name[], bool:dot_not
*/
native json_object_get_string(const JSON:object, const name[], buffer[], maxlen, bool:dot_not = false);
/**
* Gets string data length from the object.
*
* @note If dot notation is used some values may be inaccessible
* because valid names in JSON can contain dots.
*
* @param object Object handle
* @param name Key name
* @param dot_not True to use dot notation, false to not
*
* @return Length of string data from the object
* @error If passed handle is not a valid object
*/
native json_object_get_string_len(const JSON:object, const name[], bool:dot_not = false);
/**
* Gets a number from the object.
*
@ -775,3 +811,13 @@ native json_serial_to_string(const JSON:value, buffer[], maxlen, bool:pretty = f
* @error If passed handle is not a valid value
*/
native bool:json_serial_to_file(const JSON:value, const file[], bool:pretty = false);
/**
* Sets if slashes should be escaped or not when serializing JSON. By default slashes are escaped.
*
* @note This function sets a global setting and is not thread safe.
*
* @param escape_slashes True to escape slashes, false to not
*/
native json_set_escape_slashes(bool:escape_slashes = true);

View File

@ -9,15 +9,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banned
REASON = reason
FOR_MIN = for %s min
FOR_MIN = for %d min
PERM = permanently
CLIENT_BANNED = Client "%s" banned
ADMIN_SLAY_1 = ADMIN: slay %s
ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Client "%s" slayed
CLIENT_SLAYED = Client "%n" slayed
ADMIN_SLAP_1 = ADMIN: slap %s with %d damage
ADMIN_SLAP_2 = ADMIN %s: slap %s with %d damage
CLIENT_SLAPED = Client "%s" slapped with %d damage
CLIENT_SLAPPED = Client "%n" slapped with %d damage
MAP_NOT_FOUND = Map with that name not found or map is invalid
ADMIN_MAP_1 = ADMIN: changelevel %s
ADMIN_MAP_2 = ADMIN %s: changelevel %s
@ -74,6 +74,38 @@ ADMIN_EXTEND_2 = ADMIN %s: extend map for %d minutes
MAP_EXTENDED = Map "%s" has been extended for %d minutes
ADMIN_MUST_TEMPBAN = You can only temporarily ban players, for up to %d minutes
ADMIN_MUST_TEMPUNBAN = You can only unban players that you have recently banned
AMX_KICK_SYNTAX = <name or #userid> [reason]
AMX_BAN_SYNTAX = <name or #userid> <minutes> [reason]
AMX_BANIP_SYNTAX = <name or #userid> <minutes> [reason]
AMX_ADDBAN_SYNTAX = <"authid" or ip> <minutes> [reason]
AMX_UNBAN_SYNTAX = <"authid" or ip>
AMX_SLAY_SYNTAX = <name or #userid>
AMX_SLAP_SYNTAX = <name or #userid> [power]
AMX_LEAVE_SYNTAX = <tag> [tag] [tag] [tag]
AMX_PAUSE_SYNTAX = - pause or unpause the game
AMX_WHO_SYNTAX = - displays who is on server
AMX_CVAR_SYNTAX = <cvar> [value]
AMX_XVAR_SYNTAX = <xvar> [value]
AMX_PLUGINS_SYNTAX = [starting entry]
AMX_MODULES_SYNTAX = - displays loaded modules
AMX_MAP_SYNTAX = <mapname>
AMX_EXTENDMAP_SYNTAX = <number of minutes> - extend map
AMX_CFG_SYNTAX = <filename>
AMX_NICK_SYNTAX = <name or #userid> <new nick>
AMX_LAST_SYNTAX = shows info about the last few disconnected clients
AMX_RCON_SYNTAX = <command line>
ADMIN_KICK_CON = Client "%n" kicked
ADMIN_CANNOT_BAN = Cannot ban %s
ADMIN_BAN_ONLY_RECENT = You may only ban recently disconnected clients. Use "amx_last" to view
ADMIN_IP_ADDED = IP %s added to ban list
ADMIN_AUTHID_ADDED = AuthID %s added to ban list
MODULE_RUNNING = running
MODULE_BAD_LOAD = bad load
MODULE_UNKNOWN = unknown
ADMIN_CFG_CON = Executing file %s
ADMIN_PAUSE_CON = Server PAUSED
ADMIN_UNPAUSE_CON = Server UNPAUSED
ADMIN_OLD_CONNS_SAVED = %d old connections saved
[de]
ADMIN_KICK_1 = ADMIN: kickt %s
@ -91,10 +123,10 @@ PERM = für immer
CLIENT_BANNED = Spieler "%s" gebannt
ADMIN_SLAY_1 = ADMIN: killt %s
ADMIN_SLAY_2 = ADMIN %s: killt %s
CLIENT_SLAYED = Spieler "%s" wurde gekillt
CLIENT_SLAYED = Spieler "%n" wurde gekillt
ADMIN_SLAP_1 = ADMIN: schlägt %s mit %d Schaden
ADMIN_SLAP_2 = ADMIN %s: schlägt %s mit %d Schaden
CLIENT_SLAPED = Spieler "%s" wurde mit %d Schaden geschlagen
CLIENT_SLAPPED = Spieler "%n" wurde mit %d Schaden geschlagen
MAP_NOT_FOUND = Diese Map ist nicht vorhanden oder unzulässig
ADMIN_MAP_1 = ADMIN: wechselt zur Map %s
ADMIN_MAP_2 = ADMIN %s: wechselt zur Map %s
@ -126,8 +158,8 @@ PAUSED = pausiert
UNPAUSED = fortgesetzt
UNABLE_PAUSE = Server konnte das Spiel nicht anhalten. Reale Spieler werden auf dem Server benötigt.
SERVER_PROC = Server führt %s aus
PAUSING = pausiert den Server...
UNPAUSING = setzt den Server fort...
PAUSING = Pausiere
UNPAUSING = setze fort
PAUSE = Pause
UNPAUSE = Fortsetzen
COM_SENT_SERVER = Befehlszeile "%s" zur Serverconsole gesendet
@ -138,11 +170,11 @@ ACCESS = Berechtigung
TOTAL_NUM = Total %d
SKIP_MATCH = Überspringe "%s" (stimmt überein mit "%s")
SKIP_IMM = Überspringe "%s" (Immunität)
KICK_PL = Kicke "%s"
KICK_PL = Kickt "%s"
YOU_DROPPED = Du wurdest gekickt, weil der Admin nur spezielle Spielergruppen auf dem Server zulässt
KICKED_CLIENTS = %d Spieler gekickt
ADMIN_LEAVE_1 = ADMIN: Spieler ohne Berechtigung %s %s %s %s verlassen den Server!
ADMIN_LEAVE_2 = ADMIN %s: Spieler ohne Berechtigung %s %s %s %s verlassen den Server!
KICKED_CLIENTS = Kickt %d clients
ADMIN_LEAVE_1 = ADMIN: erlaubt %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: erlaubt %s %s %s %s
ADMIN_NICK_1 = ADMIN: ändert Name von %s zu "%s"
ADMIN_NICK_2 = ADMIN %s: ändert Name von %s zu "%s"
CHANGED_NICK = Name von %s zu "%s" geändert
@ -161,15 +193,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banovan
REASON = razlog
FOR_MIN = na %s min
FOR_MIN = na %d min
PERM = za stalno
CLIENT_BANNED = Klijent "%s" je banovan
ADMIN_SLAY_1 = ADMIN: slay %s
ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Klijent "%s" slayed
CLIENT_SLAYED = Klijent "%n" slayed
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
ADMIN_MAP_1 = ADMIN: changelevel %s
ADMIN_MAP_2 = ADMIN %s: changelevel %s
@ -226,82 +258,79 @@ ADMIN_EXTEND_2 = ADMIN %s: produziti mapu za %d minuta
MAP_EXTENDED = Mapa "%s" je produzena za %d minuta
[tr]
ADMIN_KICK_1 = ADMIN, %s kisisini atti
ADMIN_KICK_2 = ADMIN %s, %s kisisini atti
IP_REMOVED = Ip "%s" ban listesinden kaldirildi
AUTHID_REMOVED = Authid "%s" ban listesinden kaldirildi
ADMIN_UNBAN_1 = ADMIN, %s kisisinin banini kaldirdi
ADMIN_UNBAN_2 = ADMIN %s, %s kisisinin banini kaldirdi
ADMIN_ADDBAN_1 = ADMIN, %s kisisini banladi
ADMIN_ADDBAN_2 = ADMIN %s, %s kisisini banladi
ADMIN_KICK_1 = ADMIN: at %s
ADMIN_KICK_2 = ADMIN %s: at %s
IP_REMOVED = Ip "%s" ban listesinden silindi
AUTHID_REMOVED = Authid "%s" ban listesinden silindi
ADMIN_UNBAN_1 = ADMIN: ban kalkdi %s
ADMIN_UNBAN_2 = ADMIN %s: ban kalkdi %s
ADMIN_ADDBAN_1 = ADMIN: banla %s
ADMIN_ADDBAN_2 = ADMIN %s: banla %s
BANNED = banlandi
REASON = neden
FOR_MIN = %s dakika
PERM = kalici olarak
CLIENT_BANNED = Kullanici "%s" banlandi
ADMIN_SLAY_1 = ADMIN, %s kisisini oldurdu
ADMIN_SLAY_2 = ADMIN %s, %s kisisini oldurdu
CLIENT_SLAYED = Kullanici "%s" olduruldu
ADMIN_SLAP_1 = ADMIN, %s kisisini %d hasarla tokatladi
ADMIN_SLAP_2 = ADMIN %s, %s kisini %d hasarla tokatladi
CLIENT_SLAPED = Kullanici "%s" %d zarar ile tokatlandi
MAP_NOT_FOUND = O isimde bir harita bulunamadi yada harita gecersizdir
ADMIN_MAP_1 = ADMIN, haritayi %s olarak degistirdi
ADMIN_MAP_2 = ADMIN %s, haritayi %s olarak degistirdi
NO_MORE_CVARS = Rcon erisimi icin daha fazla cvar eklenemiyor
REASON = Neden
FOR_MIN = %d dakika ban
PERM = suresiz
CLIENT_BANNED = Oyuncu "%s" banlandi
ADMIN_SLAY_1 = ADMIN: oldurdu %s
ADMIN_SLAY_2 = ADMIN %s: oldurdu %s
CLIENT_SLAYED = Oyuncu "%n" olduruldu
ADMIN_SLAP_1 = ADMIN: %s tokatla verilen zarar %d
ADMIN_SLAP_2 = ADMIN %s: %s tokatla verilen zarar %d
CLIENT_SLAPPED = Oyuncu "%n" tokatlandi %d zarar ile
MAP_NOT_FOUND = Map ismi bulunamadi yada mevcud degildir
ADMIN_MAP_1 = ADMIN: %s mapina degisdirdi
ADMIN_MAP_2 = ADMIN %s: %s mapina degisdirdi
NO_MORE_CVARS = Rcon'a daha cvar ekliyemiyorsunuz!
UNKNOWN_CVAR = Bilinmeyen cvar: %s
UNKNOWN_XVAR = Bilinmeyen xvar: %s
CVAR_NO_ACC = O cvara erisim hakkiniz yok
XVAR_NO_ACC = O xvara erisim hakkiniz yok
CVAR_NO_ACC = O cvar'a giris hakkiniz yok
XVAR_NO_ACC = O xvar'a giris hakkiniz yok
CVAR_IS = Cvar "%s" budur "%s"
XVAR_IS = Xvar "%s" budur "%s"
PROTECTED = KORUMALI
SET_CVAR_TO = %s %s cvarini "%s" olarak degistirdi
SET_XVAR_TO = %s %s xvarini "%s" olarak degistirdi
CVAR_CHANGED = Cvar "%s" "%s" olarak degistirildi
XVAR_CHANGED = Xvar "%s" "%s" olarak degistirildi
LOADED_PLUGINS = Suanda yuklenen eklentiler
PROTECTED = GUVENLI
SET_CVAR_TO = %s cvar ayari %s onaylandi "%s"
SET_XVAR_TO = %s xvar ayari %s onaylandi "%s"
CVAR_CHANGED = Cvar "%s" degisimi "%s" tamamlandi
XVAR_CHANGED = Xvar "%s" degisimi "%s" tamamlandi
LOADED_PLUGINS = Su anki yuklenen Plugin'ler
NAME = isim
VERSION = versiyon
AUTHOR = yaratici
AUTHOR = ureten
FILE = dosya
STATUS = statu
PLUGINS_RUN = %d eklenti, %d tanesi calisiyor
LOADED_MODULES = Suanda yuklenen moduller
NUM_MODULES = %d modul
FILE_NOT_FOUND = "%s" dosyasi bulunamadi
ADMIN_CONF_1 = ADMIN, %s configini gerceklestirdi
ADMIN_CONF_2 = ADMIN %s, %s configini gerceklestirdi
PAUSED = durduruldu
UNPAUSED = devam ettirildi
UNABLE_PAUSE = Server oyunu durdurmak icin musait degildi. Serverde gercek oyuncular gerekli.
STATUS = durum
PLUGINS_RUN = %d plugin, %d calisiyor
LOADED_MODULES = Su anki yuklenen module'ler
NUM_MODULES = %d module'ler
FILE_NOT_FOUND = "%s" Dosya bulunamadi
ADMIN_CONF_1 = ADMIN: %s Config dosyasi acildi
ADMIN_CONF_2 = ADMIN %s: %s Config dosyasi acildi
PAUSED = Gecici olarak durduruldu
UNPAUSED = Tekrar baslatildi
UNABLE_PAUSE = Server gecici olarak durdurulamadi. Serverde gercek oyuncu gerek.
SERVER_PROC = Server devami %s
PAUSING = durduruluyor
UNPAUSING = tekrar baslatiliyor
PAUSING = Gecici olarak durduruldu
UNPAUSING = Tekrar baslatildi
PAUSE = durdur
UNPAUSE = tekrar baslat
COM_SENT_SERVER = Komut satiri "%s" server konsoluna gonderildi
CLIENTS_ON_SERVER = Serverdeki kullanicilar
IMMU = dokunulmazlik
UNPAUSE = baslat
COM_SENT_SERVER = Emir "%s" server consoluna gonderildi
CLIENTS_ON_SERVER = Serverde olan oyuncular
IMMU = dokunulmaz
RESERV = reservasyon
ACCESS = erisim
TOTAL_NUM = Toplam %d
SKIP_MATCH = "%s" atlaniyor ("%s" eslesiyor)
SKIP_IMM = "%s" atlaniyor (dokunulmazlik)
KICK_PL = "%s" atiliyor
YOU_DROPPED = Adminin sadece belirli kullanici gruplarini birakmasindan dolayi dusuruldunuz
KICKED_CLIENTS = %d kullanici atildi
ADMIN_LEAVE_1 = ADMIN, %s %s %s %s kisilerini birakti
ADMIN_LEAVE_2 = ADMIN %s, %s %s %s %s kisilerini birakti
ADMIN_NICK_1 = ADMIN, %s kisinin ismini "%s" olarak degistirdi
ADMIN_NICK_2 = ADMIN %s, %s kisinin ismini "%s" olarak degistirdi
CHANGED_NICK = %s kisinin ismi, "%s" olarak degistirildi
ADMIN_EXTEND_1 = ADMIN, haritayi %d dakika uzatti
ADMIN_EXTEND_2 = ADMIN %s, haritayi %d dakika uzatti
ACCESS = giris
TOTAL_NUM = Tam %d
SKIP_MATCH = "%s" kullanilamiyor (benzeri ise "%s")
SKIP_IMM = "%s" kullanilamiyor (dokunulmazlik)
KICK_PL = "%s" atin
YOU_DROPPED = Sadece ozel gurupa mevcud oldugu icin atildiniz
KICKED_CLIENTS = %d oyuncular atildi
ADMIN_LEAVE_1 = ADMIN: %s %s %s %s gitdi
ADMIN_LEAVE_2 = ADMIN %s: %s %s %s %s gitdi
ADMIN_NICK_1 = ADMIN: %s kisinin ismini buna degisdirdi "%s"
ADMIN_NICK_2 = ADMIN %s: %s kisinin ismini buna degisdirdi "%s"
CHANGED_NICK = %s kisinin nickini buna degisdirdi "%s"
ADMIN_EXTEND_1 = ADMIN: haritayi %d dakika uzatti
ADMIN_EXTEND_2 = ADMIN %s: haritayi %d dakika uzatti
MAP_EXTENDED = Harita "%s" %d dakika uzatildi
ADMIN_MUST_TEMPBAN = Oyunculari sadece gecici olarak banlayabilirsin, %d dakikaya kadar
ADMIN_MUST_TEMPUNBAN = Sadece yakinlarda banladigin oyuncularin banini kaldirabilirsin
[fr]
ADMIN_KICK_1 = ADMIN: kick %s
@ -314,15 +343,15 @@ ADMIN_ADDBAN_1 = ADMIN: banni %s
ADMIN_ADDBAN_2 = ADMIN %s: banni %s
BANNED = a ete banni
REASON = raison
FOR_MIN = pour %s mn
FOR_MIN = pour %d mn
PERM = a vie (permanent)
CLIENT_BANNED = Client "%s" a ete banni
ADMIN_SLAY_1 = ADMIN: foudroie %s
ADMIN_SLAY_2 = ADMIN %s: foudroie %s
CLIENT_SLAYED = Client "%s" a ete foudroye
CLIENT_SLAYED = Client "%n" a ete foudroye
ADMIN_SLAP_1 = ADMIN: frappe %s avec %d points de degat
ADMIN_SLAP_2 = ADMIN %s: frappe %s avec %d points de degat
CLIENT_SLAPED = Client "%s" a ete frappe avec %d points de degat
CLIENT_SLAPPED = Client "%n" a ete frappe avec %d points de degat
MAP_NOT_FOUND = La carte avec ce nom n'a pas ete trouvee, ou le nom n'est pas valide
ADMIN_MAP_1 = ADMIN: a change la carte pour %s
ADMIN_MAP_2 = ADMIN %s: a change la carte pour %s
@ -389,15 +418,15 @@ ADMIN_ADDBAN_1 = ADMIN: bannlys %ss
ADMIN_ADDBAN_2 = ADMIN %s: bannlys %ss
BANNED = bannlyst
REASON = orsak
FOR_MIN = i %s minuter
FOR_MIN = i %d minuter
PERM = permanent
CLIENT_BANNED = Klient "%s" bannlyst
ADMIN_SLAY_1 = ADMIN: slakta %s
ADMIN_SLAY_2 = ADMIN %s: slakta %s
CLIENT_SLAYED = Klient "%s" slaktad
CLIENT_SLAYED = Klient "%n" slaktad
ADMIN_SLAP_1 = ADMIN: smiska %s med %d skada
ADMIN_SLAP_2 = ADMIN %s: smiska %s med %d skada
CLIENT_SLAPED = Klient "%s" smiskad med %d skada
CLIENT_SLAPPED = Klient "%n" smiskad med %d skada
MAP_NOT_FOUND = Kan inte hitta karta med det namnet eller felaktig karta
ADMIN_MAP_1 = ADMIN: byt karta %s
ADMIN_MAP_2 = ADMIN %s: byt karta %s
@ -464,15 +493,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banned
REASON = grund
FOR_MIN = for %s min
FOR_MIN = for %d min
PERM = permanent
CLIENT_BANNED = klient "%s" banned
ADMIN_SLAY_1 = ADMIN: draeb %s
ADMIN_SLAY_2 = ADMIN %s: draeb %s
CLIENT_SLAYED = Klient "%s" draebt
CLIENT_SLAYED = Klient "%n" draebt
ADMIN_SLAP_1 = ADMIN: klaps %s med %d skade
ADMIN_SLAP_2 = ADMIN %s: klaps %s med %d skade
CLIENT_SLAPED = Klient "%s" klapset med %d skade
CLIENT_SLAPPED = Klient "%n" klapset med %d skade
MAP_NOT_FOUND = Bane med det navn blev ikke fundet eller banen er ugyldig
ADMIN_MAP_1 = ADMIN: Skift bane %s
ADMIN_MAP_2 = ADMIN %s: Skift bane %s
@ -539,15 +568,15 @@ ADMIN_ADDBAN_1 = ADMIN: baniu %s
ADMIN_ADDBAN_2 = ADMIN %s: baniu %s
BANNED = banido
REASON = motivo
FOR_MIN = por %s minutos
FOR_MIN = por %d minutos
PERM = permanentemente
CLIENT_BANNED = Cliente "%s" banido
ADMIN_SLAY_1 = ADMIN: matou %s
ADMIN_SLAY_2 = ADMIN %s: matou %s
CLIENT_SLAYED = Cliente "%s" foi morto
CLIENT_SLAYED = Cliente "%n" foi morto
ADMIN_SLAP_1 = ADMIN: deu tapa em %s com dano de %d
ADMIN_SLAP_2 = ADMIN %s: deu tapa em %s com dano de %d
CLIENT_SLAPED = Cliente "%s" levou tapa com dano de %d
CLIENT_SLAPPED = Cliente "%n" levou tapa com dano de %d
MAP_NOT_FOUND = Mapa com nome nao encontrado ou mapa invalido
ADMIN_MAP_1 = ADMIN: mudou para %s
ADMIN_MAP_2 = ADMIN %s: mudou para %s
@ -614,15 +643,15 @@ ADMIN_ADDBAN_1 = Admin zbanowal %s
ADMIN_ADDBAN_2 = Admin %s zbanowal %s
BANNED = zbanowany
REASON = przyczyna
FOR_MIN = na %s min
FOR_MIN = na %d min
PERM = permanentnie
CLIENT_BANNED = Gracz "%s" zbanowany
ADMIN_SLAY_1 = Admin zgladzil %s
ADMIN_SLAY_2 = Admin %s zgladzil %s
CLIENT_SLAYED = Gracz "%s" zgladzony
CLIENT_SLAYED = Gracz "%n" zgladzony
ADMIN_SLAP_1 = Admin uderzyl %s zadajac %d obrazen
ADMIN_SLAP_2 = Admin %s uderzyl %s zadajac %d obrazen
CLIENT_SLAPED = Gracz "%s" zostal uderzony z sila %d obrazen
CLIENT_SLAPPED = Gracz "%n" zostal uderzony z sila %d obrazen
MAP_NOT_FOUND = Nie ma takiej mapy!
ADMIN_MAP_1 = Admin zmienia mape na %s
ADMIN_MAP_2 = Admin %s zmienia mape na %s
@ -689,15 +718,15 @@ ADMIN_ADDBAN_1 = ADMIN: verban %s
ADMIN_ADDBAN_2 = ADMIN %s: verban %s
BANNED = verbannen
REASON = reden
FOR_MIN = voor %s minuten
FOR_MIN = voor %d minuten
PERM = permanent
CLIENT_BANNED = Speler "%s" verbannen
ADMIN_SLAY_1 = ADMIN: slacht %s
ADMIN_SLAY_2 = ADMIN %s: slacht %s
CLIENT_SLAYED = Speler "%s" geslacht
CLIENT_SLAYED = Speler "%n" geslacht
ADMIN_SLAP_1 = ADMIN: slaat %s met %d schade
ADMIN_SLAP_2 = ADMIN %s: slaat %s met %d schade
CLIENT_SLAPED = Speler "%s" geslagen met %d schade
CLIENT_SLAPPED = Speler "%n" geslagen met %d schade
MAP_NOT_FOUND = Map met die naam niet gevonden of de map is ongeldig
ADMIN_MAP_1 = ADMIN: verander map naar %s
ADMIN_MAP_2 = ADMIN %s: verander map naar %s
@ -764,15 +793,15 @@ ADMIN_ADDBAN_1 = ADMIN: %s baneado
ADMIN_ADDBAN_2 = ADMIN %s: %s baneado
BANNED = baneado
REASON = motivo
FOR_MIN = por %s minutos
FOR_MIN = por %d minutos
PERM = permanentemente
CLIENT_BANNED = El cliente "%s" ha sido baneado
ADMIN_SLAY_1 = ADMIN: %s asesinado
ADMIN_SLAY_2 = ADMIN %s: %s asesinado
CLIENT_SLAYED = El cliente "%s" ha sido asesinado
CLIENT_SLAYED = El cliente "%n" ha sido asesinado
ADMIN_SLAP_1 = ADMIN: %s ha sido bofeteado con %d de danyo
ADMIN_SLAP_2 = ADMIN %s: %s ha sido bofeteado con %d de danyo
CLIENT_SLAPED = Has pegado al cliente "%s" con %d de danyo
CLIENT_SLAPPED = Has pegado al cliente "%n" con %d de danyo
MAP_NOT_FOUND = No se encontro ningun mapa con ese nombre o el mapa es invalido
ADMIN_MAP_1 = ADMIN: cambiando a %s
ADMIN_MAP_2 = ADMIN %s: cambiando a %s
@ -839,15 +868,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = zabanovan
REASON = duvod
FOR_MIN = na %s minut
FOR_MIN = na %d minut
PERM = permanentne
CLIENT_BANNED = Klient "%s" zabanovan
ADMIN_SLAY_1 = ADMIN: zabil %s
ADMIN_SLAY_2 = ADMIN %s: zabili %s
CLIENT_SLAYED = Klient "%s" byl zabit
CLIENT_SLAYED = Klient "%n" byl zabit
ADMIN_SLAP_1 = ADMIN: placnul %s za %d damage
ADMIN_SLAP_2 = ADMIN %s: placnul %s za %d damage
CLIENT_SLAPED = Klient "%s" dostal facku za %d damage
CLIENT_SLAPPED = Klient "%n" dostal facku za %d damage
MAP_NOT_FOUND = Mapa s takovym jmenem nenalezena
ADMIN_MAP_1 = ADMIN: zmenil level na %s
ADMIN_MAP_2 = ADMIN %s: zmenili level na %s
@ -914,15 +943,15 @@ ADMIN_ADDBAN_1 = ADMIN: bannasi %s
ADMIN_ADDBAN_2 = ADMIN %s: bannasi %s
BANNED = bannittu
REASON = syy
FOR_MIN = %s minuutiksi
FOR_MIN = %d minuutiksi
PERM = pysyvasti
CLIENT_BANNED = Clinu "%s" bannattiin
ADMIN_SLAY_1 = ADMIN: slayasi %s
ADMIN_SLAY_2 = ADMIN %s: slayasi %s
CLIENT_SLAYED = Client "%s" slayattiin
CLIENT_SLAYED = Client "%n" slayattiin
ADMIN_SLAP_1 = ADMIN: slappasi %s %d damagella
ADMIN_SLAP_2 = ADMIN %s: slappasi %s %d damagella
CLIENT_SLAPED = Client "%s" slapattiin %d damagella
CLIENT_SLAPPED = Client "%n" slapattiin %d damagella
MAP_NOT_FOUND = Mappia ei loytynyt tai nimi on vaarin
ADMIN_MAP_1 = ADMIN: vaihtoi mapin: %s
ADMIN_MAP_2 = ADMIN %s: vaihtoi mapin: %s
@ -988,15 +1017,15 @@ ADMIN_UNBAN_2 = ADMINISTRATOR %s: unbanna %s
ADMIN_ADDBAN_1 = ADMINISTRATOR: banna %s
ADMIN_ADDBAN_2 = ADMINISTRATOR %s: banna %s
BANNED = banna
FOR_MIN = za %s minuti
FOR_MIN = za %d minuti
PERM = zavinagi
CLIENT_BANNED = Igrachut "%s" e bannat
ADMIN_SLAY_1 = ADMINISTRATOR: slayna %s
ADMIN_SLAY_2 = ADMINISTRATOR %s: slayna %s
CLIENT_SLAYED = Igrachut "%s" e slaynat
CLIENT_SLAYED = Igrachut "%n" e slaynat
ADMIN_SLAP_1 = ADMINISTRATOR: slapna %s s %d shteta
ADMIN_SLAP_2 = ADMINISTRATOR %s: slapna %s s %d shteta
CLIENT_SLAPED = Igrachut "%s" e slapnat s %d shteta
CLIENT_SLAPPED = Igrachut "%n" e slapnat s %d shteta
MAP_NOT_FOUND = Karta s tova ime ne e namerena ili nevalidna
ADMIN_MAP_1 = ADMINISTRATOR: smeni kartata na %s
ADMIN_MAP_2 = ADMINISTRATOR %s: smeni kartata na %s
@ -1055,115 +1084,147 @@ MAP_EXTENDED = Kartata "%s" beshe uduljena s %d minuti
[ro]
ADMIN_KICK_1 = ADMIN: kick %s
ADMIN_KICK_2 = ADMIN %s: kick %s
IP_REMOVED = IP-ul "%s" a fost eliminat din lista de banuri
AUTHID_REMOVED = AuthID-ul "%s" a fost eliminat din lista de banuri
IP_REMOVED = Ip-ul "%s" a fost inlaturat din lista de ban-uri
AUTHID_REMOVED = ID-ul "%s" a fost inlaturat din lista de ban-uri
ADMIN_UNBAN_1 = ADMIN: unban %s
ADMIN_UNBAN_2 = ADMIN %s: unban %s
ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banat
REASON = motiv
FOR_MIN = pentru %s minute
FOR_MIN = pentru %d min
PERM = permanent
CLIENT_BANNED = Jucătorul "%s" a primit ban
CLIENT_BANNED = Jucatorul "%s" a primit ban
ADMIN_SLAY_1 = ADMIN: slay %s
ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Jucătorul "%s" a primit slay
ADMIN_SLAP_1 = ADMIN: slap %s cu %d damage
ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d damage
CLIENT_SLAPED = Jucătorul "%s" a primit slap cu %d damage
MAP_NOT_FOUND = Harta cu acel nume nu a fost găsită, sau este invalidă
ADMIN_MAP_1 = ADMIN: schimbă harta pe %s
ADMIN_MAP_2 = ADMIN %s: schimbă harta pe %s
NO_MORE_CVARS = Nu se mai pot adăuga comenzi pentru accesul rcon!
UNKNOWN_CVAR = Comanda nerecunoscută: %s
UNKNOWN_XVAR = Comanda nerecunoscută: %s
CVAR_NO_ACC = Nu ai acces la această comandă
XVAR_NO_ACC = Nu ai acces la această comandă
CLIENT_SLAYED = Jucatorul "%n" a primit slay
ADMIN_SLAP_1 = ADMIN: slap %s cu %d dmg
ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d dmg
CLIENT_SLAPPED = Jucatorul "%n" a primit slap %d dmg
MAP_NOT_FOUND = Harta cu acel nume nu a fost gasita sau este invalida
ADMIN_MAP_1 = ADMIN: schimbare harta pe %s
ADMIN_MAP_2 = ADMIN %s: schimbare harta pe %s
NO_MORE_CVARS = Nu se pot adauga mai multe comenzi pentru accesul rcon!
UNKNOWN_CVAR = Comanda nerecunoscuta: %s
UNKNOWN_XVAR = Comanda nerecunoscuta: %s
CVAR_NO_ACC = Nu ai acces la aceasta comanda
XVAR_NO_ACC = Nu ai acces la aceasta comanda
CVAR_IS = Comanda "%s" este "%s"
XVAR_IS = Comanda "%s" este "%s"
PROTECTED = PROTEJAT
SET_CVAR_TO = %s setează comanda %s pe "%s"
SET_XVAR_TO = %s setează comanda %s pe "%s"
CVAR_CHANGED = Comanda "%s" a fost schimbată pe "%s"
XVAR_CHANGED = Comanda "%s" a fost schimbată pe "%s"
LOADED_PLUGINS = Pluginuri încărcate
SET_CVAR_TO = %s seteaza comanda %s pe "%s"
SET_XVAR_TO = %s seteaza comanda %s pe "%s"
CVAR_CHANGED = Comanda "%s" a fost schimbata pe "%s"
XVAR_CHANGED = Comanda "%s" a fost schimbata pe "%s"
LOADED_PLUGINS = Plugin-uri incarcate
NAME = nume
VERSION = versiune
AUTHOR = autor
FILE = fișier
STATUS = status
PLUGINS_RUN = %d pluginuri, %d funcționale
LOADED_MODULES = Module încărcate
NUM_MODULES = %d module
FILE_NOT_FOUND = Fișierul "%s" nu a fost găsit
FILE = fisier
STATUS = statut
PLUGINS_RUN = %d plugin-uri, %d functionale
LOADED_MODULES = Moduluri incarcate
NUM_MODULES = %d moduluri
FILE_NOT_FOUND = Fisier-ul "%s" nu a fost gasit
ADMIN_CONF_1 = ADMIN: executare config %s
ADMIN_CONF_2 = ADMIN %s: executare config %s
PAUSED = joc întrerupt
PAUSED = s-a intrerupt jocul
UNPAUSED = s-a revenit la joc
UNABLE_PAUSE = Serverul nu a putut întrerupe jocul. Este nevoie de jucători reali pe server.
UNABLE_PAUSE = Server-ul nu a putut intrerupe jocul. Este nevoie de jucatori adevarati.
SERVER_PROC = Continuare server %s
PAUSING = jocul se întrerupe
PAUSING = se interupe jocul
UNPAUSING = se revine la joc
PAUSE = întrerupe jocul
PAUSE = intrerupe jocul
UNPAUSE = revino la joc
COM_SENT_SERVER = Comanda "%s" a fost trimisă în consola serverului
CLIENTS_ON_SERVER = Jucători pe server
COM_SENT_SERVER = Comanda "%s" a fost trimisa in consola server-ului
CLIENTS_ON_SERVER = Jucatori pe server
IMMU = imu
RESERV = rez
ACCESS = acces
TOTAL_NUM = Total %d
SKIP_MATCH = Se sare peste "%s" (criteriu "%s")
SKIP_IMM = Se sare peste "%s" (imunitate)
SKIP_MATCH = Se trece peste "%s" (criteriu "%s")
SKIP_IMM = Se trece peste "%s" (imunitate)
KICK_PL = Kick "%s"
YOU_DROPPED = Ai fost dat afară deoarece adminul a lăsat doar un grup specific de jucători pe server.
KICKED_CLIENTS = %d jucători au primit kick
ADMIN_LEAVE_1 = ADMIN: ieșire %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: ieșire %s %s %s %s
ADMIN_NICK_1 = ADMIN: schimbă numele lui %s cu "%s"
ADMIN_NICK_2 = ADMIN %s: schimbă numele lui %s cu "%s"
CHANGED_NICK = Numele lui %s a fost schimbat cu "%s"
YOU_DROPPED = Ai fost dat afara deoarece admin-ul permite doar un grup specificat de jucatori pe server
KICKED_CLIENTS = %d jucatori au primit kick
ADMIN_LEAVE_1 = ADMIN: iesire %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: iesire %s %s %s %s
ADMIN_NICK_1 = ADMIN: schimbare nume %s cu "%s"
ADMIN_NICK_2 = ADMIN %s: schimbare nume %s cu "%s"
CHANGED_NICK = Numele %s a fost schimbat cu "%s"
ADMIN_EXTEND_1 = ADMIN: extinde harta pentru %d minute
ADMIN_EXTEND_2 = ADMIN %s: extinde harta pentru %d minute
MAP_EXTENDED = Harta "%s" a fost extinsă pentru %d minute
ADMIN_MUST_TEMPBAN = Poți să dai numai ban temporar jucătorilor, până la %d minute
ADMIN_MUST_TEMPUNBAN = Poți să dai unban numai jucătorilor pe care i-ai banat recent.
MAP_EXTENDED = Harta "%s" a fost extinsa pentru %d minute
ADMIN_MUST_TEMPBAN = Poți interzice jucători doar temporar, cel mult %d minute
ADMIN_MUST_TEMPUNBAN = Doar jucătorii recent interziși de tine pot fi scoși din listă
AMX_KICK_SYNTAX = <nume sau #userid> [motiv]
AMX_BAN_SYNTAX = <nume sau #userid> <minute> [motiv]
AMX_BANIP_SYNTAX = <nume sau #userid> <minute> [motiv]
AMX_ADDBAN_SYNTAX = <"authid" sau ip> <minute> [motiv]
AMX_UNBAN_SYNTAX = <"authid" sau ip>
AMX_SLAY_SYNTAX = <nume sau #userid>
AMX_SLAP_SYNTAX = <nume sau #userid> [putere]
AMX_LEAVE_SYNTAX = <etichetă> [etichetă] [etichetă] [etichetă]
AMX_PAUSE_SYNTAX = — pune jocul pe pauză sau invers
AMX_WHO_SYNTAX = — afișează jucătorii conectați
AMX_CVAR_SYNTAX = <cvar> [valoare]
AMX_XVAR_SYNTAX = <xvar> [valoare]
AMX_PLUGINS_SYNTAX = [intrare]
AMX_MODULES_SYNTAX = — afișează extensiile atașate
AMX_MAP_SYNTAX = <numele hărții>
AMX_EXTENDMAP_SYNTAX = <minute> — extinde harta curentă
AMX_CFG_SYNTAX = <numele fișierului cfg>
AMX_NICK_SYNTAX = <nume sau #userid> <poreclă nouă>
AMX_LAST_SYNTAX = afișează detalii privind ultimii jucători deconectați
AMX_RCON_SYNTAX = <linie de comandă>
ADMIN_KICK_CON = Jucătorul "%n" a fost deconectat
ADMIN_CANNOT_BAN = %s nu poate fi interzis
ADMIN_BAN_ONLY_RECENT = Poți interzice doar jucători recent deconectați — amx_last
ADMIN_IP_ADDED = %s a fost interzis
ADMIN_AUTHID_ADDED = %s a fost interzis
MODULE_RUNNING = rulează
MODULE_BAD_LOAD = neatașat
MODULE_UNKNOWN = necunoscut
ADMIN_CFG_CON = %s a fost executat
ADMIN_PAUSE_CON = Pauza a început
ADMIN_UNPAUSE_CON = Pauza s-a terminat
ADMIN_OLD_CONNS_SAVED = %d conexiuni salvate
[hu]
ADMIN_KICK_1 = ADMIN: %s kirúgva
ADMIN_KICK_2 = ADMIN %s: %s kirúgva
IP_REMOVED = IP "%s" eltávolítva a banlistáról
AUTHID_REMOVED = Authid "%s" eltávolítva a banlistáról
IP_REMOVED = IP "%s" eltávolítva a ban-listárol
AUTHID_REMOVED = Authid "%s" eltávolítva a ban-listáról
ADMIN_UNBAN_1 = ADMIN: %s ban visszavonva
ADMIN_UNBAN_2 = ADMIN %s: %s ban visszavonva
ADMIN_ADDBAN_1 = ADMIN: bannolta %s játékost
ADMIN_ADDBAN_2 = ADMIN %s: bannolta %s játékost
ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = Bannolva
REASON = Indok
FOR_MIN = %s percre
FOR_MIN = %d percre
PERM = örökre
CLIENT_BANNED = felhasználó "%s" bannolva
ADMIN_SLAY_1 = ADMIN: %s megölve
ADMIN_SLAY_2 = ADMIN %s: %s megölve
CLIENT_SLAYED = "%s" játékos megölve
CLIENT_SLAYED = "%n" játékos megölve
ADMIN_SLAP_1 = ADMIN: %s megütve %d sebzéssel
ADMIN_SLAP_2 = ADMIN %s: %s megütve %d sebzéssel
CLIENT_SLAPED = "%s" játékos megütve %d sebzéssel
ADMIN_SLAP_2 = ADMIN %s: megütve %s %d sebzéssel
CLIENT_SLAPPED = "%n" játékos megütve %d sebzéssel
MAP_NOT_FOUND = Nem található ilyen nevű pálya
ADMIN_MAP_1 = ADMIN: pályaváltás %s
ADMIN_MAP_2 = ADMIN %s: pályaváltás %s
NO_MORE_CVARS = Nem lehet több cvart hozzáadni az rcon hozzáféréshez!
UNKNOWN_CVAR = Ismeretlen cvar: %s
UNKNOWN_XVAR = Ismeretlen xvar: %s
CVAR_NO_ACC = Nincs engedélyed a cvarhoz
XVAR_NO_ACC = Nincs engedélyed az xvarhoz
CVAR_NO_ACC = Nincs engedélyed a cvar-hoz
XVAR_NO_ACC = Nincs engedélyed a xvar-hoz
CVAR_IS = Cvar "%s" jelenleg "%s"
XVAR_IS = Xvar "%s" jelenleg "%s"
PROTECTED = Védett
SET_CVAR_TO = %s cvar átállítva: %s -> "%s"
SET_XVAR_TO = %s xvar átállítva: %s -> "%s"
CVAR_CHANGED = Cvar "%s" átállítva "%s" értékre.
XVAR_CHANGED = Xvar "%s" átállítva "%s" értékre.
SET_CVAR_TO = %s beállítva cvar %s -> "%s"
SET_XVAR_TO = %s beállítva xvar %s -> "%s"
CVAR_CHANGED = Cvar "%s" átállítva "%s"-ra.
XVAR_CHANGED = Xvar "%s" átállítva "%s"-ra.
LOADED_PLUGINS = Jelenleg betöltött pluginok
NAME = Név
VERSION = Verzió
@ -1196,11 +1257,11 @@ YOU_DROPPED = Le lettél csatlakoztatva, mert az admin csak bizonyos csapat tagj
KICKED_CLIENTS = kirúgva %d felhasználó
ADMIN_LEAVE_1 = ADMIN: ledobta %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: ledobta %s %s %s %s
ADMIN_NICK_1 = ADMIN: %s nevét átírta, mostantól a neve "%s"
ADMIN_NICK_2 = ADMIN %s: %s nevét átírta, mostantól a neve "%s"
CHANGED_NICK = %s neve mostantól: "%s"
ADMIN_EXTEND_1 = ADMIN: Pálya hosszabbítása %d perccel
ADMIN_EXTEND_2 = ADMIN %s: Pálya hosszabbítása %d perccel
ADMIN_NICK_1 = ADMIN: névváltás %s-ról "%s"-ra
ADMIN_NICK_2 = ADMIN %s: nevváltás %s-ról "%s"ra
CHANGED_NICK = Névváltás %s-ról "%s"ra
ADMIN_EXTEND_1 = ADMIN: Páya hosszabbítása %d perccel
ADMIN_EXTEND_2 = ADMIN %s: Páya hosszabbítása %d perccel
MAP_EXTENDED = %s pálya meghosszabbítva %d perccel
ADMIN_MUST_TEMPBAN = Csak időhöz kötött bant tudsz kiosztani, maximum %d percet
ADMIN_MUST_TEMPUNBAN = Csak a nemrég általad bannolt játékosokat oldhatod fel
@ -1215,15 +1276,15 @@ ADMIN_UNBAN_2 = ADMINAS %s: atbanino %s
ADMIN_ADDBAN_1 = ADMINAS: isbanino %s
ADMIN_ADDBAN_2 = ADMINAS %s: isbanino %s
BANNED = isbanintas
FOR_MIN = %s minutem
FOR_MIN = %d minutem
PERM = visam laikui
CLIENT_BANNED = Klientas "%s" isbanintas
ADMIN_SLAY_1 = ADMINAS: slayna %s
ADMIN_SLAY_2 = ADMINAS %s: slayna %s
CLIENT_SLAYED = Klientas "%s" nuzudytas
CLIENT_SLAYED = Klientas "%n" nuzudytas
ADMIN_SLAP_1 = ADMINAS: slapina %s su %d zala
ADMIN_SLAP_2 = ADMINAS %s: slapina %s su %d zala
CLIENT_SLAPED = Klientas "%s" nuslapintas su %d zala
CLIENT_SLAPPED = Klientas "%n" nuslapintas su %d zala
MAP_NOT_FOUND = Zemelapis siuo pavadinimu nerastas.
ADMIN_MAP_1 = ADMINAS: keicia mapa i %s
ADMIN_MAP_2 = ADMINAS %s: keicia mapa i %s
@ -1290,15 +1351,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = zabanovany
REASON = pricina
FOR_MIN = na %s minut
FOR_MIN = na %d minut
PERM = permanentne
CLIENT_BANNED = Hrac "%s" zabanovany
ADMIN_SLAY_1 = ADMIN: zabil %s
ADMIN_SLAY_2 = ADMIN %s: zabili %s
CLIENT_SLAYED = Hrac menom "%s" bol zabity
CLIENT_SLAYED = Hrac menom "%n" bol zabity
ADMIN_SLAP_1 = ADMIN: placnul %s o sile %d damage
ADMIN_SLAP_2 = ADMIN %s: placnul %s o sile %d damage
CLIENT_SLAPED = Hrac menom "%s" dostal facku o sile %d damage
CLIENT_SLAPPED = Hrac menom "%n" dostal facku o sile %d damage
MAP_NOT_FOUND = Mapa s t<>mto menom nenajdena
ADMIN_MAP_1 = ADMIN: zmenil mapu na %s
ADMIN_MAP_2 = ADMIN %s: zmenili mapu na %s
@ -1365,15 +1426,15 @@ ADMIN_ADDBAN_1 = ADMIN: banira %s
ADMIN_ADDBAN_2 = ADMIN %s: banira %s
BANNED = baniran
REASON = prichina
FOR_MIN = za %s min
FOR_MIN = za %d min
PERM = zasekogash
CLIENT_BANNED = Igrachot "%s" e baniran
ADMIN_SLAY_1 = ADMIN: slayna %s
ADMIN_SLAY_2 = ADMIN %s: slayna %s
CLIENT_SLAYED = Igrachot "%s" beshe slaynat
CLIENT_SLAYED = Igrachot "%n" beshe slaynat
ADMIN_SLAP_1 = ADMIN: mu udri shamar na %s so %d shteta
ADMIN_SLAP_2 = ADMIN %s: mu udri shamar na %s so %d shteta
CLIENT_SLAPED = Igrachot "%s" e nashamaran so %d shteta
CLIENT_SLAPPED = Igrachot "%n" e nashamaran so %d shteta
MAP_NOT_FOUND = Mapa so toa ime ne e pronajdena ili ne postoi
ADMIN_MAP_1 = ADMIN: ja smeni mapata na %s
ADMIN_MAP_2 = ADMIN %s: ja smeni mapata na %s
@ -1428,6 +1489,40 @@ CHANGED_NICK = Smeneto e imeto na %s na "%s"
ADMIN_EXTEND_1 = ADMIN: ja prodolzhi mapata za %d minuti
ADMIN_EXTEND_2 = ADMIN %s: ja prodolzhi mapata za %d minuti
MAP_EXTENDED = Mapata "%s" e prodolzhena za %d minuti
ADMIN_MUST_TEMPBAN = Mozhete samo privremeno da banirate igrachi do %d minuti
ADMIN_MUST_TEMPUNBAN = Mozhete da unbanirate samo igrachi koi skoro ste gi banirale
AMX_KICK_SYNTAX = <ime ili #userid> [prichina]
AMX_BAN_SYNTAX = <ime ili #userid> <minutes> [prichina]
AMX_BANIP_SYNTAX = <ime ili #userid> <minutes> [prichina]
AMX_ADDBAN_SYNTAX = <"authid" ili ip> <minutes> [prichina]
AMX_UNBAN_SYNTAX = <"authid" ili ip>
AMX_SLAY_SYNTAX = <ime ili #userid>
AMX_SLAP_SYNTAX = <ime ili #userid> [sila]
AMX_LEAVE_SYNTAX = <tag> [tag] [tag] [tag]
AMX_PAUSE_SYNTAX = - ja pauzira ili unpauzira igrata
AMX_WHO_SYNTAX = - spisok so igrachi vo serverot
AMX_CVAR_SYNTAX = <cvar> [vrednost]
AMX_XVAR_SYNTAX = <xvar> [vrednost]
AMX_PLUGINS_SYNTAX = [pocheten plugin]
AMX_MODULES_SYNTAX = - gi prikazhuva vchitanite moduli
AMX_MAP_SYNTAX = <ime na mapa>
AMX_EXTENDMAP_SYNTAX = <broj na minuti>
AMX_CFG_SYNTAX = <ime na fajl>
AMX_NICK_SYNTAX = <ime ili #userid> <novo ime>
AMX_LAST_SYNTAX = pokazhuva informacija za poslednite nekolku diskonektirani igrachi
AMX_RCON_SYNTAX = <komanda>
ADMIN_KICK_CON = Igrachot "%n" e kiknat
ADMIN_CANNOT_BAN = Ne mozhete da go banirate %s
ADMIN_BAN_ONLY_RECENT = Mozhete da banirate samo igrachi koi skoro go napushtile serverot. Napishete "amx_last" za da go vidite spisokot
ADMIN_IP_ADDED = IP %s e dodadeno vo ban listata
ADMIN_AUTHID_ADDED = AuthID %s e dodadeno vo ban listata
MODULE_RUNNING = vkluchen
MODULE_BAD_LOAD = greshka
MODULE_UNKNOWN = nepoznato
ADMIN_CFG_CON = Fajlot %s se izvrshuva
ADMIN_PAUSE_CON = Serverot e PAUZIRAN
ADMIN_UNPAUSE_CON = Serverot e UNPAUZIRAN
ADMIN_OLD_CONNS_SAVED = %d stari konekcii se zashtiteni
[hr]
ADMIN_KICK_1 = ADMIN: kickao %s
@ -1439,15 +1534,15 @@ ADMIN_UNBAN_2 = ADMIN %s: odban %s
ADMIN_ADDBAN_1 = ADMIN: banao %s
ADMIN_ADDBAN_2 = ADMIN %s: banao %s
BANNED = banan
FOR_MIN = na %s min
FOR_MIN = na %d min
PERM = za stalno
CLIENT_BANNED = Klijent "%s" je banan
ADMIN_SLAY_1 = ADMIN: slayao %s
ADMIN_SLAY_2 = ADMIN %s: slayao %s
CLIENT_SLAYED = Klijent "%s" slayan
CLIENT_SLAYED = Klijent "%n" slayan
ADMIN_SLAP_1 = ADMIN: samar %s sa %d stete
ADMIN_SLAP_2 = ADMIN %s: samar %s sa %d stete
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
ADMIN_MAP_1 = ADMIN: promjena mape na %s
ADMIN_MAP_2 = ADMIN %s: mjenja mapu na %s
@ -1513,15 +1608,15 @@ ADMIN_UNBAN_2 = ADMIN %s: unban %s
ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banovan
FOR_MIN = na %s min
FOR_MIN = na %d min
PERM = za stalno
CLIENT_BANNED = Klijent "%s" je banovan
ADMIN_SLAY_1 = ADMIN: slay %s
ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Klijent "%s" slayed
CLIENT_SLAYED = Klijent "%n" slayed
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
ADMIN_MAP_1 = ADMIN: changelevel %s
ADMIN_MAP_2 = ADMIN %s: changelevel %s
@ -1588,15 +1683,15 @@ ADMIN_ADDBAN_1 = АДМИНИСТРАТОР: забанил %s
ADMIN_ADDBAN_2 = АДМИНИСТРАТОР %s: забанил %s
BANNED = забанен
REASON = причина
FOR_MIN = на %s минут
FOR_MIN = на %d минут
PERM = навсегда
CLIENT_BANNED = Игрок "%s" забанен
ADMIN_SLAY_1 = АДМИНИСТРАТОР: убил %s
ADMIN_SLAY_2 = АДМИНИСТРАТОР %s: убил %s
CLIENT_SLAYED = Игрок "%s" убит
CLIENT_SLAYED = Игрок "%n" убит
ADMIN_SLAP_1 = АДМИНИСТРАТОР: стукнул %s на %d HP
ADMIN_SLAP_2 = АДМИНИСТРАТОР %s: стукнул %s на %d HP
CLIENT_SLAPED = Игрок "%s" стукнут на %d HP
CLIENT_SLAPPED = Игрок "%n" стукнут на %d HP
MAP_NOT_FOUND = Карта не найдена или не существует
ADMIN_MAP_1 = АДМИНИСТРАТОР: сменил карту на %s
ADMIN_MAP_2 = АДМИНИСТРАТОР %s: сменил карту на %s
@ -1663,15 +1758,15 @@ ADMIN_ADDBAN_1 = 管理员: 封禁 %s
ADMIN_ADDBAN_2 = 管理员 %s: 封禁 %s
BANNED = 封禁
REASON = 原因
FOR_MIN = %s 分钟
FOR_MIN = %d 分钟
PERM = 永久
CLIENT_BANNED = 玩家 "%s" 被封禁
ADMIN_SLAY_1 = 管理员: 处死 %s
ADMIN_SLAY_2 = 管理员 %s: 处死 %s
CLIENT_SLAYED = 玩家 "%s" 被处死
CLIENT_SLAYED = 玩家 "%n" 被处死
ADMIN_SLAP_1 = 管理员: 给予玩家 %s %d 点伤害
ADMIN_SLAP_2 = 管理员 %s: 给予玩家 %s %d 点伤害
CLIENT_SLAPED = 玩家 "%s" 受到 %d 点伤害
CLIENT_SLAPPED = 玩家 "%n" 受到 %d 点伤害
MAP_NOT_FOUND = 无法找到该地图或者该地图无效
ADMIN_MAP_1 = 管理员: 更换地图为 %s
ADMIN_MAP_2 = 管理员 %s: 更换地图为 %s
@ -1726,157 +1821,3 @@ CHANGED_NICK = 改变 %s 的昵称为 "%s"
ADMIN_EXTEND_1 = 管理员: 将地图时间延长 %d 分钟
ADMIN_EXTEND_2 = 管理员 %s: 将地图时间延长 %d 分钟
MAP_EXTENDED = "%s" 该地图已经被延长 %d 分钟
[al]
ADMIN_KICK_1 = ADMIN: largoi %s
ADMIN_KICK_2 = ADMIN %s: largoi %s
IP_REMOVED = IP "%s" u fshi nga lista dënimit
AUTHID_REMOVED = Authid "%s" u fshi nga lista ndalimit
ADMIN_UNBAN_1 = ADMIN: i fshiu dënimin %s
ADMIN_UNBAN_2 = ADMIN %s: fshiu dënimin %s
ADMIN_ADDBAN_1 = ADMIN: dënoj %s
ADMIN_ADDBAN_2 = ADMIN %s: dënoj %s
BANNED = dënoj
REASON = arsyeja
FOR_MIN = për %s min
PERM = përgjithëmon
CLIENT_BANNED = Lojtari "%s" morri dënim në server
ADMIN_SLAY_1 = ADMIN: vrau %s
ADMIN_SLAY_2 = ADMIN %s: vrau %s
CLIENT_SLAYED = Lojtari "%s" u vra
ADMIN_SLAP_1 = ADMIN: ndëshkoi %s me %d dëmtime
ADMIN_SLAP_2 = ADMIN %s: ndëshkoi %s me %d dëmtime
CLIENT_SLAPED = Lojtari "%s" mori ndëshkim me %d dëmtime
MAP_NOT_FOUND = Harta me atë emër nuk u gjetë ose është e pavlefshme
ADMIN_MAP_1 = ADMIN: ndryshoi hartën në %s
ADMIN_MAP_2 = ADMIN %s: ndryshoi hartën në %s
NO_MORE_CVARS = Nuk mund të shtoni cvars për rcon!
UNKNOWN_CVAR = Cvar Panjohur: %s
UNKNOWN_XVAR = Cvar Panjohur: %s
CVAR_NO_ACC = Ju nuk keni qasje në këtë cvar
XVAR_NO_ACC = Ju nuk keni qasje në këtë cvar
CVAR_IS = Cvar "%s" është "%s"
XVAR_IS = Xvar "%s" është "%s"
PROTECTED = MBROJTUR
SET_CVAR_TO = %s vendosi cvar %s në "%s"
SET_XVAR_TO = %s vendosi cvar %s në "%s"
CVAR_CHANGED = Cvar "%s" ndryshoi në "%s"
XVAR_CHANGED = Xvar "%s" ndryshoi në "%s"
LOADED_PLUGINS = Pluginat e ngarkuar aktualë
NAME = emri
VERSION = verzioni
AUTHOR = autori
FILE = skedari
STATUS = statusi
PLUGINS_RUN = %d plugins, %d duke punuar
LOADED_MODULES = Modulet e ngarkuar aktuale
NUM_MODULES = %d modules
FILE_NOT_FOUND = Skedari "%s" nuk u gjetë
ADMIN_CONF_1 = ADMIN: ekzekutoj konfigurimet %s
ADMIN_CONF_2 = ADMIN %s: ekzekutoj konfigurimet %s
PAUSED = pushim
UNPAUSED = rikthim
UNABLE_PAUSE = Serveri nuk ishte në gjendje të ndalte lojën. Lojtarët e vërtetë në server janë të nevojshëm.
SERVER_PROC = Serveri vazhdon %s
PAUSING = pushuar
UNPAUSING = rikthyer
PAUSE = pusho
UNPAUSE = rikthe
COM_SENT_SERVER = Komandat e rreshtit "%s" dërgoi në server në konsole
CLIENTS_ON_SERVER = Lojtarët në server
IMMU = imunitet
RESERV = res
ACCESS = qasje
TOTAL_NUM = Totali %d
SKIP_MATCH = Anashkaloi "%s" (koordinim "%s")
SKIP_IMM = Anashkaloi "%s" (imunitet)
KICK_PL = Largoi "%s"
YOU_DROPPED = Ju jeni larguar sepse administratori ka lënë vetëm grupin e caktuar të lojtarëve
KICKED_CLIENTS = Largoi %d lojtarët
ADMIN_LEAVE_1 = ADMIN: largoi %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: largoi %s %s %s %s
ADMIN_NICK_1 = ADMIN: i ndryshoi emrin prej %s në "%s"
ADMIN_NICK_2 = ADMIN %s: i ndryshoi emrin prej %s në "%s"
CHANGED_NICK = Ndryshoi emrin prej %s në "%s"
ADMIN_EXTEND_1 = ADMIN: vazhdojë hartën për %d minuta
ADMIN_EXTEND_2 = ADMIN %s: vazhdojë hartën për %d minuta
MAP_EXTENDED = Harta "%s" është vazhduar për %d minuta
ADMIN_MUST_TEMPBAN = Ju mund të ndaloni lojtarët përkohësisht, deri në %d minuta
ADMIN_MUST_TEMPUNBAN = Ju vetem mund të zhbllokoni lojtarët që keni ndaluar kohët e fundit
[pt]
ADMIN_KICK_1 = ADMIN: expulsou %s
ADMIN_KICK_2 = ADMIN %s: expulsou %s
IP_REMOVED = O IP "%s" foi removido da lista de bans
AUTHID_REMOVED = O authid "%s" foi removido da lista de bans
ADMIN_UNBAN_1 = ADMIN: desbaniu %s
ADMIN_UNBAN_2 = ADMIN %s: desbaniu %s
ADMIN_ADDBAN_1 = ADMIN: baniu %s
ADMIN_ADDBAN_2 = ADMIN %s: baniu %s
BANNED = banido
REASON = razão
FOR_MIN = por %s minutos
PERM = permanentemente
CLIENT_BANNED = O cliente "%s" foi banido
ADMIN_SLAY_1 = ADMIN: matou %s
ADMIN_SLAY_2 = ADMIN %s: matou %s
CLIENT_SLAYED = O cliente "%s" foi morto
ADMIN_SLAP_1 = ADMIN: esbofeteou %s com %d de dano
ADMIN_SLAP_2 = ADMIN %s: esbofeteou %s com %d de dano
CLIENT_SLAPED = O cliente "%s" foi esbofeteado com %d de dano
MAP_NOT_FOUND = O mapa com esse nome não foi encontrado ou é inválido
ADMIN_MAP_1 = ADMIN: mudou de mapa para %s
ADMIN_MAP_2 = ADMIN %s: mudou de mapa para %s
NO_MORE_CVARS = Não é possível adicionar mais cvars para acesso rcon!
UNKNOWN_CVAR = Cvar desconhecida: %s
UNKNOWN_XVAR = Xvar desconhecida: %s
CVAR_NO_ACC = Tu não tens acesso a essa cvar
XVAR_NO_ACC = Tu não tens acesso a essa xvar
CVAR_IS = A cvar "%s" é "%s"
XVAR_IS = A xvar "%s" é "%s"
PROTECTED = PROTEGIDO
SET_CVAR_TO = %s mudou a cvar %s para "%s"
SET_XVAR_TO = %s mudou a xvar %s para "%s"
CVAR_CHANGED = A cvar "%s" foi mudada para "%s"
XVAR_CHANGED = A xvar "%s" foi mudada para "%s"
LOADED_PLUGINS = Plugins atualmente carregados
NAME = nome
VERSION = versão
AUTHOR = autor
FILE = ficheiro
STATUS = estado
PLUGINS_RUN = %d plugins, %d ativos
LOADED_MODULES = Módulos atualmente carregados
NUM_MODULES = %d módulos
FILE_NOT_FOUND = O ficheiro "%s" não foi encontrado
ADMIN_CONF_1 = ADMIN: executou a config %s
ADMIN_CONF_2 = ADMIN %s: executou a config %s
PAUSED = pausado
UNPAUSED = despausado
UNABLE_PAUSE = O servidor não pôde pausar o jogo. É preciso jogadores reais no servidor.
SERVER_PROC = O servidor procedeu %s
PAUSING = a pausar
UNPAUSING = a despausar
PAUSE = pausar
UNPAUSE = despausar
COM_SENT_SERVER = A linha de comando "%s" foi enviada para a consola do servidor
CLIENTS_ON_SERVER = Clientes no servidor
IMMU = imunidade
RESERV = reservação
ACCESS = acesso
TOTAL_NUM = Total %d
SKIP_MATCH = A saltar "%s" (a coincidir com "%s")
SKIP_IMM = A saltar "%s" (imunidade)
KICK_PL = A expulsar "%s"
YOU_DROPPED = Tu foste desconectado pois o admin só deixa entrar um grupo de clientes específico
KICKED_CLIENTS = Foram expulsos %d clientes
ADMIN_LEAVE_1 = ADMIN: deixou %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: deixou %s %s %s %s
ADMIN_NICK_1 = ADMIN: mudou o nome de %s para "%s"
ADMIN_NICK_2 = ADMIN %s: mudou o nome de %s para "%s"
CHANGED_NICK = Mudou o nome de %s para "%s"
ADMIN_EXTEND_1 = ADMIN: extendeu o mapa por %d minutos
ADMIN_EXTEND_2 = ADMIN %s: extendeu o mapa por %d minutos
MAP_EXTENDED = O mapa "%s" foi extendido por %d minutos
ADMIN_MUST_TEMPBAN = Tu só podes banir jogadores temporariamente, até %d minutos
ADMIN_MUST_TEMPUNBAN = Tu só podes desbanir jogadores que baniste recentemente

View File

@ -0,0 +1,75 @@
[en]
PLUGINCVARMENU_DESC = - displays the plugin cvar menu
PLUGINCMDMENU_DESC = - displays the plugin command menu
PLUGIN_NOT_RUNNING = Plugin %s is not running
CVAR_NOT_CHANGED = Cvar not changed
CVAR_PTR_ERROR = There was an error extracting the cvar pointer (name = "%s")
CVAR_TYPE_NEW_VALUE = Type in the new value for %s or !cancel to cancel
CVARS = Cvars
CMD_NAME_ERROR = There was an error extracting the command name
CMD_TYPE_PARAMS = Type in the parameters for %s or !cancel to cancel
CMD_EXEC_NO_PARAMS = Command "%s" executed with no parameters
EXEC_WITH_PARAMS = Execute with parameters
EXEC_WITHOUT_PARAMS = Execute with no parameters
CMD_NOT_EXECUTED = Command not executed
CMD_EXECUTED = Command "%s" executed with "%s"
COMMANDS = Commands
PLUGIN_CVAR_MENU = Plugin Cvar Menu
PLUGIN_CMD_MENU = Plugin Command Menu
[mk]
PLUGINCVARMENU_DESC = - prikazhuva menu so cvarovi za pluginite
PLUGINCMDMENU_DESC = - prikazhuva menu so komandi za pluginite
PLUGIN_NOT_RUNNING = Pluginot %s ne raboti
CVAR_NOT_CHANGED = Cvarot ne e promenen
CVAR_PTR_ERROR = Se pojavi greshka pri izvlekuvanje na cvar pointerot (ime = "%s")
CVAR_TYPE_NEW_VALUE = Vnesete ja novata vrednost za %s ili !cancel za da otkazhete
CVARS = Cvarovi
CMD_NAME_ERROR = Se pojavi greshka pri izvlekuvanjeto na imeto na komandata
CMD_TYPE_PARAMS = Vnesete gi parametrite za %s ili !cancel za da otkazhete
CMD_EXEC_NO_PARAMS = Komandata "%s" e izvrshena bez parametri
EXEC_WITH_PARAMS = Izvrshi so parametri
EXEC_WITHOUT_PARAMS = Izvrshi bez parametri
CMD_NOT_EXECUTED = Komandata ne e izvrshena
CMD_EXECUTED = Komandata "%s" e izvrshena so "%s"
COMMANDS = Komandi
PLUGIN_CVAR_MENU = Menu so cvarovi za pluginite
PLUGIN_CMD_MENU = Menu so komandi za pluginite
[bg]
PLUGINCVARMENU_DESC = - pokazva menu s cvarove za pluginite
PLUGINCMDMENU_DESC = - pokazva menu s komandi za pluginite
PLUGIN_NOT_RUNNING = Pluginut %s ne raboti
CVAR_NOT_CHANGED = Cvarut ne e promenen
CVAR_PTR_ERROR = Poqvi se greshka pri izvlichaneto na cvar pointera (ime = "%s")
CVAR_TYPE_NEW_VALUE = Vuvedete novata stoinost za %s ili !cancel za da otkajete
CVARS = Cvarove
CMD_NAME_ERROR = Poqvi se gresha pri izvlichaneto na imeto na komandata
CMD_TYPE_PARAMS = Vuvedete parametrite za %s ili !cancel za da otkajete
CMD_EXEC_NO_PARAMS = Komandata "%s" e izpulnena bez parametri
EXEC_WITH_PARAMS = Izpulni s parametri
EXEC_WITHOUT_PARAMS = Izpulni bez parametri
CMD_NOT_EXECUTED = Komandata ne e izpulnena
CMD_EXECUTED = Komandata "%s" e izpulnena s "%s"
COMMANDS = Komandi
PLUGIN_CVAR_MENU = Menu s cvarove za pluginite
PLUGIN_CMD_MENU = Menu s komandi za pluginite
[de]
PLUGINCVARMENU_DESC = - zeigt das Plugin-CVAR-Menü an
PLUGINCMDMENU_DESC = - zeigt das Plugin-Befehlsmenü an
PLUGIN_NOT_RUNNING = Plugin %s läuft nicht
CVAR_NOT_CHANGED = CVAR unverändert
CVAR_PTR_ERROR = Beim Versuch den Wert der CVAR (Name = "%s") auszugeben ist ein Fehler aufgetreten.
CVAR_TYPE_NEW_VALUE = Geben Sie den neuen Wert für %s ein - oder "!cancel", um abzubrechen.
CVARS = CVARs
CMD_NAME_ERROR = Beim Versuch den Befehlsnamen auszugeben ist ein Fehler aufgetreten.
CMD_TYPE_PARAMS = Geben Sie die Parameter für %s ein - oder "!cancel", um abzubrechen.
CMD_EXEC_NO_PARAMS = Befehl "%s" wurde ohne Parameter ausgeführt.
EXEC_WITH_PARAMS = Mit Parameter(n) ausführen
EXEC_WITHOUT_PARAMS = Ohne Parameter ausführen
CMD_NOT_EXECUTED = Befehl wurde nicht ausgeführt.
CMD_EXECUTED = Befehl "%s" wurde mit "%s" ausgeführt.
COMMANDS = Befehle
PLUGIN_CVAR_MENU = Plugin-CVAR-Menü
PLUGIN_CMD_MENU = Plugin-Befehlsmenü

File diff suppressed because it is too large Load Diff

View File

@ -14,94 +14,136 @@
#include <amxmodx>
#include <amxmisc>
#define SPEED 0.3
#define SCROLLMSG_SIZE 512
const SCROLLMSG_SIZE = 512;
const SCROLLMSG_TASK = 123;
new g_startPos
new g_endPos
new g_scrollMsg[SCROLLMSG_SIZE]
new g_displayMsg[SCROLLMSG_SIZE]
new Float:g_xPos
new g_Length
new g_Frequency
new g_hostname[64];
new g_amx_scrollmsg_color_red;
new g_amx_scrollmsg_color_green;
new g_amx_scrollmsg_color_blue;
new g_amx_scrollmsg_only_dead;
new Float:g_amx_scrollmsg_speed;
new Float:g_amx_scrollmsg_x_move_amount;
new Float:g_amx_scrollmsg_x_start_pos;
new Float:g_amx_scrollmsg_x_end_pos;
new Float:g_amx_scrollmsg_y_pos;
new g_start_pos;
new g_end_pos;
new g_scroll_msg[SCROLLMSG_SIZE];
new g_display_msg[SCROLLMSG_SIZE];
new g_length;
new g_frequency;
new g_hud_object;
new Float:g_x_pos;
public plugin_init()
{
register_plugin("Scrolling Message", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("scrollmsg.txt")
register_dictionary("common.txt")
register_srvcmd("amx_scrollmsg", "setMessage")
register_plugin("Scrolling Message", AMXX_VERSION_STR, "AMXX Dev Team");
register_dictionary("scrollmsg.txt");
register_dictionary("common.txt");
register_srvcmd("amx_scrollmsg", "setMessage", _, "<message> <frequency>");
bind_pcvar_string(get_cvar_pointer("hostname"), g_hostname, charsmax(g_hostname));
bind_pcvar_num(create_cvar( "amx_scrollmsg_color_red", "200", _, "Red color amount", true, 0.0, true, 255.0), g_amx_scrollmsg_color_red);
bind_pcvar_num(create_cvar( "amx_scrollmsg_color_green", "100", _, "Green color amount", true, 0.0, true, 255.0), g_amx_scrollmsg_color_green);
bind_pcvar_num(create_cvar( "amx_scrollmsg_color_blue", "0", _, "Blue color amount", true, 0.0, true, 255.0), g_amx_scrollmsg_color_blue);
bind_pcvar_num(create_cvar( "amx_scrollmsg_only_dead", "0", _, "Display the message only to dead clients?", true, 0.0, true, 1.0), g_amx_scrollmsg_only_dead);
bind_pcvar_float(create_cvar( "amx_scrollmsg_speed", "0.3", _, "The rate at which the message will move", true, 0.0), g_amx_scrollmsg_speed);
bind_pcvar_float(create_cvar( "amx_scrollmsg_x_move_amount", "0.0063", _, "The amount of units to move on the X axis"), g_amx_scrollmsg_x_move_amount);
bind_pcvar_float(create_cvar( "amx_scrollmsg_x_start_pos", "0.35", _, "Starting position on the X axis", true, -1.0, true, 1.0), g_amx_scrollmsg_x_start_pos);
bind_pcvar_float(create_cvar( "amx_scrollmsg_x_end_pos", "0.65", _, "Ending position on the X axis", true, -1.0, true, 1.0), g_amx_scrollmsg_x_end_pos);
bind_pcvar_float(create_cvar( "amx_scrollmsg_y_pos", "0.9", _, "The Y position of the message", true, -1.0, true, 1.0), g_amx_scrollmsg_y_pos);
g_hud_object = CreateHudSyncObj();
AutoExecConfig();
}
public showMsg()
{
new a = g_startPos, i = 0
new a = g_start_pos, i = 0;
while (a < g_endPos)
g_displayMsg[i++] = g_scrollMsg[a++]
g_displayMsg[i] = 0
if (g_endPos < g_Length)
g_endPos++
if (g_xPos > 0.35)
g_xPos -= 0.0063
else
while (a < g_end_pos)
{
g_startPos++
g_xPos = 0.35
g_display_msg[i++] = g_scroll_msg[a++];
}
set_hudmessage(200, 100, 0, g_xPos, 0.90, 0, SPEED, SPEED, 0.05, 0.05, 2)
show_hudmessage(0, "%s", g_displayMsg)
g_display_msg[i] = 0;
if (g_end_pos < g_length)
{
g_end_pos++;
}
if (g_x_pos > g_amx_scrollmsg_x_start_pos)
{
g_x_pos -= g_amx_scrollmsg_x_move_amount;
}
else
{
g_start_pos++;
g_x_pos = g_amx_scrollmsg_x_start_pos;
}
set_hudmessage(g_amx_scrollmsg_color_red, g_amx_scrollmsg_color_green, g_amx_scrollmsg_color_blue, g_x_pos, g_amx_scrollmsg_y_pos, 0, g_amx_scrollmsg_speed, g_amx_scrollmsg_speed, 0.05, 0.05, 2);
if (g_amx_scrollmsg_only_dead)
{
new players[MAX_PLAYERS], pnum;
get_players_ex(players, pnum, GetPlayers_ExcludeBots | GetPlayers_ExcludeHLTV | GetPlayers_ExcludeAlive);
for (new i; i < pnum; i++)
{
ShowSyncHudMsg(players[i], g_hud_object, g_display_msg);
}
}
else
{
ShowSyncHudMsg(0, g_hud_object, g_display_msg);
}
}
public msgInit()
{
g_endPos = 1
g_startPos = 0
g_xPos = 0.65
g_end_pos = 1;
g_start_pos = 0;
g_x_pos = g_amx_scrollmsg_x_end_pos;
new hostname[64]
replace_stringex(g_scroll_msg, charsmax(g_scroll_msg), "%hostname%", g_hostname);
get_cvar_string("hostname", hostname, charsmax(hostname))
replace(g_scrollMsg, charsmax(g_scrollMsg), "%hostname%", hostname)
g_length = strlen(g_scroll_msg);
g_Length = strlen(g_scrollMsg)
set_task(SPEED, "showMsg", 123, "", 0, "a", g_Length + 48)
client_print(0, print_console, "%s", g_scrollMsg)
set_task_ex(g_amx_scrollmsg_speed, "showMsg", SCROLLMSG_TASK, "", 0, SetTask_RepeatTimes, g_length + 48);
console_print(0, g_scroll_msg);
}
public setMessage()
{
remove_task(123) /* remove current messaging */
read_argv(1, g_scrollMsg, charsmax(g_scrollMsg))
remove_task(SCROLLMSG_TASK); /* remove current messaging */
read_argv(1, g_scroll_msg, charsmax(g_scroll_msg));
g_Length = strlen(g_scrollMsg)
g_length = strlen(g_scroll_msg);
g_frequency = read_argv_int(2);
new mytime[32]
read_argv(2, mytime, charsmax(mytime))
g_Frequency = str_to_num(mytime)
if (g_Frequency > 0)
if (g_frequency > 0)
{
new minimal = floatround((g_Length + 48) * (SPEED + 0.1))
new minimal = floatround((g_length + 48) * (g_amx_scrollmsg_speed + 0.1));
if (g_Frequency < minimal)
if (g_frequency < minimal)
{
server_print("%L", LANG_SERVER, "MIN_FREQ", minimal)
g_Frequency = minimal
server_print("%L", LANG_SERVER, "MIN_FREQ", minimal);
g_frequency = minimal;
}
server_print("%L", LANG_SERVER, "MSG_FREQ", g_Frequency / 60, g_Frequency % 60)
set_task(float(g_Frequency), "msgInit", 123, "", 0, "b")
server_print("%L", LANG_SERVER, "MSG_FREQ", g_frequency / 60, g_frequency % 60);
set_task_ex(float(g_frequency), "msgInit", SCROLLMSG_TASK, "", 0, SetTask_Repeat);
}
else
server_print("%L", LANG_SERVER, "MSG_DISABLED")
return PLUGIN_HANDLED
{
server_print("%L", LANG_SERVER, "MSG_DISABLED");
}
return PLUGIN_HANDLED;
}

View File

@ -399,6 +399,7 @@ datafiles = [
'nextmap.txt',
'pausecfg.txt',
'plmenu.txt',
'pluginmenu.txt',
'restmenu.txt',
'scrollmsg.txt',
'stats_dod.txt',