1 Commits

Author SHA1 Message Date
8db3853fb7 Revert "Update meta_api.cpp (#883)"
This reverts commit 7cb045c688.
2021-03-12 18:35:55 +01:00
117 changed files with 31305 additions and 63274 deletions

12
.github/FUNDING.yml vendored
View File

@ -1,12 +0,0 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: https://www.sourcemod.net/donate.php

View File

@ -1,137 +0,0 @@
name: Continuous Integration
on:
workflow_dispatch:
push:
branches:
- master
- 1.9-dev
pull_request:
branches:
- master
- 1.9-dev
jobs:
test:
strategy:
matrix:
include:
- os: ubuntu-latest
os_short: linux
compiler_cc: gcc
compiler_cxx: g++
- os: ubuntu-latest
os_short: linux
compiler_cc: clang
compiler_cxx: clang++
- os: ubuntu-18.04
os_short: linux
compiler_cc: clang-3.9
compiler_cxx: clang++-3.9
- os: ubuntu-18.04
os_short: linux
compiler_cc: gcc-6
compiler_cxx: g++-6
compiler_install: 'g++6 g++-6-multilib'
- os: windows-latest
os_short: windows
compiler_cc: msvc
- os: windows-2016
os_short: windows
compiler_cc: msvc++14.16-vs2017-cl
# MacOS 32 Bins seem not supported
# - os: macos-latest
# os_short: mac
# compiler_cc: clang
# compiler_cxx: clang++
fail-fast: false
runs-on: ${{ matrix.os }}
name: ${{ matrix.os_short }}-${{ matrix.os }}-${{ matrix.compiler_cc }}
env:
DEPENDENCIES_FOLDER: dependencies
DEPENDENCIES_ROOT: ${{ github.workspace }}/dependencies
DEPENDENCIES_ROOT_WIN: ${{ github.workspace }}\dependencies
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
path: amxmodx
# Setup Python for AMBuild
- uses: actions/setup-python@v2
name: Setup Python 3.8
with:
python-version: 3.8
- name: Install Python dependencies
run: |
python3 -m pip install --upgrade pip setuptools wheel
python3 --version
- name: Install AMXModX dependencies (Linux)
if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS')
shell: bash
run: |
mkdir -p ${{ env.DEPENDENCIES_FOLDER }}
cd ${{ env.DEPENDENCIES_FOLDER }}
# Satisfy checkout-deps requirement for a "amxmodx" folder.
mkdir -p amxmodx
../amxmodx/support/checkout-deps.sh
- name: Install AMXModX dependencies (Windows)
if: startsWith(runner.os, 'Windows')
shell: cmd
run: |
mkdir %DEPENDENCIES_ROOT_WIN%\nasm
curl -L -o "%DEPENDENCIES_ROOT_WIN%\nasm\nasm.zip" https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win32/nasm-2.13.03-win32.zip
chdir %DEPENDENCIES_ROOT_WIN%\nasm
7z x nasm.zip
chdir %DEPENDENCIES_ROOT_WIN%
git clone https://github.com/alliedmodders/ambuild
git clone https://github.com/alliedmodders/metamod-hl1 metamod-am
git clone https://github.com/alliedmodders/hlsdk
curl -L -o "mysql-connector-c-6.1.1-win32.zip" https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.1-win32.zip
7z x mysql-connector-c-6.1.1-win32.zip -o"mysql"
cd mysql
dir
ren mysql-connector-c-6.1.1-win32 mysql-5.5
move /Y mysql-5.5 ..\
cd ..\ambuild
python3 setup.py install
- name: Install Linux dependencies
if: startsWith(runner.os, 'Linux')
run: |
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
gcc-multilib g++-multilib libstdc++6 lib32stdc++6 \
libc6-dev libc6-dev-i386 linux-libc-dev \
linux-libc-dev:i386 lib32z1-dev nasm ${{ matrix.compiler_cc }} ${{ matrix.compiler_install }}
- name: Select compiler
if: startsWith(runner.os, 'Linux')
run: |
echo "CC=${{ matrix.compiler_cc }}" >> $GITHUB_ENV
echo "CXX=${{ matrix.compiler_cxx }}" >> $GITHUB_ENV
${{ matrix.compiler_cc }} --version
${{ matrix.compiler_cxx }} --version
- uses: ilammy/setup-nasm@v1
- name: Build Linux/macOS
if: startsWith(runner.os, 'Linux') || startsWith(runner.os, 'macOS')
working-directory: amxmodx
run: |
mkdir build
cd build
python3 ../configure.py --enable-optimize --metamod=${{ env.DEPENDENCIES_ROOT }}/metamod-am --hlsdk=${{ env.DEPENDENCIES_ROOT }}/hlsdk --mysql=${{ env.DEPENDENCIES_ROOT }}/mysql-5.5
ambuild
- uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: Build Windows
if: startsWith(runner.os, 'Windows')
working-directory: amxmodx
shell: cmd
run: |
cl.exe
mkdir build
cd build
python3 ../configure.py --enable-optimize --metamod=${{ env.DEPENDENCIES_ROOT_WIN }}\metamod-am --hlsdk=${{ env.DEPENDENCIES_ROOT_WIN }}\hlsdk --mysql=${{ env.DEPENDENCIES_ROOT_WIN }}\mysql-5.5
ambuild

2
.gitignore vendored
View File

@ -84,7 +84,5 @@ Thumbs.db
# AMXX plugin build related files # AMXX plugin build related files
plugins/compile.dat plugins/compile.dat
plugins/compiled/ plugins/compiled/
*.amx
*.amxx
build_deps/ build_deps/

View File

@ -16,9 +16,6 @@ language: cpp
sudo: false sudo: false
compiler: compiler:
- clang - clang
install:
- pyenv install 3.6.3
- pyenv global 3.6.3
before_script: before_script:
- CHECKOUT_DIR=$PWD && cd .. - CHECKOUT_DIR=$PWD && cd ..
- chmod a+x $CHECKOUT_DIR/support/checkout-deps.sh - chmod a+x $CHECKOUT_DIR/support/checkout-deps.sh
@ -26,5 +23,5 @@ before_script:
script: script:
- mkdir build && cd build - mkdir build && cd build
- PATH="~/.local/bin:$PATH" - PATH="~/.local/bin:$PATH"
- CC=clang-3.7 CXX=clang-3.7 python3 ../configure.py --enable-optimize - CC=clang-3.7 CXX=clang-3.7 python ../configure.py --enable-optimize
- ambuild - ambuild

View File

@ -225,19 +225,8 @@ class AMXXConfig(object):
cxx.cxxflags += ['-Wno-delete-non-virtual-dtor'] cxx.cxxflags += ['-Wno-delete-non-virtual-dtor']
if have_gcc and cxx.version >= '4.8': if have_gcc and cxx.version >= '4.8':
cxx.cflags += ['-Wno-unused-result', '-Wno-error=sign-compare'] cxx.cflags += ['-Wno-unused-result', '-Wno-error=sign-compare']
if have_gcc and cxx.version >= '8.0':
cxx.cflags += ['-Wno-stringop-truncation']
if have_gcc and cxx.version >= '9.0':
cxx.cflags += ['-Wno-address-of-packed-member']
if have_clang: if have_clang:
cxx.cxxflags += ['-Wno-implicit-exception-spec-mismatch'] cxx.cxxflags += ['-Wno-implicit-exception-spec-mismatch']
if cxx.version >= '10.0':
cxx.cxxflags += ['-Wno-tautological-compare']
if cxx.version >= 'apple-clang-10.0':
cxx.cxxflags += [
'-Wno-inconsistent-missing-override',
'-Wno-varargs',
]
if cxx.version >= 'apple-clang-5.1' or cxx.version >= 'clang-3.4': if cxx.version >= 'apple-clang-5.1' or cxx.version >= 'clang-3.4':
cxx.cxxflags += ['-Wno-deprecated-register'] cxx.cxxflags += ['-Wno-deprecated-register']
else: else:
@ -328,18 +317,15 @@ class AMXXConfig(object):
def configure_mac(self, cxx): def configure_mac(self, cxx):
cxx.defines += ['OSX', '_OSX', 'POSIX'] cxx.defines += ['OSX', '_OSX', 'POSIX']
cxx.cflags += [ cxx.cflags += ['-mmacosx-version-min=10.5']
'-mmacosx-version-min=10.7',
'-Wno-address-of-packed-member',
]
cxx.linkflags += [ cxx.linkflags += [
'-mmacosx-version-min=10.7', '-mmacosx-version-min=10.5',
'-arch', 'i386', '-arch', 'i386',
'-lstdc++', '-lstdc++',
'-stdlib=libc++', '-stdlib=libstdc++',
'-framework', 'CoreServices', '-framework', 'CoreServices',
] ]
cxx.cxxflags += ['-stdlib=libc++'] cxx.cxxflags += ['-stdlib=libstdc++']
def configure_windows(self, cxx): def configure_windows(self, cxx):
cxx.defines += ['WIN32', '_WINDOWS'] cxx.defines += ['WIN32', '_WINDOWS']

View File

@ -27,10 +27,6 @@ elif builder.target_platform == 'windows':
'/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1', '/EXPORT:GiveFnptrsToDll=_GiveFnptrsToDll@8,@1',
'/SECTION:.data,RW', '/SECTION:.data,RW',
] ]
elif builder.target_platform == 'linux':
binary.compiler.postlink += [
binary.Dep(AMXX.stdcxx_path),
]
binary.compiler.linkflags += [AMXX.zlib.binary, AMXX.hashing.binary, AMXX.utf8rewind.binary] binary.compiler.linkflags += [AMXX.zlib.binary, AMXX.hashing.binary, AMXX.utf8rewind.binary]

View File

@ -122,8 +122,8 @@ cell CForward::execute(cell *params, ForwardPreparedArray *preparedArrays)
#if defined BINLOG_ENABLED #if defined BINLOG_ENABLED
g_BinLog.WriteOp(BinLog_CallPubFunc, iter->pPlugin->getId(), iter->func); g_BinLog.WriteOp(BinLog_CallPubFunc, iter->pPlugin->getId(), iter->func);
#endif #endif
int err = amx_Exec(amx, &retVal, iter->func);
int err = amx_ExecPerf(amx, &retVal, iter->func);
// log runtime error, if any // log runtime error, if any
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {
@ -327,7 +327,8 @@ cell CSPForward::execute(cell *params, ForwardPreparedArray *preparedArrays)
#if defined BINLOG_ENABLED #if defined BINLOG_ENABLED
g_BinLog.WriteOp(BinLog_CallPubFunc, pPlugin->getId(), m_Func); g_BinLog.WriteOp(BinLog_CallPubFunc, pPlugin->getId(), m_Func);
#endif #endif
int err = amx_ExecPerf(m_Amx, &retVal, m_Func); int err = amx_Exec(m_Amx, &retVal, m_Func);
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {
//Did something else set an error? //Did something else set an error?

View File

@ -296,8 +296,6 @@ void CoreConfig::OnMapConfigTimer()
return; return;
} }
if (m_legacyMapConfigNextTime <= gpGlobals->time)
{
if (m_PendingForwardPush) if (m_PendingForwardPush)
{ {
m_PendingForwardPush = false; m_PendingForwardPush = false;
@ -305,11 +303,10 @@ void CoreConfig::OnMapConfigTimer()
executeForwards(m_ConfigsExecutedForward); executeForwards(m_ConfigsExecutedForward);
} }
else if (!m_LegacyMapConfigsExecuted) else if (!m_LegacyMapConfigsExecuted && m_legacyMapConfigNextTime <= gpGlobals->time)
{ {
ExecuteMapConfig(); ExecuteMapConfig();
} }
}
} }
void CoreConfig::CheckLegacyBufferedCommand(char *command) void CoreConfig::CheckLegacyBufferedCommand(char *command)
@ -319,7 +316,6 @@ void CoreConfig::CheckLegacyBufferedCommand(char *command)
return; return;
} }
if (!m_LegacyMainConfigExecuted && strstr(command, MainConfigFile)) if (!m_LegacyMainConfigExecuted && strstr(command, MainConfigFile))
{ {
m_LegacyMainConfigExecuted = true; m_LegacyMainConfigExecuted = true;
@ -328,9 +324,6 @@ void CoreConfig::CheckLegacyBufferedCommand(char *command)
if (!m_LegacyMapConfigsExecuted && strstr(command, MapConfigDir)) if (!m_LegacyMapConfigsExecuted && strstr(command, MapConfigDir))
{ {
m_LegacyMapConfigsExecuted = true; m_LegacyMapConfigsExecuted = true;
// Consider all configs be executed to m_legacyMapConfigNextTime time.
m_PendingForwardPush = true;
} }
} }

View File

@ -66,9 +66,6 @@
#include <windows.h> #include <windows.h>
#endif #endif
#include <chrono>
#include <amxmodx.h>
#include <CPlugin.h>
/* When one or more of the AMX_funcname macris are defined, we want /* When one or more of the AMX_funcname macris are defined, we want
* to compile only those functions. However, when none of these macros * to compile only those functions. However, when none of these macros
@ -4176,37 +4173,3 @@ int AMXAPI amx_GetStringOld(char *dest,const cell *source,int use_wchar)
dest[len]='\0'; /* store terminator */ dest[len]='\0'; /* store terminator */
return AMX_ERR_NONE; return AMX_ERR_NONE;
} }
int AMXAPI amx_ExecPerf(AMX* amx, cell* retval, int index)
{
CPluginMngr::CPlugin* perf_Plug = g_plugins.findPluginFast(amx);
if (amxmodx_perflog->value > 0.0f && perf_Plug && (perf_Plug->isDebug() || (int)amxmodx_debug->value == 2))
{
char perf_funcname[sNAMEMAX + 1];
perf_funcname[0] = '\0';
amx_GetPublic(perf_Plug->getAMX(), index, perf_funcname);
if (perf_funcname[0] == '\0')
sprintf(perf_funcname, "Unknown_ID%d", index);
const char* perf_plugname = perf_Plug->getName();
if (!perf_plugname || perf_plugname[0] == '\0')
perf_plugname = "Unknown_plugin";
using std::chrono::steady_clock;
using std::chrono::duration_cast;
using std::chrono::duration;
using std::chrono::microseconds;
auto t1 = steady_clock::now();
int err = amx_Exec(amx, retval, index);
auto ms_int = duration_cast<microseconds>(steady_clock::now() - t1);
auto ms_float = (float)(ms_int.count() / 1000.0f);
if (ms_float >= amxmodx_perflog->value)
{
AMXXLOG_Log("[%s] performance issue. Function %s executed more than %.*fms.", perf_plugname, perf_funcname, 1, ms_float);
}
return err;
}
return amx_Exec(amx, retval, index);
}

View File

@ -382,7 +382,6 @@ int AMXAPI amx_Callback(AMX *amx, cell index, cell *result, cell *params);
int AMXAPI amx_CheckNatives(AMX *amx, AMX_NATIVE_FILTER nf); int AMXAPI amx_CheckNatives(AMX *amx, AMX_NATIVE_FILTER nf);
int AMXAPI amx_Cleanup(AMX *amx); int AMXAPI amx_Cleanup(AMX *amx);
int AMXAPI amx_Clone(AMX *amxClone, AMX *amxSource, void *data); int AMXAPI amx_Clone(AMX *amxClone, AMX *amxSource, void *data);
int AMXAPI amx_ExecPerf(AMX* amx, cell* retval, int index);
int AMXAPI amx_Exec(AMX *amx, cell *retval, int index); int AMXAPI amx_Exec(AMX *amx, cell *retval, int index);
int AMXAPI amx_FindNative(AMX *amx, const char *name, int *index); int AMXAPI amx_FindNative(AMX *amx, const char *name, int *index);
int AMXAPI amx_FindPublic(AMX *amx, const char *funcname, int *index); int AMXAPI amx_FindPublic(AMX *amx, const char *funcname, int *index);

View File

