sm-zombiereloaded-3/src/zr/translation.inc

148 lines
3.3 KiB
PHP
Raw Normal View History

/*
* ============================================================================
*
2008-10-04 22:59:11 +02:00
* Zombie:Reloaded
*
* File: translation.inc
* Type: Core
* Description: Translation parsing functions.
*
* ============================================================================
2008-10-04 22:59:11 +02:00
*/
FormatTextString(String:text[], maxlen)
{
Format(text, maxlen, "@green[ZR] @default%s", text);
2008-10-04 22:59:11 +02:00
ReplaceString(text, maxlen, "@default","\x01");
ReplaceString(text, maxlen, "@lgreen","\x03");
ReplaceString(text, maxlen, "@green","\x04");
}
stock ZR_PrintToChat(client, any:...)
{
decl String:phrase[192];
if (ZRIsClientValid(client))
2008-10-04 22:59:11 +02:00
{
SetGlobalTransTarget(client);
VFormat(phrase, sizeof(phrase), "%t", 2);
FormatTextString(phrase, sizeof(phrase));
PrintToChat(client, phrase);
}
else
{
SetGlobalTransTarget(client);
VFormat(phrase, sizeof(phrase), "%t", 2);
FormatTextString(phrase, sizeof(phrase));
PrintToServer(phrase);
for (new x = 1; x <= MaxClients; x++)
2008-10-04 22:59:11 +02:00
{
if (IsClientInGame(x))
{
SetGlobalTransTarget(x);
VFormat(phrase, sizeof(phrase), "%t", 2);
FormatTextString(phrase, sizeof(phrase));
PrintToChat(x, phrase);
}
}
}
}
stock ZR_PrintCenterText(client, any:...)
{
SetGlobalTransTarget(client);
decl String:phrase[192];
VFormat(phrase, sizeof(phrase), "%t", 2);
PrintCenterText(client, phrase);
}
stock ZR_HudHint(client, any:...)
{
SetGlobalTransTarget(client);
decl String:phrase[192];
VFormat(phrase, sizeof(phrase), "%t", 2);
new Handle:hHintText = StartMessageOne("HintText", client);
if (hHintText != INVALID_HANDLE)
{
BfWriteByte(hHintText, -1);
BfWriteString(hHintText, phrase);
EndMessage();
}
}
stock ZR_PrintToServer(any:...)
{
SetGlobalTransTarget(LANG_SERVER);
decl String:phrase[192];
decl String:buffer[192];
VFormat(phrase, sizeof(phrase), "%t", 1);
Format(buffer, sizeof(buffer), "[ZR] %s", phrase);
2008-10-04 22:59:11 +02:00
PrintToServer(buffer);
}
stock ZR_LogMessage(any:...)
{
SetGlobalTransTarget(LANG_SERVER);
decl String:phrase[192];
VFormat(phrase, sizeof(phrase), "%t", 1);
LogMessage(phrase);
}
stock ZR_TranslateMessage(String:buffer[], maxlen, any:...)
{
SetGlobalTransTarget(LANG_SERVER);
VFormat(buffer, maxlen, "%t", 3);
}
2008-10-04 22:59:11 +02:00
stock ZR_ReplyToCommand(client, any:...)
{
decl String:phrase[192];
SetGlobalTransTarget(client);
VFormat(phrase, sizeof(phrase), "%t", 2);
FormatTextString(phrase, sizeof(phrase));
ReplyToCommand(client, phrase);
}
/**
* Adds support for printing long strings.
*
* @param client The client index.
* @param text The text to print.
*/
stock ZR_ReplyToCommandLong(client, const String:text[])
{
decl String:partbuffer[1024];
new pos;
new cellswritten = 1; // Initialize for the loop.
while (cellswritten)
{
cellswritten = strcopy(partbuffer, sizeof(partbuffer), text[pos]);
ReplyToCommand(client, partbuffer);
pos += cellswritten;
}
}