@ -542,27 +542,11 @@ static cell AMX_NATIVE_CALL next_hudchannel(AMX *amx, cell *params)
static cell AMX_NATIVE_CALL set_hudmessage(AMX *amx, cell *params) /* 11 param */ static cell AMX_NATIVE_CALL set_hudmessage(AMX *amx, cell *params) /* 11 param */
{ {
cell num_params = params[0] / sizeof(cell);
if (num_params >= 13)
{
cell *color2 = get_amxaddr(amx, params[13]);
g_hudset.a1 = static_cast<byte>(params[12]);
g_hudset.a2 = static_cast<byte>(color2[3]);
g_hudset.r2 = static_cast<byte>(color2[0]);
g_hudset.g2 = static_cast<byte>(color2[1]);
g_hudset.b2 = static_cast<byte>(color2[2]);
}
else
{
g_hudset.a1 = 0; g_hudset.a1 = 0;
g_hudset.a2 = 0; g_hudset.a2 = 0;
g_hudset.r2 = 255; g_hudset.r2 = 255;
g_hudset.g2 = 255; g_hudset.g2 = 255;
g_hudset.b2 = 250; g_hudset.b2 = 250;
}
g_hudset.r1 = static_cast<byte>(params[1]); g_hudset.r1 = static_cast<byte>(params[1]);
g_hudset.g1 = static_cast<byte>(params[2]); g_hudset.g1 = static_cast<byte>(params[2]);
g_hudset.b1 = static_cast<byte>(params[3]); g_hudset.b1 = static_cast<byte>(params[3]);
@ -1434,7 +1418,7 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */
pPlayer->vgui = false; pPlayer->vgui = false;
if (time == -1) if (time == -1)
pPlayer->menuexpire = static_cast<float>(INFINITE); pPlayer->menuexpire = INFINITE;
else else
pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time); pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time);
@ -1452,7 +1436,7 @@ static cell AMX_NATIVE_CALL show_menu(AMX *amx, cell *params) /* 3 param */
pPlayer->vgui = false; pPlayer->vgui = false;
if (time == -1) if (time == -1)
pPlayer->menuexpire = static_cast<float>(INFINITE); pPlayer->menuexpire = INFINITE;
else else
pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time); pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time);
@ -3709,7 +3693,7 @@ static cell AMX_NATIVE_CALL callfunc_end(AMX *amx, cell *params)
amx_Push(pAmx, gparams[i]); amx_Push(pAmx, gparams[i]);
} }
err = amx_ExecPerf(pAmx, &retVal, func); err = amx_Exec(pAmx, &retVal, func);
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {

View File

@ -196,9 +196,7 @@ extern bool g_official_mod;
extern bool g_dontprecache; extern bool g_dontprecache;
extern int g_srvindex; extern int g_srvindex;
extern cvar_t* amxmodx_version; extern cvar_t* amxmodx_version;
extern cvar_t* amxmodx_debug;
extern cvar_t* amxmodx_language; extern cvar_t* amxmodx_language;
extern cvar_t* amxmodx_perflog;
extern cvar_t* hostname; extern cvar_t* hostname;
extern cvar_t* mp_timelimit; extern cvar_t* mp_timelimit;
extern fakecmd_t g_fakecmd; extern fakecmd_t g_fakecmd;

View File

@ -289,18 +289,7 @@ size_t CAmxxReader::GetBufferSize()
m_pFile = NULL; \ m_pFile = NULL; \
return m_Status; \ return m_Status; \
} }
#define DATAREAD_RELEASE(addr, itemsize, itemcount) \
if (fread(addr, itemsize, itemcount, m_pFile) != static_cast<size_t>(itemcount)) \
{ \
if (feof(m_pFile)) \
m_Status = Err_FileInvalid; \
else \
m_Status = Err_FileRead; \
fclose(m_pFile); \
m_pFile = NULL; \
delete[] tempBuffer;\
return m_Status; \
}
CAmxxReader::Error CAmxxReader::GetSection(void *buffer) CAmxxReader::Error CAmxxReader::GetSection(void *buffer)
{ {
if (!m_pFile) if (!m_pFile)
@ -322,7 +311,7 @@ CAmxxReader::Error CAmxxReader::GetSection(void *buffer)
PluginEntry *pe = &(m_Bh.plugins[m_Entry]); PluginEntry *pe = &(m_Bh.plugins[m_Entry]);
char *tempBuffer = new char[m_SectionLength + 1]; char *tempBuffer = new char[m_SectionLength + 1];
fseek(m_pFile, pe->offs, SEEK_SET); fseek(m_pFile, pe->offs, SEEK_SET);
DATAREAD_RELEASE((void *)tempBuffer, 1, m_SectionLength); DATAREAD((void *)tempBuffer, 1, m_SectionLength);
uLongf destLen = GetBufferSize(); uLongf destLen = GetBufferSize();
int result = uncompress((Bytef *)buffer, &destLen, (Bytef *)tempBuffer, m_SectionLength); int result = uncompress((Bytef *)buffer, &destLen, (Bytef *)tempBuffer, m_SectionLength);
delete [] tempBuffer; delete [] tempBuffer;
@ -346,7 +335,7 @@ CAmxxReader::Error CAmxxReader::GetSection(void *buffer)
// read the data to a temporary buffer // read the data to a temporary buffer
char *tempBuffer = new char[m_SectionLength + 1]; char *tempBuffer = new char[m_SectionLength + 1];
//fread(tempBuffer, sizeof(char), m_SectionLength, m_pFile); //fread(tempBuffer, sizeof(char), m_SectionLength, m_pFile);
DATAREAD_RELEASE((void*)tempBuffer, 1, m_SectionLength); DATAREAD((void*)tempBuffer, 1, m_SectionLength);
// decompress // decompress
int result = uncompress((Bytef *)buffer, &destLen, (Bytef *)tempBuffer, m_SectionLength); int result = uncompress((Bytef *)buffer, &destLen, (Bytef *)tempBuffer, m_SectionLength);
delete [] tempBuffer; delete [] tempBuffer;

View File

@ -728,7 +728,7 @@ int Handler::HandleModule(const char *module, bool isClass)
m_pAmx->flags |= AMX_FLAG_PRENIT; m_pAmx->flags |= AMX_FLAG_PRENIT;
amx_Push(m_pAmx, isClass ? 1 : 0); amx_Push(m_pAmx, isClass ? 1 : 0);
amx_PushString(m_pAmx, &hea_addr, &phys_addr, module, 0, 0); amx_PushString(m_pAmx, &hea_addr, &phys_addr, module, 0, 0);
int err = amx_ExecPerf(m_pAmx, &retval, m_iModFunc); int err = amx_Exec(m_pAmx, &retval, m_iModFunc);
amx_Release(m_pAmx, hea_addr); amx_Release(m_pAmx, hea_addr);
m_pAmx->flags &= ~AMX_FLAG_PRENIT; m_pAmx->flags &= ~AMX_FLAG_PRENIT;
@ -768,7 +768,7 @@ int Handler::HandleNative(const char *native, int index, int trap)
amx_Push(m_pAmx, trap); amx_Push(m_pAmx, trap);
amx_Push(m_pAmx, index); amx_Push(m_pAmx, index);
amx_PushString(m_pAmx, &hea_addr, &phys_addr, native, 0, 0); amx_PushString(m_pAmx, &hea_addr, &phys_addr, native, 0, 0);
int err = amx_ExecPerf(m_pAmx, &retval, m_iNatFunc); int err = amx_Exec(m_pAmx, &retval, m_iNatFunc);
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {
//LogError() took care of something for us. //LogError() took care of something for us.
@ -841,7 +841,7 @@ int Handler::HandleError(const char *msg)
amx_PushString(m_pAmx, &hea_addr, &phys_addr, msg, 0, 0); amx_PushString(m_pAmx, &hea_addr, &phys_addr, msg, 0, 0);
amx_Push(m_pAmx, pDebugger ? 1 : 0); amx_Push(m_pAmx, pDebugger ? 1 : 0);
amx_Push(m_pAmx, error); amx_Push(m_pAmx, error);
int err = amx_ExecPerf(m_pAmx, &result, m_iErrFunc); int err = amx_Exec(m_pAmx, &result, m_iErrFunc);
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {
//handle this manually. //handle this manually.

View File

@ -96,14 +96,12 @@ static cell AMX_NATIVE_CALL read_file(AMX *amx, cell *params)
{ {
length = strlen(buffer); length = strlen(buffer);
if (length > 0)
{
if (buffer[length - 1] == '\n') if (buffer[length - 1] == '\n')
buffer[--length] = '\0'; buffer[--length] = '\0';
if (buffer[length - 1] == '\r') if (buffer[length - 1] == '\r')
buffer[--length] = '\0'; buffer[--length] = '\0';
}
cell* textLen = get_amxaddr(amx, params[5]); cell* textLen = get_amxaddr(amx, params[5]);
*textLen = set_amxstring_utf8(amx, params[3], buffer, length, params[4]); *textLen = set_amxstring_utf8(amx, params[3], buffer, length, params[4]);
@ -758,7 +756,7 @@ struct DirectoryHandle
bool valvefs; bool valvefs;
}; };
// native open_dir(const dir[], firstfile[], length, &FileType:type = FileType_Unknown, bool:use_valve_fs=false, const valve_path_id[] = "GAME"); // native open_dir(dir[], firstfile[], length, &FileType:type = FileType_Unknown, bool:use_valve_fs=false, const valve_path_id[] = "GAME");
static cell AMX_NATIVE_CALL amx_open_dir(AMX *amx, cell *params) static cell AMX_NATIVE_CALL amx_open_dir(AMX *amx, cell *params)
{ {
int length; int length;

View File

@ -135,14 +135,9 @@ cvar_t init_amxmodx_debug = {"amx_debug", "1", FCVAR_SPONLY};
cvar_t init_amxmodx_mldebug = {"amx_mldebug", "", FCVAR_SPONLY}; cvar_t init_amxmodx_mldebug = {"amx_mldebug", "", FCVAR_SPONLY};
cvar_t init_amxmodx_language = {"amx_language", "en", FCVAR_SERVER}; cvar_t init_amxmodx_language = {"amx_language", "en", FCVAR_SERVER};
cvar_t init_amxmodx_cl_langs = {"amx_client_languages", "1", FCVAR_SERVER}; cvar_t init_amxmodx_cl_langs = {"amx_client_languages", "1", FCVAR_SERVER};
cvar_t init_amxmodx_perflog = { "amx_perflog_ms", "1.0", FCVAR_SPONLY };
cvar_t* amxmodx_version = NULL; cvar_t* amxmodx_version = NULL;
cvar_t* amxmodx_modules = NULL; cvar_t* amxmodx_modules = NULL;
cvar_t* amxmodx_debug = NULL;
cvar_t* amxmodx_language = NULL; cvar_t* amxmodx_language = NULL;
cvar_t* amxmodx_perflog = NULL;
cvar_t* hostname = NULL; cvar_t* hostname = NULL;
cvar_t* mp_timelimit = NULL; cvar_t* mp_timelimit = NULL;
@ -1632,12 +1627,9 @@ C_DLLEXPORT int Meta_Attach(PLUG_LOADTIME now, META_FUNCTIONS *pFunctionTable, m
CVAR_REGISTER(&init_amxmodx_mldebug); CVAR_REGISTER(&init_amxmodx_mldebug);
CVAR_REGISTER(&init_amxmodx_language); CVAR_REGISTER(&init_amxmodx_language);
CVAR_REGISTER(&init_amxmodx_cl_langs); CVAR_REGISTER(&init_amxmodx_cl_langs);
CVAR_REGISTER(&init_amxmodx_perflog);
amxmodx_version = CVAR_GET_POINTER(init_amxmodx_version.name); amxmodx_version = CVAR_GET_POINTER(init_amxmodx_version.name);
amxmodx_debug = CVAR_GET_POINTER(init_amxmodx_debug.name);
amxmodx_language = CVAR_GET_POINTER(init_amxmodx_language.name); amxmodx_language = CVAR_GET_POINTER(init_amxmodx_language.name);
amxmodx_perflog = CVAR_GET_POINTER(init_amxmodx_perflog.name);
REG_SVR_COMMAND("amxx", amx_command); REG_SVR_COMMAND("amxx", amx_command);

View File

@ -187,7 +187,7 @@ int load_amxscript_internal(AMX *amx, void **program, const char *filename, char
bool will_be_debugged = false; bool will_be_debugged = false;
tagAMX_DBG *pDbg = NULL; tagAMX_DBG *pDbg = NULL;
if ((int)amxmodx_debug->value == 2 || debug) if ((int)CVAR_GET_FLOAT("amx_debug") >= 2 || debug)
{ {
if ((hdr->file_version < CUR_FILE_VERSION)) if ((hdr->file_version < CUR_FILE_VERSION))
{ {
@ -544,7 +544,7 @@ int set_amxnatives(AMX* amx, char error[128])
if (amx_FindPublic(amx, "plugin_natives", &idx) == AMX_ERR_NONE) if (amx_FindPublic(amx, "plugin_natives", &idx) == AMX_ERR_NONE)
{ {
if ((err = amx_ExecPerf(amx, &retval, idx)) != AMX_ERR_NONE) if ((err = amx_Exec(amx, &retval, idx)) != AMX_ERR_NONE)
{ {
Debugger::GenericMessage(amx, err); Debugger::GenericMessage(amx, err);
AMXXLOG_Log("An error occurred in plugin_natives. This is dangerous!"); AMXXLOG_Log("An error occurred in plugin_natives. This is dangerous!");

View File

@ -112,7 +112,8 @@ int amxx_DynaCallback(int idx, AMX *amx, cell *params)
pDebugger->BeginExec(); pDebugger->BeginExec();
} }
err = amx_ExecPerf(pNative->amx, &ret, pNative->func); err=amx_Exec(pNative->amx, &ret, pNative->func);
if (err != AMX_ERR_NONE) if (err != AMX_ERR_NONE)
{ {
if (pDebugger && pDebugger->ErrorExists()) if (pDebugger && pDebugger->ErrorExists())

View File

@ -930,7 +930,7 @@ static cell AMX_NATIVE_CALL menu_display(AMX *amx, cell *params)
time = params[4]; time = params[4];
if (time < 0) if (time < 0)
pPlayer->menuexpire = static_cast<float>(INFINITE); pPlayer->menuexpire = INFINITE;
else else
pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time); pPlayer->menuexpire = gpGlobals->time + static_cast<float>(time);

View File

@ -26,7 +26,7 @@ static cell AMX_NATIVE_CALL TrieClear(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
t->map.clear(); t->map.clear();
@ -40,7 +40,7 @@ static cell AMX_NATIVE_CALL TrieSetCell(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -76,7 +76,7 @@ static cell AMX_NATIVE_CALL TrieSetString(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -113,7 +113,7 @@ static cell AMX_NATIVE_CALL TrieSetArray(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -157,7 +157,7 @@ static cell AMX_NATIVE_CALL TrieGetCell(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -189,7 +189,7 @@ static cell AMX_NATIVE_CALL TrieGetString(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -236,7 +236,7 @@ static cell AMX_NATIVE_CALL TrieGetArray(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -297,7 +297,7 @@ static cell AMX_NATIVE_CALL TrieKeyExists(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -314,7 +314,7 @@ static cell AMX_NATIVE_CALL TrieDeleteKey(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -373,7 +373,7 @@ static cell AMX_NATIVE_CALL TrieGetSize(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -386,7 +386,7 @@ static cell AMX_NATIVE_CALL TrieSnapshotCreate(AMX *amx, cell *params)
if (!t) if (!t)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[1]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[1]);
return 0; return 0;
} }
@ -506,7 +506,7 @@ static cell AMX_NATIVE_CALL TrieIterCreate(AMX *amx, cell *params)
if (!handle) if (!handle)
{ {
LogError(amx, AMX_ERR_NATIVE, "Invalid trie handle provided (%d)", params[arg_handle]); LogError(amx, AMX_ERR_NATIVE, "Invalid map handle provided (%d)", params[arg_handle]);
return 0; return 0;
} }

View File

@ -221,11 +221,11 @@ void UTIL_HudMessage(edict_t *pEntity, const hudtextparms_t &textparms, const ch
WRITE_BYTE(textparms.r1); WRITE_BYTE(textparms.r1);
WRITE_BYTE(textparms.g1); WRITE_BYTE(textparms.g1);
WRITE_BYTE(textparms.b1); WRITE_BYTE(textparms.b1);
WRITE_BYTE(textparms.a1); WRITE_BYTE(0);
WRITE_BYTE(textparms.r2); WRITE_BYTE(255);
WRITE_BYTE(textparms.g2); WRITE_BYTE(255);
WRITE_BYTE(textparms.b2); WRITE_BYTE(250);
WRITE_BYTE(textparms.a2); WRITE_BYTE(0);
WRITE_SHORT(FixedUnsigned16(textparms.fadeinTime, (1<<8))); WRITE_SHORT(FixedUnsigned16(textparms.fadeinTime, (1<<8)));
WRITE_SHORT(FixedUnsigned16(textparms.fadeoutTime, (1<<8))); WRITE_SHORT(FixedUnsigned16(textparms.fadeoutTime, (1<<8)));
WRITE_SHORT(FixedUnsigned16(textparms.holdTime, (1<<8))); WRITE_SHORT(FixedUnsigned16(textparms.holdTime, (1<<8)));

View File

@ -1,126 +1,32 @@
version: 1.0.{build} version: 1.0.{build}
clone_folder: c:\projects\amxmodx
environment: install:
fast_finish: false - git submodule update --init --recursive
allow_failures: true - 'c:'
matrix: - mkdir c:\nasm
- job_name: MacOS - set PATH=c:\nasm\nasm-2.13.03;%PATH%
appveyor_build_worker_image: macos-mojave - curl -L -o "c:\nasm\nasm.zip" https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win32/nasm-2.13.03-win32.zip
job_group: Build - chdir c:\nasm
- 7z x nasm.zip
- job_name: Windows - chdir c:\projects
appveyor_build_worker_image: Visual Studio 2015 - git clone https://github.com/alliedmodders/ambuild
job_group: Build - git clone https://github.com/alliedmodders/metamod-hl1
- git clone https://github.com/alliedmodders/hlsdk
for: - ps: Start-FileDownload 'https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.1-win32.zip'
- - 7z x mysql-connector-c-6.1.1-win32.zip -o"mysql"
matrix: - cd mysql
only: - dir
- job_name: Windows - ren mysql-connector-c-6.1.1-win32 mysql-5.5
- move /Y mysql-5.5 ..\
clone_folder: c:\projects\amxmodx - cd ..\ambuild
install: - c:\python27\python setup.py install
- cmd: >- - cd ..\amxmodx
git submodule update --init --recursive cache:
- c:\projects\*.zip -> appveyor.yml
c: - c:\projects\mysql-5.5 -> appveyor.yml
build_script:
mkdir c:\nasm - '"%VS140COMNTOOLS%\vsvars32.bat"'
- mkdir build
set PATH=c:\nasm\nasm-2.13.03;%PATH% - cd build
- c:\python27\python ../configure.py --enable-optimize --nasm="C:\nasm\nasm-2.13.03\nasm.exe"
curl -L -o "c:\nasm\nasm.zip" https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/win32/nasm-2.13.03-win32.zip - ambuild
chdir c:\nasm
7z x nasm.zip
chdir c:\projects
git clone https://github.com/alliedmodders/ambuild
git clone https://github.com/alliedmodders/metamod-hl1
git clone https://github.com/alliedmodders/hlsdk
curl -L -o "mysql-connector-c-6.1.1-win32.zip" https://downloads.mysql.com/archives/get/p/19/file/mysql-connector-c-6.1.1-win32.zip
7z x mysql-connector-c-6.1.1-win32.zip -o"mysql"
cd mysql
dir
ren mysql-connector-c-6.1.1-win32 mysql-5.5
move /Y mysql-5.5 ..\
cd ..\ambuild
c:\python38\python setup.py install
set PATH=C:\Python38;C:\Python38\Scripts;%PATH%
cd ..\amxmodx
# cache:
# - c:\projects\*.zip -> appveyor.yml
# - c:\projects\mysql-5.5 -> appveyor.yml
build_script:
- cmd: >-
"%VS140COMNTOOLS%\vsvars32.bat"
mkdir build
cd build
c:\python38\python ../configure.py --enable-optimize --nasm="C:\nasm\nasm-2.13.03\nasm.exe"
echo %PATH%
ambuild
-
matrix:
only:
- job_name: MacOS
install:
- >-
git submodule update --init --recursive
mkdir -p $APPVEYOR_BUILD_FOLDER/deps
ls -alh
cd $APPVEYOR_BUILD_FOLDER/deps
mkdir -p amxmodx
../support/checkout-deps.sh
brew install nasm
nasm -v
export CC=clang
export CXX=clang++
clang --version
clang++ --version
cd $APPVEYOR_BUILD_FOLDER
build_script:
- >-
echo $PATH
mkdir build
cd build
python3 ../configure.py --enable-optimize --metamod=$APPVEYOR_BUILD_FOLDER/deps/metamod-am --hlsdk=$APPVEYOR_BUILD_FOLDER/deps/hlsdk --mysql=$APPVEYOR_BUILD_FOLDER/deps/mysql-5.5
ambuild

View File

@ -70,7 +70,7 @@ static ucell hex2long(char *s,char **n)
s++; s++;
} /* if */ } /* if */
assert((*s>='0' && *s<='9') || (*s>='a' && *s<='f') || (*s>='A' && *s<='F')); assert((*s>='0' && *s<='9') || (*s>='a' && *s<='f') || (*s>='a' && *s<='f'));
for ( ;; ) { for ( ;; ) {
if (*s>='0' && *s<='9') if (*s>='0' && *s<='9')
digit=*s-'0'; digit=*s-'0';

View File

@ -46,7 +46,7 @@
#define _MAX_PATH 250 #define _MAX_PATH 250
#endif #endif
#if !defined DIRSEP_CHAR #if !defined DIRSEP_CHAR
#if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE__ #if defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined __APPLE___
#define DIRSEP_CHAR '/' #define DIRSEP_CHAR '/'
#elif defined macintosh #elif defined macintosh
#define DIRSEP_CHAR ':' #define DIRSEP_CHAR ':'

View File

@ -181,13 +181,3 @@ amx_debug 1
// //
// Default value: "" // Default value: ""
amx_mldebug "" 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

@ -221,12 +221,3 @@ amx_statsx_freeze -2.0
// Default value: 0 // Default value: 0
amx_restrmapsettings 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

@ -218,14 +218,3 @@ amx_idle_ignore_immunity 1
// //
// Default value: 4 // Default value: 4
amx_unstuck_frequency 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

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'csx') binary = AMXX.MetaModule(builder, 'csx')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../../public/sdk/amxxmodule.cpp', '../../../public/sdk/amxxmodule.cpp',
'CRank.cpp', 'CRank.cpp',

View File

@ -127,10 +127,10 @@ void CPlayer::Connect(const char* address ){
void CPlayer::restartStats(bool all) void CPlayer::restartStats(bool all)
{ {
if ( all ) memset(&weapons,0,sizeof(weapons)); if ( all ) memset(weapons,0,sizeof(weapons));
memset(&weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats memset(weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats
memset(&attackers,0,sizeof(attackers)); memset(attackers,0,sizeof(attackers));
memset(&victims,0,sizeof(victims)); memset(victims,0,sizeof(victims));
life = {}; life = {};
} }

View File

@ -229,8 +229,8 @@ void ListboxItemSelected(HWND hDlg) {
// Retrieve complete stats record of this position. Position in listbox should be same as rank in our records! // Retrieve complete stats record of this position. Position in listbox should be same as rank in our records!
RankSystem::RankStats* stats = g_rank.findEntryInRankByPos((int)nItem + 1); RankSystem::RankStats* stats = g_rank.findEntryInRankByPos((int)nItem + 1);
if (stats == NULL) { if (stats == NULL) {
char msg[512]; char msg[] = "Error: Couldn't find the record by position! (nItem = %d)";
sprintf(msg, "Error: Couldn't find the record by position! (nItem = %d)", nItem); sprintf(msg, msg, nItem);
MessageBox(hDlg, msg, "Oh fiddlesticks!", MB_OK); MessageBox(hDlg, msg, "Oh fiddlesticks!", MB_OK);
ClearStatsfields(hDlg); ClearStatsfields(hDlg);
return; return;

View File

@ -307,10 +307,10 @@ static cell AMX_NATIVE_CALL custom_wpn_dmg(AMX *amx, cell *params){ // wid,att,v
CPlayer* pAtt = GET_PLAYER_POINTER_I(att); CPlayer* pAtt = GET_PLAYER_POINTER_I(att);
CPlayer* pVic = GET_PLAYER_POINTER_I(vic); CPlayer* pVic = GET_PLAYER_POINTER_I(vic);
if ( !pAtt ) pAtt = pVic;
pVic->pEdict->v.dmg_inflictor = NULL; pVic->pEdict->v.dmg_inflictor = NULL;
pAtt->saveHit( pVic , weapon , dmg, aim ); pAtt->saveHit( pVic , weapon , dmg, aim );
if ( !pAtt ) pAtt = pVic;
int TA = 0; int TA = 0;
if ( (pVic->teamId == pAtt->teamId) && ( pVic != pAtt) ) if ( (pVic->teamId == pAtt->teamId) && ( pVic != pAtt) )
TA = 1; TA = 1;

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'dodfun') binary = AMXX.MetaModule(builder, 'dodfun')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../../public/sdk/amxxmodule.cpp', '../../../public/sdk/amxxmodule.cpp',
'NBase.cpp', 'NBase.cpp',

View File

@ -506,7 +506,7 @@ static cell AMX_NATIVE_CALL objective_set_data(AMX *amx, cell *params){ // index
GET_CP_PD(pent).model_body_neutral = ivalue; GET_CP_PD(pent).model_body_neutral = ivalue;
return 1; return 1;
case CP_model_body_allies : case CP_model_body_allies :
GET_CP_PD(pent).model_body_allies = ivalue; GET_CP_PD(pent).model_body_axis = ivalue;
return 1; return 1;
case CP_model_body_axis : case CP_model_body_axis :
GET_CP_PD(pent).model_body_axis = ivalue; GET_CP_PD(pent).model_body_axis = ivalue;

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'dodx') binary = AMXX.MetaModule(builder, 'dodx')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../../public/sdk/amxxmodule.cpp', '../../../public/sdk/amxxmodule.cpp',
'CRank.cpp', 'CRank.cpp',

View File

@ -94,14 +94,14 @@ void CPlayer::restartStats(bool all)
{ {
if ( all ) if ( all )
{ {
memset(&weapons,0,sizeof(weapons)); memset(weapons,0,sizeof(weapons));
memset(static_cast<void *>(&round),0,sizeof(round)); memset(static_cast<void *>(&round),0,sizeof(round));
memset(&weaponsRnd,0,sizeof(weaponsRnd)); memset(weaponsRnd,0,sizeof(weaponsRnd));
} }
memset(&weaponsLife,0,sizeof(weaponsLife)); //DEC-Weapon (Round) stats memset(weaponsLife,0,sizeof(weaponsLife)); //DEC-Weapon (Round) stats
memset(&attackers,0,sizeof(attackers)); memset(attackers,0,sizeof(attackers));
memset(&victims,0,sizeof(victims)); memset(victims,0,sizeof(victims));
life = {}; life = {};
} }
@ -434,7 +434,7 @@ void CPlayer::WeaponsCheck(int weapons)
int old; int old;
int cur; int cur;
for(int i = 1; i < DODMAX_WEAPONS; ++i) for(int i = 1; i < MAX_WEAPONS; ++i)
{ {
// Check to see we are not talking about a grenade and we have changed // Check to see we are not talking about a grenade and we have changed
if(i != 13 && i != 14 && i != 15 && i != 16 && i != 36) if(i != 13 && i != 14 && i != 15 && i != 16 && i != 36)

View File

@ -263,7 +263,7 @@ static cell AMX_NATIVE_CALL dod_weapon_type(AMX *amx, cell *params) /* 2 params
{ {
int weaponsbit = pPlayer->pEdict->v.weapons & ~(1<<31); // don't count last element int weaponsbit = pPlayer->pEdict->v.weapons & ~(1<<31); // don't count last element
for(int x = 1; x < DODMAX_WEAPONS; ++x) for(int x = 1; x < MAX_WEAPONS; ++x)
{ {
if((weaponsbit&(1<<x)) > 0) if((weaponsbit&(1<<x)) > 0)
{ {
@ -387,12 +387,12 @@ static cell AMX_NATIVE_CALL cwpn_dmg(AMX *amx, cell *params)
pVic->pEdict->v.dmg_inflictor = NULL; pVic->pEdict->v.dmg_inflictor = NULL;
if(!pAtt)
pAtt = pVic;
if(pAtt->index != pVic->index) if(pAtt->index != pVic->index)
pAtt->saveHit(pVic , weapon , dmg, aim); pAtt->saveHit(pVic , weapon , dmg, aim);
if(!pAtt)
pAtt = pVic;
int TA = 0; int TA = 0;
if((pVic->pEdict->v.team == pAtt->pEdict->v.team) && (pVic != pAtt)) if((pVic->pEdict->v.team == pAtt->pEdict->v.team) && (pVic != pAtt))

View File

@ -173,7 +173,7 @@ void PlayerPreThink_Post(edict_t *pEntity)
{ {
pPlayer->clearRound = 0.0f; pPlayer->clearRound = 0.0f;
memset(static_cast<void *>(&pPlayer->round),0,sizeof(pPlayer->round)); memset(static_cast<void *>(&pPlayer->round),0,sizeof(pPlayer->round));
memset(&pPlayer->weaponsRnd,0,sizeof(pPlayer->weaponsRnd)); memset(pPlayer->weaponsRnd,0,sizeof(pPlayer->weaponsRnd));
} }
if (pPlayer->sendScore && pPlayer->sendScore < gpGlobals->time) if (pPlayer->sendScore && pPlayer->sendScore < gpGlobals->time)

View File

@ -222,7 +222,7 @@ void Client_AmmoX(void* mValue)
case 1: case 1:
if (!mPlayer ) if (!mPlayer )
break; break;
for(int i = 1; i < DODMAX_WEAPONS ; ++i) for(int i = 1; i < MAX_WEAPONS ; ++i)
{ {
if (iAmmo == weaponData[i].ammoSlot) if (iAmmo == weaponData[i].ammoSlot)
mPlayer->weapons[i].ammo = *(int*)mValue; mPlayer->weapons[i].ammo = *(int*)mValue;
@ -244,7 +244,7 @@ void Client_AmmoShort(void* mValue)
if(!mPlayer ) if(!mPlayer )
break; break;
for(int i = 1; i < DODMAX_WEAPONS ; ++i) for(int i = 1; i < MAX_WEAPONS ; ++i)
{ {
if (iAmmo == weaponData[i].ammoSlot) if (iAmmo == weaponData[i].ammoSlot)
mPlayer->weapons[i].ammo = *(int*)mValue; mPlayer->weapons[i].ammo = *(int*)mValue;

View File

@ -34,26 +34,31 @@ static cell AMX_NATIVE_CALL set_tr(AMX *amx, cell *params)
{ {
gfm_tr->fAllSolid = *ptr; gfm_tr->fAllSolid = *ptr;
return 1; return 1;
break;
} }
case TR_StartSolid: case TR_StartSolid:
{ {
gfm_tr->fStartSolid = *ptr; gfm_tr->fStartSolid = *ptr;
return 1; return 1;
break;
} }
case TR_InOpen: case TR_InOpen:
{ {
gfm_tr->fInOpen = *ptr; gfm_tr->fInOpen = *ptr;
return 1; return 1;
break;
} }
case TR_InWater: case TR_InWater:
{ {
gfm_tr->fInWater = *ptr; gfm_tr->fInWater = *ptr;
return 1; return 1;
break;
} }
case TR_flFraction: case TR_flFraction:
{ {
gfm_tr->flFraction = amx_ctof(*ptr); gfm_tr->flFraction = amx_ctof(*ptr);
return 1; return 1;
break;
} }
case TR_vecEndPos: case TR_vecEndPos:
{ {
@ -61,11 +66,13 @@ static cell AMX_NATIVE_CALL set_tr(AMX *amx, cell *params)
gfm_tr->vecEndPos.y = amx_ctof(ptr[1]); gfm_tr->vecEndPos.y = amx_ctof(ptr[1]);
gfm_tr->vecEndPos.z = amx_ctof(ptr[2]); gfm_tr->vecEndPos.z = amx_ctof(ptr[2]);
return 1; return 1;
break;
} }
case TR_flPlaneDist: case TR_flPlaneDist:
{ {
gfm_tr->flPlaneDist = amx_ctof(*ptr); gfm_tr->flPlaneDist = amx_ctof(*ptr);
return 1; return 1;
break;
} }
case TR_vecPlaneNormal: case TR_vecPlaneNormal:
{ {
@ -73,6 +80,7 @@ static cell AMX_NATIVE_CALL set_tr(AMX *amx, cell *params)
gfm_tr->vecPlaneNormal.y = amx_ctof(ptr[1]); gfm_tr->vecPlaneNormal.y = amx_ctof(ptr[1]);
gfm_tr->vecPlaneNormal.z = amx_ctof(ptr[2]); gfm_tr->vecPlaneNormal.z = amx_ctof(ptr[2]);
return 1; return 1;
break;
} }
case TR_pHit: case TR_pHit:
{ {
@ -88,12 +96,14 @@ static cell AMX_NATIVE_CALL set_tr(AMX *amx, cell *params)
{ {
gfm_tr->iHitgroup = *ptr; gfm_tr->iHitgroup = *ptr;
return 1; return 1;
break;
} }
} default:
{
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]); MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
return 0; return 0;
}
}
} }
static cell AMX_NATIVE_CALL get_tr(AMX *amx, cell *params) static cell AMX_NATIVE_CALL get_tr(AMX *amx, cell *params)
@ -106,24 +116,29 @@ static cell AMX_NATIVE_CALL get_tr(AMX *amx, cell *params)
case TR_AllSolid: case TR_AllSolid:
{ {
return gfm_tr->fAllSolid; return gfm_tr->fAllSolid;
break;
} }
case TR_StartSolid: case TR_StartSolid:
{ {
return gfm_tr->fStartSolid; return gfm_tr->fStartSolid;
break;
} }
case TR_InOpen: case TR_InOpen:
{ {
return gfm_tr->fInOpen; return gfm_tr->fInOpen;
break;
} }
case TR_InWater: case TR_InWater:
{ {
return gfm_tr->fInWater; return gfm_tr->fInWater;
break;
} }
case TR_flFraction: case TR_flFraction:
{ {
ptr = MF_GetAmxAddr(amx, params[2]); ptr = MF_GetAmxAddr(amx, params[2]);
*ptr = amx_ftoc(gfm_tr->flFraction); *ptr = amx_ftoc(gfm_tr->flFraction);
return 1; return 1;
break;
} }
case TR_vecEndPos: case TR_vecEndPos:
{ {
@ -132,12 +147,14 @@ static cell AMX_NATIVE_CALL get_tr(AMX *amx, cell *params)
ptr[1] = amx_ftoc(gfm_tr->vecEndPos.y); ptr[1] = amx_ftoc(gfm_tr->vecEndPos.y);
ptr[2] = amx_ftoc(gfm_tr->vecEndPos.z); ptr[2] = amx_ftoc(gfm_tr->vecEndPos.z);
return 1; return 1;
break;
} }
case TR_flPlaneDist: case TR_flPlaneDist:
{ {
ptr = MF_GetAmxAddr(amx, params[2]); ptr = MF_GetAmxAddr(amx, params[2]);
*ptr = amx_ftoc(gfm_tr->flPlaneDist); *ptr = amx_ftoc(gfm_tr->flPlaneDist);
return 1; return 1;
break;
} }
case TR_vecPlaneNormal: case TR_vecPlaneNormal:
{ {
@ -146,21 +163,26 @@ static cell AMX_NATIVE_CALL get_tr(AMX *amx, cell *params)
ptr[1] = amx_ftoc(gfm_tr->vecPlaneNormal.y); ptr[1] = amx_ftoc(gfm_tr->vecPlaneNormal.y);
ptr[2] = amx_ftoc(gfm_tr->vecPlaneNormal.z); ptr[2] = amx_ftoc(gfm_tr->vecPlaneNormal.z);
return 1; return 1;
break;
} }
case TR_pHit: case TR_pHit:
{ {
if (FNullEnt(gfm_tr->pHit)) if (FNullEnt(gfm_tr->pHit))
return -1; return -1;
return ENTINDEX(gfm_tr->pHit); return ENTINDEX(gfm_tr->pHit);
break;
} }
case TR_iHitgroup: case TR_iHitgroup:
{ {
return gfm_tr->iHitgroup; return gfm_tr->iHitgroup;
break;
} }
} default:
{
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]); MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
return 0; return 0;
}
}
} }
AMX_NATIVE_INFO tr_Natives[] = AMX_NATIVE_INFO tr_Natives[] =

View File

@ -48,26 +48,31 @@ static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
{ {
tr->fAllSolid = *ptr; tr->fAllSolid = *ptr;
return 1; return 1;
break;
} }
case TR_InOpen: case TR_InOpen:
{ {
tr->fInOpen = *ptr; tr->fInOpen = *ptr;
return 1; return 1;
break;
} }
case TR_StartSolid: case TR_StartSolid:
{ {
tr->fStartSolid = *ptr; tr->fStartSolid = *ptr;
return 1; return 1;
break;
} }
case TR_InWater: case TR_InWater:
{ {
tr->fInWater = *ptr; tr->fInWater = *ptr;
return 1; return 1;
break;
} }
case TR_flFraction: case TR_flFraction:
{ {
tr->flFraction = amx_ctof(*ptr); tr->flFraction = amx_ctof(*ptr);
return 1; return 1;
break;
} }
case TR_vecEndPos: case TR_vecEndPos:
{ {
@ -75,11 +80,13 @@ static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
tr->vecEndPos.y = amx_ctof(ptr[1]); tr->vecEndPos.y = amx_ctof(ptr[1]);
tr->vecEndPos.z = amx_ctof(ptr[2]); tr->vecEndPos.z = amx_ctof(ptr[2]);
return 1; return 1;
break;
} }
case TR_flPlaneDist: case TR_flPlaneDist:
{ {
tr->flPlaneDist = amx_ctof(*ptr); tr->flPlaneDist = amx_ctof(*ptr);
return 1; return 1;
break;
} }
case TR_vecPlaneNormal: case TR_vecPlaneNormal:
{ {
@ -87,6 +94,7 @@ static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
tr->vecPlaneNormal.y = amx_ctof(ptr[1]); tr->vecPlaneNormal.y = amx_ctof(ptr[1]);
tr->vecPlaneNormal.z = amx_ctof(ptr[2]); tr->vecPlaneNormal.z = amx_ctof(ptr[2]);
return 1; return 1;
break;
} }
case TR_pHit: case TR_pHit:
{ {
@ -102,10 +110,14 @@ static cell AMX_NATIVE_CALL set_tr2(AMX *amx, cell *params)
{ {
tr->iHitgroup = *ptr; tr->iHitgroup = *ptr;
return 1; return 1;
break;
} }
} default:
{
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]); MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
return 0;
}
}
return 0; return 0;
} }
@ -125,24 +137,29 @@ static cell AMX_NATIVE_CALL get_tr2(AMX *amx, cell *params)
case TR_AllSolid: case TR_AllSolid:
{ {
return tr->fAllSolid; return tr->fAllSolid;
break;
} }
case TR_InOpen: case TR_InOpen:
{ {
return tr->fInOpen; return tr->fInOpen;
break;
} }
case TR_StartSolid: case TR_StartSolid:
{ {
return tr->fStartSolid; return tr->fStartSolid;
break;
} }
case TR_InWater: case TR_InWater:
{ {
return tr->fInWater; return tr->fInWater;
break;
} }
case TR_flFraction: case TR_flFraction:
{ {
ptr = MF_GetAmxAddr(amx, params[3]); ptr = MF_GetAmxAddr(amx, params[3]);
*ptr = amx_ftoc(tr->flFraction); *ptr = amx_ftoc(tr->flFraction);
return 1; return 1;
break;
} }
case TR_vecEndPos: case TR_vecEndPos:
{ {
@ -151,12 +168,14 @@ static cell AMX_NATIVE_CALL get_tr2(AMX *amx, cell *params)
ptr[1] = amx_ftoc(tr->vecEndPos.y); ptr[1] = amx_ftoc(tr->vecEndPos.y);
ptr[2] = amx_ftoc(tr->vecEndPos.z); ptr[2] = amx_ftoc(tr->vecEndPos.z);
return 1; return 1;
break;
} }
case TR_flPlaneDist: case TR_flPlaneDist:
{ {
ptr = MF_GetAmxAddr(amx, params[3]); ptr = MF_GetAmxAddr(amx, params[3]);
*ptr = amx_ftoc(tr->flPlaneDist); *ptr = amx_ftoc(tr->flPlaneDist);
return 1; return 1;
break;
} }
case TR_vecPlaneNormal: case TR_vecPlaneNormal:
{ {
@ -165,20 +184,26 @@ static cell AMX_NATIVE_CALL get_tr2(AMX *amx, cell *params)
ptr[1] = amx_ftoc(tr->vecPlaneNormal.y); ptr[1] = amx_ftoc(tr->vecPlaneNormal.y);
ptr[2] = amx_ftoc(tr->vecPlaneNormal.z); ptr[2] = amx_ftoc(tr->vecPlaneNormal.z);
return 1; return 1;
break;
} }
case TR_pHit: case TR_pHit:
{ {
if (FNullEnt(tr->pHit)) if (FNullEnt(tr->pHit))
return -1; return -1;
return ENTINDEX(tr->pHit); return ENTINDEX(tr->pHit);
break;
} }
case TR_iHitgroup: case TR_iHitgroup:
{ {
return tr->iHitgroup; return tr->iHitgroup;
break;
} }
} default:
{
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]); MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
return 0;
}
}
return 0; return 0;
} }
@ -196,6 +221,7 @@ static cell AMX_NATIVE_CALL get_kvd(AMX *amx, cell *params)
case KV_fHandled: case KV_fHandled:
{ {
return kvd->fHandled; return kvd->fHandled;
break;
} }
case KV_ClassName: case KV_ClassName:
{ {
@ -206,6 +232,7 @@ static cell AMX_NATIVE_CALL get_kvd(AMX *amx, cell *params)
} }
cell *ptr = MF_GetAmxAddr(amx, params[4]); cell *ptr = MF_GetAmxAddr(amx, params[4]);
return MF_SetAmxString(amx, params[3], kvd->szClassName, (int)*ptr); return MF_SetAmxString(amx, params[3], kvd->szClassName, (int)*ptr);
break;
} }
case KV_KeyName: case KV_KeyName:
{ {
@ -216,6 +243,7 @@ static cell AMX_NATIVE_CALL get_kvd(AMX *amx, cell *params)
} }
cell *ptr = MF_GetAmxAddr(amx, params[4]); cell *ptr = MF_GetAmxAddr(amx, params[4]);
return MF_SetAmxString(amx, params[3], kvd->szKeyName, (int)*ptr); return MF_SetAmxString(amx, params[3], kvd->szKeyName, (int)*ptr);
break;
} }
case KV_Value: case KV_Value:
{ {
@ -226,6 +254,7 @@ static cell AMX_NATIVE_CALL get_kvd(AMX *amx, cell *params)
} }
cell *ptr = MF_GetAmxAddr(amx, params[4]); cell *ptr = MF_GetAmxAddr(amx, params[4]);
return MF_SetAmxString(amx, params[3], kvd->szValue, (int)*ptr); return MF_SetAmxString(amx, params[3], kvd->szValue, (int)*ptr);
break;
} }
} }
@ -272,24 +301,28 @@ static cell AMX_NATIVE_CALL set_kvd(AMX *amx, cell *params)
{ {
kvd->fHandled = (int)*ptr; kvd->fHandled = (int)*ptr;
return 1; return 1;
break;
} }
case KV_ClassName: case KV_ClassName:
{ {
kvdw->cls = MF_GetAmxString(amx, params[3], 0, &len); kvdw->cls = MF_GetAmxString(amx, params[3], 0, &len);
kvd->szClassName = const_cast<char *>(kvdw->cls.chars()); kvd->szClassName = const_cast<char *>(kvdw->cls.chars());
return 1; return 1;
break;
} }
case KV_KeyName: case KV_KeyName:
{ {
kvdw->key = MF_GetAmxString(amx, params[3], 0, &len); kvdw->key = MF_GetAmxString(amx, params[3], 0, &len);
kvd->szKeyName = const_cast<char *>(kvdw->key.chars()); kvd->szKeyName = const_cast<char *>(kvdw->key.chars());
return 1; return 1;
break;
} }
case KV_Value: case KV_Value:
{ {
kvdw->val = MF_GetAmxString(amx, params[3], 0, &len); kvdw->val = MF_GetAmxString(amx, params[3], 0, &len);
kvd->szValue = const_cast<char *>(kvdw->val.chars()); kvd->szValue = const_cast<char *>(kvdw->val.chars());
return 1; return 1;
break;
} }
} }
@ -1077,9 +1110,9 @@ static cell AMX_NATIVE_CALL set_es(AMX *amx, cell *params)
es->vuser3.z = amx_ctof(ptr[2]); es->vuser3.z = amx_ctof(ptr[2]);
return 1; return 1;
case ES_vUser4: case ES_vUser4:
es->vuser4.x = amx_ctof(ptr[0]); es->vuser3.x = amx_ctof(ptr[0]);
es->vuser4.y = amx_ctof(ptr[1]); es->vuser3.y = amx_ctof(ptr[1]);
es->vuser4.z = amx_ctof(ptr[2]); es->vuser3.z = amx_ctof(ptr[2]);
return 1; return 1;
} }

View File

@ -81,6 +81,7 @@ static cell AMX_NATIVE_CALL fm_return(AMX *amx, cell *params)
default: default:
{ {
return 0; return 0;
break;
} }
} }

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'fun') binary = AMXX.MetaModule(builder, 'fun')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../public/sdk/amxxmodule.cpp', '../../public/sdk/amxxmodule.cpp',
'../../public/memtools/MemoryUtils.cpp', '../../public/memtools/MemoryUtils.cpp',

View File

@ -697,12 +697,6 @@ static cell AMX_NATIVE_CALL amxx_json_object_set_value(AMX *amx, cell *params)
return 0; return 0;
} }
if (!JsonMngr->IsValidHandle(params[3]))
{
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON value! %d", params[3]);
return 0;
}
int len; int len;
auto name = MF_GetAmxString(amx, params[2], 0, &len); auto name = MF_GetAmxString(amx, params[2], 0, &len);

View File

@ -17,18 +17,18 @@ if AMXX.mysql_path:
binary.sources = [] binary.sources = []
if builder.target_platform == 'linux' or builder.target_platform == 'mac': if builder.target_platform is 'linux' or builder.target_platform is 'mac':
binary.compiler.defines += ['stricmp=strcasecmp'] binary.compiler.defines += ['stricmp=strcasecmp']
binary.compiler.linkflags += [ binary.compiler.linkflags += [
os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'), os.path.join(AMXX.mysql_path, 'lib', 'libmysqlclient_r.a'),
'-lpthread', '-lpthread',
'-lm', '-lm',
] ]
if builder.target_platform == 'linux': if builder.target_platform is 'linux':
binary.compiler.linkflags += [ binary.compiler.linkflags += [
'-lrt' '-lrt'
] ]
elif builder.target_platform == 'windows': elif builder.target_platform is 'windows':
binary.compiler.linkflags += [ binary.compiler.linkflags += [
os.path.join(AMXX.mysql_path, 'lib', 'mysqlclient.lib'), os.path.join(AMXX.mysql_path, 'lib', 'mysqlclient.lib'),
'ws2_32.lib', 'ws2_32.lib',

View File

@ -277,6 +277,7 @@ static cell AMX_NATIVE_CALL SQL_ReadResult(AMX *amx, cell *params)
{ {
int num = row->GetInt(col); int num = row->GetInt(col);
return num; return num;
break;
} }
default: default:
{ {

View File

@ -247,6 +247,7 @@ static cell AMX_NATIVE_CALL dbi_field(AMX *amx, cell *params)
case 2: case 2:
{ {
return atoi(data); return atoi(data);
break;
} }
case 3: case 3:
{ {
@ -254,10 +255,12 @@ static cell AMX_NATIVE_CALL dbi_field(AMX *amx, cell *params)
REAL fdata = atof(data); REAL fdata = atof(data);
*destaddr = amx_ftoc(fdata); *destaddr = amx_ftoc(fdata);
return 1; return 1;
break;
} }
case 4: case 4:
{ {
return MF_SetAmxString(amx, params[3], data, params[4]); return MF_SetAmxString(amx, params[3], data, params[4]);
break;
} }
} }
@ -312,6 +315,7 @@ static cell AMX_NATIVE_CALL dbi_result(AMX *amx, cell *params)
case 2: case 2:
{ {
return atoi(data); return atoi(data);
break;
} }
case 3: case 3:
{ {
@ -319,10 +323,12 @@ static cell AMX_NATIVE_CALL dbi_result(AMX *amx, cell *params)
REAL fdata = atof(data); REAL fdata = atof(data);
*destaddr = amx_ftoc(fdata); *destaddr = amx_ftoc(fdata);
return 1; return 1;
break;
} }
case 4: case 4:
{ {
return MF_SetAmxString(amx, params[3], data, params[4]); return MF_SetAmxString(amx, params[3], data, params[4]);
break;
} }
} }

View File

@ -115,17 +115,20 @@ static cell nvault_get(AMX *amx, cell *params)
case 2: case 2:
{ {
return atoi(val); return atoi(val);
break;
} }
case 3: case 3:
{ {
cell *fAddr = MF_GetAmxAddr(amx, params[3]); cell *fAddr = MF_GetAmxAddr(amx, params[3]);
*fAddr = amx_ftoc((REAL)atof(val)); *fAddr = amx_ftoc((REAL)atof(val));
return 1; return 1;
break;
} }
case 4: case 4:
{ {
len = *(MF_GetAmxAddr(amx, params[4])); len = *(MF_GetAmxAddr(amx, params[4]));
return MF_SetAmxString(amx, params[3], val, len); return MF_SetAmxString(amx, params[3], val, len);
break;
} }
} }

View File

@ -654,7 +654,7 @@ int RegEx::Replace(char *text, size_t textMaxLen, const char *replace, size_t re
* $nn or ${nn} * $nn or ${nn}
* ^ ^ * ^ ^
*/ */
if (*walk >= '0' && *walk <= '9') if (*walk && *walk >= '0' && *walk <= '9')
{ {
backref = backref * 10 + *walk - '0'; backref = backref * 10 + *walk - '0';
++walk; ++walk;

View File

@ -12,7 +12,7 @@ binary.compiler.defines += [
'HAVE_STDINT_H', 'HAVE_STDINT_H',
] ]
if builder.target_platform == 'linux' or builder.target_platform == 'mac': if builder.target_platform is 'linux' or builder.target_platform is 'mac':
binary.compiler.defines += ['stricmp=strcasecmp'] binary.compiler.defines += ['stricmp=strcasecmp']
binary.compiler.postlink += ['-lpthread'] binary.compiler.postlink += ['-lpthread']

View File

@ -273,6 +273,7 @@ static cell AMX_NATIVE_CALL SQL_ReadResult(AMX *amx, cell *params)
{ {
int num = row->GetInt(col); int num = row->GetInt(col);
return num; return num;
break;
} }
default: default:
{ {

View File

@ -245,6 +245,7 @@ static cell AMX_NATIVE_CALL dbi_field(AMX *amx, cell *params)
case 2: case 2:
{ {
return atoi(data); return atoi(data);
break;
} }
case 3: case 3:
{ {
@ -252,10 +253,12 @@ static cell AMX_NATIVE_CALL dbi_field(AMX *amx, cell *params)
REAL fdata = atof(data); REAL fdata = atof(data);
*destaddr = amx_ftoc(fdata); *destaddr = amx_ftoc(fdata);
return 1; return 1;
break;
} }
case 4: case 4:
{ {
return MF_SetAmxString(amx, params[3], data, params[4]); return MF_SetAmxString(amx, params[3], data, params[4]);
break;
} }
} }
@ -306,6 +309,7 @@ static cell AMX_NATIVE_CALL dbi_result(AMX *amx, cell *params)
case 2: case 2:
{ {
return atoi(data); return atoi(data);
break;
} }
case 3: case 3:
{ {
@ -313,10 +317,12 @@ static cell AMX_NATIVE_CALL dbi_result(AMX *amx, cell *params)
REAL fdata = atof(data); REAL fdata = atof(data);
*destaddr = amx_ftoc(fdata); *destaddr = amx_ftoc(fdata);
return 1; return 1;
break;
} }
case 4: case 4:
{ {
return MF_SetAmxString(amx, params[3], data, params[4]); return MF_SetAmxString(amx, params[3], data, params[4]);
break;
} }
} }

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'tfcx') binary = AMXX.MetaModule(builder, 'tfcx')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../public/sdk/amxxmodule.cpp', '../../public/sdk/amxxmodule.cpp',
'CRank.cpp', 'CRank.cpp',

View File

@ -126,10 +126,10 @@ void CPlayer::Connect(const char* address ){
void CPlayer::restartStats(bool all) void CPlayer::restartStats(bool all)
{ {
if ( all ) memset(&weapons,0,sizeof(weapons)); if ( all ) memset(weapons,0,sizeof(weapons));
memset(&weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats memset(weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats
memset(&attackers,0,sizeof(attackers)); memset(attackers,0,sizeof(attackers));
memset(&victims,0,sizeof(victims)); memset(victims,0,sizeof(victims));
life = {}; life = {};
} }

View File

@ -161,10 +161,10 @@ struct CPlayer {
int clip; int clip;
}; };
PlayerWeapon weapons[TFCMAX_WEAPONS]; PlayerWeapon weapons[MAX_WEAPONS];
PlayerWeapon attackers[33]; PlayerWeapon attackers[33];
PlayerWeapon victims[33]; PlayerWeapon victims[33];
Stats weaponsRnd[TFCMAX_WEAPONS]; // DEC-Weapon (Round) stats Stats weaponsRnd[MAX_WEAPONS]; // DEC-Weapon (Round) stats
Stats life; Stats life;
int teamId; int teamId;

View File

@ -262,10 +262,10 @@ static cell AMX_NATIVE_CALL cwpn_dmg(AMX *amx, cell *params){ // wid,att,vic,dmg
CPlayer* pAtt = GET_PLAYER_POINTER_I(att); CPlayer* pAtt = GET_PLAYER_POINTER_I(att);
CPlayer* pVic = GET_PLAYER_POINTER_I(vic); CPlayer* pVic = GET_PLAYER_POINTER_I(vic);
if ( !pAtt ) pAtt = pVic;
pVic->pEdict->v.dmg_inflictor = NULL; pVic->pEdict->v.dmg_inflictor = NULL;
pAtt->saveHit( pVic , weapon , dmg, aim ); pAtt->saveHit( pVic , weapon , dmg, aim );
if ( !pAtt ) pAtt = pVic;
int TA = 0; int TA = 0;
if ( (pVic->pEdict->v.team == pAtt->pEdict->v.team ) && ( pVic != pAtt) ) if ( (pVic->pEdict->v.team == pAtt->pEdict->v.team ) && ( pVic != pAtt) )
TA = 1; TA = 1;

View File

@ -47,7 +47,7 @@ bool isModuleActive(){
bool util_strncmp( const char *sz1, const char *sz2, int size){ bool util_strncmp( const char *sz1, const char *sz2, int size){
int i = 0; int i = 0;
while( i<=size && sz1[i] ){ while( sz1[i] && i<=size){
if ( sz1[i] != sz2[i] ) if ( sz1[i] != sz2[i] )
return false; return false;
i++; i++;

View File

@ -46,7 +46,7 @@ void Client_WeaponList(void* mValue){
break; break;
case 7: case 7:
int iId = *(int*)mValue; int iId = *(int*)mValue;
if ( (iId < 0 || iId >= TFCMAX_WEAPONS ) || ( wpnList & (1<<iId) ) ) if ( (iId < 0 || iId >= MAX_WEAPONS ) || ( wpnList & (1<<iId) ) )
break; break;
wpnList |= (1<<iId); wpnList |= (1<<iId);
@ -121,23 +121,10 @@ void Client_Damage(void* mValue){
if ( FNullEnt( enemy ) ) if ( FNullEnt( enemy ) )
break; break;
#ifdef _DEBUG_TFCX
ALERT(at_logged, "Clinet_damage Called with state-%d dmg-%d Netname'%s'(Class'%s') slno-'%d'\n",
mState, damage, STRING(mPlayer->pEdict->v.netname),
STRING(mPlayer->pEdict->v.classname), mPlayer->pEdict->serialnumber);
ALERT(at_logged, " Called with enemy-slno-%d Netname:'%s'(Class'%s')\n", mPlayer->pEdict->serialnumber,
STRING(enemy->v.netname), STRING(enemy->v.classname));
#endif // _DEBUG_TFCX
if (enemy->v.flags & (FL_CLIENT | FL_FAKECLIENT) ) { // attacker is player and his active weapon if (enemy->v.flags & (FL_CLIENT | FL_FAKECLIENT) ) { // attacker is player and his active weapon
pAttacker = GET_PLAYER_POINTER(enemy); pAttacker = GET_PLAYER_POINTER(enemy);
#ifdef _DEBUG_TFCX
ALERT(at_logged, " attacker is player and his active weapon id-%d, has flags - (FL_CLIENT | FL_FAKECLIENT)\n\n", pAttacker->current);
#endif // _DEBUG_TFCX
aim = pAttacker->aiming; aim = pAttacker->aiming;
weapon = pAttacker->current; weapon = pAttacker->current;
@ -163,15 +150,6 @@ void Client_Damage(void* mValue){
pAttacker = GET_PLAYER_POINTER(enemy->v.owner); pAttacker = GET_PLAYER_POINTER(enemy->v.owner);
#ifdef _DEBUG_TFCX
ALERT(at_logged, " attacker is Class'%s'(with its enmy as Netname'%s'[Class'%s']) and his owner is '%s(%s)' enemy->owner has flags - FL_CLIENT | FL_FAKECLIENT\n\n",
(enemy ? STRING(enemy->v.classname) : "Null"),
(enemy->v.enemy ? STRING(enemy->v.enemy->v.netname) : "Null"),
(enemy->v.enemy ? STRING(enemy->v.enemy->v.classname) : "Null"),
(enemy->v.owner ? STRING(enemy->v.owner->v.netname) : "Null"),
(enemy->v.owner ? STRING(enemy->v.owner->v.classname) : "Null"));
#endif // _DEBUG_TFCX
const char *szClass = STRING(enemy->v.classname); const char *szClass = STRING(enemy->v.classname);
switch(szClass[10]){ switch(szClass[10]){
@ -207,8 +185,16 @@ void Client_Damage(void* mValue){
if ( !weapon ) { if ( !weapon ) {
switch(szClass[3]){ switch(szClass[3]){
case 'e': case 'e':
weapon = TFC_WPN_TIMER; // TFC_WPN_MEDKIT ?? //ShootingKing: Class - "timer" weapon = TFC_WPN_TIMER; // TFC_WPN_MEDKIT ??
pAttacker = GET_PLAYER_POINTER(enemy->v.enemy);
tempInt = get_pdata_ehandle(mPlayer->pEdict, pdTimerOwner * 4); // function is char-based.
if (tempInt < 1 || tempInt > gpGlobals->maxClients)
{
break;
}
pAttacker = GET_PLAYER_POINTER_I(tempInt);
if (pAttacker->teamId == mPlayer->teamId) // ??? if (pAttacker->teamId == mPlayer->teamId) // ???
{ {
@ -340,7 +326,7 @@ void Client_AmmoX(void* mValue){
} }
// //
for(int i = 1; i < TFCMAX_WEAPONS ; ++i) for(int i = 1; i < MAX_WEAPONS ; ++i)
if (iAmmo == weaponData[i].ammoSlot) if (iAmmo == weaponData[i].ammoSlot)
mPlayer->weapons[i].ammo = *(int*)mValue; mPlayer->weapons[i].ammo = *(int*)mValue;
} }
@ -355,7 +341,7 @@ void Client_AmmoPickup(void* mValue){
break; break;
case 1: case 1:
if (!mPlayer ) break; if (!mPlayer ) break;
for(int i = 1; i < TFCMAX_WEAPONS ; ++i) for(int i = 1; i < MAX_WEAPONS ; ++i)
if (weaponData[i].ammoSlot == iSlot) if (weaponData[i].ammoSlot == iSlot)
mPlayer->weapons[i].ammo += *(int*)mValue; mPlayer->weapons[i].ammo += *(int*)mValue;
} }

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'tsfun') binary = AMXX.MetaModule(builder, 'tsfun')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../../public/sdk/amxxmodule.cpp', '../../../public/sdk/amxxmodule.cpp',
] ]

View File

@ -3,10 +3,6 @@ import os.path
binary = AMXX.MetaModule(builder, 'tsx') binary = AMXX.MetaModule(builder, 'tsx')
binary.compiler.defines += [
'HAVE_STDINT_H',
]
binary.sources = [ binary.sources = [
'../../../public/sdk/amxxmodule.cpp', '../../../public/sdk/amxxmodule.cpp',
'CMisc.cpp', 'CMisc.cpp',

View File

@ -78,10 +78,10 @@ void CPlayer::Connect(const char* ippp)
void CPlayer::restartStats(bool all) void CPlayer::restartStats(bool all)
{ {
if ( all ) memset(&weapons,0,sizeof(weapons)); if ( all ) memset(weapons,0,sizeof(weapons));
memset(&weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats memset(weaponsRnd,0,sizeof(weaponsRnd)); //DEC-Weapon (Round) stats
memset(&attackers,0,sizeof(attackers)); memset(attackers,0,sizeof(attackers));
memset(&victims,0,sizeof(victims)); memset(victims,0,sizeof(victims));
life = {}; life = {};
} }

View File

@ -295,10 +295,10 @@ static cell AMX_NATIVE_CALL cwpn_dmg(AMX *amx, cell *params){ // wid,att,vic,dmg
CPlayer* pAtt = GET_PLAYER_POINTER_I(att); CPlayer* pAtt = GET_PLAYER_POINTER_I(att);
CPlayer* pVic = GET_PLAYER_POINTER_I(vic); CPlayer* pVic = GET_PLAYER_POINTER_I(vic);
if ( !pAtt ) pAtt = pVic;
pVic->pEdict->v.dmg_inflictor = NULL; pVic->pEdict->v.dmg_inflictor = NULL;
pAtt->saveHit( pVic , weapon , dmg, aim ); pAtt->saveHit( pVic , weapon , dmg, aim );
if ( !pAtt ) pAtt = pVic;
int TA = 0; int TA = 0;
if ( (pVic->pEdict->v.team == pAtt->pEdict->v.team ) && ( pVic != pAtt) ) if ( (pVic->pEdict->v.team == pAtt->pEdict->v.team ) && ( pVic != pAtt) )
TA = 1; TA = 1;

View File

@ -122,7 +122,6 @@ void Client_TSHealth_End(void* mValue){
weapon = 37; // throwing knife weapon = 37; // throwing knife
aim = pAttacker ? pAttacker->aiming : 0; aim = pAttacker ? pAttacker->aiming : 0;
if (pAttacker)
pAttacker->saveHit( mPlayer , weapon , damage, aim ); pAttacker->saveHit( mPlayer , weapon , damage, aim );
} }
} }

View File

@ -364,8 +364,10 @@ loadSettings(szFilename[])
new AuthData[44]; new AuthData[44];
new Password[32]; new Password[32];
while (fgets(File, Text, charsmax(Text))) while (!feof(File))
{ {
fgets(File, Text, charsmax(Text));
trim(Text); trim(Text);
// comment // comment

View File

@ -124,8 +124,10 @@ public plugin_precache( )
new fieldNums = 0; new fieldNums = 0;
new const voxIdent[] = "vox", fvoxIdent[] = "fvox", barneyIdent[] = "barney", hgruntIdent[] = "hgrunt"; new const voxIdent[] = "vox", fvoxIdent[] = "fvox", barneyIdent[] = "barney", hgruntIdent[] = "hgrunt";
while ( line < MAX_CMDS && fgets( fp, szText, charsmax(szText) ) ) // Loop till MAX_CMDS or no more file data while ( line < MAX_CMDS && ! feof( fp ) ) // Loop till MAX_CMDS or EOF
{ {
fgets( fp, szText, charsmax(szText) ); // Store line content
/* Strips newline */ /* Strips newline */
new len = strlen( szText ); new len = strlen( szText );
if ( len != 0 && szText[len-1] == '^n' ) // len != 0 because if the last line of the file is empty, there's no newline if ( len != 0 && szText[len-1] == '^n' ) // len != 0 because if the last line of the file is empty, there's no newline
@ -173,7 +175,15 @@ public plugin_precache( )
} }
if ( file_exists( szSound ) ) if ( file_exists( szSound ) )
{ {
precache_generic( szSound ); if ( sndExt[1] == 'm')
{
precache_generic( szSound ); // mp3
}
else
{
replace( szSound, charsmax(szSound), "sound/", "" ); // wav, strip the leading sound/ we added for our file_exists check
precache_sound( szSound );
}
} }
} }
line++; line++;

View File

@ -236,8 +236,9 @@ public plugin_precache()
if( fp ) if( fp )
{ {
new xvarname[32], xvarid new xvarname[32], xvarid
while( fgets(fp, buffer, charsmax(buffer)) ) while( !feof(fp) )
{ {
fgets(fp, buffer, charsmax(buffer))
trim(buffer) trim(buffer)
if( buffer[0] != ';' ) if( buffer[0] != ';' )
{ {
@ -256,8 +257,9 @@ public plugin_precache()
if( fp ) if( fp )
{ {
new szSoundKey[32], szSoundFile[SOUNDFILE_PATH_MAXLEN] new szSoundKey[32], szSoundFile[SOUNDFILE_PATH_MAXLEN]
while( fgets(fp, buffer, charsmax(buffer)) ) while( !feof(fp) )
{ {
fgets(fp, buffer, charsmax(buffer))
trim(buffer) trim(buffer)
if( buffer[0] != ';' && parse(buffer, szSoundKey, charsmax(szSoundKey), szSoundFile, charsmax(szSoundFile)) == 2 ) if( buffer[0] != ';' && parse(buffer, szSoundKey, charsmax(szSoundKey), szSoundFile, charsmax(szSoundFile)) == 2 )
{ {
@ -377,7 +379,7 @@ precache_sound_custom( const sound[] )
formatex(fullpathsound, charsmax(fullpathsound), "sound/%s.wav", sound) formatex(fullpathsound, charsmax(fullpathsound), "sound/%s.wav", sound)
if( file_exists(fullpathsound) ) if( file_exists(fullpathsound) )
{ {
precache_generic(fullpathsound) precache_sound(fullpathsound[6])
} }
else else
{ {

View File

@ -495,10 +495,8 @@ findAdminsWithMenu(playersList[MAX_PLAYERS], &playersCount, const commandLevel =
get_players(playersList, playersCount, "ch"); get_players(playersList, playersCount, "ch");
for (new i = 0; i < playersCount; ++i) for (new i = 0; i < playersCount, (player = playersList[i]); ++i)
{ {
player = playersList[i]
if (player_menu_info(player, menu, newmenu) && newmenu != -1 && newmenu == MenuHandle[player]) if (player_menu_info(player, menu, newmenu) && newmenu != -1 && newmenu == MenuHandle[player])
{ {
if (commandLevel == -1 || access(player, commandLevel)) // extra safety if (commandLevel == -1 || access(player, commandLevel)) // extra safety
@ -521,10 +519,8 @@ refreshMenus(const commandLevel = 0, const bool:displaySaveMessage = false)
return; return;
} }
for (new i = 0, player; i < playersCount; ++i) for (new i = 0, player; i < playersCount, (player = playersList[i]); ++i)
{ {
player = playersList[i]
MenuHandle[player] = displayMenu(player, MenuPosition[player]); MenuHandle[player] = displayMenu(player, MenuPosition[player]);
if (displaySaveMessage) if (displaySaveMessage)
@ -594,11 +590,9 @@ bool:loadSettings(const filename[])
arrayset(RestrictedBotEquipAmmos, '0', charsmax(RestrictedBotEquipAmmos)); arrayset(RestrictedBotEquipAmmos, '0', charsmax(RestrictedBotEquipAmmos));
arrayset(RestrictedBotWeapons, '0', charsmax(RestrictedBotWeapons)); arrayset(RestrictedBotWeapons, '0', charsmax(RestrictedBotWeapons));
while (fgets(fp, lineRead, charsmax(lineRead))) while (!feof(fp))
{ {
trim(lineRead) if (fgets(fp, lineRead, charsmax(lineRead)) - trim(lineRead) <= 0)
if (!lineRead[0])
{ {
continue; continue;
} }

View File

@ -14,21 +14,21 @@
#include <amxmodx> #include <amxmodx>
public plugin_precache(){ public plugin_precache(){
precache_generic( "sound/misc/impressive.wav") precache_sound( "misc/impressive.wav")
precache_generic( "sound/misc/headshot.wav") precache_sound( "misc/headshot.wav")
precache_generic( "sound/misc/multikill.wav") precache_sound( "misc/multikill.wav")
precache_generic( "sound/misc/doublekill.wav") precache_sound( "misc/doublekill.wav")
precache_generic( "sound/misc/godlike.wav") precache_sound( "misc/godlike.wav")
precache_generic( "sound/misc/ultrakill.wav") precache_sound( "misc/ultrakill.wav")
precache_generic( "sound/misc/killingspree.wav") precache_sound( "misc/killingspree.wav")
precache_generic( "sound/misc/rampage.wav") precache_sound( "misc/rampage.wav")
precache_generic( "sound/misc/unstoppable.wav") precache_sound( "misc/unstoppable.wav")
precache_generic( "sound/misc/monsterkill.wav") precache_sound( "misc/monsterkill.wav")
precache_generic( "sound/misc/humiliation.wav") precache_sound( "misc/humiliation.wav")
precache_generic( "sound/misc/takenlead.wav" ) precache_sound( "misc/takenlead.wav" )
precache_generic( "sound/misc/tiedlead.wav" ) precache_sound( "misc/tiedlead.wav" )
precache_generic( "sound/misc/lostlead.wav" ) precache_sound( "misc/lostlead.wav" )
return PLUGIN_CONTINUE return PLUGIN_CONTINUE
} }

View File

@ -351,7 +351,6 @@ enum
kRenderFxExplode, /* Scale up really big! */ kRenderFxExplode, /* Scale up really big! */
kRenderFxGlowShell, /* Glowing Shell */ kRenderFxGlowShell, /* Glowing Shell */
kRenderFxClampMinScale, /* Keep this sprite from getting very small (SPRITES only!) */ kRenderFxClampMinScale, /* Keep this sprite from getting very small (SPRITES only!) */
kRenderFxLightMultiplier, /* CTM !!!CZERO added to tell the studiorender that the value in iuser2 is a lightmultiplier */
}; };
/** /**

View File

@ -809,13 +809,6 @@ stock reset_menu(index)
/** /**
* Calls a function after a specified time has elapsed. * Calls a function after a specified time has elapsed.
* *
* @note The function is called in the following manner if data is passed:
* data[] - Data passed
* id - Task index
*
* @note The function is called in the following manner if no data is passed:
* id - Task index
*
* @param time Time interval to assign * @param time Time interval to assign
* @param function Function to execute * @param function Function to execute
* @param id Task id to assign * @param id Task id to assign

View File

@ -681,12 +681,10 @@ native disable_logevent(handle);
* @param fadeintime Time it takes the message to fully appear (fade-in) * @param fadeintime Time it takes the message to fully appear (fade-in)
* @param fadeouttime Time it takes the message to fully disappear (fade-out) * @param fadeouttime Time it takes the message to fully disappear (fade-out)
* @param channel Channel to use on the client * @param channel Channel to use on the client
* @param alpha1 Alpha component of hudmessage color
* @param color2[4] Color 2 array {r,g,b,a}
* *
* @noreturn * @noreturn
*/ */
native set_hudmessage(red = 200, green = 100, blue = 0, Float:x = -1.0, Float:y = 0.35, effects = 0, Float:fxtime = 6.0, Float:holdtime = 12.0, Float:fadeintime = 0.1, Float:fadeouttime = 0.2, channel = -1, alpha1 = 0, color2[4] = {255, 255, 250, 0}); native set_hudmessage(red = 200, green = 100, blue = 0, Float:x = -1.0, Float:y = 0.35, effects = 0, Float:fxtime = 6.0, Float:holdtime = 12.0, Float:fadeintime = 0.1, Float:fadeouttime = 0.2, channel = -1);
/** /**
* Displays a message on the client HUD. * Displays a message on the client HUD.
@ -1764,13 +1762,6 @@ native parse_time(const input[], const format[], time = -1);
* @note Please consider using set_task_ex() instead which allows you to * @note Please consider using set_task_ex() instead which allows you to
* use named constants for flags instead of letters. * use named constants for flags instead of letters.
* *
* @note The function is called in the following manner if data is passed:
* data[] - Data passed
* id - Task index
*
* @note The function is called in the following manner if no data is passed:
* id - Task index
*
* @param time Time interval to assign * @param time Time interval to assign
* @param function Function to execute * @param function Function to execute
* @param id Task id to assign * @param id Task id to assign
@ -1851,7 +1842,7 @@ native set_user_flags(index, flags = -1, id = 0);
* 0 is actively used. You should not change the value of the second * 0 is actively used. You should not change the value of the second
* parameter from the default. * parameter from the default.
* *
* @param index Client index, 0 to get flags of server * @param index Client index, 0 to set flags of server
* @param id Flag set id, ranging from 0 to 31 * @param id Flag set id, ranging from 0 to 31
* *
* @return Bitflag sum of client's admin flags * @return Bitflag sum of client's admin flags

View File

@ -519,7 +519,7 @@ native unlink(const filename[], bool:use_valve_fs = false, const valve_path_id[]
* *
* @return Handle to the directory, 0 otherwise * @return Handle to the directory, 0 otherwise
*/ */
native open_dir(const dir[], firstfile[], length, &FileType:type = FileType_Unknown, bool:use_valve_fs = false, const valve_path_id[] = "GAME"); native open_dir(dir[], firstfile[], length, &FileType:type = FileType_Unknown, bool:use_valve_fs = false, const valve_path_id[] = "GAME");
/** /**
* Reads the next directory entry as a local filename. * Reads the next directory entry as a local filename.

View File

@ -737,7 +737,7 @@ enum
* write_byte(TE_FIZZ) * write_byte(TE_FIZZ)
* write_short(entity) * write_short(entity)
* write_short(sprite index) * write_short(sprite index)
* write_byte(density) * write_byte density)
*/ */
#define TE_FIZZ 105 #define TE_FIZZ 105

View File

@ -98,9 +98,9 @@
/** @endsection */ /** @endsection */
/** /**
* Creates a new menu object. * @brief Creates a new menu object.
* *
* @note The handler function should be prototyped as: * The handler function should be prototyped as:
* *
* public <function>(id, menu, item) * public <function>(id, menu, item)
* id - Client the menu is being acted upon. * id - Client the menu is being acted upon.
@ -110,7 +110,7 @@
* should never be called immediately if the item is a status * should never be called immediately if the item is a status
* code, for re-entrancy reasons. * code, for re-entrancy reasons.
* *
* @note The handler function should always return PLUGIN_HANDLED to block * The handler function should always return PLUGIN_HANDLED to block
* any old menu handlers from potentially feeding on the menu, unless * any old menu handlers from potentially feeding on the menu, unless
* that is the desired functionality. * that is the desired functionality.
* *
@ -129,14 +129,14 @@ native menu_create(const title[], const handler[], bool:ml = false);
/** /**
* Creates a menu item callback handler. * Creates a menu item callback handler.
* *
* @note The handler function should be prototyped as: * The handler function should be prototyped as:
* *
* public <function>(id, menu, item) * public <function>(id, menu, item)
* id - Client index being displayed to. * id - Client index being displayed to.
* menu - Menu resource identifier. * menu - Menu resource identifier.
* item - Item being drawn. * item - Item being drawn.
* <return> - ITEM_IGNORE to use the default functionality. * <return> - ITEM_IGNORE to use the default functionality. ITEM_ENABLED to
* ITEM_ENABLED to explicitly enable or ITEM_DISABLED to explicitly disable. * explicitly enable or ITEM_DISABLED to explicitly disable.
* *
* @param function Function name. * @param function Function name.
* @return Menu callback ID. * @return Menu callback ID.
@ -144,7 +144,7 @@ native menu_create(const title[], const handler[], bool:ml = false);
native menu_makecallback(const function[]); native menu_makecallback(const function[]);
/** /**
* Adds an item to a menu. * Adds an menu to a menu.
* *
* @param menu Menu resource identifier. * @param menu Menu resource identifier.
* @param name Item text to display. * @param name Item text to display.
@ -287,11 +287,11 @@ native menu_destroy(menu);
/** /**
* Returns information about a menu (if any) the client is currently viewing. * Returns information about a menu (if any) the client is currently viewing.
* *
* @note If newmenu is valid, then the menu will refer to the menuid associated with * If newmenu is valid, then the menu will refer to the menuid associated with
* the title. If newmenu is not valid, and the menu is valid, then the player * the title. If newmenu is not valid, and the menu is valid, then the player
* is viewing a menu displayed with show_menu(). * is viewing a menu displayed with show_menu().
* *
* @note Both may be invalid if the player is not viewing a menu. * Both may be invalid if the player is not viewing a menu.
* *
* @param id Client index. * @param id Client index.
* @param menu Variable to store old menu id. If none, then <1 will be * @param menu Variable to store old menu id. If none, then <1 will be
@ -307,7 +307,7 @@ native player_menu_info(id, &menu, &newmenu, &menupage=0);
/** /**
* Adds a blank line to a menu. * Adds a blank line to a menu.
* *
* @note When using slot=1 this might break your menu. To achieve this functionality * When using slot=1 this might break your menu. To achieve this functionality
* menu_addblank2 should be used. * menu_addblank2 should be used.
* *
* @param menu Menu resource identifier. * @param menu Menu resource identifier.
@ -319,9 +319,9 @@ native player_menu_info(id, &menu, &newmenu, &menupage=0);
native menu_addblank(menu, slot=1); native menu_addblank(menu, slot=1);
/** /**
* Adds a text line to a menu. * Adds a text line to a menu. Only available in amxmodx 1.8.1 and above.
* *
* @note When using slot=1 this might break your menu. To achieve this functionality * When using slot=1 this might break your menu. To achieve this functionality
* menu_addtext2 should be used. * menu_addtext2 should be used.
* *
* @param menu Menu resource identifier. * @param menu Menu resource identifier.
@ -336,10 +336,12 @@ native menu_addtext(menu, const text[], slot=1);
/** /**
* Adds a blank line to a menu, always shifting the numbering down. * Adds a blank line to a menu, always shifting the numbering down.
* *
* @note This will add a special item to create a blank line. It will affect the menu * This will add a special item to create a blank line. It will affect the menu
* item count and pagination. These items can be modified later but will ignore * item count and pagination. These items can be modified later but will ignore
* access and item callback results. * access and item callback results.
* *
* Only available in 1.8.3 and above.
*
* @param menu Menu resource identifier. * @param menu Menu resource identifier.
* *
* @return 1 on success, 0 on failure. * @return 1 on success, 0 on failure.
@ -351,10 +353,12 @@ native menu_addblank2( menu );
/** /**
* Adds a text line to a menu, always shifting the numbering down. * Adds a text line to a menu, always shifting the numbering down.
* *
* @note This will add a special item to create a blank line. It will affect the menu * This will add a special item to create a blank line. It will affect the menu
* item count and pagination. These items can be modified later but will ignore * item count and pagination. These items can be modified later but will ignore
* access and item callback results. * access and item callback results.
* *
* Only available in 1.8.3 and above.
*
* @param menu Menu resource identifier. * @param menu Menu resource identifier.
* @param text Text to add. * @param text Text to add.
* *

View File

@ -519,7 +519,7 @@ stock SQL_SimpleQueryFmt(Handle:db, error[]="", maxlength=0, &rows=0, const fmt[
* @param queryfmt The query string that can be formated with format specifiers. * @param queryfmt The query string that can be formated with format specifiers.
* @pram ... Additional arguments for formating the query. * @pram ... Additional arguments for formating the query.
* *
* @return -1 on error. * @return 1 on error.
* >= 0 on success (with the number of affected rows). * >= 0 on success (with the number of affected rows).
*/ */
stock SQL_QueryAndIgnore(Handle:db, const queryfmt[], any:...) stock SQL_QueryAndIgnore(Handle:db, const queryfmt[], any:...)

View File

@ -24,8 +24,6 @@ enum
timeunit_hours, timeunit_hours,
timeunit_days, timeunit_days,
timeunit_weeks, timeunit_weeks,
timeunit_months,
timeunit_years,
}; };
/* Seconds in each time unit */ /* Seconds in each time unit */
@ -33,8 +31,6 @@ enum
#define SECONDS_IN_HOUR 3600 #define SECONDS_IN_HOUR 3600
#define SECONDS_IN_DAY 86400 #define SECONDS_IN_DAY 86400
#define SECONDS_IN_WEEK 604800 #define SECONDS_IN_WEEK 604800
#define SECONDS_IN_MONTH 2592000
#define SECONDS_IN_YEAR 31536000
/** /**
* Stock by Brad. * Stock by Brad.
@ -43,7 +39,7 @@ enum
* *
* @param id The player whose language the length should be translated to * @param id The player whose language the length should be translated to
* @param unitCnt The number of time units you want translated into verbose text * @param unitCnt The number of time units you want translated into verbose text
* @param type The type of unit (i.e. seconds, minutes, hours, days, weeks, months, years) that you are passing in * @param type The type of unit (i.e. seconds, minutes, hours, days, weeks) that you are passing in
* @param output The variable you want the verbose text to be placed in * @param output The variable you want the verbose text to be placed in
* @param outputLen The length of the output variable * @param outputLen The length of the output variable
* *
@ -54,7 +50,7 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
if (unitCnt > 0) if (unitCnt > 0)
{ {
// determine the number of each time unit there are // determine the number of each time unit there are
new yearCnt = 0, monthCnt = 0, weekCnt = 0, dayCnt = 0, hourCnt = 0, minuteCnt = 0, secondCnt = 0; new weekCnt = 0, dayCnt = 0, hourCnt = 0, minuteCnt = 0, secondCnt = 0;
switch (type) switch (type)
{ {
@ -63,16 +59,8 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
case timeunit_hours: secondCnt = unitCnt * SECONDS_IN_HOUR; case timeunit_hours: secondCnt = unitCnt * SECONDS_IN_HOUR;
case timeunit_days: secondCnt = unitCnt * SECONDS_IN_DAY; case timeunit_days: secondCnt = unitCnt * SECONDS_IN_DAY;
case timeunit_weeks: secondCnt = unitCnt * SECONDS_IN_WEEK; case timeunit_weeks: secondCnt = unitCnt * SECONDS_IN_WEEK;
case timeunit_months: secondCnt = unitCnt * SECONDS_IN_MONTH;
case timeunit_years: secondCnt = unitCnt * SECONDS_IN_YEAR;
} }
yearCnt = secondCnt / SECONDS_IN_YEAR;
secondCnt -= (yearCnt * SECONDS_IN_YEAR);
monthCnt = secondCnt / SECONDS_IN_MONTH;
secondCnt -= (monthCnt * SECONDS_IN_MONTH);
weekCnt = secondCnt / SECONDS_IN_WEEK; weekCnt = secondCnt / SECONDS_IN_WEEK;
secondCnt -= (weekCnt * SECONDS_IN_WEEK); secondCnt -= (weekCnt * SECONDS_IN_WEEK);
@ -87,12 +75,8 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
// translate the unit counts into verbose text // translate the unit counts into verbose text
new maxElementIdx = -1; new maxElementIdx = -1;
new timeElement[7][33]; new timeElement[5][33];
if (yearCnt > 0)
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", yearCnt, id, (yearCnt == 1) ? "TIME_ELEMENT_YEAR" : "TIME_ELEMENT_YEARS");
if (monthCnt > 0)
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", monthCnt, id, (monthCnt == 1) ? "TIME_ELEMENT_MONTH" : "TIME_ELEMENT_MONTHS");
if (weekCnt > 0) if (weekCnt > 0)
format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", weekCnt, id, (weekCnt == 1) ? "TIME_ELEMENT_WEEK" : "TIME_ELEMENT_WEEKS"); format(timeElement[++maxElementIdx], charsmax(timeElement[]), "%i %L", weekCnt, id, (weekCnt == 1) ? "TIME_ELEMENT_WEEK" : "TIME_ELEMENT_WEEKS");
if (dayCnt > 0) if (dayCnt > 0)
@ -111,8 +95,6 @@ stock get_time_length(id, unitCnt, type, output[], outputLen)
case 2: formatex(output, outputLen, "%s, %s %L %s", timeElement[0], timeElement[1], id, "TIME_ELEMENT_AND", timeElement[2]); case 2: formatex(output, outputLen, "%s, %s %L %s", timeElement[0], timeElement[1], id, "TIME_ELEMENT_AND", timeElement[2]);
case 3: formatex(output, outputLen, "%s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], id, "TIME_ELEMENT_AND", timeElement[3]); case 3: formatex(output, outputLen, "%s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], id, "TIME_ELEMENT_AND", timeElement[3]);
case 4: formatex(output, outputLen, "%s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], id, "TIME_ELEMENT_AND", timeElement[4]); case 4: formatex(output, outputLen, "%s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], id, "TIME_ELEMENT_AND", timeElement[4]);
case 5: formatex(output, outputLen, "%s, %s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], timeElement[4], id, "TIME_ELEMENT_AND", timeElement[5]);
case 6: formatex(output, outputLen, "%s, %s, %s, %s, %s, %s %L %s", timeElement[0], timeElement[1], timeElement[2], timeElement[3], timeElement[4], timeElement[5], id, "TIME_ELEMENT_AND", timeElement[6]);
} }
} }
} }

View File

@ -181,17 +181,17 @@ PRIV_SET = Priviligiite sa nastroeni
NO_ENTRY = Nqmate dostup do servera... NO_ENTRY = Nqmate dostup do servera...
[ro] [ro]
LOADED_ADMIN = 1 admin a fost încărcat din fișier LOADED_ADMIN = 1 administrator a fost incarcat din fisier
LOADED_ADMINS = %d admini au fost încărcați din fișier LOADED_ADMINS = %d administratori au fost incarcati din fisier
SQL_CANT_CON = Eroare SQL: conectare nereușită: '%s' SQL_CANT_CON = Eroare SQL: conectare esuata: '%s'
SQL_CANT_LOAD_ADMINS = Eroare SQL: eșuare încărcare admini: '%s' SQL_CANT_LOAD_ADMINS = Eroare SQL: esuare incarcare administratori: '%s'
NO_ADMINS = Nu a fost găsit niciun admin. NO_ADMINS = Nu a fost gasit nici un administrator.
SQL_LOADED_ADMIN = 1 admin a fost încărcat din baza de date SQL_LOADED_ADMIN = 1 administrator a fost incarcat din baza de date
SQL_LOADED_ADMINS = %d admini au fost încărcați din baza de date SQL_LOADED_ADMINS = %d administratori au fost incarcati din baza de date
INV_PAS = Parolă invalidă! INV_PAS = Parola invalida!
PAS_ACC = Parolă acceptată PAS_ACC = Parola acceptata
PRIV_SET = Drepturi de acces acordate PRIV_SET = Privilegii acordate
NO_ENTRY = Nu aveți permisiunea de a intra pe server... NO_ENTRY = Acest nume este rezervat pe server.
[hu] [hu]
LOADED_ADMIN = 1 admin betöltve a fájlból. LOADED_ADMIN = 1 admin betöltve a fájlból.
@ -314,7 +314,7 @@ NO_ENTRY = Ju nuk mund të futeni në server...
LOADED_ADMIN = 1 admin foi carregado do ficheiro LOADED_ADMIN = 1 admin foi carregado do ficheiro
LOADED_ADMINS = %d admins foram carregados do ficheiro LOADED_ADMINS = %d admins foram carregados do ficheiro
SQL_CANT_CON = Erro de SQL: não foi possível conectar-se: '%s' SQL_CANT_CON = Erro de SQL: não foi possível conectar-se: '%s'
SQL_CANT_LOAD_ADMINS = Erro de SQL: não foi possível carregar admins: '%s' SQL_CANT_LOAD_ADMINS = Erro de SQl: não foi possível carregar admins: '%s'
NO_ADMINS = Não foram encontrados admins. NO_ADMINS = Não foram encontrados admins.
SQL_LOADED_ADMIN = 1 admin foi carregado da base de dados SQL_LOADED_ADMIN = 1 admin foi carregado da base de dados
SQL_LOADED_ADMINS = %d admins foram carregados da base de dados SQL_LOADED_ADMINS = %d admins foram carregados da base de dados

View File

@ -182,16 +182,16 @@ PRINT_ALL = (VSICHKI) %s : %s
[ro] [ro]
COL_WHITE = alb COL_WHITE = alb
COL_RED = roșu COL_RED = rosu
COL_GREEN = verde COL_GREEN = verde
COL_BLUE = albastru COL_BLUE = albastru
COL_YELLOW = galben COL_YELLOW = galben
COL_MAGENTA = violet COL_MAGENTA = purpuriu
COL_CYAN = bleu COL_CYAN = cian
COL_ORANGE = portocaliu COL_ORANGE = oranj
COL_OCEAN = bleumarin COL_OCEAN = ocean
COL_MAROON = maro COL_MAROON = maro
PRINT_ALL = (TOȚI) %s : %s PRINT_ALL = (TOTI) %s : %s
[hu] [hu]
COL_WHITE = fehér COL_WHITE = fehér

View File

@ -17,7 +17,7 @@ ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Client "%s" slayed CLIENT_SLAYED = Client "%s" slayed
ADMIN_SLAP_1 = ADMIN: slap %s with %d damage ADMIN_SLAP_1 = ADMIN: slap %s with %d damage
ADMIN_SLAP_2 = ADMIN %s: slap %s with %d damage ADMIN_SLAP_2 = ADMIN %s: slap %s with %d damage
CLIENT_SLAPED = Client "%s" slapped with %d damage CLIENT_SLAPED = Client "%s" slaped with %d damage
MAP_NOT_FOUND = Map with that name not found or map is invalid MAP_NOT_FOUND = Map with that name not found or map is invalid
ADMIN_MAP_1 = ADMIN: changelevel %s ADMIN_MAP_1 = ADMIN: changelevel %s
ADMIN_MAP_2 = ADMIN %s: changelevel %s ADMIN_MAP_2 = ADMIN %s: changelevel %s
@ -126,8 +126,8 @@ PAUSED = pausiert
UNPAUSED = fortgesetzt UNPAUSED = fortgesetzt
UNABLE_PAUSE = Server konnte das Spiel nicht anhalten. Reale Spieler werden auf dem Server benötigt. UNABLE_PAUSE = Server konnte das Spiel nicht anhalten. Reale Spieler werden auf dem Server benötigt.
SERVER_PROC = Server führt %s aus SERVER_PROC = Server führt %s aus
PAUSING = pausiert den Server... PAUSING = Pausiere
UNPAUSING = setzt den Server fort... UNPAUSING = setze fort
PAUSE = Pause PAUSE = Pause
UNPAUSE = Fortsetzen UNPAUSE = Fortsetzen
COM_SENT_SERVER = Befehlszeile "%s" zur Serverconsole gesendet COM_SENT_SERVER = Befehlszeile "%s" zur Serverconsole gesendet
@ -138,11 +138,11 @@ ACCESS = Berechtigung
TOTAL_NUM = Total %d TOTAL_NUM = Total %d
SKIP_MATCH = Überspringe "%s" (stimmt überein mit "%s") SKIP_MATCH = Überspringe "%s" (stimmt überein mit "%s")
SKIP_IMM = Überspringe "%s" (Immunität) 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 YOU_DROPPED = Du wurdest gekickt, weil der Admin nur spezielle Spielergruppen auf dem Server zulässt
KICKED_CLIENTS = %d Spieler gekickt KICKED_CLIENTS = Kickt %d clients
ADMIN_LEAVE_1 = ADMIN: Spieler ohne Berechtigung %s %s %s %s verlassen den Server! ADMIN_LEAVE_1 = ADMIN: erlaubt %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: Spieler ohne Berechtigung %s %s %s %s verlassen den Server! ADMIN_LEAVE_2 = ADMIN %s: erlaubt %s %s %s %s
ADMIN_NICK_1 = ADMIN: ändert Name von %s zu "%s" ADMIN_NICK_1 = ADMIN: ändert Name von %s zu "%s"
ADMIN_NICK_2 = ADMIN %s: ä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 CHANGED_NICK = Name von %s zu "%s" geändert
@ -1055,79 +1055,77 @@ MAP_EXTENDED = Kartata "%s" beshe uduljena s %d minuti
[ro] [ro]
ADMIN_KICK_1 = ADMIN: kick %s ADMIN_KICK_1 = ADMIN: kick %s
ADMIN_KICK_2 = ADMIN %s: kick %s ADMIN_KICK_2 = ADMIN %s: kick %s
IP_REMOVED = IP-ul "%s" a fost eliminat din lista de banuri IP_REMOVED = Ip-ul "%s" a fost inlaturat din lista de ban-uri
AUTHID_REMOVED = AuthID-ul "%s" a fost eliminat din lista de banuri AUTHID_REMOVED = ID-ul "%s" a fost inlaturat din lista de ban-uri
ADMIN_UNBAN_1 = ADMIN: unban %s ADMIN_UNBAN_1 = ADMIN: unban %s
ADMIN_UNBAN_2 = ADMIN %s: unban %s ADMIN_UNBAN_2 = ADMIN %s: unban %s
ADMIN_ADDBAN_1 = ADMIN: ban %s ADMIN_ADDBAN_1 = ADMIN: ban %s
ADMIN_ADDBAN_2 = ADMIN %s: ban %s ADMIN_ADDBAN_2 = ADMIN %s: ban %s
BANNED = banat BANNED = banat
REASON = motiv REASON = motiv
FOR_MIN = pentru %s minute FOR_MIN = pentru %s min
PERM = permanent 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_1 = ADMIN: slay %s
ADMIN_SLAY_2 = ADMIN %s: slay %s ADMIN_SLAY_2 = ADMIN %s: slay %s
CLIENT_SLAYED = Jucătorul "%s" a primit slay CLIENT_SLAYED = Jucatorul "%s" a primit slay
ADMIN_SLAP_1 = ADMIN: slap %s cu %d damage ADMIN_SLAP_1 = ADMIN: slap %s cu %d dmg
ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d damage ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d dmg
CLIENT_SLAPED = Jucătorul "%s" a primit slap cu %d damage CLIENT_SLAPED = Jucatorul "%s" a primit slap %d dmg
MAP_NOT_FOUND = Harta cu acel nume nu a fost găsită, sau este invalidă MAP_NOT_FOUND = Harta cu acel nume nu a fost gasita sau este invalida
ADMIN_MAP_1 = ADMIN: schimbă harta pe %s ADMIN_MAP_1 = ADMIN: schimbare harta pe %s
ADMIN_MAP_2 = ADMIN %s: schimbă harta pe %s ADMIN_MAP_2 = ADMIN %s: schimbare harta pe %s
NO_MORE_CVARS = Nu se mai pot adăuga comenzi pentru accesul rcon! NO_MORE_CVARS = Nu se pot adauga mai multe comenzi pentru accesul rcon!
UNKNOWN_CVAR = Comanda nerecunoscută: %s UNKNOWN_CVAR = Comanda nerecunoscuta: %s
UNKNOWN_XVAR = Comanda nerecunoscută: %s UNKNOWN_XVAR = Comanda nerecunoscuta: %s
CVAR_NO_ACC = Nu ai acces la această comandă CVAR_NO_ACC = Nu ai acces la aceasta comanda
XVAR_NO_ACC = Nu ai acces la această comandă XVAR_NO_ACC = Nu ai acces la aceasta comanda
CVAR_IS = Comanda "%s" este "%s" CVAR_IS = Comanda "%s" este "%s"
XVAR_IS = Comanda "%s" este "%s" XVAR_IS = Comanda "%s" este "%s"
PROTECTED = PROTEJAT PROTECTED = PROTEJAT
SET_CVAR_TO = %s setează comanda %s pe "%s" SET_CVAR_TO = %s seteaza comanda %s pe "%s"
SET_XVAR_TO = %s setează comanda %s pe "%s" SET_XVAR_TO = %s seteaza comanda %s pe "%s"
CVAR_CHANGED = Comanda "%s" a fost schimbată pe "%s" CVAR_CHANGED = Comanda "%s" a fost schimbata pe "%s"
XVAR_CHANGED = Comanda "%s" a fost schimbată pe "%s" XVAR_CHANGED = Comanda "%s" a fost schimbata pe "%s"
LOADED_PLUGINS = Pluginuri încărcate LOADED_PLUGINS = Plugin-uri incarcate
NAME = nume NAME = nume
VERSION = versiune VERSION = versiune
AUTHOR = autor AUTHOR = autor
FILE = fișier FILE = fisier
STATUS = status STATUS = statut
PLUGINS_RUN = %d pluginuri, %d funcționale PLUGINS_RUN = %d plugin-uri, %d functionale
LOADED_MODULES = Module încărcate LOADED_MODULES = Moduluri incarcate
NUM_MODULES = %d module NUM_MODULES = %d moduluri
FILE_NOT_FOUND = Fișierul "%s" nu a fost găsit FILE_NOT_FOUND = Fisier-ul "%s" nu a fost gasit
ADMIN_CONF_1 = ADMIN: executare config %s ADMIN_CONF_1 = ADMIN: executare config %s
ADMIN_CONF_2 = ADMIN %s: 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 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 SERVER_PROC = Continuare server %s
PAUSING = jocul se întrerupe PAUSING = se interupe jocul
UNPAUSING = se revine la joc UNPAUSING = se revine la joc
PAUSE = întrerupe jocul PAUSE = intrerupe jocul
UNPAUSE = revino la joc UNPAUSE = revino la joc
COM_SENT_SERVER = Comanda "%s" a fost trimisă în consola serverului COM_SENT_SERVER = Comanda "%s" a fost trimisa in consola server-ului
CLIENTS_ON_SERVER = Jucători pe server CLIENTS_ON_SERVER = Jucatori pe server
IMMU = imu IMMU = imu
RESERV = rez RESERV = rez
ACCESS = acces ACCESS = acces
TOTAL_NUM = Total %d TOTAL_NUM = Total %d
SKIP_MATCH = Se sare peste "%s" (criteriu "%s") SKIP_MATCH = Se trece peste "%s" (criteriu "%s")
SKIP_IMM = Se sare peste "%s" (imunitate) SKIP_IMM = Se trece peste "%s" (imunitate)
KICK_PL = Kick "%s" KICK_PL = Kick "%s"
YOU_DROPPED = Ai fost dat afară deoarece adminul a lăsat doar un grup specific de jucători pe server. YOU_DROPPED = Ai fost dat afara deoarece admin-ul permite doar un grup specificat de jucatori pe server
KICKED_CLIENTS = %d jucători au primit kick KICKED_CLIENTS = %d jucatori au primit kick
ADMIN_LEAVE_1 = ADMIN: ieșire %s %s %s %s ADMIN_LEAVE_1 = ADMIN: iesire %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: ieșire %s %s %s %s ADMIN_LEAVE_2 = ADMIN %s: iesire %s %s %s %s
ADMIN_NICK_1 = ADMIN: schimbă numele lui %s cu "%s" ADMIN_NICK_1 = ADMIN: schimbare nume %s cu "%s"
ADMIN_NICK_2 = ADMIN %s: schimbă numele lui %s cu "%s" ADMIN_NICK_2 = ADMIN %s: schimbare nume %s cu "%s"
CHANGED_NICK = Numele lui %s a fost schimbat cu "%s" CHANGED_NICK = Numele %s a fost schimbat cu "%s"
ADMIN_EXTEND_1 = ADMIN: extinde harta pentru %d minute ADMIN_EXTEND_1 = ADMIN: extinde harta pentru %d minute
ADMIN_EXTEND_2 = ADMIN %s: 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 MAP_EXTENDED = Harta "%s" a fost extinsa 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.
[hu] [hu]
ADMIN_KICK_1 = ADMIN: %s kirúgva ADMIN_KICK_1 = ADMIN: %s kirúgva
@ -1821,9 +1819,9 @@ CLIENT_BANNED = O cliente "%s" foi banido
ADMIN_SLAY_1 = ADMIN: matou %s ADMIN_SLAY_1 = ADMIN: matou %s
ADMIN_SLAY_2 = ADMIN %s: matou %s ADMIN_SLAY_2 = ADMIN %s: matou %s
CLIENT_SLAYED = O cliente "%s" foi morto CLIENT_SLAYED = O cliente "%s" foi morto
ADMIN_SLAP_1 = ADMIN: esbofeteou %s com %d de dano ADMIN_SLAP_1 = ADMIN: esbofeteou %s com %d dano
ADMIN_SLAP_2 = ADMIN %s: esbofeteou %s com %d de dano ADMIN_SLAP_2 = ADMIN %s: esbofeteou %s com %d dano
CLIENT_SLAPED = O cliente "%s" foi esbofeteado com %d de dano CLIENT_SLAPED = O cliente "%s" foi esbofeteado com %d dano
MAP_NOT_FOUND = O mapa com esse nome não foi encontrado ou é inválido 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_1 = ADMIN: mudou de mapa para %s
ADMIN_MAP_2 = ADMIN %s: mudou de mapa para %s ADMIN_MAP_2 = ADMIN %s: mudou de mapa para %s
@ -1833,7 +1831,7 @@ UNKNOWN_XVAR = Xvar desconhecida: %s
CVAR_NO_ACC = Tu não tens acesso a essa cvar CVAR_NO_ACC = Tu não tens acesso a essa cvar
XVAR_NO_ACC = Tu não tens acesso a essa xvar XVAR_NO_ACC = Tu não tens acesso a essa xvar
CVAR_IS = A cvar "%s" é "%s" CVAR_IS = A cvar "%s" é "%s"
XVAR_IS = A xvar "%s" é "%s" XVAR_IS = A Xvar "%s" é "%s"
PROTECTED = PROTEGIDO PROTECTED = PROTEGIDO
SET_CVAR_TO = %s mudou a cvar %s para "%s" SET_CVAR_TO = %s mudou a cvar %s para "%s"
SET_XVAR_TO = %s mudou a xvar %s para "%s" SET_XVAR_TO = %s mudou a xvar %s para "%s"
@ -1869,7 +1867,7 @@ SKIP_MATCH = A saltar "%s" (a coincidir com "%s")
SKIP_IMM = A saltar "%s" (imunidade) SKIP_IMM = A saltar "%s" (imunidade)
KICK_PL = A expulsar "%s" KICK_PL = A expulsar "%s"
YOU_DROPPED = Tu foste desconectado pois o admin só deixa entrar um grupo de clientes específico YOU_DROPPED = Tu foste desconectado pois o admin só deixa entrar um grupo de clientes específico
KICKED_CLIENTS = Foram expulsos %d clientes KICKED_CLIENTS = %d clientes expulsados
ADMIN_LEAVE_1 = ADMIN: deixou %s %s %s %s ADMIN_LEAVE_1 = ADMIN: deixou %s %s %s %s
ADMIN_LEAVE_2 = ADMIN %s: 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_1 = ADMIN: mudou o nome de %s para "%s"
@ -1878,5 +1876,5 @@ CHANGED_NICK = Mudou o nome de %s para "%s"
ADMIN_EXTEND_1 = ADMIN: extendeu o mapa por %d minutos ADMIN_EXTEND_1 = ADMIN: extendeu o mapa por %d minutos
ADMIN_EXTEND_2 = ADMIN %s: 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 MAP_EXTENDED = O mapa "%s" foi extendido por %d minutos
ADMIN_MUST_TEMPBAN = Tu só podes banir jogadores temporariamente, até %d minutos ADMIN_MUST_TEMPBAN = Tu só podes banir jogadores temporariamente temporariamente, até %d minutos
ADMIN_MUST_TEMPUNBAN = Tu só podes desbanir jogadores que baniste recentemente ADMIN_MUST_TEMPUNBAN = Tu só podes desbanir jogadores que tu baniste recentemente

View File

@ -134,12 +134,12 @@ TIME_INFO_2 = Nqma limit na vremeto. Sledvashta karta: %s
[ro] [ro]
HELP_COMS = Ajutor AMX Mod X: Comenzi HELP_COMS = Ajutor AMX Mod X: Comenzi
HELP_ENTRIES = Se afișează %d - %d din %d HELP_ENTRIES = Intrari %d - %d din %d
HELP_USE_MORE = Scrie '%s %d' pentru mai multe comenzi HELP_USE_MORE = Scrie '%s %d' pentru mai mult
HELP_USE_BEGIN = Scrie '%s 1' pentru a începe HELP_USE_BEGIN = Scrie '%s 1' pentru inceput
TYPE_HELP = Scrie '%s' '%s' în consolă pentru a afișa lista de comenzi disponibile TYPE_HELP = Scrie '%s' '%s' in consola pentru afisare lista comenzi
TIME_INFO_1 = Timp mas: %d:%02d. Următoarea hartă: %s TIME_INFO_1 = Timp Ramas: %d:%02d. Urmatoarea Harta: %s
TIME_INFO_2 = Fără limită de timp. Următoarea hartă: %s TIME_INFO_2 = Nici o Limita a Timpului. Urmatoarea Harta: %s
[hu] [hu]
HELP_COMS = AMX Mod X segítség: Parancsok HELP_COMS = AMX Mod X segítség: Parancsok

View File

@ -45,9 +45,7 @@ DROPPED_RES = Pudotettiin palvelimelta slotvarauksen takia (adminslot)
DROPPED_RES = Premahnat poradi rezervaciq na slot DROPPED_RES = Premahnat poradi rezervaciq na slot
[ro] [ro]
DROPPED_RES = Ai primit kick deoarece locul pe server este rezervat. DROPPED_RES = Ai primit kick pentru rezervare slot
CVAR_RESERVATION = Numărul de locuri rezervate
CVAR_HIDESLOTS = Dacă setezi asta pe 1, poți ascunde locuri de pe server.^nDacă locurile publice și ascunse ale serverului sunt pline, trebuie să te conectezi manual în consolă cu comanda "connect".
[hu] [hu]
DROPPED_RES = Helyfenntartás miatt kidobva. DROPPED_RES = Helyfenntartás miatt kidobva.
@ -78,5 +76,3 @@ DROPPED_RES = U largua për shkak të rezervimit të vendit që është plugini
[pt] [pt]
DROPPED_RES = Foste desconectado por causa da reservação de slots DROPPED_RES = Foste desconectado por causa da reservação de slots
CVAR_RESERVATION = Quantidade de slots para reservar
CVAR_HIDESLOTS = Se tu definires isto para 1, tu podes esconder slots no teu servidor.^nSe os slots públicos e escondidos do servidor estiverem cheios, tu deverás manualmente conectar com o comando de consola "connect".

View File

@ -45,10 +45,10 @@ VOTING_RES_2 = %s (erhielt "%d") (benötigt "%d")
VOTING_SUCCESS = Abstimmung erfolgreich VOTING_SUCCESS = Abstimmung erfolgreich
VOTING_RES_3 = %s (erhielt "%d") (benötigt "%d"). Ergebnis: %s VOTING_RES_3 = %s (erhielt "%d") (benötigt "%d"). Ergebnis: %s
THE_RESULT = Das Ergebnis THE_RESULT = Das Ergebnis
WANT_CONTINUE = Fortfahren? WANT_CONTINUE = Forfahren?
VOTED_FOR = %s stimmte dafür VOTED_FOR = %s stimmten dafür
VOTED_AGAINST = %s stimmte dagegen VOTED_AGAINST = %s stimmten dagegen
VOTED_FOR_OPT = %s stimmte für Option #%d VOTED_FOR_OPT = %s stimmten für Option #%d
ALREADY_VOTING = Abstimmung läuft bereits... ALREADY_VOTING = Abstimmung läuft bereits...
VOTING_NOT_ALLOW = Abstimmung ist momentan nicht möglich! VOTING_NOT_ALLOW = Abstimmung ist momentan nicht möglich!
GIVEN_NOT_VALID = %s ist unzulässig GIVEN_NOT_VALID = %s ist unzulässig
@ -475,38 +475,38 @@ ADMIN_VOTE_FOR_1 = %s: glasuva %s za %s
ADMIN_VOTE_FOR_2 = %s %s: glasuva %s za %s ADMIN_VOTE_FOR_2 = %s %s: glasuva %s za %s
[ro] [ro]
ADMIN_CANC_VOTE_1 = %s: anulează votarea ADMIN_CANC_VOTE_1 = %s: anuleaza vot
ADMIN_CANC_VOTE_2 = %s %s: anulează votarea ADMIN_CANC_VOTE_2 = %s %s: anuleaza vot
VOTING_CANC = Votarea a fost anulată VOTING_CANC = Votarea a fost anulata
NO_VOTE_CANC = Nu există votări ce pot fi anulate, sau nu pot fi anulate cu această comandă. NO_VOTE_CANC = Nu exista votari pentru anulare sau nu poate fi anulata cu aceea comanda
RES_REF = Rezultat refuzat RES_REF = Rezultat refuzat
RES_ACCEPTED = Rezultat acceptat RES_ACCEPTED = Rezultat acceptat
VOTING_FAILED = Votare eșuată VOTING_FAILED = Votare esuata
VOTING_RES_1 = %s (da "%d") (nu "%d") (necesare "%d") VOTING_RES_1 = %s (da "%d" voturi, nu "%dvoturi", necesare "%d")
VOTING_RES_2 = %s (a obținut "%d" voturi) (necesare "%d") VOTING_RES_2 = %s (a obtinut "%d voturi", necesare "%d")
VOTING_SUCCESS = Votarea a avut loc cu succes VOTING_SUCCESS = Votarea a avut loc cu succes
VOTING_RES_3 = %s (a obținut "%d" voturi) (necesare "%d"). Rezultatul este: %s VOTING_RES_3 = %s (a obtinut "%d" voturi, necesare "%d"). Rezultatul este: %s
THE_RESULT = Rezultatul THE_RESULT = Rezultatul
WANT_CONTINUE = Doriți să continuați? WANT_CONTINUE = Accepti schimbarea hartii?
VOTED_FOR = %s a votat pentru VOTED_FOR = %s a votat pentru
VOTED_AGAINST = %s a votat împotrivă VOTED_AGAINST = %s a votat impotriva
VOTED_FOR_OPT = %s a votat pentru #%d VOTED_FOR_OPT = %s a votat pentru #%d
ALREADY_VOTING = Se află deja o votare în curs de desfășurare... ALREADY_VOTING = Deja se afla o votare in curs de desfasurare...
VOTING_NOT_ALLOW = Votările nu sunt permise momentan VOTING_NOT_ALLOW = Votarile nu sunt permise acum
GIVEN_NOT_VALID = %s este invalidă GIVEN_NOT_VALID = %s nu este valida
MAP_IS = harta este MAP_IS = harta este
MAPS_ARE = hărțile sunt MAPS_ARE = hartile sunt
CHOOSE_MAP = Alege harta CHOOSE_MAP = Alege harta
ADMIN_VOTE_MAP_1 = %s: votare pentru harta/hărțile ADMIN_VOTE_MAP_1 = %s: votare harta
ADMIN_VOTE_MAP_2 = %s %s: votare pentru harta/hărțile ADMIN_VOTE_MAP_2 = %s %s: votare harta
VOTING_STARTED = Votarea a început... VOTING_STARTED = Votarea a inceput...
VOTING_FORBIDDEN = Votarea pentru această opțiune este interzisă VOTING_FORBIDDEN = Votarea pentru aceasta optiune nu este permisa
ADMIN_VOTE_CUS_1 = %s: votare personalizată ADMIN_VOTE_CUS_1 = %s: votare customizata
ADMIN_VOTE_CUS_2 = %s %s: votare personalizată ADMIN_VOTE_CUS_2 = %s %s: votare customizata
VOTE = Votează VOTE = Voteaza
ACTION_PERFORMED = Această comandă nu poate fi executată pe BOT-ul "%s" ACTION_PERFORMED = Aceasta comanda nu poate fi executata pe bot-ul "%s"
ADMIN_VOTE_FOR_1 = %s: a votat %s pentru %s ADMIN_VOTE_FOR_1 = %s: vot %s pentru %s
ADMIN_VOTE_FOR_2 = %s %s: a votat %s pentru %s ADMIN_VOTE_FOR_2 = %s %s: vot %s pentru %s
[hu] [hu]
ADMIN_CANC_VOTE_1 = %s: szavazás visszavonása ADMIN_CANC_VOTE_1 = %s: szavazás visszavonása

View File

@ -41,7 +41,7 @@ STOP_FLOOD = Lopeta floodiminen!
STOP_FLOOD = Ne fluudvai servera! STOP_FLOOD = Ne fluudvai servera!
[ro] [ro]
STOP_FLOOD = Oprește-te din a flooda serverul! STOP_FLOOD = Nu mai flooda server-ul!
[hu] [hu]
STOP_FLOOD = Ne floodolj és ne spamelj! STOP_FLOOD = Ne floodolj és ne spamelj!

View File

@ -69,9 +69,9 @@ CONF_MENU = Konfiguracionno menu
SPE_MENU = Menu za govorene SPE_MENU = Menu za govorene
[ro] [ro]
CMD_MENU = Meniu comenzi CMD_MENU = Menu Comenzi
CONF_MENU = Meniu configuri CONF_MENU = Menu Configuratie
SPE_MENU = Meniu Speech SPE_MENU = Menu Speech
[hu] [hu]
CMD_MENU = Parancs Menü CMD_MENU = Parancs Menü

View File

@ -307,24 +307,24 @@ ON = Vklucheno
OFF = Isklucheno OFF = Isklucheno
[ro] [ro]
BACK = Înapoi BACK = Inapoi
EXIT = Ieși EXIT = Iesire
MORE = Mai mult MORE = Mai mult
NONE = Niciunul NONE = Nici unul
ADMIN = ADMIN ADMIN = ADMIN
PLAYER = JUCĂTOR PLAYER = JUCATOR
ERROR = eroare ERROR = eroare
YES = Da YES = Da
NO = Nu NO = Nu
BAN = ban BAN = ban
KICK = kick KICK = kick
NO_ACC_COM = Nu ai acces la această comandă NO_ACC_COM = Nu ai acces la aceasta comanda
USAGE = Valoare USAGE = Valoare
MORE_CL_MATCHT = Există mai mulți jucători care îndeplinesc condițiile MORE_CL_MATCHT = Sunt mai multi jucatori ce va indeplinesc cautarea
CL_NOT_FOUND = Jucătorul cu acel nume sau userid nu a fost găsit CL_NOT_FOUND = Jucatorul cu acel nume sau id nu exista
CLIENT_IMM = Jucătorul "%s" are imunitate CLIENT_IMM = Jucatorul "%s" are imunitate
CANT_PERF_DEAD = Această comandă nu poate fi executată pe jucătorul mort "%s" CANT_PERF_DEAD = Aceasta comanda nu poate fi executata pe jucatorul decedat "%s"
CANT_PERF_BOT = Această comandă nu poate fi executată pe BOT-ul "%s" CANT_PERF_BOT = Aceasta comanda nu poate fi executata pe bot-ul "%s"
ON = Activat ON = Activat
OFF = Dezactivat OFF = Dezactivat
@ -538,9 +538,9 @@ YES = Sim
NO = Não NO = Não
BAN = banir BAN = banir
KICK = expulsar KICK = expulsar
NO_ACC_COM = Tu não tens acesso a esse comando NO_ACC_COM = Tu nao tens acesso a esse comando
USAGE = Uso USAGE = Uso
MORE_CL_MATCHT = mais do que um cliente a corresponder o teu argumento MORE_CL_MATCHT = Tem mais do que um cliente que corresponde ao teu argumento
CL_NOT_FOUND = O cliente com esse nome ou userid não foi encontrado CL_NOT_FOUND = O cliente com esse nome ou userid não foi encontrado
CLIENT_IMM = O cliente "%s" tem imunidade CLIENT_IMM = O cliente "%s" tem imunidade
CANT_PERF_DEAD = Essa ação não pode ser executada no cliente morto "%s" CANT_PERF_DEAD = Essa ação não pode ser executada no cliente morto "%s"

View File

@ -41,7 +41,7 @@ INF_REACH = Information Message -raja ylitetty!
INF_REACH = Dostignat e limitut za ingormacionni suobshteniq! INF_REACH = Dostignat e limitut za ingormacionni suobshteniq!
[ro] [ro]
INF_REACH = A fost atinsă limita maximă a mesajelor informative! INF_REACH = Limita mesajelor informative a fost atinsa!
[hu] [hu]
INF_REACH = Információs üzenetek limitje elérve! INF_REACH = Információs üzenetek limitje elérve!

View File

@ -56,7 +56,7 @@ LANG_NAME_NATIVE = Bulgarski
[ro] [ro]
LANG_NAME = Romanian LANG_NAME = Romanian
LANG_NAME_NATIVE = Română LANG_NAME_NATIVE = Romana
[hu] [hu]
LANG_NAME = Hungarian LANG_NAME = Hungarian

View File

@ -125,13 +125,13 @@ EXTED_MAP = Udalji kartata %s
TIME_CHOOSE = Vreme e da se izbere sledvashtata karta... TIME_CHOOSE = Vreme e da se izbere sledvashtata karta...
[ro] [ro]
CHO_FIN_EXT = Votarea s-a terminat. Harta actuală va fi prelungită cu %.0f minute CHO_FIN_EXT = Votarea s-a incheiat. Harta actuala va fi prelungita %.0f minute
CHO_FIN_NEXT = Votarea s-a terminat. Următoarea hartă va fi %s CHO_FIN_NEXT = Votarea s-a incheiat. Urmatoarea harta va fi %s
CHOSE_EXT = %s a votat pentru prelungirea hărții actuale CHOSE_EXT = %s a votat pentru prelungirea hartii actuale
X_CHOSE_X = %s a votat pentru %s X_CHOSE_X = %s a votat pentru %s
CHOOSE_NEXTM = AMX Alege harta următoare CHOOSE_NEXTM = AMX Alege harta urmatoare
EXTED_MAP = Prelungirea hărții %s EXTED_MAP = Prelungirea hartii actuale %s
TIME_CHOOSE = Este timpul să alegeți harta următoare... TIME_CHOOSE = E timpul sa alegeti harta urmatoare...
[hu] [hu]
CHO_FIN_EXT = A választás véget ért. A mostani pálya még %.0f percig lesz. CHO_FIN_EXT = A választás véget ért. A mostani pálya még %.0f percig lesz.

View File

@ -30,7 +30,7 @@ VOTE_FAILED = Abstimmung gescheitert
THE_WINNER = Der Gewinner THE_WINNER = Der Gewinner
WANT_CONT = Willst du fortfahren? WANT_CONT = Willst du fortfahren?
VOT_CANC = Abstimmung abgebrochen VOT_CANC = Abstimmung abgebrochen
X_VOTED_FOR = %s stimmte für Option #%d X_VOTED_FOR = %s stimmten für Option #%d
VOTEMAP_MENU = Menü > Mapwahl VOTEMAP_MENU = Menü > Mapwahl
START_VOT = Starte Abstimmung START_VOT = Starte Abstimmung
SEL_MAPS = Ausgewählte Maps SEL_MAPS = Ausgewählte Maps
@ -337,26 +337,26 @@ CHANGLE_MENU = Smenqne na karta Menu
[ro] [ro]
RESULT_REF = Rezultat refuzat RESULT_REF = Rezultat refuzat
RESULT_ACC = Rezultat acceptat RESULT_ACC = Rezultat acceptat
VOTE_SUCCESS = Votarea a avut loc cu succes. Harta va fi schimbată pe VOTE_SUCCESS = Votarea a avut loc cu succes. Harta va fi schimbata pe
VOTE_FAILED = Votare eșuată VOTE_FAILED = Votare esuata
THE_WINNER = Câștigătoare THE_WINNER = Castigatoare
WANT_CONT = Doriți să continuați? WANT_CONT = Accepti schimbarea hartii?
VOT_CANC = Votarea a fost anulată VOT_CANC = Votarea a fost anulata
X_VOTED_FOR = %s a votat pentru #%d X_VOTED_FOR = %s a votat pentru #%d
VOTEMAP_MENU = Meniu votare hartă VOTEMAP_MENU = Menu Votare Harta
START_VOT = Începe votarea START_VOT = Incepe Votarea
SEL_MAPS = Hărți alese SEL_MAPS = Harti Alese
ALREADY_VOT = Se desfășoară o votare deja... ALREADY_VOT = Se desfasoara o votare deja...
NO_MAPS_MENU = Nu există hărți în meniu NO_MAPS_MENU = Nu exista harti in menu
VOT_NOW_ALLOW = Nu sunt permise votările momentan VOT_NOW_ALLOW = Nu sunt permise votarile acum
WHICH_MAP = Ce hartă dorești? WHICH_MAP = Ce harta doresti?
CHANGE_MAP_TO = Schimbare hartă pe CHANGE_MAP_TO = Schimbare harta pe
CANC_VOTE = Anulează vot CANC_VOTE = Anuleaza Vot
ADMIN_V_MAP_1 = ADMIN: votare hartă ADMIN_V_MAP_1 = ADMIN: votare harta
ADMIN_V_MAP_2 = ADMIN %s: votare hartă ADMIN_V_MAP_2 = ADMIN %s: votare harta
ADMIN_CHANGEL_1 = ADMIN: schimbare hartă pe %s ADMIN_CHANGEL_1 = ADMIN: schimbare harta pe %s
ADMIN_CHANGEL_2 = ADMIN %s: schimbare hartă pe %s ADMIN_CHANGEL_2 = ADMIN %s: schimbare harta pe %s
CHANGLE_MENU = Meniu schimbare hartă CHANGLE_MENU = Menu Schimbare Harta
[hu] [hu]
RESULT_REF = A szavazás eredménytelen. RESULT_REF = A szavazás eredménytelen.

View File

@ -17,10 +17,10 @@ RES_WEAP = Restrict Weapons
TELE_PLAYER = Teleport Player TELE_PLAYER = Teleport Player
[de] [de]
KICK_PLAYER = Spieler kicken KICK_PLAYER = Kick Spieler
BAN_PLAYER = Spieler bannen BAN_PLAYER = Ban Spieler
SLAP_SLAY = Spieler schlagen/killen SLAP_SLAY = Schlage/Kille Spieler
TEAM_PLAYER = Team der Spieler ändern ^n TEAM_PLAYER = Team Spieler ^n
CHANGEL = Mapwechsel CHANGEL = Mapwechsel
VOTE_MAPS = Map Abstimmung ^n VOTE_MAPS = Map Abstimmung ^n
SPECH_STUFF = Soundausgabe SPECH_STUFF = Soundausgabe
@ -32,7 +32,7 @@ LANG_SET = Spracheinstellung
STATS_SET = Statistik-Einstellungen ^n STATS_SET = Statistik-Einstellungen ^n
PAUSE_PLUG = Plugins pausieren PAUSE_PLUG = Plugins pausieren
RES_WEAP = Waffen verbieten RES_WEAP = Waffen verbieten
TELE_PLAYER = Spieler teleportieren TELE_PLAYER = Teleport Spieler
[sr] [sr]
KICK_PLAYER = Kick Igraca KICK_PLAYER = Kick Igraca
@ -251,22 +251,22 @@ RES_WEAP = Zabrani orujiq
TELE_PLAYER = Teleportirai igrachi TELE_PLAYER = Teleportirai igrachi
[ro] [ro]
KICK_PLAYER = Kick jucător KICK_PLAYER = Kick Jucator
BAN_PLAYER = Ban jucător BAN_PLAYER = Ban Jucator
SLAP_SLAY = Slap/Slay jucător SLAP_SLAY = Plesneste/Ucide Jucator
TEAM_PLAYER = Schimbare echipă jucător ^n TEAM_PLAYER = Jucator Echipa ^n
CHANGEL = Schimbă harta CHANGEL = Schimba harta
VOTE_MAPS = Vot pentru hărțile ^n VOTE_MAPS = Voteaza pentru hartile ^n
SPECH_STUFF = Meniu Speech SPECH_STUFF = Speech
CLIENT_COM = Comenzi jucător CLIENT_COM = Comenzi Jucatori
SERVER_COM = Comenzi server SERVER_COM = Comenzi Server
CVARS_SET = Setări cvar CVARS_SET = Setari Cvar
CONFIG = Configurații CONFIG = Configuratie
LANG_SET = Setări limbă LANG_SET = Setari Limbaj
STATS_SET = Setări statistici ^n STATS_SET = Setari Statistici ^n
PAUSE_PLUG = Întrerupe pluginuri PAUSE_PLUG = Opreste Plugin-uri
RES_WEAP = Restricționează arme RES_WEAP = Restrictioneaza Arme
TELE_PLAYER = Teleportează jucător TELE_PLAYER = Teleporteaza Jucator
[hu] [hu]
KICK_PLAYER = Játékos kirúgása KICK_PLAYER = Játékos kirúgása
@ -438,7 +438,7 @@ TEAM_PLAYER = Equipa do Jogador ^n
CHANGEL = Mudar de Mapa CHANGEL = Mudar de Mapa
VOTE_MAPS = Votação de Mapas ^n VOTE_MAPS = Votação de Mapas ^n
SPECH_STUFF = Menu de Voz SPECH_STUFF = Menu de Voz
CLIENT_COM = Comandos do Cliente CLIENT_COM = Comandos do Client
SERVER_COM = Comandos do Servidor SERVER_COM = Comandos do Servidor
CVARS_SET = Definições de Cvars CVARS_SET = Definições de Cvars
CONFIG = Configuração CONFIG = Configuração

View File

@ -56,7 +56,7 @@ KNIFE_MSG_4 = %s messerte und verstümmelte %s
LAST_MSG_1 = Nun hängt alles von dir ab! LAST_MSG_1 = Nun hängt alles von dir ab!
LAST_MSG_2 = Hoffentlich hast du ein Medipack dabei. LAST_MSG_2 = Hoffentlich hast du ein Medipack dabei.
LAST_MSG_3 = Deine Teamkameraden sind alle tot. Viel Glück! LAST_MSG_3 = Deine Teamkameraden sind alle tot. Viel Glück!
LAST_MSG_4 = Nun bist du allein. Hab Spaß dabei! LAST_MSG_4 = Nun bist du allein. Hab Spass dabei!
HE_MSG_1 = %s sendet ein kleines Geschenk an %s HE_MSG_1 = %s sendet ein kleines Geschenk an %s
HE_MSG_2 = %s wirft ein Knallbonbon zu %s HE_MSG_2 = %s wirft ein Knallbonbon zu %s
HE_MSG_3 = %s macht einen Präzisionswurf zu %s HE_MSG_3 = %s macht einen Präzisionswurf zu %s
@ -70,7 +70,7 @@ HS_MSG_2 = $kn entfernte den Kopf von $vn^nmit einem Präzisionsschuss.
HS_MSG_3 = $kn verwandelte den Kopf ^nvon $vn in Pudding. HS_MSG_3 = $kn verwandelte den Kopf ^nvon $vn in Pudding.
HS_MSG_4 = $kn besiegte $vn durch einen Kopfschuss. HS_MSG_4 = $kn besiegte $vn durch einen Kopfschuss.
HS_MSG_5 = $vn's Kopf wurde in der Gegend verteilt HS_MSG_5 = $vn's Kopf wurde in der Gegend verteilt
HS_MSG_6 = $kn hat einen super ^nTreffer gelandet,das weiß ^n$vn nun auch. HS_MSG_6 = $kn hat einen super ^nTreffer gelandet,das weiss ^n$vn nun auch.
HS_MSG_7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn... HS_MSG_7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn...
DOUBLE_KILL = Wow! %s machte einen Doppelkill!!! DOUBLE_KILL = Wow! %s machte einen Doppelkill!!!
PREPARE_FIGHT = Vorbereiten zum Kampf!^nRunde %d PREPARE_FIGHT = Vorbereiten zum Kampf!^nRunde %d
@ -670,51 +670,49 @@ HS = hs
[ro] [ro]
WITH = cu WITH = cu
KNIFE_MSG_1 = %s l-a tăiat cubulețe pe %s KNIFE_MSG_1 = %s l-a taiat si feliat pe %s
KNIFE_MSG_2 = %s a scos cuțitul și l-a măcelărit pe %s KNIFE_MSG_2 = %s a scos cutitul afara si l-a macelarit pe %s
KNIFE_MSG_3 = %s s-a furișat pe la spate și l-a cuțitat pe %s KNIFE_MSG_3 = %s se furiseaza atent pe la spate si il taie pe %s
KNIFE_MSG_4 = %s l-a înjunghiat pe %s KNIFE_MSG_4 = %s l-a injunghiat pe %s
LAST_MSG_1 = Acum toți depind de tine! LAST_MSG_1 = Acum toti se bazeaza pe tine!
LAST_MSG_2 = Sper că mai ai putere! LAST_MSG_2 = Sper ca mai ai viata.
LAST_MSG_3 = Toți coechipierii tăi au murit. Baftă! LAST_MSG_3 = Toti colegii tai de echipa au murit. Bafta!
LAST_MSG_4 = Acum ești pe barba ta. Distrează-te! LAST_MSG_4 = Acum esti singur. Distreaza-te!
HE_MSG_1 = %s i-a trimis un cadou surpriză lui %s HE_MSG_1 = %s ii trimite un mic cadou lui %s
HE_MSG_2 = %s a aruncat o mică petardă la picioarele lui %s HE_MSG_2 = %s ii arunca un dar micut lui %s
HE_MSG_3 = %s i-a livrat o grenadă lui %s HE_MSG_3 = %s a facut o aruncare precisa catre %s
HE_MSG_4 = %s l-a aruncat în aer pe %s HE_MSG_4 = %s a avut o explozie mare pentru %s
SHE_MSG_1 = %s s-a sinucis cu o grenadă SHE_MSG_1 = %s s-a detonat cu o grenada
SHE_MSG_2 = %s a înghițit o grenadă SHE_MSG_2 = %s incearca efectul unei grenade
SHE_MSG_3 = %s și-a aruncat o grenadă sub picioare SHE_MSG_3 = %s inghite grenazi cu totul!
SHE_MSG_4 = %s a explodat! SHE_MSG_4 = %s explodeaza!
HS_MSG_1 = $kn i-a trimis lui $vn un^nglonț fix în cap! HS_MSG_1 = $kn l-a ucis pe $vn cu o impuscatura bine^nplasata pe cap!
HS_MSG_2 = $kn i-a înlăturat lui $vn^ncapul de pe umeri cu $wn HS_MSG_2 = $kn a inlaturat capul lui $vn^ncu $wn
HS_MSG_3 = $kn a făcut capul lui $vn^nbudincă cu $wn HS_MSG_3 = $kn a transformat capul lui $vn ^nin budinca cu $wn
HS_MSG_4 = $vn a fost umilit de $kn HS_MSG_4 = $vn a fost invins de $kn
HS_MSG_5 = Capul lui $vn s-a transformat în gelatină roșie HS_MSG_5 = Capul lui $vn a fost^ntransformat in gelatina rosie
HS_MSG_6 = $kn are o acuratețe deosebită cu $wn,^niar $vn știe bine HS_MSG_6 = $kn are o tinta superba cu $wn,^niar $vn stie bine.
HS_MSG_7 = Capul lui $vn a stat în ținta lui $kn^npentru prea mult timp... HS_MSG_7 = Capul lui $vn a stat prea mult in tinta lui $kn...
DOUBLE_KILL = Wow! %s made a double kill!!! DOUBLE_KILL = Wow! %s a facut o dubla ucidere!!!
PREPARE_FIGHT = Pregătește-te de LUPTĂ!^nRunda %d PREPARE_FIGHT = Pregateste-te de LUPTA!^nRunda %d
KILLED_ROW = Ai ucis %d consecutiv până acum KILLED_ROW = Ai ucis %d consecutiv pana acum
DIED_ROUNDS = Ai grijă! Ai murit %d runde la rând... DIED_ROUNDS = Ai grija! Ai murit %d runde consecutiv...
KILLED_CHICKEN = Cineva a omorât o găină!!! KILLED_CHICKEN = Cineva a omorat o gaina!!!
BLEW_RADIO = Cineva a aruncat radio-ul în aer!!! BLEW_RADIO = Cineva a aruncat radioul in aer!!!
REACHED_TARGET = Omg! %s a ajuns la destinație! REACHED_TARGET = Omg! %s a ajuns la destinatie!
PLANT_BOMB = %s plantează bomba... PLANT_BOMB = %s planteaza bomba!
DEFUSING_BOMB = %s dezamorsează bomba... DEFUSING_BOMB = %s dezamorseaza bomba...
SET_UP_BOMB = %s ne-a pus bomba!!! SET_UP_BOMB = %s ne-a pus bomba!!!
DEFUSED_BOMB = %s a dezamorsat bomba! DEFUSED_BOMB = %s a dezamorsat bomba!
FAILED_DEFU = %s nu a reușit să dezamorseze bomba... FAILED_DEFU = %s nu a reusit sa dezamorseze bomba...
PICKED_BOMB = %s a ridicat bomba... PICKED_BOMB = %s a luat bomba...
DROPPED_BOMB = %s a scăpat bomba!!! DROPPED_BOMB = %s a scapat bomba!!!
CT = Contra-Terorist CT = CT
CTS = Contra-Teroriști CTS = CTI
TERRORIST = Terorist TERRORIST = TERORIST
TERRORISTS = Teroriști TERRORISTS = TERORISTI
REMAINING = %d %s mași în viață... REMAINING = %d %s Ramasi in viata...
REMAINING_ENEMY = Un inamic rămas... KILLS = Ucideri
REMAINING_ENEMIES = %d inamici rămași...
KILLS = kills
HS = hs HS = hs
[hu] [hu]
@ -1174,7 +1172,7 @@ PREPARE_FIGHT = Preparem-se para LUTAR!^nRonda %d
KILLED_ROW = Tu mataste %d vezes de seguida KILLED_ROW = Tu mataste %d vezes de seguida
DIED_ROUNDS = Cuidado! Tu morreste %d vezes de seguida... DIED_ROUNDS = Cuidado! Tu morreste %d vezes de seguida...
KILLED_CHICKEN = Alguém matou a galinha!!! KILLED_CHICKEN = Alguém matou a galinha!!!
BLEW_RADIO = Alguém explodiu o rádio!!! BLEW_RADIO = Alguém explodiu rádio!!!
REACHED_TARGET = Oh meu deus! %s alcançou o objetivo! REACHED_TARGET = Oh meu deus! %s alcançou o objetivo!
PLANT_BOMB = %s está a plantar a bomba! PLANT_BOMB = %s está a plantar a bomba!
DEFUSING_BOMB = %s está a desarmar a bomba... DEFUSING_BOMB = %s está a desarmar a bomba...
@ -1187,7 +1185,7 @@ CT = CT
CTS = CTS CTS = CTS
TERRORIST = TERRORISTA TERRORIST = TERRORISTA
TERRORISTS = TERRORISTAS TERRORISTS = TERRORISTAS
REMAINING = %d %s Restante(s)... REMAINING = %d %s Restante...
REMAINING_ENEMY = Resta um inimigo... REMAINING_ENEMY = Resta um inimigo...
REMAINING_ENEMIES = Restam %d inimigos... REMAINING_ENEMIES = Restam %d inimigos...
KILLS = mortes KILLS = mortes

View File

@ -153,15 +153,15 @@ TYPE_LANGMENU = Napishi 'amx_langmenu' v konzolata za da vidish menuto kudeto mo
LANG_MENU_DISABLED = Ezikovoto menu e izkliucheno. LANG_MENU_DISABLED = Ezikovoto menu e izkliucheno.
[ro] [ro]
LANG_NOT_EXISTS = Această limbă nu există LANG_NOT_EXISTS = Acest limbaj nu exista
PERSO_LANG = Limbă personală PERSO_LANG = Limbaj Personal
LANG_MENU = Meniu limbi LANG_MENU = Menu Limbaj
SERVER_LANG = Limbă server SERVER_LANG = Limbaj Server
SAVE_LANG = Salvează limba SAVE_LANG = Salveaza Limbaj
SET_LANG_SERVER = Limba serverului a fost setată pe "%s" SET_LANG_SERVER = Limbajul server-ului a fost setat pe "%s"
SET_LANG_USER = Limba ta a fost setată pe "%s" SET_LANG_USER = Limbajul tau a fost setat pe "%s"
TYPE_LANGMENU = Scrie 'amx_langmenu' în consolă pentru a-ți selecta limba preferată TYPE_LANGMENU = Scrie 'amx_langmenu' in consola pentru afisarea unui menu cu limbaje
LANG_MENU_DISABLED = Meniu limbă dezactivat. LANG_MENU_DISABLED = Menu limbaj dezactivat.
[hu] [hu]
LANG_NOT_EXISTS = A nyelv nem létezik LANG_NOT_EXISTS = A nyelv nem létezik

View File

@ -5,7 +5,7 @@ FRIEND_FIRE = Friendly fire
[de] [de]
NEXT_MAP = Nächste Map: NEXT_MAP = Nächste Map:
PLAYED_MAP = Aktuelle Map PLAYED_MAP = Gespielte Maps
FRIEND_FIRE = Friendly fire FRIEND_FIRE = Friendly fire
[sr] [sr]
@ -69,9 +69,9 @@ PLAYED_MAP = Igrana karta
FRIEND_FIRE = Priqtelski ogun FRIEND_FIRE = Priqtelski ogun
[ro] [ro]
NEXT_MAP = Harta următoare: NEXT_MAP = Urmatoarea Harta:
PLAYED_MAP = Harta actuală PLAYED_MAP = Harta Actuala
FRIEND_FIRE = Atac coechipieri FRIEND_FIRE = Friendly-Fire
[hu] [hu]
NEXT_MAP = A következő pálya: NEXT_MAP = A következő pálya:

View File

@ -549,44 +549,44 @@ CANT_UNPAUSE_PLUGIN = Pluginut "%s" e sprqn i ne moje da bude slojen/premahnat n
CLEAR_PAUSED = Izchisti faila s plugini na pauza CLEAR_PAUSED = Izchisti faila s plugini na pauza
[ro] [ro]
PAUSE_COULDNT_FIND = Nu a fost găsit niciun plugin după căutarea "%s" PAUSE_COULDNT_FIND = Nu a fost gasit un plugin ce rezulta cautarea "%s"
PAUSE_PLUGIN_MATCH = Pluginul îndeplinește căutarea "%s" PAUSE_PLUGIN_MATCH = Plugin-ul "%s" rezulta cautarea
PAUSE_CONF_CLEARED = Fișierul de configurație a fost golit. Reîncarcă harta dacă este nevoie PAUSE_CONF_CLEARED = Fisier-ul de configuratie a fost golit. Reincarca harta daca este nevoie
PAUSE_ALR_CLEARED = Configurația a fost golită deja! PAUSE_ALR_CLEARED = Configuratia a fost golita deja!
PAUSE_CONF_SAVED = Configurația a fost salvată cu succes PAUSE_CONF_SAVED = Configuratia a fost salvata cu succes
PAUSE_SAVE_FAILED = Salvarea configurației a eșuat! PAUSE_SAVE_FAILED = Salvarea configuratiei a esuat!!!
LOCKED = BLOCAT LOCKED = BLOCAT
PAUSE_UNPAUSE = Întrerupe/Reactivează pluginuri PAUSE_UNPAUSE = Intrerupe/Reincarca Plugin-uri
CLEAR_STOPPED = Golește fișierul cu pluginurile întrerupte CLEAR_STOPPED = Goleste fisier-ul cu cele intrerupte
SAVE_STOPPED = Salvează fișierul cu pluginurile întrerupte SAVE_STOPPED = Salveaza fisier-ul cu cele intrerupte
PAUSED_PLUGIN = Pluginul %d a fost întrerupt PAUSED_PLUGIN = Plugin-ul %d a fost intrerupt
PAUSED_PLUGINS = Au fost întrerupte %d pluginuri PAUSED_PLUGINS = Au fost intrerupte %d plugin-uri
UNPAUSED_PLUGIN = Pluginul %d a fost reactivat UNPAUSED_PLUGIN = Plugin-ul %d a fost reincarcat
UNPAUSED_PLUGINS = Au fost reactivate %d pluginuri UNPAUSED_PLUGINS = Au fost reincarcate %d plugin-uri
CANT_MARK_MORE = Nu poți reactiva mai multe pluginuri CANT_MARK_MORE = Nu se pot marca mai multe plugin-uri ca intrerupte!
PAUSE_LOADED = Întrerupe plugin-uri: Pluginuri încărcate PAUSE_LOADED = Intrerupe plugin-uri: Plugin-uri incarcate
STOPPED = întrerupte STOPPED = intrerupte
VERSION = versiune VERSION = versiune
FILE = fișier FILE = fisier
PAUSE_ENTRIES = Se afișează %d - %d din %d (%d funcționează) PAUSE_ENTRIES = Intrari %d - %d din %d (%d functioneaza)
PAUSE_USE_MORE = Scrie 'amx_pausecfg list %d' pentru mai mult PAUSE_USE_MORE = Scrie 'amx_pausecfg list %d' pentru mai mult
PAUSE_USE_BEGIN = Scrie 'amx_pausecfg list 1' pentru a începe PAUSE_USE_BEGIN = Scrie 'amx_pausecfg list 1' pentru inceput
PAUSE_USAGE = Utilizare: amx_pausecfg <comandă> [nume] PAUSE_USAGE = Folosire: amx_pausecfg <comanda> [nume]
PAUSE_COMMANDS = Comenzi PAUSE_COMMANDS = Comenzi
COM_PAUSE_OFF = ^toff - întrerupe toate pluginurile care nu se află în listă COM_PAUSE_OFF = ^toff - intrerupe toate plugin-urile ce nu sunt in lista
COM_PAUSE_ON = ^ton - reactivează toate pluginurile COM_PAUSE_ON = ^ton - reincarca toate plugin-urile ce nu sunt in lista
COM_PAUSE_STOP = ^tstop <fisier> - oprește un plugin COM_PAUSE_STOP = ^tstop <fisier> - opreste un plugin
COM_PAUSE_PAUSE = ^tpause <fisier> - întrerupe un plugin COM_PAUSE_PAUSE = ^tpause <fisier> - intrerupe un plugin
COM_PAUSE_ENABLE = ^tenable <file> - activează un plugin COM_PAUSE_ENABLE = ^tenable <file> - incarca un plugin
COM_PAUSE_SAVE = ^tsave - salvează o listă a pluginurilor întrerupte COM_PAUSE_SAVE = ^tsave - salveaza o lista a plugin-urilor oprite
COM_PAUSE_CLEAR = ^tclear - golește o listă a pluginurilor întrerupte COM_PAUSE_CLEAR = ^tclear - goleste o lista a plugin-urilor oprite
COM_PAUSE_LIST = ^tlist [id] - listează pluginurile COM_PAUSE_LIST = ^tlist [id] - listeaza plugin-urile
COM_PAUSE_ADD = ^tadd <title> - marchează un plugin ca și reactivat COM_PAUSE_ADD = ^tadd <title> - marcheaza un plugin ca si reincarcat
SAVE_PAUSED = Salvare oprită SAVE_PAUSED = Salvarea oprita
COM_PAUSE_SAVE_PAUSED = ^tsave - salvează o listă cu pluginurile oprite COM_PAUSE_SAVE_PAUSED = ^tsave - salveaza o lista cu pluginurile oprite
COM_PAUSE_CLEAR_PAUSED = ^tclear - șterge listă cu pluginurile oprite COM_PAUSE_CLEAR_PAUSED = ^tclear - sterge lista cu pluginurile oprite
CANT_UNPAUSE_PLUGIN = Pluginul "%s" este oprit și nu poate fi întrerupt sau reactivat. CANT_UNPAUSE_PLUGIN = Pluginul "%s" este oprit si nu poate fi pus pe pauza sau scos din pauza.
CLEAR_PAUSED = Golește fișierul cu pluginurile oprite CLEAR_PAUSED = Goleste fisier-ul cu cele oprite
[hu] [hu]
PAUSE_COULDNT_FIND = Nem található a plugin "%s" PAUSE_COULDNT_FIND = Nem található a plugin "%s"
@ -936,18 +936,18 @@ CLEAR_PAUSED = Pastro skedarin me pushime
[pt] [pt]
PAUSE_COULDNT_FIND = Não foi possível encontrar um plugin coincidindo "%s" PAUSE_COULDNT_FIND = Não foi possível encontrar um plugin coincidindo "%s"
PAUSE_PLUGIN_MATCH = Plugin coincidindo "%s" PAUSE_PLUGIN_MATCH = Plugin coincidindo "%s"
PAUSE_CONF_CLEARED = Ficheiro de configuração limpo. Recarrega o mapa se for necessário PAUSE_CONF_CLEARED = Ficheiro de Configuração limpo. Recarrega o map se for necessário
PAUSE_ALR_CLEARED = A configuração já foi limpa! PAUSE_ALR_CLEARED = A Configuração já foi limpa!
PAUSE_CONF_SAVED = Configuração guardada com sucesso PAUSE_CONF_SAVED = Configuração guardada com sucesso
PAUSE_SAVE_FAILED = Falha ao guardar a configuração!!! PAUSE_SAVE_FAILED = Falha ao guardar a Configuração!!!
LOCKED = BLOQUEADO LOCKED = BLOQUEADO
PAUSE_UNPAUSE = Pausar/Despausar Plugins PAUSE_UNPAUSE = Pausar/Despausar Plugins
CLEAR_STOPPED = Limpar ficheiro de plugins parados CLEAR_STOPPED = Limpar ficheiro de plugins parados
SAVE_STOPPED = Guardar plugins parados SAVE_STOPPED = Guardar plugins parados
PAUSED_PLUGIN = %d plugin foi pausado PAUSED_PLUGIN = %d plugin pausado
PAUSED_PLUGINS = %d plugins foram pausados PAUSED_PLUGINS = %d plugins pausados
UNPAUSED_PLUGIN = %d plugin foi despausado UNPAUSED_PLUGIN = %d plugin despausado
UNPAUSED_PLUGINS = %d plugins foram despausados UNPAUSED_PLUGINS = %d plugins despausados
CANT_MARK_MORE = Não é possível marcar mais plugins como não-pausáveis! CANT_MARK_MORE = Não é possível marcar mais plugins como não-pausáveis!
PAUSE_LOADED = Pausar Plugins: Plugins carregados PAUSE_LOADED = Pausar Plugins: Plugins carregados
STOPPED = parado STOPPED = parado
@ -958,17 +958,17 @@ PAUSE_USE_MORE = Usa 'amx_pausecfg list %d' para mostrar mais
PAUSE_USE_BEGIN = Usa 'amx_pausecfg list 1' para voltar ao início PAUSE_USE_BEGIN = Usa 'amx_pausecfg list 1' para voltar ao início
PAUSE_USAGE = Uso: amx_pausecfg <comando> [nome] PAUSE_USAGE = Uso: amx_pausecfg <comando> [nome]
PAUSE_COMMANDS = Comandos PAUSE_COMMANDS = Comandos
COM_PAUSE_OFF = ^toff - pausa todos os plugins que não estão na lista COM_PAUSE_OFF = ^toff - pausar todos os plugins que não estão na lista
COM_PAUSE_ON = ^ton - despausa todos os plugins COM_PAUSE_ON = ^ton - despausar todos os plugins
COM_PAUSE_STOP = ^tstop <ficheiro> - para um plugin COM_PAUSE_STOP = ^tstop <ficheiro> - parar um plugin
COM_PAUSE_PAUSE = ^tpause <ficheiro> - pausa um plugin COM_PAUSE_PAUSE = ^tpause <ficheiro> - pausar um plugin
COM_PAUSE_ENABLE = ^tenable <ficheiro> - ativa um plugin COM_PAUSE_ENABLE = ^tenable <ficheiro> - ativar um plugin
COM_PAUSE_SAVE = ^tsave - guarda a lista de plugins parados COM_PAUSE_SAVE = ^tsave - guardar a lista de plugins parados
COM_PAUSE_CLEAR = ^tclear - limpa a lista de plugins parados COM_PAUSE_CLEAR = ^tclear - limpar a lista de plugins parados
COM_PAUSE_LIST = ^tlist [id] - lista plugins COM_PAUSE_LIST = ^tlist [id] - listar plugins
COM_PAUSE_ADD = ^tadd <título> - marca um plugin como não-pausável COM_PAUSE_ADD = ^tadd <título> - marcar um plugin como não-pausável
SAVE_PAUSED = Guardar plugins pausados SAVE_PAUSED = Guardar plugins pausados
COM_PAUSE_SAVE_PAUSED = ^tsave - guarda a lista de plugins pausados COM_PAUSE_SAVE_PAUSED = ^tsave - guarda a lista de plugins pausados
COM_PAUSE_CLEAR_PAUSED = ^tclear - limpa a lista de plugins pausados COM_PAUSE_CLEAR_PAUSED = ^tclear - limpa a lista de plugins pausados
CANT_UNPAUSE_PLUGIN = O plugin "%s" está parado e não pode ser nem pausado nem despausado. CANT_UNPAUSE_PLUGIN = O Plugin "%s" está parado e não pode ser pausado nem despausado.
CLEAR_PAUSED = Limpar ficheiro de plugins pausados CLEAR_PAUSED = Limpar ficheiro de plugins pausados

View File

@ -267,21 +267,21 @@ CANT_PERF_PLAYER = Tazi comanda ne moje da se izpolzva vurhu igracha "%s"
[ro] [ro]
ADMIN_BAN_1 = ADMIN: ban %s ADMIN_BAN_1 = ADMIN: ban %s
ADMIN_BAN_2 = ADMIN %s: ban %s ADMIN_BAN_2 = ADMIN %s: ban %s
BAN_MENU = Meniu ban BAN_MENU = Menu Ban
BAN_FOR_MIN = Ban %d minute BAN_FOR_MIN = Ban %d minute
BAN_PERM = Ban permanent BAN_PERM = Ban permanent
SLAP_SLAY_MENU = Slap/Slay SLAP_SLAY_MENU = Slap/Slay
SLAP_WITH_DMG = Slap cu %d damage SLAP_WITH_DMG = Slap cu %d dmg
SLAY = Slay SLAY = Slay
KICK_MENU = Meniu kick KICK_MENU = Menu Kick
ADMIN_TRANSF_1 = ADMIN: transferă pe %s la %s ADMIN_TRANSF_1 = ADMIN: transfera %s la %s
ADMIN_TRANSF_2 = ADMIN %s: transferă pe %s la %s ADMIN_TRANSF_2 = ADMIN %s: transfera %s la %s
TEAM_MENU = Meniu schimbare echipe TEAM_MENU = Menu Echipe
TRANSF_TO = Transferă la %s TRANSF_TO = Transfera la %s
TRANSF_SILENT = transfer silențios TRANSF_SILENT = tăcut transfer
CL_CMD_MENU = Meniu comenzi jucător CL_CMD_MENU = Menu Comenzi Jucator
NO_CMDS = Nicio comandă disponibilă NO_CMDS = Nici o comanda valabila
CANT_PERF_PLAYER = Această comandă nu poate fi executată pe jucătorul "%s" CANT_PERF_PLAYER = Aceasta comanda nu poate fi executata pe jucatorul "%s"
[hu] [hu]
ADMIN_BAN_1 = ADMIN: %s bannolva ADMIN_BAN_1 = ADMIN: %s bannolva

View File

@ -87,8 +87,8 @@ ADMIN_MENU_SAVEDCFG = Menu: %N saved items restrictions in "%s"
[de] [de]
EQ_WE_RES = Ausrüstung und Waffen wurden verboten EQ_WE_RES = Ausrüstung und Waffen wurden verboten
EQ_WE_UNRES = Ausrüstung und Waffen wurden freigegeben EQ_WE_UNRES = Ausrüstung und Waffen wurden freigegeben
HAVE_BEEN = wurden HAVE_BEEN = sind gewesen
HAS_BEEN = wurde HAS_BEEN = ist gewesen
RESTRICTED = verboten RESTRICTED = verboten
UNRESTRICTED = wieder erlaubt UNRESTRICTED = wieder erlaubt
NO_EQ_WE = Konnte diese Ausrüstung oder Waffe nicht finden NO_EQ_WE = Konnte diese Ausrüstung oder Waffe nicht finden
@ -105,9 +105,9 @@ REST_COULDNT_LOAD = Konfiguration konnte nicht geladen werden (Datei "%s")
COM_REST_USAGE = Benutze: amx_restrict <Befehl> [Wert] COM_REST_USAGE = Benutze: amx_restrict <Befehl> [Wert]
COM_REST_COMMANDS = Befehle: COM_REST_COMMANDS = Befehle:
COM_REST_ON = " on - Setze Verbot auf die gesamte Ausrüstung" COM_REST_ON = " on - Setze Verbot auf die gesamte Ausrüstung"
COM_REST_OFF = " off - Verbot für die gesamte Ausrüstung aufheben" COM_REST_OFF = " off - Verbot für Ausrüstung aufheben"
COM_REST_ONV = " on <value> [...] - Setze spezielles Verbot" COM_REST_ONV = " on <value> [...] - Setze spezielles Verbot"
COM_REST_OFFV = " off <value> [...] - Spezielles Verbot aufheben" COM_REST_OFFV = " off <value> [...] - Spezielles Verbot aufgehoben"
COM_REST_LIST = " list <value> - Zeigt die Liste der verfügbaren Waffen und Ausrüstungen" COM_REST_LIST = " list <value> - Zeigt die Liste der verfügbaren Waffen und Ausrüstungen"
COM_REST_SAVE = " save - Verbote speichern" COM_REST_SAVE = " save - Verbote speichern"
COM_REST_LOAD = " load [file] - Lädt Verbote [aus einer Datei]" COM_REST_LOAD = " load [file] - Lädt Verbote [aus einer Datei]"
@ -155,20 +155,14 @@ MENU_ITEM_M249 = FN M249 Para
MENU_ITEM_VEST = Kevlarweste MENU_ITEM_VEST = Kevlarweste
MENU_ITEM_VESTHELM = Kevlarweste & Helm MENU_ITEM_VESTHELM = Kevlarweste & Helm
MENU_ITEM_FLASHBANG = Blendgranate MENU_ITEM_FLASHBANG = Blendgranate
MENU_ITEM_HEGRENADE = HE-Granate MENU_ITEM_HEGRENADE = HE Granate
MENU_ITEM_SMOKEGRENADE = Rauchgranate MENU_ITEM_SMOKEGRENADE = Rauch Granate
MENU_ITEM_DEFUSER = Entschärfungskit MENU_ITEM_DEFUSER = Entschärfungs Kit
MENU_ITEM_NVGS = Nachtsichtgerät MENU_ITEM_NVGS = Nachtsichtgerät
MENU_ITEM_SHIELD = Tactical Shield MENU_ITEM_SHIELD = Tactical Shield
MENU_ITEM_PRIAMMO = Primärwaffenmunition MENU_ITEM_PRIAMMO = Primär Waffen Munition
MENU_ITEM_SECAMMO = Sekundärwaffenmunition MENU_ITEM_SECAMMO = Sekundär Waffen Munition
CONFIG_FILE_HEADER = ; Erstellt durch %s Plugin. Nicht verändern!^n; Wert Name^n CONFIG_FILE_HEADER = ; Erstellt durch %s Plugin. Nicht verändern!^n; Wert Name^n
ADMIN_UPD_RES_1 = ADMIN: Waffen- und Ausrüstungsverbote wurden aktualisiert.
ADMIN_UPD_RES_2 = ADMIN %s: Waffen- und Ausrüstungsverbote wurden aktualisiert.
ADMIN_CMD_UPDATEDCFG = Cmd: %N Waffen- und Ausrüstungsverbote wurden aktualisiert.
ADMIN_CMD_LOADEDCFG = Cmd: %N Waffen- und Ausrüstungsverbote wurden von "%s" geladen.
ADMIN_CMD_SAVEDCFG = Cmd: %N Waffen- und Ausrüstungsverbote wurden in "%s" gespeichert.
ADMIN_MENU_SAVEDCFG = Menu: %N Waffen- und Ausrüstungsverbote wurden in "%s" gespeichert.
[sr] [sr]
EQ_WE_RES = Oprema i oruzje su zabranjeni EQ_WE_RES = Oprema i oruzje su zabranjeni
@ -708,83 +702,83 @@ ADMIN_CMD_SAVEDCFG = Cmd: %N zapazi zabranite za orujiqta v "%s"
ADMIN_MENU_SAVEDCFG = Menu: %N zapazi zabranite za orujiqta v "%s" ADMIN_MENU_SAVEDCFG = Menu: %N zapazi zabranite za orujiqta v "%s"
[ro] [ro]
EQ_WE_RES = Echipamentul și armele au fost restricționate EQ_WE_RES = Echipamentul si armele au fost restrictionate
EQ_WE_UNRES = Restricția echipamentului și a armelor a fost înlaturată EQ_WE_UNRES = Restrictia echipamentului si armelor a fost inlaturata
HAVE_BEEN = au fost HAVE_BEEN = au fost
HAS_BEEN = a fost HAS_BEEN = a fost
RESTRICTED = adăugate restricții RESTRICTED = adaugate restrictii
UNRESTRICTED = înlăturate restricțiile UNRESTRICTED = inlaturate restrictile
NO_EQ_WE = Nu a putut fi găsit acest echipament sau armă NO_EQ_WE = Nu a putut fi gasit acest echipament sau arma
WEAP_RES = Restricții arme WEAP_RES = Restrictii Arme
VALUE = valoare VALUE = valoare
REST_ENTRIES_OF = Se afișează %i - %i din %i REST_ENTRIES_OF = Intrari %i - %i din %i
REST_USE_MORE = Scrie 'amx_restrict list %i' pentru mai multe REST_USE_MORE = Scrie 'amx_restrict list %i' pentru mai mult
REST_USE_BEGIN = Scrie 'amx_restrict list 1' pentru a începe REST_USE_BEGIN = Scrie 'amx_restrict list 1' pentru inceput
REST_USE_HOW = Scrie 'amx_restrict list <valoare>' (1 -> 8) REST_USE_HOW = Scrie 'amx_restrict list <valoare>' (1 -> 8)
REST_CONF_SAVED = Configurația a fost salvată (fișier "%s") REST_CONF_SAVED = Configuratia a fost salvata (fisier "%s")
REST_COULDNT_SAVE = Nu s-a putut salva configurația (fișier "%s") REST_COULDNT_SAVE = Nu s-a putut salva configuratia (fisier "%s")
REST_CONF_LOADED = Configurația a fost încarcată (fișier "%s") REST_CONF_LOADED = Configuratia a fost incarcata (fisier "%s")
REST_COULDNT_LOAD = Nu s-a putut încărca configurația (fișier "%s") REST_COULDNT_LOAD = Nu s-a putut incarca configuratia (file "%s")
COM_REST_USAGE = Utilizare: amx_restrict <comandă> [valoare] COM_REST_USAGE = Folosire: amx_restrict <comanda> [valoare]
COM_REST_COMMANDS = Comenzi: COM_REST_COMMANDS = Comenzi:
COM_REST_ON = " on - Adaugă restricții pe tot echipamentul" COM_REST_ON = " on - Adauga restrictii pe tot echipamentul"
COM_REST_OFF = " off - Înlătură restricțiile de pe tot echipamentul" COM_REST_OFF = " off - Inlatura restrictile de pe tot echipamentul"
COM_REST_ONV = " on <valoare> [...] - Adaugă restricțiile specificate" COM_REST_ONV = " on <valoare> [...] - Adauga restrictile specificate"
COM_REST_OFFV = " off <valoare> [...] - Înlătură restricțiile specificate" COM_REST_OFFV = " off <valoare> [...] - Inlatura restrictile specificate"
COM_REST_LIST = " list <valoare> - Afișare listă cu echipamente și arme" COM_REST_LIST = " list <valoare> - Afisare lista cu echipamente si arme"
COM_REST_SAVE = " save - Salvează restricții" COM_REST_SAVE = " save - Salveaza restrictii"
COM_REST_LOAD = " load [fisier] - Încarcă restricții [dintr-un fișier]" COM_REST_LOAD = " load [fisier] - Incarca restrictii [dintr-un fisier]"
COM_REST_VALUES = Valorile valabile pentru restricționare sunt:^nammo, equip, pistol, shotgun, sub, rifle, sniper, machine COM_REST_VALUES = Valorile valabile pentru restrictionare sunt:^nammo, equip, pistol, shotgun, sub, rifle, sniper, machine
COM_REST_TYPE = Scrie 'amx_restrict list' pentru mai multe valori specificate COM_REST_TYPE = Scrie 'amx_restrict list' pentru mai multe valori specificate
REST_WEAP = Restricționează arme REST_WEAP = Restrictioneaza arme
SAVE_SET = Salvează setări SAVE_SET = Salveaza setari
CONF_SAV_SUC = Configurația a fost salvată cu succes CONF_SAV_SUC = Configuratia a fost salvata cu succes
CONF_SAV_FAIL = Salvarea configurației a eșuat! CONF_SAV_FAIL = Salvarea configuratiei a esuat!!!
REG_CMD_MENU = - arată meniul de restricționare al armelor REG_CMD_MENU = - arata meniul de restrictionare al armelor
REG_CMD_REST = - ajutor pentru restricționarea armelor REG_CMD_REST = - ajutor pentru restrictionarea armelor
RESTRICTED_ITEM = * Itemul este restricționat * RESTRICTED_ITEM = * Itemul este restrictionat *
MENU_TITLE_HANDGUNS = Pistols MENU_TITLE_HANDGUNS = Handguns
MENU_TITLE_SHOTGUNS = Shotguns MENU_TITLE_SHOTGUNS = Shotguns
MENU_TITLE_SUBMACHINES = Sub-Machine Guns MENU_TITLE_SUBMACHINES = Sub-Machine Guns
MENU_TITLE_RIFLES = Puști de asalt MENU_TITLE_RIFLES = Assault Rifles
MENU_TITLE_SNIPERS = Snipere MENU_TITLE_SNIPERS = Sniper Rifles
MENU_TITLE_MACHINE = Machine Guns MENU_TITLE_MACHINE = Machine Guns
MENU_TITLE_EQUIPMENT = Echipament MENU_TITLE_EQUIPMENT = Echipament
MENU_TITLE_AMMUNITION = Muniție MENU_TITLE_AMMUNITION = Munitie
MENU_ITEM_USP = USP MENU_ITEM_USP = H&K USP .45 Tactical
MENU_ITEM_GLOCK18 = Glock18 MENU_ITEM_GLOCK18 = Glock18 Select Fire
MENU_ITEM_DEAGLE = Desert Eagle MENU_ITEM_DEAGLE = Desert Eagle .50AE
MENU_ITEM_P228 = P228 MENU_ITEM_P228 = SIG P228
MENU_ITEM_ELITE = Dual Beretta MENU_ITEM_ELITE = Dual Beretta 96G Elite
MENU_ITEM_FIVESEVEN = Five-Seven MENU_ITEM_FIVESEVEN = FN Five-Seven
MENU_ITEM_M3 = M3 Super90 MENU_ITEM_M3 = Benelli M3 Super90
MENU_ITEM_XM1014 = XM1014 MENU_ITEM_XM1014 = Benelli XM1014
MENU_ITEM_MP5NAVY = MP5-Navy MENU_ITEM_MP5NAVY = H&K MP5-Navy
MENU_ITEM_TMP = TMP MENU_ITEM_TMP = Steyr Tactical Machine Pistol
MENU_ITEM_P90 = P90 MENU_ITEM_P90 = FN P90
MENU_ITEM_MAC10 = MAC-10 MENU_ITEM_MAC10 = Ingram MAC-10
MENU_ITEM_UMP45 = UMP45 MENU_ITEM_UMP45 = H&K UMP45
MENU_ITEM_AK47 = AK-47 MENU_ITEM_AK47 = AK-47
MENU_ITEM_SG552 = SG-552 MENU_ITEM_SG552 = Sig SG-552 Commando
MENU_ITEM_M4A1 = M4A1 MENU_ITEM_M4A1 = Colt M4A1 Carbine
MENU_ITEM_GALIL = Galil MENU_ITEM_GALIL = Galil
MENU_ITEM_FAMAS = Famas MENU_ITEM_FAMAS = Famas
MENU_ITEM_AUG = AUG MENU_ITEM_AUG = Steyr Aug
MENU_ITEM_SCOUT = Scout MENU_ITEM_SCOUT = Steyr Scout
MENU_ITEM_AWP = AWP MENU_ITEM_AWP = AI Arctic Warfare/Magnum
MENU_ITEM_G3SG1 = G3SG1 MENU_ITEM_G3SG1 = H&K G3/SG-1 Sniper Rifle
MENU_ITEM_SG550 = SG-550 MENU_ITEM_SG550 = Sig SG-550 Sniper
MENU_ITEM_M249 = M249 Para MENU_ITEM_M249 = FN M249 Para
MENU_ITEM_VEST = Vestă Kevlar MENU_ITEM_VEST = Vesta Kevlar
MENU_ITEM_VESTHELM = Vestă Kevlar & Cască MENU_ITEM_VESTHELM = Vesta Kevlar & Casca
MENU_ITEM_FLASHBANG = Grenadă Flashbang MENU_ITEM_FLASHBANG = Flash
MENU_ITEM_HEGRENADE = Grenadă HE MENU_ITEM_HEGRENADE = Grenada Exploziva
MENU_ITEM_SMOKEGRENADE = Grenadă Smoke MENU_ITEM_SMOKEGRENADE = Grenada Smoke
MENU_ITEM_DEFUSER = Kit dezamorsare MENU_ITEM_DEFUSER = Kit Dezamorsare
MENU_ITEM_NVGS = Ochelari de noapte MENU_ITEM_NVGS = Ochelari de Noapte
MENU_ITEM_SHIELD = Scut Tactic MENU_ITEM_SHIELD = Scut Tactic
MENU_ITEM_PRIAMMO = Gloanțe pentru armele principale MENU_ITEM_PRIAMMO = Gloante pentru armele principale
MENU_ITEM_SECAMMO = Gloanțe pentru armele secundare MENU_ITEM_SECAMMO = Gloante pentru armele secundare
CONFIG_FILE_HEADER = ; Generat de pluginul %s. Nu modifica!^n; numele valorii^n CONFIG_FILE_HEADER = ; Generat de pluginul %s. Nu modifica!^n; numele valorii^n
[hu] [hu]
@ -1369,9 +1363,9 @@ REST_ENTRIES_OF = Entradas %i - %i de %i
REST_USE_MORE = Usa 'amx_restrict list %i' para mostrar mais REST_USE_MORE = Usa 'amx_restrict list %i' para mostrar mais
REST_USE_BEGIN = Usa 'amx_restrict list 1' para voltar ao início REST_USE_BEGIN = Usa 'amx_restrict list 1' para voltar ao início
REST_USE_HOW = Usa 'amx_restrict list <valor>' (1 -> 8) REST_USE_HOW = Usa 'amx_restrict list <valor>' (1 -> 8)
REST_CONF_SAVED = A configuração foi guardada (ficheiro "%s") REST_CONF_SAVED = A Configuração foi guardada (ficheiro "%s")
REST_COULDNT_SAVE = Não foi possível guardar a configuração (ficheiro "%s") REST_COULDNT_SAVE = Não foi possível guardar a configuração (ficheiro "%s")
REST_CONF_LOADED = A configuração foi carregada (ficheiro "%s") REST_CONF_LOADED = A Configuração foi carregada (ficheiro "%s")
REST_COULDNT_LOAD = Não foi possível carregar a configuração (ficheiro "%s") REST_COULDNT_LOAD = Não foi possível carregar a configuração (ficheiro "%s")
COM_REST_USAGE = Uso: amx_restrict <comando> [valor] COM_REST_USAGE = Uso: amx_restrict <comando> [valor]
COM_REST_COMMANDS = Comandos: COM_REST_COMMANDS = Comandos:
@ -1387,7 +1381,7 @@ COM_REST_TYPE = Escreve 'amx_restrict list' para mais valores específi
REST_WEAP = Restringir Armas REST_WEAP = Restringir Armas
SAVE_SET = Guardar definições SAVE_SET = Guardar definições
CONF_SAV_SUC = Configuração guardada com sucesso CONF_SAV_SUC = Configuração guardada com sucesso
CONF_SAV_FAIL = Falha ao guardar a configuração!!! CONF_SAV_FAIL = Falha ao guardar a Configuração!!!
REG_CMD_MENU = - mostra o menu de restrição de armas REG_CMD_MENU = - mostra o menu de restrição de armas
REG_CMD_REST = - mostra a ajuda para restrição de armas REG_CMD_REST = - mostra a ajuda para restrição de armas
RESTRICTED_ITEM = * Este item é restrito * RESTRICTED_ITEM = * Este item é restrito *
@ -1433,7 +1427,7 @@ MENU_ITEM_NVGS = Óculos de Visão Noturna
MENU_ITEM_SHIELD = Escudo Tático MENU_ITEM_SHIELD = Escudo Tático
MENU_ITEM_PRIAMMO = Munição da arma primária MENU_ITEM_PRIAMMO = Munição da arma primária
MENU_ITEM_SECAMMO = Munição da arma secundária MENU_ITEM_SECAMMO = Munição da arma secundária
CONFIG_FILE_HEADER = ; Gerado pelo Plugin %s. Não modifique!^n; nome do valor^n CONFIG_FILE_HEADER = ; Gerado por %s Plugin. Não modifique!^n; nome do valor^n
ADMIN_UPD_RES_1 = ADMIN: atualizou a restrição de itens ADMIN_UPD_RES_1 = ADMIN: atualizou a restrição de itens
ADMIN_UPD_RES_2 = ADMIN %s: atualizou a restrição de itens ADMIN_UPD_RES_2 = ADMIN %s: atualizou a restrição de itens
ADMIN_CMD_UPDATEDCFG = Cmd: %N atualizou a restrição de itens ADMIN_CMD_UPDATEDCFG = Cmd: %N atualizou a restrição de itens

View File

@ -69,9 +69,9 @@ MSG_FREQ = Skrolvashtoto suobshtenie se pokazva vseki: %d:%02d minuti
MSG_DISABLED = Skrolvashtoto suobshtenie e izkliucheno MSG_DISABLED = Skrolvashtoto suobshtenie e izkliucheno
[ro] [ro]
MIN_FREQ = Frecvența minimă pentru acest mesaj este de %d secunde MIN_FREQ = Frecventa minima pentru acest mesaj este %d secunde
MSG_FREQ = Frecvența afișării mesajului rulant: %d:%02d minute MSG_FREQ = Frecventa afisarii messajului Rulant: %d:%02d minute
MSG_DISABLED = Mesaj rulant dezactivat MSG_DISABLED = Mesajul Rulant dezactivat
[hu] [hu]
MIN_FREQ = A minimum idő erre az üzenetre %d másodperc MIN_FREQ = A minimum idő erre az üzenetre %d másodperc

View File

@ -133,7 +133,7 @@ HEAD_MSG2 = $kn entfernte den Kopf von $vn^nmit einem Präzisionsschuss.
HEAD_MSG3 = $kn verwandelte den Kopf ^nvon $vn in Pudding. HEAD_MSG3 = $kn verwandelte den Kopf ^nvon $vn in Pudding.
HEAD_MSG4 = $vn killte $kn durch einen Kopfschuss. HEAD_MSG4 = $vn killte $kn durch einen Kopfschuss.
HEAD_MSG5 = $vn's Kopf wurde in der Gegend verteilt HEAD_MSG5 = $vn's Kopf wurde in der Gegend verteilt
HEAD_MSG6 = $kn hat einen super ^nTreffer gelandet,das weiß ^n$vn nun auch. HEAD_MSG6 = $kn hat einen super ^nTreffer gelandet,das weiss ^n$vn nun auch.
HEAD_MSG7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn... HEAD_MSG7 = $vn's Kopf war ein bisschen zu lange im Fadenkreuz von $kn...
DOUBLE_MSG1 = Wow! %s machte einen Doppelkill!!! DOUBLE_MSG1 = Wow! %s machte einen Doppelkill!!!
DOUBLE_MSG2 = Unglaublich! %s macht einen dreifachen Kill !!! DOUBLE_MSG2 = Unglaublich! %s macht einen dreifachen Kill !!!
@ -141,8 +141,8 @@ DOUBLE_MSG3 = Überraschung! %s macht %d Kills auf einmal !!!
MORTAR_MSG1 = %s stellte den Mörser auf und schickte %s in den Himmel. MORTAR_MSG1 = %s stellte den Mörser auf und schickte %s in den Himmel.
MORTAR_MSG2 = %s killte %s über eine lange Distanz. MORTAR_MSG2 = %s killte %s über eine lange Distanz.
KILL_INFO1 = %s killte dich mit der %s^nüber eine Entfernung von %.2f Meter.^n KILL_INFO1 = %s killte dich mit der %s^nüber eine Entfernung von %.2f Meter.^n
KILL_INFO2 = Er machte %d Schaden bei dir mit %d Treffer(n) ^nund hat noch %dHP.^n KILL_INFO2 = Er machte %d Schaden bei dir mit %d Treffern ^nund hat noch %dHP.^n
KILL_INFO3 = Du machtest %d Schaden bei ihm mit %d Treffer(n).^n KILL_INFO3 = Du machtest %d Schaden bei ihm mit %d Treffern.^n
KILL_INFO4 = Du hast ihn getroffen in den/das:^n%s^n KILL_INFO4 = Du hast ihn getroffen in den/das:^n%s^n
STILL_HAS = %s hat noch %dHP STILL_HAS = %s hat noch %dHP
NO_KILLER = Du hast keinen Killer... NO_KILLER = Du hast keinen Killer...
@ -153,14 +153,14 @@ VICTIMS = Opfer:
DMG = Schaden DMG = Schaden
HIT_S = Treffer HIT_S = Treffer
YOU_HIT = Du trafst %s in: YOU_HIT = Du trafst %s in:
SERVER_STATS = Serverstatistik SERVER_STATS = Server Statistik
SHOW_STATS = Statistik anzeigen SHOW_STATS = Statistik anzeigen
SHOW_RANK = Rang anzeigen SHOW_RANK = Rang anzeigen
TA_MSG = %s schießt auf einen Kameraden TA_MSG = %s schiesst auf einen Kameraden
TK_MSG = %s killte einen Kameraden! TK_MSG = %s killte einen Kameraden!
NADE_CAUGHT = Wow! %s fängt eine gegnerische Granate! NADE_CAUGHT = Wow! %s fängt eine gegnerische Granate!
NADE_FAILEDTK = Oops.. %s killte dich bei dem Versuch, die Granate zurückzuwerfen.. NADE_FAILEDTK = Oops.. %s killte dich bei dem Versuch, die Granate zurückzuwerfen..
NADE_FAILED = %s konnte die feindliche Granate nicht zurückwerfen. NADE_FAILED = %s konnte feindliche Granate nicht zurückwerfen.
NADE_MASTER = OMG! %s ist der Meister der Granaten !!! NADE_MASTER = OMG! %s ist der Meister der Granaten !!!
DISABLED_MSG = Server hat diese Option deaktiviert. DISABLED_MSG = Server hat diese Option deaktiviert.
MOST_KILLS = Meisten Kills MOST_KILLS = Meisten Kills
@ -1333,94 +1333,94 @@ WHOLEBODY = tot corpul
HEAD = cap HEAD = cap
CHEST = piept CHEST = piept
STOMACH = stomac STOMACH = stomac
LEFTARM = braț stâng LEFTARM = brat stang
RIGHTARM = braț drept RIGHTARM = brat drept
LEFTLEG = picior stâng LEFTLEG = picior stang
RIGHTLEG = picior drept RIGHTLEG = picior drept
MULTI_MSG = Multi-Kill! %s^ncu %d kills (%d hs) MULTI_MSG = Multi-Ucidere! %s^ncu %d ucideri (%d hs)
ULTRA_MSG = Ultra-Kill!!! %s^ncu %d kills (%d hs) ULTRA_MSG = Ultra-Ucidere!!! %s^ncu %d ucideri (%d hs)
SPREE_MSG = %s ARE CHEF DE MĂCEL!!!^ncu %d kills (%d hs) SPREE_MSG = %s ARE CHEF DE MACEL!!!^nwith %d kills (%d hs)
RAMPAGE_MSG = E FURIOS!!! %s^ncu %d kills (%d hs) RAMPAGE_MSG = %s ESTE FURIOS!!!^ncu %d ucideri (%d hs)
UNSTOPPABLE_MSG = %s E DE NEOPRIT!!!^ncu %d kills (%d hs) UNSTOPPABLE_MSG = %s ESTE DE NEOPRIT!!!^ncu %d ucideri (%d hs)
MONSTER_MSG = %s E UN MONSTRU!^ncu %d kills (%d hs) MONSTER_MSG = %s ESTE UN MONSTRU!^ncu %d ucideri (%d hs)
GODLIKE_MSG = %s ESTE DIVIN!!!!^ncu %d kills (%d hs) GODLIKE_MSG = %s ESTE DIVIN!!!!^ncu %d ucideri (%d hs)
MULTI_SMALL = %s: Multi-Kill! MULTI_SMALL = %s: Multi-Ucidere!
ULTRA_SMALL = %s: Ultra-Kill!!! ULTRA_SMALL = %s: Ultra-Ucidere!!!
SPREE_SMALL = %s ARE CHEF DE MĂCEL!!! SPREE_SMALL = %s ARE CHEF DE MACEL!!!
RAMPAGE_SMALL = %s E FURIOS!!! RAMPAGE_SMALL = %s ESTE FURIOS!!!
UNSTOPPABLE_SMALL = %s E DE NEOPRIT!!! UNSTOPPABLE_SMALL = %s ESTE DE NEOPRIT!!!
MONSTER_SMALL = %s E UN MONSTRU! MONSTER_SMALL = %s ESTE UN MONSTRU!
GODLIKE_SMALL = %s ESTE DIVIN!!! GODLIKE_SMALL = %s ESTE DIVIN!!!
KNIFE_MSG1 = %s l-a tăiat cubulețe pe %s KNIFE_MSG1 = %s l-a taiat si feliat pe %s
KNIFE_MSG2 = %s a scos cuțitul și l-a măcelărit pe %s KNIFE_MSG2 = %s a scos cutitul afara si l-a macelarit pe %s
KNIFE_MSG3 = %s s-a furișat pe la spate și l-a cuțitat pe %s KNIFE_MSG3 = %s se furiseaza atent pe la spate si il taie %s
KNIFE_MSG4 = %s l-a înjunghiat pe %s KNIFE_MSG4 = %s l-a injunghiat pe %s
HE_MSG1 = %s i-a trimis un cadou surpriză lui %s HE_MSG1 = %s ii trimite un mic cadou lui %s
HE_MSG2 = %s a aruncat o mică petardă la picioarele lui %s HE_MSG2 = %s ii arunca un dar micut lui %s
HE_MSG3 = %s i-a livrat o grenadă lui %s HE_MSG3 = %s a facut o aruncare precisa catre %s
HE_MSG4 = %s l-a aruncat în aer pe %s HE_MSG4 = %s a avut o explozie mare pentru %s
SHE_MSG1 = %s s-a sinucis cu o grenadă SHE_MSG1 = %s s-a detonat cu o grenada
SHE_MSG2 = %s a înghițit o grenadă SHE_MSG2 = %s incearca efectul unei grenade
SHE_MSG3 = %s și-a aruncat o grenadă sub picioare SHE_MSG3 = %s inghite grenazi cu totul!
SHE_MSG4 = %s a explodat! SHE_MSG4 = %s explodeaza!
HEAD_MSG1 = $kn i-a trimis lui $vn un^nglonț fix în cap! HEAD_MSG1 = $kn l-a ucis pe $vn cu o impuscatura bine^nplasata pe cap!
HEAD_MSG2 = $kn i-a înlăturat lui $vn^ncapul de pe umeri cu $wn HEAD_MSG2 = $kn a inlaturat capul lui $vn^ncu $wn
HEAD_MSG3 = $kn a făcut capul lui $vn^nbudincă cu $wn HEAD_MSG3 = $kn a transformat capul lui $vn ^nin budinca cu $wn
HEAD_MSG4 = $vn a fost umilit de $kn HEAD_MSG4 = $vn a fost invins de $kn
HEAD_MSG5 = Capul lui $vn s-a transformat în gelatină roșie HEAD_MSG5 = Capul lui $vn a fost^ntransformat in gelatina rosie
HEAD_MSG6 = $kn are o acuratețe deosebită cu $wn,^niar $vn știe bine HEAD_MSG6 = $kn are o tinta superba cu $wn,^niar $vn stie bine.
HEAD_MSG7 = Capul lui $vn a stat în ținta lui $kn^npentru prea mult timp... HEAD_MSG7 = Capul lui $vn a stat prea mult in tinta lui $kn...
DOUBLE_MSG1 = Wow! %s a făcut un double-kill ! DOUBLE_MSG1 = Wow! %s a facut o dubla ucidere!!!
DOUBLE_MSG2 = Incredibil! %s a făcut un tripple-kill ! DOUBLE_MSG2 = Incredibil! %s a facut o tripla ucidere !!!
DOUBLE_MSG3 = Uimitor! %s a omorât %d inamici simultan ! DOUBLE_MSG3 = Uimitor! %s a ucis %d oameni deodata !!!
MORTAR_MSG1 = %s a setat bine tirul și l-a omorât pe %s MORTAR_MSG1 = %s a plasat bine mortarul si l-a aruncat in aer pe %s
MORTAR_MSG2 = %s l-a omorât de la mare distanță pe %s MORTAR_MSG2 = %s l-a ucis pe %s dintr-o raza mare de actiune
KILL_INFO1 = %s te-a omorât cu %s^nde la distanța de %.2f metri.^n KILL_INFO1 = %s te-a ucis cu %s^nde la distanta de %.2f metri.^n
KILL_INFO2 = Ți-a provocat %d damage în %d lovituri^nși el încă are %d HP.^n KILL_INFO2 = El ti-a facut %d dmg din %d lovituri^si inca mai are %dhp.^n
KILL_INFO3 = Tu i-ai provocat %d damage în %d lovituri.^n KILL_INFO3 = Tu i-ai facut %d dmg din %d lovituri.^n
KILL_INFO4 = El te-a lovit în:^n%s^n KILL_INFO4 = El te-a lovit in:^n%s^n
STILL_HAS = %s încă mai are %d HP STILL_HAS = %s inca mai are %dhp
NO_KILLER = Nu te-a omorât nimeni... NO_KILLER = Nu ai nici o ucidere...
TOPX = Top %d TOPX = Top %d
FFIRE_IS = Atac coechipieri: FFIRE_IS = Friendly-fire:
ATTACKERS = Atacatori: ATTACKERS = Atacatori:
VICTIMS = Victime: VICTIMS = Victime:
DMG = damage DMG = dmg
HIT_S = lovituri HIT_S = lovituri
YOU_HIT = L-ai lovit pe %s în: YOU_HIT = Tu l-ai lovit pe %s in:
SERVER_STATS = Statistici server SERVER_STATS = Statisticile Server-ului
SHOW_STATS = Arată statistici SHOW_STATS = Arata statistici
SHOW_RANK = Arată poziția SHOW_RANK = Arata pozitia
TA_MSG = %s a atacat un coechipier TA_MSG = %s a atacat un coleg de echipa
TK_MSG = %s a omorât un coechipier! TK_MSG = %s a ucis un coleg de echipa !
NADE_CAUGHT = Wow! %s a prins grenada inamicului! NADE_CAUGHT = Wow! %s a prins grenada inamicului!
NADE_FAILEDTK = Oops.. %s te-a ucis încercand sa arunce înapoi grenada inamicului.. NADE_FAILEDTK = Oops.. %s te-a ucis incercand sa arunce inapoi grenada inamicului..
NADE_FAILED = %s nu a reușit să arunce înapoi grenada inamicului.. NADE_FAILED = %s nu a putut arunca inapoi grenada inamicului..
NADE_MASTER = OMG! %s este un maestru al grenadelor! NADE_MASTER = OMG! %s este maestru al grenadelor !!!
DISABLED_MSG = Serverul a dezactivat această opțiune DISABLED_MSG = Server-ul a dezactivat aceasta optiune
MOST_KILLS = Cele mai multe killuri MOST_KILLS = Cele mai multe ucideri
KILL = kill KILL = ucidere
KILLS = kills KILLS = ucideri
HEADSHOT = headshot HEADSHOT = hs
HEADSHOTS = headshots HEADSHOTS = hs
BEST_SCORE = Cel mai bun scor BEST_SCORE = Cel mai bun scor
POINTS = puncte POINTS = puncte
MOST_DAMAGE = Cel mai mult damage MOST_DAMAGE = Cel mai mult dmg
DAMAGE = damage DAMAGE = dmg
HIT = lovitură HIT = lovitura
HITS = lovituri HITS = lovituri
M_KILLS = Kills: M_KILLS = Ucideri:
M_DEATHS = Decese: M_DEATHS = Decesuri:
M_SCORE = Scor: M_SCORE = Scor:
M_TKS = TKs: M_TKS = TK:
M_HITS = Lovituri: M_HITS = Lovituri:
M_SHOTS = Focuri: M_SHOTS = Focuri:
M_HS = HS: M_HS = HS:
M_WEAPON = Arma: M_WEAPON = Arma:
M_DAMAGE = Damage: M_DAMAGE = Dmg:
M_NICK = Nume: M_NICK = Nume:
M_YOUR_RANK_IS = Poziția ta este M_YOUR_RANK_IS = Pozitia ta este
M_THEIR_RANK_IS = Poziția lui este M_THEIR_RANK_IS = Pozitia lor este
M_OF = din M_OF = din
[hu] [hu]

View File

@ -89,7 +89,7 @@ STATS_CONF_LOADED = Statistik-Konfiguration erfolgreich geladen
STATS_CONF_FAIL_LOAD = Fehler beim Laden der Statistik-Konfiguration!!! STATS_CONF_FAIL_LOAD = Fehler beim Laden der Statistik-Konfiguration!!!
STATS_CONF = Statistik-Konfiguration STATS_CONF = Statistik-Konfiguration
STATS_ENTRIES_OF = Einträge %i - %i von %i STATS_ENTRIES_OF = Einträge %i - %i von %i
STATS_USE_MORE = Benutze 'amx_statscfg list %i' für mehr Infos STATS_USE_MORE = Benutze 'amx_statscfg list %i' für mehr Info´s
STATS_USE_BEGIN = Benutze 'amx_statscfg list 1' um zum Anfang zu gelangen STATS_USE_BEGIN = Benutze 'amx_statscfg list 1' um zum Anfang zu gelangen
CANT_ADD_STATS = Kann keine Statistik mehr hinzufügen, das Limit ist erreicht! CANT_ADD_STATS = Kann keine Statistik mehr hinzufügen, das Limit ist erreicht!
COM_STATS_USAGE = Benutze: amx_statscfg <Befehl> [Parameter] ... COM_STATS_USAGE = Benutze: amx_statscfg <Befehl> [Parameter] ...
@ -121,7 +121,7 @@ ST_LAST_MAN = Letzter Mann
ST_KNIFE_KILL = Messerkill ST_KNIFE_KILL = Messerkill
ST_KNIFE_KILL_SOUND = Messerkill Sound ST_KNIFE_KILL_SOUND = Messerkill Sound
ST_HE_KILL = Granatenkill ST_HE_KILL = Granatenkill
ST_HE_SUICIDE = Granatenselbstmord ST_HE_SUICIDE = Granaten Selbstmord
ST_HS_KILL = Headshotkill ST_HS_KILL = Headshotkill
ST_HS_KILL_SOUND = Headshotkill Sound ST_HS_KILL_SOUND = Headshotkill Sound
ST_ROUND_CNT = Rundenzähler ST_ROUND_CNT = Rundenzähler
@ -144,7 +144,7 @@ ST_SHOW_MOST_DISRUPTIVE = Zeige meisten Durchschläge
ST_SHOW_HUD_STATS_DEF = Standard HUD-Stats ST_SHOW_HUD_STATS_DEF = Standard HUD-Stats
ST_SHOW_DIST_HS_HUD = Distanz&HS in HUD Liste ST_SHOW_DIST_HS_HUD = Distanz&HS in HUD Liste
ST_STATS_PLAYER_MAP_END = Stats am Ende der Map ST_STATS_PLAYER_MAP_END = Stats am Ende der Map
ST_STATS_TOP15_MAP_END = Top15 am Ende der Map ST_STATS_TOP15_MAP_END = Top15 am ende der Map
ST_SAY_HP = Say /hp ST_SAY_HP = Say /hp
ST_SAY_STATSME = Say /statsme ST_SAY_STATSME = Say /statsme
ST_SAY_RANKSTATS = Say /rankstats ST_SAY_RANKSTATS = Say /rankstats
@ -162,7 +162,7 @@ ST_BOMB_CD_HUD = Bomben Countdown HUD
ST_LAST_MAN_SOUND = Letzter Mann Sound ST_LAST_MAN_SOUND = Letzter Mann Sound
ST_LAST_MAN_HEALTH = Letzter Mann HP ST_LAST_MAN_HEALTH = Letzter Mann HP
ST_HE_KILL_SOUND = Granatenkill Sound ST_HE_KILL_SOUND = Granatenkill Sound
ST_HE_SUICIDE_SOUND = Granatenselbstmord Sound ST_HE_SUICIDE_SOUND = Granaten Selbstmord Sound
[sr] [sr]
NO_OPTION = Nepostoji optcija(e) sa tom promenljivom (ime "%s") NO_OPTION = Nepostoji optcija(e) sa tom promenljivom (ime "%s")
@ -1162,68 +1162,68 @@ ST_HE_SUICIDE_SOUND = Grenade Suicide Sound
[ro] [ro]
NO_OPTION = Couldn't find option(s) with such variable (name "%s") NO_OPTION = Couldn't find option(s) with such variable (name "%s")
STATS_CONF_SAVED = Configurația stats a fost salvată cu succes! STATS_CONF_SAVED = Configuratia stats a fost salvata cu succes
STATS_CONF_FAILED = Salvarea configurației a eșuat! STATS_CONF_FAILED = Salvarea configuratiei stats a esuat!!!
STATS_CONF_LOADED = Configurația stats a fost încărcată cu succes! STATS_CONF_LOADED = Configuratia stats a fost incarcata cu succes
STATS_CONF_FAIL_LOAD = Încărcarea configurației a eșuat! STATS_CONF_FAIL_LOAD = Incarcarea configuratiei stats a esuat!!!
STATS_CONF = Configurare Stats STATS_CONF = Configuratie Stats
STATS_ENTRIES_OF = Se afișează %i - %i din %i STATS_ENTRIES_OF = Intrari %i - %i din %i
STATS_USE_MORE = Scrie 'amx_statscfg list %i' pentru mai multe STATS_USE_MORE = Scrie 'amx_statscfg list %i' pentru mai mult
STATS_USE_BEGIN = Scrie 'amx_statscfg list 1' pentru a începe STATS_USE_BEGIN = Scrie 'amx_statscfg list 1' pentru inceput
STATS_ENABLED = Stats activate STATS_ENABLED = Stats activat
STATS_DISABLED = Stats dezactivate STATS_DISABLED = Stats dezactivat
CANT_ADD_STATS = Limita a fost depășită! Nu mai poți adăuga stats în listă. CANT_ADD_STATS = Nu se pot adauga stats la lista, limita depasita!
COM_STATS_USAGE = Utilizare: amx_statscfg <comandă> [parametri] ... COM_STATS_USAGE = Folosire: amx_statscfg <comanda> [parametri] ...
COM_STATS_COM = Comenzi: COM_STATS_COM = Comenzi:
COM_STATS_ON = ^ton <variabilă> - activează opțiunea specificată COM_STATS_ON = ^ton <variabila> - activeaza optiunea specificata
COM_STATS_OFF = ^toff <variabilă> - dezactivează opțiunea specificată COM_STATS_OFF = ^toff <variabila> - dezactiveaza optiunea specificata
COM_STATS_SAVE = ^tsave - salvează configurația stats COM_STATS_SAVE = ^tsave - salveaza configuratia stats
COM_STATS_LOAD = ^tload - încarcă configurațiaa stats COM_STATS_LOAD = ^tload - incarca configuratia stats
COM_STATS_LIST = ^tlist [id] - listează statusul stats COM_STATS_LIST = ^tlist [id] - lista statut stats
COM_STATS_ADD = ^tadd <nume> <variabilă> - adaugă stats în listă COM_STATS_ADD = ^tadd <nume> <variabila> - adauga stats la lista
NO_STATS = Pluginurile stats nu sunt^ninstalate pe acest server^n NO_STATS = Plugin-urile stats nu sunt^ninstalate pe acest server^n
SAVE_CONF = Salvează configurație SAVE_CONF = Salveaza configuratie
ST_MULTI_KILL = MultiKill ST_MULTI_KILL = MultiKill
ST_MULTI_KILL_SOUND = Sunet MultiKill ST_MULTI_KILL_SOUND = MultiKillSound
ST_BOMB_PLANTING = Bomba se plantează ST_BOMB_PLANTING = Bomb Planting
ST_BOMB_DEFUSING = Bomb se dezamorsează ST_BOMB_DEFUSING = Bomb Defusing
ST_BOMB_PLANTED = Bombă plantată ST_BOMB_PLANTED = Bomb Planted
ST_BOMB_DEF_SUCC = Dezam. bombei cu succes ST_BOMB_DEF_SUCC = Bomb Defuse Succ.
ST_BOMB_DEF_FAIL = Dezam. bombei a eșuat ST_BOMB_DEF_FAIL = Bomb Def. Failure
ST_BOMB_PICKUP = Ridicarea bombei ST_BOMB_PICKUP = Bomb PickUp
ST_BOMB_DROP = Scăparea bombei ST_BOMB_DROP = Bomb Drop
ST_BOMB_CD_VOICE = Voce cronometru bombă ST_BOMB_CD_VOICE = Bomb Countdown Voice
ST_BOMB_CD_DEF = Cronometru bombă (dezamorsare) ST_BOMB_CD_DEF = Bomb Countdown (defuser)
ST_BOMB_SITE = Ajuns în bomb-site ST_BOMB_SITE = Bomb Site Reached
ST_ITALY_BONUS = Italy Bonus Kill ST_ITALY_BONUS = Italy Bonus Kill
ST_LAST_MAN = Ultimul în viață ST_LAST_MAN = Last Man
ST_KNIFE_KILL = Knife Kill ST_KNIFE_KILL = Knife Kill
ST_KNIFE_KILL_SOUND = Sunet Knife Kill ST_KNIFE_KILL_SOUND = Knife Kill Sound
ST_HE_KILL = Grenade Kill ST_HE_KILL = Grenade Kill
ST_HE_SUICIDE = Sinucidere cu grenada ST_HE_SUICIDE = Grenade Suicide
ST_HS_KILL = HeadShot Kill ST_HS_KILL = HeadShot Kill
ST_HS_KILL_SOUND = Sunet HeadShot Kill ST_HS_KILL_SOUND = HeadShot Kill Sound
ST_ROUND_CNT = Contor runde ST_ROUND_CNT = Round Counter
ST_ROUND_CNT_SOUND = Sunet contor runde ST_ROUND_CNT_SOUND = Round Counter Sound
ST_KILL_STR = Killing Streak ST_KILL_STR = Killing Streak
ST_KILL_STR_SOUND = Sunet Killing Streak ST_KILL_STR_SOUND = Killing Streak Sound
ST_ENEMY_REM = Inamici rămași ST_ENEMY_REM = Enemy Remaining
ST_DOUBLE_KILL = Double Kill ST_DOUBLE_KILL = Double Kill
ST_DOUBLE_KILL_SOUND = Sunet Double Kill ST_DOUBLE_KILL_SOUND = Double Kill Sound
ST_PLAYER_NAME = Numele jucătorului ST_PLAYER_NAME = Player Name
ST_FIRST_BLOOD_SOUND = Sunet First Blood ST_FIRST_BLOOD_SOUND = First Blood Sound
ST_SHOW_KILLER_CHAT = Arată HP&AP ucigașului ST_SHOW_KILLER_CHAT = Show Killer HP&AP
ST_SHOW_ATTACKERS = Arată atacatorii ST_SHOW_ATTACKERS = Show Attackers
ST_SHOW_VICTIMS = Arată victimele ST_SHOW_VICTIMS = Show Victims
ST_SHOW_KILLER = Arată ucigașul ST_SHOW_KILLER = Show Killer
ST_SHOW_TEAM_SCORE = Arată scorul echipei ST_SHOW_TEAM_SCORE = Show Team Score
ST_SHOW_TOTAL_STATS = Arată statisticile totale ST_SHOW_TOTAL_STATS = Show Total Stats
ST_SHOW_BEST_SCORE = Arată cel mai bun scor ST_SHOW_BEST_SCORE = Show Best Score
ST_SHOW_MOST_DISRUPTIVE = Arată pe cel mai distrugător ST_SHOW_MOST_DISRUPTIVE = Show Most Disruptive
ST_SHOW_HUD_STATS_DEF = Show HUD-stats default ST_SHOW_HUD_STATS_DEF = Show HUD-stats default
ST_SHOW_DIST_HS_HUD = Dist&HS in HUD lists ST_SHOW_DIST_HS_HUD = Dist&HS in HUD lists
ST_STATS_PLAYER_MAP_END = Statistici la finalul hărții ST_STATS_PLAYER_MAP_END = Stats at the end of map
ST_STATS_TOP15_MAP_END = Top15 la finalul hărții ST_STATS_TOP15_MAP_END = Top15 at the end of map
ST_SAY_HP = Say /hp ST_SAY_HP = Say /hp
ST_SAY_STATSME = Say /statsme ST_SAY_STATSME = Say /statsme
ST_SAY_RANKSTATS = Say /rankstats ST_SAY_RANKSTATS = Say /rankstats
@ -1234,14 +1234,14 @@ ST_SAY_SCORE = Say /score
ST_SAY_TOP15 = Say /top15 ST_SAY_TOP15 = Say /top15
ST_SAY_STATS = Say /stats ST_SAY_STATS = Say /stats
ST_SPEC_RANK = Spec. Rank Info ST_SPEC_RANK = Spec. Rank Info
ST_BOMB_PLANTED_SOUND = Sunet bombă plantată ST_BOMB_PLANTED_SOUND = Bomb Planted Sound
ST_BOMB_DEF_SUCC_SOUND = Sunet bombă dezamorsată ST_BOMB_DEF_SUCC_SOUND = Bomb Defuse Succ. Sound
ST_BOMB_DEF_FAIL_SOUND = Sunet bombă dezam. eșuată ST_BOMB_DEF_FAIL_SOUND = Bomb Def. Failure Sound
ST_BOMB_CD_HUD = Cronometru bombă HUD ST_BOMB_CD_HUD = Bomb Countdown Hud
ST_LAST_MAN_SOUND = Sunet ultimul în viață ST_LAST_MAN_SOUND = Last Man Sound
ST_LAST_MAN_HEALTH = HP-ul ultimului în viață ST_LAST_MAN_HEALTH = Last Man Health
ST_HE_KILL_SOUND = Sunet Grenade Kill ST_HE_KILL_SOUND = Grenade Kill Sound
ST_HE_SUICIDE_SOUND = Sunet Sinucidere Grenadă ST_HE_SUICIDE_SOUND = Grenade Suicide Sound
[hu] [hu]
NO_OPTION = Nem található opció a megadott névvel (név "%s") NO_OPTION = Nem található opció a megadott névvel (név "%s")
@ -1991,10 +1991,10 @@ ST_HE_SUICIDE_SOUND = Zëri Vetëvrasjes Granatë
[pt] [pt]
NO_OPTION = Não foi possível encontrar a(s) opção(ões) com essa variável (nome "%s") NO_OPTION = Não foi possível encontrar a(s) opção(ões) com essa variável (nome "%s")
STATS_CONF_SAVED = A configuração das estatísticas foi guardada com sucesso STATS_CONF_SAVED = A configuração das Estatísticas foi guardada com sucesso
STATS_CONF_FAILED = Falha ao guardar a configuração das estatísticas!!! STATS_CONF_FAILED = Falha ao guardar a configuração das Estatísticas!!!
STATS_CONF_LOADED = A configuração das estatísticas foi carregada com sucesso STATS_CONF_LOADED = A configuração das Estatísticas foi carregada com sucesso
STATS_CONF_FAIL_LOAD = Falha ao carregar a configuração das estatísticas!!! STATS_CONF_FAIL_LOAD = Falha ao carregar a configuração das Estatísticas!!!
STATS_CONF = Configuração das Estatísticas STATS_CONF = Configuração das Estatísticas
STATS_ENTRIES_OF = Entradas %i - %i de %i STATS_ENTRIES_OF = Entradas %i - %i de %i
STATS_USE_MORE = Usa 'amx_statscfg list %i' para mostrar mais STATS_USE_MORE = Usa 'amx_statscfg list %i' para mostrar mais
@ -2010,7 +2010,7 @@ COM_STATS_SAVE = ^tsave - guardar configuração das estatísticas
COM_STATS_LOAD = ^tload - carregar configuração das estatísticas COM_STATS_LOAD = ^tload - carregar configuração das estatísticas
COM_STATS_LIST = ^tlist [id] - listar status das estatísticas COM_STATS_LIST = ^tlist [id] - listar status das estatísticas
COM_STATS_ADD = ^tadd <nome> <variável> - adicionar uma estatística á lista COM_STATS_ADD = ^tadd <nome> <variável> - adicionar uma estatística á lista
NO_STATS = Os plugins de estatísticas não estão^ninstalados neste servidor^n NO_STATS = Os plugins de Estatísticas não estão^ninstalados neste servidor^n
SAVE_CONF = Guardar configuração SAVE_CONF = Guardar configuração
ST_MULTI_KILL = MultiKill ST_MULTI_KILL = MultiKill
ST_MULTI_KILL_SOUND = Som do MultiKill ST_MULTI_KILL_SOUND = Som do MultiKill

View File

@ -66,8 +66,8 @@ DMG = Schaden
VICTIMS = Opfer VICTIMS = Opfer
MOST_DMG = Am meisten verursachter Schaden durch MOST_DMG = Am meisten verursachter Schaden durch
KILLED_YOU_DIST = %s hat dich mit einer %s ^naus %0.2f Metern Entfernung gekillt. KILLED_YOU_DIST = %s hat dich mit einer %s ^naus %0.2f Metern Entfernung gekillt.
DID_DMG_HITS = Er verursachte %d Schaden bei dir mit %d Treffer(n)^nund hat noch %dhp und %dap. DID_DMG_HITS = Er verursachte %d Schaden bei dir mit %d Treffern^nund hat noch %dhp und %dap.
YOU_DID_DMG = Du hast bei ihm %d Schaden mit %d Treffer(n) angerichtet. YOU_DID_DMG = Du hast bei ihm %d Schaden mit %d Treffern angerichtet.
EFF = Effizienz EFF = Effizienz
BEST_SCORE = Die meisten Punkte BEST_SCORE = Die meisten Punkte
KILL_S = Kill(s) KILL_S = Kill(s)
@ -717,51 +717,51 @@ WHOLEBODY = tot corpul
HEAD = cap HEAD = cap
CHEST = piept CHEST = piept
STOMACH = stomac STOMACH = stomac
LEFTARM = braț stâng LEFTARM = brat stang
RIGHTARM = braț drept RIGHTARM = brat drept
LEFTLEG = picior stâng LEFTLEG = picior stang
RIGHTLEG = picior drept RIGHTLEG = picior drept
MODE_SET_TO = "amx_statsx_mode" este setat pe "%s" MODE_SET_TO = "amx_statsx_mode" este setat la "%s"
ATTACKERS = Atacatori ATTACKERS = Atacatori
ACC = acu. ACC = ac.
HIT_S = lovituri HIT_S = lovituri
DMG = damage DMG = dmg
VICTIMS = Victime VICTIMS = Victime
MOST_DMG = Cel mai mult damage făcut de MOST_DMG = Cel mai mult dmg produs de
KILLED_YOU_DIST = %s te-a omorât cu %s^nde la distanța de %0.2f metri. KILLED_YOU_DIST = %s te-a ucis cu %s^nde la distanta de %0.2f metri.
DID_DMG_HITS = El ți-a provocat %d damage cu %d lovituri^nși încă mai are %dHP și %dAP. DID_DMG_HITS = El ti-a facut %d dmg din %d lovituri^nsi inca mai are %dhp si %dap.
YOU_DID_DMG = Tu i-ai provocat %d damage cu %d lovituri. YOU_DID_DMG = Tu i-ai facut %d dmg din %d lovituri.
EFF = ef. EFF = ef.
BEST_SCORE = Cel mai bun scor BEST_SCORE = Cel mai bun scor
KILL_S = kill(s) KILL_S = ucideri
TOTAL = Total TOTAL = Total
SHOT_S = focuri SHOT_S = Focuri
HITS_YOU_IN = %s te-a lovit în HITS_YOU_IN = %s te-a lovit in
KILLED_BY_WITH = Ucis de %s cu %s de la %0.0fm KILLED_BY_WITH = Ucis de %s cu %s de la %0.0fm
NO_HITS = nicio lovitură NO_HITS = nici o lovitura
YOU_NO_KILLER = Nu te-a omorât nimeni... YOU_NO_KILLER = Nu ai nici o ucidere...
YOU_HIT = Tu l-ai lovit pe %s de %d ori, %d damage YOU_HIT = Tu l-ai lovit pe %s de %d ori, %d dmg
LAST_RES = Ultimul rezultat: %d lovituri, %d damage LAST_RES = Ultimul rezultat: %d lovituri, %d dmg
KILLS = Kills KILLS = Ucideri
DEATHS = Decese DEATHS = Decesuri
HITS = Lovituri HITS = Lovituri
SHOTS = Focuri SHOTS = Focuri
YOUR = Poziția ta YOUR = Pozitia ta
PLAYERS = Jucători PLAYERS = Jucatori
RANK_IS = este %d din %d RANK_IS = este %d din %d
DAMAGE = Damage DAMAGE = Dmg
WEAPON = Arma WEAPON = Arma
YOUR_RANK_IS = Poziția ta este %d din %d cu %d kill(s), %d lovituri, %0.2f%% ef. și %0.2f%% acu. YOUR_RANK_IS = Pozitia ta este %d din %d cu %d ucideri, %d lovituri, %0.2f% ef. si %0.2f% ac.
AMMO = muniție AMMO = munitie
HEALTH = viață HEALTH = viata
ARMOR = armură ARMOR = vesta
GAME_SCORE = Scorul jocului GAME_SCORE = Scorul Jocului
STATS_ANNOUNCE = Ai %s anunțurile statisticilor STATS_ANNOUNCE = Ai %s anunturile statisticilor
ENABLED = activat ENABLED = activat
DISABLED = dezactivat DISABLED = dezactivat
SERVER_STATS = Statistici server SERVER_STATS = Statistici Jucatori
X_RANK_IS = Poziția lui %s este %d din %d X_RANK_IS = Pozitia lui %s este %d din %d
DISABLED_MSG = Serverul a dezactivat această opțiune DISABLED_MSG = Server-ul a dezactivat aceasta optiune
[hu] [hu]
WHOLEBODY = egész test WHOLEBODY = egész test

View File

@ -99,9 +99,9 @@ SAVE_LOC = Zapazi mestopolojenieto
[ro] [ro]
ADMIN_TELEPORT_1 = ADMIN: teleportare %s ADMIN_TELEPORT_1 = ADMIN: teleportare %s
ADMIN_TELEPORT_2 = ADMIN %s: teleportare %s ADMIN_TELEPORT_2 = ADMIN %s: teleportare %s
TELE_MENU = Meniu teleportare TELE_MENU = Menu Teleportare
CUR_LOC = Locația actuală CUR_LOC = Locatia Actuala
SAVE_LOC = Salvează locație SAVE_LOC = Salveaza Locatie
[hu] [hu]
ADMIN_TELEPORT_1 = ADMIN: %s teleportálva ADMIN_TELEPORT_1 = ADMIN: %s teleportálva

Some files were not shown because too many files have changed in this diff Show More