Compare commits
1 Commits
master
...
revert-883
Author | SHA1 | Date | |
---|---|---|---|
|
8db3853fb7 |
12
.github/FUNDING.yml
vendored
12
.github/FUNDING.yml
vendored
@ -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
|
|
137
.github/workflows/ci.yml
vendored
137
.github/workflows/ci.yml
vendored
@ -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
2
.gitignore
vendored
@ -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/
|
||||||
|
@ -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
|
||||||
|
@ -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']
|
||||||
|
@ -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]
|
||||||
|
|
||||||
|
@ -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?
|
||||||
|
@ -83,8 +83,18 @@ public:
|
|||||||
|
|
||||||
inline bool IsBot()
|
inline bool IsBot()
|
||||||
{
|
{
|
||||||
|
if ((pEdict->v.flags & FL_FAKECLIENT) == FL_FAKECLIENT)
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
const char *auth = GETPLAYERAUTHID(pEdict);
|
const char *auth = GETPLAYERAUTHID(pEdict);
|
||||||
return auth && !strcmp(auth, "BOT");
|
if (auth && (strcmp(auth, "BOT") == 0))
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool IsAlive()
|
inline bool IsAlive()
|
||||||
|
@ -296,19 +296,16 @@ void CoreConfig::OnMapConfigTimer()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_legacyMapConfigNextTime <= gpGlobals->time)
|
if (m_PendingForwardPush)
|
||||||
{
|
{
|
||||||
if (m_PendingForwardPush)
|
m_PendingForwardPush = false;
|
||||||
{
|
m_ConfigsExecuted = true;
|
||||||
m_PendingForwardPush = false;
|
|
||||||
m_ConfigsExecuted = true;
|
|
||||||
|
|
||||||
executeForwards(m_ConfigsExecutedForward);
|
executeForwards(m_ConfigsExecutedForward);
|
||||||
}
|
}
|
||||||
else if (!m_LegacyMapConfigsExecuted)
|
else if (!m_LegacyMapConfigsExecuted && m_legacyMapConfigNextTime <= gpGlobals->time)
|
||||||
{
|
{
|
||||||
ExecuteMapConfig();
|
ExecuteMapConfig();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
|
||||||
}
|
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
g_hudset.a1 = 0;
|
||||||
|
g_hudset.a2 = 0;
|
||||||
if (num_params >= 13)
|
g_hudset.r2 = 255;
|
||||||
{
|
g_hudset.g2 = 255;
|
||||||
cell *color2 = get_amxaddr(amx, params[13]);
|
g_hudset.b2 = 250;
|
||||||
|
|
||||||
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.a2 = 0;
|
|
||||||
g_hudset.r2 = 255;
|
|
||||||
g_hudset.g2 = 255;
|
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
@ -79,7 +79,7 @@ extern AMX_NATIVE_INFO g_GameConfigNatives[];
|
|||||||
#define DLPROC(m, func) GetProcAddress(m, func)
|
#define DLPROC(m, func) GetProcAddress(m, func)
|
||||||
#define DLFREE(m) FreeLibrary(m)
|
#define DLFREE(m) FreeLibrary(m)
|
||||||
#else
|
#else
|
||||||
#define DLLOAD(path) (DLHANDLE)dlopen(path, RTLD_NOW | RTLD_LOCAL | RTLD_DEEPBIND)
|
#define DLLOAD(path) (DLHANDLE)dlopen(path, RTLD_NOW)
|
||||||
#define DLPROC(m, func) dlsym(m, func)
|
#define DLPROC(m, func) dlsym(m, func)
|
||||||
#define DLFREE(m) dlclose(m)
|
#define DLFREE(m) dlclose(m)
|
||||||
#endif
|
#endif
|
||||||
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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.
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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!");
|
||||||
|
@ -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())
|
||||||
|
@ -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);
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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)));
|
||||||
|
156
appveyor.yml
156
appveyor.yml
@ -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
|
|
||||||
|
@ -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';
|
||||||
|
@ -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 ':'
|
||||||
|
@ -37,38 +37,18 @@ amx_show_activity 2
|
|||||||
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
|
|
||||||
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
|
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
|
||||||
//
|
//
|
||||||
// Default values: "Welcome to %hostname%" "000255100"
|
// Default values: "Welcome to %hostname%" "000255100"
|
||||||
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
||||||
amx_imessage "Welcome to %hostname%" "000255100"
|
amx_imessage "Welcome to %hostname%" "000255100"
|
||||||
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
||||||
|
|
||||||
// Frequency in seconds of info messages
|
// Frequency in seconds of colored messages
|
||||||
//
|
//
|
||||||
// Default value: 180
|
// Default value: 180
|
||||||
amx_freq_imessage 180
|
amx_freq_imessage 180
|
||||||
|
|
||||||
// X position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: -1.0
|
|
||||||
amx_imessage_x_pos -1.0
|
|
||||||
|
|
||||||
// Y position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: 0.2
|
|
||||||
amx_imessage_y_pos 0.2
|
|
||||||
|
|
||||||
// Hold time for info messages
|
|
||||||
//
|
|
||||||
// Default value: 12.0
|
|
||||||
amx_imessage_holdtime 12.0
|
|
||||||
|
|
||||||
// Set to 1 if you want to show info messages only to dead clients
|
|
||||||
//
|
|
||||||
// Default value: 0
|
|
||||||
amx_imessage_only_dead 0
|
|
||||||
|
|
||||||
// Ban times for the main ban menu (amx_banmenu)
|
// Ban times for the main ban menu (amx_banmenu)
|
||||||
// Use 0 for permanent ban.
|
// Use 0 for permanent ban.
|
||||||
// Default values: 0 5 10 15 30 45 60
|
// Default values: 0 5 10 15 30 45 60
|
||||||
|
@ -37,38 +37,18 @@ amx_show_activity 2
|
|||||||
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
|
|
||||||
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
|
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
|
||||||
//
|
//
|
||||||
// Default values: "Welcome to %hostname%" "000255100"
|
// Default values: "Welcome to %hostname%" "000255100"
|
||||||
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
||||||
amx_imessage "Welcome to %hostname%" "000255100"
|
amx_imessage "Welcome to %hostname%" "000255100"
|
||||||
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
||||||
|
|
||||||
// Frequency in seconds of info messages
|
// Frequency in seconds of colored messages
|
||||||
//
|
//
|
||||||
// Default value: 180
|
// Default value: 180
|
||||||
amx_freq_imessage 180
|
amx_freq_imessage 180
|
||||||
|
|
||||||
// X position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: -1.0
|
|
||||||
amx_imessage_x_pos -1.0
|
|
||||||
|
|
||||||
// Y position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: 0.2
|
|
||||||
amx_imessage_y_pos 0.2
|
|
||||||
|
|
||||||
// Hold time for info messages
|
|
||||||
//
|
|
||||||
// Default value: 12.0
|
|
||||||
amx_imessage_holdtime 12.0
|
|
||||||
|
|
||||||
// Set to 1 if you want to show info messages only to dead clients
|
|
||||||
//
|
|
||||||
// Default value: 0
|
|
||||||
amx_imessage_only_dead 0
|
|
||||||
|
|
||||||
// Ban times for the main ban menu (amx_banmenu)
|
// Ban times for the main ban menu (amx_banmenu)
|
||||||
// Use 0 for permanent ban
|
// Use 0 for permanent ban
|
||||||
// Default values: 0 5 10 15 30 45 60
|
// Default values: 0 5 10 15 30 45 60
|
||||||
@ -240,3 +220,4 @@ amx_statsx_freeze -2.0
|
|||||||
// -
|
// -
|
||||||
// Default value: 0
|
// Default value: 0
|
||||||
amx_restrmapsettings 0
|
amx_restrmapsettings 0
|
||||||
|
|
||||||
|
@ -37,38 +37,18 @@ amx_show_activity 2
|
|||||||
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
// Default value: "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
amx_scrollmsg "Welcome to %hostname% -- This server is using AMX Mod X" 600
|
||||||
|
|
||||||
// Center typed colored info messages (last parameter is a color in RRRGGGBBB format)
|
// Center typed colored messages (last parameter is a color in RRRGGGBBB format)
|
||||||
//
|
//
|
||||||
// Default values: "Welcome to %hostname%" "000255100"
|
// Default values: "Welcome to %hostname%" "000255100"
|
||||||
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
// "This server is using AMX ModX\nVisit http://www.amxmodx.org" "000100255"
|
||||||
amx_imessage "Welcome to %hostname%" "000255100"
|
amx_imessage "Welcome to %hostname%" "000255100"
|
||||||
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
amx_imessage "This server is using AMX Mod X\nVisit http://www.amxmodx.org" "000100255"
|
||||||
|
|
||||||
// Frequency in seconds of info messages
|
// Frequency in seconds of colored messages
|
||||||
//
|
//
|
||||||
// Default value: 180
|
// Default value: 180
|
||||||
amx_freq_imessage 180
|
amx_freq_imessage 180
|
||||||
|
|
||||||
// X position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: -1.0
|
|
||||||
amx_imessage_x_pos -1.0
|
|
||||||
|
|
||||||
// Y position on the screen for info messages
|
|
||||||
//
|
|
||||||
// Default value: 0.2
|
|
||||||
amx_imessage_y_pos 0.2
|
|
||||||
|
|
||||||
// Hold time for info messages
|
|
||||||
//
|
|
||||||
// Default value: 12.0
|
|
||||||
amx_imessage_holdtime 12.0
|
|
||||||
|
|
||||||
// Set to 1 if you want to show info messages only to dead clients
|
|
||||||
//
|
|
||||||
// Default value: 0
|
|
||||||
amx_imessage_only_dead 0
|
|
||||||
|
|
||||||
// Ban times for the main ban menu (amx_banmenu)
|
// Ban times for the main ban menu (amx_banmenu)
|
||||||
// Use 0 for permanent ban.
|
// Use 0 for permanent ban.
|
||||||
// Default values: 0 5 10 15 30 45 60
|
// Default values: 0 5 10 15 30 45 60
|
||||||
|
@ -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',
|
||||||
|
@ -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 = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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',
|
||||||
|
@ -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;
|
||||||
|
@ -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',
|
||||||
|
@ -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)
|
||||||
|
@ -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))
|
||||||
|
@ -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)
|
||||||
|
@ -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;
|
||||||
|
@ -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]);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
|
|
||||||
|
|
||||||
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]);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
AMX_NATIVE_INFO tr_Natives[] =
|
AMX_NATIVE_INFO tr_Natives[] =
|
||||||
|
@ -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,11 +110,15 @@ 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]);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
|
|
||||||
|
|
||||||
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,21 +184,27 @@ 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]);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Unknown TraceResult member %d", params[2]);
|
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,7 +80,8 @@ static cell AMX_NATIVE_CALL fm_return(AMX *amx, cell *params)
|
|||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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',
|
||||||
|
@ -232,15 +232,6 @@ namespace AMXX
|
|||||||
*/
|
*/
|
||||||
virtual const char *ValueToString(JS_Handle value) = 0;
|
virtual const char *ValueToString(JS_Handle value) = 0;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets a string data length.
|
|
||||||
*
|
|
||||||
* @param value JSON handle
|
|
||||||
*
|
|
||||||
* @return Length of string data
|
|
||||||
*/
|
|
||||||
virtual size_t ValueToStringLen(JS_Handle value) = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gets a number.
|
* @brief Gets a number.
|
||||||
*
|
*
|
||||||
@ -286,16 +277,6 @@ namespace AMXX
|
|||||||
*/
|
*/
|
||||||
virtual const char *ArrayGetString(JS_Handle array, size_t index) = 0;
|
virtual const char *ArrayGetString(JS_Handle array, size_t index) = 0;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets string data length from the array.
|
|
||||||
*
|
|
||||||
* @param array JSON handle
|
|
||||||
* @param index Position in the array (starting from 0)
|
|
||||||
*
|
|
||||||
* @return Length of string data
|
|
||||||
*/
|
|
||||||
virtual size_t ArrayGetStringLen(JS_Handle array, size_t index) = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gets a number from the array.
|
* @brief Gets a number from the array.
|
||||||
*
|
*
|
||||||
@ -487,20 +468,6 @@ namespace AMXX
|
|||||||
*/
|
*/
|
||||||
virtual const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc = false) = 0;
|
virtual const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc = false) = 0;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Gets string data length from the object.
|
|
||||||
*
|
|
||||||
* @note If dot notation is used some values may be inaccessible
|
|
||||||
* because valid names in JSON can contain dots.
|
|
||||||
*
|
|
||||||
* @param object JSON handle
|
|
||||||
* @param name Key name
|
|
||||||
* @param dotfunc True to use dot notation, false to not
|
|
||||||
*
|
|
||||||
* @return Length of string data
|
|
||||||
*/
|
|
||||||
virtual size_t ObjectGetStringLen(JS_Handle object, const char *name, bool dotfunc = false) = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Gets a number from the object.
|
* @brief Gets a number from the object.
|
||||||
*
|
*
|
||||||
@ -729,15 +696,6 @@ namespace AMXX
|
|||||||
*/
|
*/
|
||||||
virtual char *SerialToString(JS_Handle value, bool pretty) = 0;
|
virtual char *SerialToString(JS_Handle value, bool pretty) = 0;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Slashes should be escaped or not when serializing JSON.
|
|
||||||
*
|
|
||||||
* @note This function sets a global setting and is not thread safe.
|
|
||||||
*
|
|
||||||
* @param escape_slashes True to escape slashes, false to not
|
|
||||||
*/
|
|
||||||
virtual void EscapeSlashes(int escape_slashes) = 0;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Frees serialized string.
|
* @brief Frees serialized string.
|
||||||
*
|
*
|
||||||
|
@ -465,8 +465,3 @@ char *JSONMngr::SerialToString(JS_Handle value, bool pretty)
|
|||||||
|
|
||||||
return (result) ? result : nullptr;
|
return (result) ? result : nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JSONMngr::EscapeSlashes(int escape_slashes)
|
|
||||||
{
|
|
||||||
json_set_escape_slashes(escape_slashes);
|
|
||||||
}
|
|
||||||
|
@ -69,10 +69,6 @@ class JSONMngr : public IJSONMngr
|
|||||||
|
|
||||||
// Convert functions
|
// Convert functions
|
||||||
const char *ValueToString(JS_Handle value) override;
|
const char *ValueToString(JS_Handle value) override;
|
||||||
inline size_t ValueToStringLen(JS_Handle value) override
|
|
||||||
{
|
|
||||||
return json_value_get_string_len(m_Handles[value]->m_pValue);
|
|
||||||
}
|
|
||||||
inline double ValueToNum(JS_Handle value) override
|
inline double ValueToNum(JS_Handle value) override
|
||||||
{
|
{
|
||||||
return json_value_get_number(m_Handles[value]->m_pValue);
|
return json_value_get_number(m_Handles[value]->m_pValue);
|
||||||
@ -85,10 +81,6 @@ class JSONMngr : public IJSONMngr
|
|||||||
// Wrappers for Array API
|
// Wrappers for Array API
|
||||||
bool ArrayGetValue(JS_Handle array, size_t index, JS_Handle *handle) override;
|
bool ArrayGetValue(JS_Handle array, size_t index, JS_Handle *handle) override;
|
||||||
const char *ArrayGetString(JS_Handle array, size_t index) override;
|
const char *ArrayGetString(JS_Handle array, size_t index) override;
|
||||||
inline size_t ArrayGetStringLen(JS_Handle array, size_t index) override
|
|
||||||
{
|
|
||||||
return json_array_get_string_len(m_Handles[array]->m_pArray, index);
|
|
||||||
}
|
|
||||||
inline bool ArrayGetBool(JS_Handle array, size_t index) override
|
inline bool ArrayGetBool(JS_Handle array, size_t index) override
|
||||||
{
|
{
|
||||||
return json_array_get_boolean(m_Handles[array]->m_pArray, index) == 1;
|
return json_array_get_boolean(m_Handles[array]->m_pArray, index) == 1;
|
||||||
@ -150,15 +142,6 @@ class JSONMngr : public IJSONMngr
|
|||||||
// Get functions
|
// Get functions
|
||||||
bool ObjectGetValue(JS_Handle object, const char *name, JS_Handle *handle, bool dotfunc) override;
|
bool ObjectGetValue(JS_Handle object, const char *name, JS_Handle *handle, bool dotfunc) override;
|
||||||
const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc) override;
|
const char *ObjectGetString(JS_Handle object, const char *name, bool dotfunc) override;
|
||||||
inline size_t ObjectGetStringLen(JS_Handle object, const char *name, bool dotfunc) override
|
|
||||||
{
|
|
||||||
if (!dotfunc)
|
|
||||||
{
|
|
||||||
return json_object_get_string_len(m_Handles[object]->m_pObject, name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return json_object_dotget_string_len(m_Handles[object]->m_pObject, name);
|
|
||||||
}
|
|
||||||
double ObjectGetNum(JS_Handle object, const char *name, bool dotfunc) override;
|
double ObjectGetNum(JS_Handle object, const char *name, bool dotfunc) override;
|
||||||
bool ObjectGetBool(JS_Handle object, const char *name, bool dotfunc) override;
|
bool ObjectGetBool(JS_Handle object, const char *name, bool dotfunc) override;
|
||||||
inline size_t ObjectGetCount(JS_Handle object) override
|
inline size_t ObjectGetCount(JS_Handle object) override
|
||||||
@ -188,7 +171,6 @@ class JSONMngr : public IJSONMngr
|
|||||||
bool SerialToBuffer(JS_Handle value, char *buffer, size_t size, bool pretty) override;
|
bool SerialToBuffer(JS_Handle value, char *buffer, size_t size, bool pretty) override;
|
||||||
bool SerialToFile(JS_Handle value, const char *filepath, bool pretty) override;
|
bool SerialToFile(JS_Handle value, const char *filepath, bool pretty) override;
|
||||||
char *SerialToString(JS_Handle value, bool pretty) override;
|
char *SerialToString(JS_Handle value, bool pretty) override;
|
||||||
void EscapeSlashes(int escape_slashes) override;
|
|
||||||
inline void FreeString(char *string) override
|
inline void FreeString(char *string) override
|
||||||
{
|
{
|
||||||
json_free_serialized_string(string);
|
json_free_serialized_string(string);
|
||||||
|
@ -231,19 +231,6 @@ static cell AMX_NATIVE_CALL amxx_json_get_number(AMX *amx, cell *params)
|
|||||||
return static_cast<cell>(JsonMngr->ValueToNum(value));
|
return static_cast<cell>(JsonMngr->ValueToNum(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
//native json_get_string_len(const JSON:value);
|
|
||||||
static cell AMX_NATIVE_CALL amxx_json_get_string_len(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
auto value = params[1];
|
|
||||||
if (!JsonMngr->IsValidHandle(value))
|
|
||||||
{
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON value! %d", value);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return JsonMngr->ValueToStringLen(value);
|
|
||||||
}
|
|
||||||
|
|
||||||
//native Float:json_get_real(const JSON:value);
|
//native Float:json_get_real(const JSON:value);
|
||||||
static cell AMX_NATIVE_CALL amxx_json_get_real(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL amxx_json_get_real(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
@ -303,19 +290,6 @@ static cell AMX_NATIVE_CALL amxx_json_array_get_string(AMX *amx, cell *params)
|
|||||||
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
|
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//native json_array_get_string_len(const JSON:array, index);
|
|
||||||
static cell AMX_NATIVE_CALL amxx_json_array_get_string_len(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
auto array = params[1];
|
|
||||||
if (!JsonMngr->IsValidHandle(array, Handle_Array))
|
|
||||||
{
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON array! %d", array);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return JsonMngr->ArrayGetStringLen(array, params[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
//native json_array_get_number(const JSON:array, index);
|
//native json_array_get_number(const JSON:array, index);
|
||||||
static cell AMX_NATIVE_CALL amxx_json_array_get_number(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL amxx_json_array_get_number(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
@ -604,22 +578,6 @@ static cell AMX_NATIVE_CALL amxx_json_object_get_string(AMX *amx, cell *params)
|
|||||||
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
|
return MF_SetAmxStringUTF8Char(amx, params[3], string, strlen(string), params[4]);
|
||||||
}
|
}
|
||||||
|
|
||||||
//native json_object_get_string_len(const JSON:object, const name[], bool:dotfunc = false);
|
|
||||||
static cell AMX_NATIVE_CALL amxx_json_object_get_string_len(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
auto object = params[1];
|
|
||||||
if (!JsonMngr->IsValidHandle(object, Handle_Object))
|
|
||||||
{
|
|
||||||
MF_LogError(amx, AMX_ERR_NATIVE, "Invalid JSON object! %d", object);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
int len;
|
|
||||||
auto name = MF_GetAmxString(amx, params[2], 0, &len);
|
|
||||||
|
|
||||||
return JsonMngr->ObjectGetStringLen(object, name, params[3] != 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
//native json_object_get_number(const JSON:object, const name[], bool:dotfunc = false);
|
//native json_object_get_number(const JSON:object, const name[], bool:dotfunc = false);
|
||||||
static cell AMX_NATIVE_CALL amxx_json_object_get_number(AMX *amx, cell *params)
|
static cell AMX_NATIVE_CALL amxx_json_object_get_number(AMX *amx, cell *params)
|
||||||
{
|
{
|
||||||
@ -739,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);
|
||||||
|
|
||||||
@ -913,13 +865,6 @@ static cell AMX_NATIVE_CALL amxx_json_serial_to_file(AMX *amx, cell *params)
|
|||||||
return JsonMngr->SerialToFile(value, path, params[3] != 0);
|
return JsonMngr->SerialToFile(value, path, params[3] != 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
//native json_set_escape_slashes(bool:escape_slashes = true);
|
|
||||||
static cell AMX_NATIVE_CALL amxx_json_set_escape_slashes(AMX *amx, cell *params)
|
|
||||||
{
|
|
||||||
JsonMngr->EscapeSlashes(params[1] != 0);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
AMX_NATIVE_INFO JsonNatives[] =
|
AMX_NATIVE_INFO JsonNatives[] =
|
||||||
{
|
{
|
||||||
{ "json_parse", amxx_json_parse },
|
{ "json_parse", amxx_json_parse },
|
||||||
@ -937,13 +882,11 @@ AMX_NATIVE_INFO JsonNatives[] =
|
|||||||
{ "json_deep_copy", amxx_json_deep_copy },
|
{ "json_deep_copy", amxx_json_deep_copy },
|
||||||
{ "json_free", amxx_json_free },
|
{ "json_free", amxx_json_free },
|
||||||
{ "json_get_string", amxx_json_get_string },
|
{ "json_get_string", amxx_json_get_string },
|
||||||
{ "json_get_string_len", amxx_json_get_string_len },
|
|
||||||
{ "json_get_number", amxx_json_get_number },
|
{ "json_get_number", amxx_json_get_number },
|
||||||
{ "json_get_real", amxx_json_get_real },
|
{ "json_get_real", amxx_json_get_real },
|
||||||
{ "json_get_bool", amxx_json_get_bool },
|
{ "json_get_bool", amxx_json_get_bool },
|
||||||
{ "json_array_get_value", amxx_json_array_get_value },
|
{ "json_array_get_value", amxx_json_array_get_value },
|
||||||
{ "json_array_get_string", amxx_json_array_get_string },
|
{ "json_array_get_string", amxx_json_array_get_string },
|
||||||
{ "json_array_get_string_len", amxx_json_array_get_string_len },
|
|
||||||
{ "json_array_get_count", amxx_json_array_get_count },
|
{ "json_array_get_count", amxx_json_array_get_count },
|
||||||
{ "json_array_get_number", amxx_json_array_get_number },
|
{ "json_array_get_number", amxx_json_array_get_number },
|
||||||
{ "json_array_get_real", amxx_json_array_get_real },
|
{ "json_array_get_real", amxx_json_array_get_real },
|
||||||
@ -964,7 +907,6 @@ AMX_NATIVE_INFO JsonNatives[] =
|
|||||||
{ "json_array_clear", amxx_json_array_clear },
|
{ "json_array_clear", amxx_json_array_clear },
|
||||||
{ "json_object_get_value", amxx_json_object_get_value },
|
{ "json_object_get_value", amxx_json_object_get_value },
|
||||||
{ "json_object_get_string", amxx_json_object_get_string },
|
{ "json_object_get_string", amxx_json_object_get_string },
|
||||||
{ "json_object_get_string_len", amxx_json_object_get_string_len },
|
|
||||||
{ "json_object_get_number", amxx_json_object_get_number },
|
{ "json_object_get_number", amxx_json_object_get_number },
|
||||||
{ "json_object_get_real", amxx_json_object_get_real },
|
{ "json_object_get_real", amxx_json_object_get_real },
|
||||||
{ "json_object_get_bool", amxx_json_object_get_bool },
|
{ "json_object_get_bool", amxx_json_object_get_bool },
|
||||||
@ -983,7 +925,6 @@ AMX_NATIVE_INFO JsonNatives[] =
|
|||||||
{ "json_serial_size", amxx_json_serial_size },
|
{ "json_serial_size", amxx_json_serial_size },
|
||||||
{ "json_serial_to_string", amxx_json_serial_to_string },
|
{ "json_serial_to_string", amxx_json_serial_to_string },
|
||||||
{ "json_serial_to_file", amxx_json_serial_to_file },
|
{ "json_serial_to_file", amxx_json_serial_to_file },
|
||||||
{ "json_set_escape_slashes", amxx_json_set_escape_slashes },
|
|
||||||
{ nullptr, nullptr }
|
{ nullptr, nullptr }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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',
|
||||||
|
@ -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:
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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']
|
||||||
|
|
||||||
|
@ -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:
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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',
|
||||||
|
@ -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 = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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++;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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',
|
||||||
]
|
]
|
||||||
|
@ -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',
|
||||||
|
@ -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 = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
@ -122,8 +122,7 @@ 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 );
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ( !pAttacker ) pAttacker = mPlayer;
|
if ( !pAttacker ) pAttacker = mPlayer;
|
||||||
|
@ -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
|
||||||
|
1637
plugins/admincmd.sma
1637
plugins/admincmd.sma
File diff suppressed because it is too large
Load Diff
@ -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++;
|
||||||
|
@ -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
|
||||||
{
|
{
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
}
|
}
|
||||||
|
@ -14,133 +14,110 @@
|
|||||||
#include <amxmodx>
|
#include <amxmodx>
|
||||||
#include <amxmisc>
|
#include <amxmisc>
|
||||||
|
|
||||||
const MAX_MSG_LEN = 384;
|
#define X_POS -1.0
|
||||||
const TASK_MSG = 12345;
|
#define Y_POS 0.20
|
||||||
|
#define HOLD_TIME 12.0
|
||||||
|
|
||||||
enum _:MessageInfo
|
new Array:g_Values
|
||||||
{
|
new Array:g_Messages
|
||||||
Message[MAX_MSG_LEN],
|
new g_MessagesNum
|
||||||
R,
|
new g_Current
|
||||||
G,
|
|
||||||
B
|
|
||||||
}
|
|
||||||
|
|
||||||
new Array:g_messages;
|
new amx_freq_imessage;
|
||||||
new g_messagesNum;
|
|
||||||
new g_hudObject;
|
|
||||||
new g_current;
|
|
||||||
|
|
||||||
new g_hostname[64];
|
|
||||||
new Float:g_amx_freq_imessage;
|
|
||||||
new Float:g_amx_imessage_x_pos;
|
|
||||||
new Float:g_amx_imessage_y_pos;
|
|
||||||
new Float:g_amx_imessage_holdtime;
|
|
||||||
new g_amx_imessage_only_dead;
|
|
||||||
|
|
||||||
public plugin_init()
|
public plugin_init()
|
||||||
{
|
{
|
||||||
register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team");
|
g_Messages=ArrayCreate(384);
|
||||||
register_srvcmd("amx_imessage", "setMessage", _, "<message> <color in RRRGGGBBB format>");
|
g_Values=ArrayCreate(3);
|
||||||
|
register_plugin("Info. Messages", AMXX_VERSION_STR, "AMXX Dev Team")
|
||||||
|
register_dictionary("imessage.txt")
|
||||||
|
register_dictionary("common.txt")
|
||||||
|
register_srvcmd("amx_imessage", "setMessage")
|
||||||
|
amx_freq_imessage=register_cvar("amx_freq_imessage", "10")
|
||||||
|
|
||||||
register_dictionary("imessage.txt");
|
new lastinfo[8]
|
||||||
register_dictionary("common.txt");
|
get_localinfo("lastinfomsg", lastinfo, charsmax(lastinfo))
|
||||||
|
g_Current = str_to_num(lastinfo)
|
||||||
g_messages = ArrayCreate(MessageInfo);
|
set_localinfo("lastinfomsg", "")
|
||||||
g_hudObject = CreateHudSyncObj();
|
|
||||||
|
|
||||||
bind_pcvar_num(create_cvar("amx_imessage_only_dead", "0", _, "Set to 1 to show info messages only to dead clients", true, 0.0, true, 1.0), g_amx_imessage_only_dead);
|
|
||||||
bind_pcvar_float(create_cvar("amx_freq_imessage", "180", _, "Frequency in seconds of info messages", true, 0.0), g_amx_freq_imessage);
|
|
||||||
bind_pcvar_float(create_cvar("amx_imessage_x_pos", "-1.0", _, "X position for info messages", true, -1.0, true, 1.0), g_amx_imessage_x_pos);
|
|
||||||
bind_pcvar_float(create_cvar("amx_imessage_y_pos", "0.2", _, "Y position for info messages", true, -1.0, true, 1.0), g_amx_imessage_y_pos);
|
|
||||||
bind_pcvar_float(create_cvar("amx_imessage_holdtime", "12.0", _, "Hold time for info messages", true, 0.0), g_amx_imessage_holdtime);
|
|
||||||
bind_pcvar_string(get_cvar_pointer("hostname"), g_hostname, charsmax(g_hostname));
|
|
||||||
|
|
||||||
new lastinfo[8];
|
|
||||||
get_localinfo("lastinfomsg", lastinfo, charsmax(lastinfo));
|
|
||||||
g_current = str_to_num(lastinfo);
|
|
||||||
set_localinfo("lastinfomsg", "");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public infoMessage()
|
public infoMessage()
|
||||||
{
|
{
|
||||||
|
if (g_Current >= g_MessagesNum)
|
||||||
|
g_Current = 0
|
||||||
|
|
||||||
// No messages, just get out of here
|
// No messages, just get out of here
|
||||||
if (!g_messagesNum)
|
if (g_MessagesNum==0)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// If the last message is reached, go back to the first one
|
new values[3];
|
||||||
if (g_current >= g_messagesNum)
|
new Message[384];
|
||||||
{
|
|
||||||
g_current = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static message[MessageInfo];
|
ArrayGetString(g_Messages, g_Current, Message, charsmax(Message));
|
||||||
ArrayGetArray(g_messages, g_current, message);
|
ArrayGetArray(g_Values, g_Current, values);
|
||||||
replace_stringex(message[Message], charsmax(message[Message]), "%hostname%", g_hostname);
|
|
||||||
|
|
||||||
set_hudmessage(message[R], message[G], message[B], g_amx_imessage_x_pos, g_amx_imessage_y_pos, 0, 0.5, g_amx_imessage_holdtime, 2.0, 2.0, -1);
|
new hostname[64];
|
||||||
|
|
||||||
if (g_amx_imessage_only_dead)
|
get_cvar_string("hostname", hostname, charsmax(hostname));
|
||||||
{
|
replace(Message, charsmax(Message), "%hostname%", hostname);
|
||||||
new players[MAX_PLAYERS], pnum;
|
|
||||||
get_players_ex(players, pnum, GetPlayers_ExcludeAlive);
|
|
||||||
|
|
||||||
for (new player, i; i < pnum; i++)
|
set_hudmessage(values[0], values[1], values[2], X_POS, Y_POS, 0, 0.5, HOLD_TIME, 2.0, 2.0, -1);
|
||||||
{
|
|
||||||
player = players[i];
|
|
||||||
|
|
||||||
ShowSyncHudMsg(player, g_hudObject, message[Message]);
|
show_hudmessage(0, "%s", Message);
|
||||||
console_print(player, message[Message]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ShowSyncHudMsg(0, g_hudObject, message[Message]);
|
|
||||||
console_print(0, message[Message]);
|
|
||||||
}
|
|
||||||
|
|
||||||
g_current++;
|
client_print(0, print_console, "%s", Message);
|
||||||
|
++g_Current;
|
||||||
|
|
||||||
if (g_amx_freq_imessage > 0.0)
|
new Float:freq_im = get_pcvar_float(amx_freq_imessage);
|
||||||
{
|
|
||||||
set_task(g_amx_freq_imessage, "infoMessage", TASK_MSG);
|
if (freq_im > 0.0)
|
||||||
}
|
set_task(freq_im, "infoMessage", 12345);
|
||||||
}
|
}
|
||||||
|
|
||||||
public setMessage()
|
public setMessage()
|
||||||
{
|
{
|
||||||
remove_task(TASK_MSG);
|
|
||||||
|
|
||||||
static message[MessageInfo];
|
new Message[384];
|
||||||
read_argv(1, message[Message], charsmax(message[Message]));
|
|
||||||
replace_string(message[Message], charsmax(message[Message]), "\n", "^n");
|
|
||||||
|
|
||||||
new fullcolor[10];
|
remove_task(12345)
|
||||||
read_argv(2, fullcolor, charsmax(fullcolor));
|
read_argv(1, Message, charsmax(Message))
|
||||||
|
|
||||||
message[B] = str_to_num(fullcolor[6]);
|
while (replace(Message, charsmax(Message), "\n", "^n")) {}
|
||||||
fullcolor[6] = 0;
|
|
||||||
|
|
||||||
message[G] = str_to_num(fullcolor[3]);
|
new mycol[12]
|
||||||
fullcolor[3] = 0;
|
new vals[3];
|
||||||
|
|
||||||
message[R] = str_to_num(fullcolor[0]);
|
read_argv(2, mycol, charsmax(mycol)) // RRRGGGBBB
|
||||||
fullcolor[0] = 0;
|
vals[2] = str_to_num(mycol[6])
|
||||||
|
|
||||||
g_messagesNum++;
|
mycol[6] = 0
|
||||||
ArrayPushArray(g_messages, message);
|
vals[1] = str_to_num(mycol[3])
|
||||||
|
|
||||||
if (g_amx_freq_imessage > 0.0)
|
mycol[3] = 0
|
||||||
{
|
vals[0] = str_to_num(mycol[0])
|
||||||
set_task(g_amx_freq_imessage, "infoMessage", TASK_MSG);
|
|
||||||
}
|
|
||||||
|
|
||||||
return PLUGIN_HANDLED;
|
g_MessagesNum++
|
||||||
|
|
||||||
|
new Float:freq_im = get_pcvar_float(amx_freq_imessage)
|
||||||
|
|
||||||
|
ArrayPushString(g_Messages, Message);
|
||||||
|
ArrayPushArray(g_Values, vals);
|
||||||
|
|
||||||
|
if (freq_im > 0.0)
|
||||||
|
set_task(freq_im, "infoMessage", 12345)
|
||||||
|
|
||||||
|
return PLUGIN_HANDLED
|
||||||
}
|
}
|
||||||
|
|
||||||
public plugin_end()
|
public plugin_end()
|
||||||
{
|
{
|
||||||
ArrayDestroy(g_messages);
|
new lastinfo[8]
|
||||||
set_localinfo("lastinfomsg", fmt("%i", g_current));
|
|
||||||
|
num_to_str(g_Current, lastinfo, charsmax(lastinfo))
|
||||||
|
set_localinfo("lastinfomsg", lastinfo)
|
||||||
|
|
||||||
|
ArrayDestroy(g_Messages)
|
||||||
|
ArrayDestroy(g_Values)
|
||||||
}
|
}
|
@ -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 */
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -228,16 +228,6 @@ native bool:json_free(&JSON:handle);
|
|||||||
*/
|
*/
|
||||||
native json_get_string(const JSON:value, buffer[], maxlen);
|
native json_get_string(const JSON:value, buffer[], maxlen);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets string data length.
|
|
||||||
*
|
|
||||||
* @param value JSON handle
|
|
||||||
*
|
|
||||||
* @return Length of string data
|
|
||||||
* @error If passed value is not a valid handle
|
|
||||||
*/
|
|
||||||
native json_get_string_len(const JSON:value);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a number.
|
* Gets a number.
|
||||||
*
|
*
|
||||||
@ -294,17 +284,6 @@ native JSON:json_array_get_value(const JSON:array, index);
|
|||||||
*/
|
*/
|
||||||
native json_array_get_string(const JSON:array, index, buffer[], maxlen);
|
native json_array_get_string(const JSON:array, index, buffer[], maxlen);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets string data length from the array.
|
|
||||||
*
|
|
||||||
* @param array Array handle
|
|
||||||
* @param index Position in the array (starting from 0)
|
|
||||||
*
|
|
||||||
* @return Length of string data from the array
|
|
||||||
* @error If passed handle is not a valid array
|
|
||||||
*/
|
|
||||||
native json_array_get_string_len(const JSON:array, index);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a number from the array.
|
* Gets a number from the array.
|
||||||
*
|
*
|
||||||
@ -540,21 +519,6 @@ native JSON:json_object_get_value(const JSON:object, const name[], bool:dot_not
|
|||||||
*/
|
*/
|
||||||
native json_object_get_string(const JSON:object, const name[], buffer[], maxlen, bool:dot_not = false);
|
native json_object_get_string(const JSON:object, const name[], buffer[], maxlen, bool:dot_not = false);
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets string data length from the object.
|
|
||||||
*
|
|
||||||
* @note If dot notation is used some values may be inaccessible
|
|
||||||
* because valid names in JSON can contain dots.
|
|
||||||
*
|
|
||||||
* @param object Object handle
|
|
||||||
* @param name Key name
|
|
||||||
* @param dot_not True to use dot notation, false to not
|
|
||||||
*
|
|
||||||
* @return Length of string data from the object
|
|
||||||
* @error If passed handle is not a valid object
|
|
||||||
*/
|
|
||||||
native json_object_get_string_len(const JSON:object, const name[], bool:dot_not = false);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a number from the object.
|
* Gets a number from the object.
|
||||||
*
|
*
|
||||||
@ -811,13 +775,3 @@ native json_serial_to_string(const JSON:value, buffer[], maxlen, bool:pretty = f
|
|||||||
* @error If passed handle is not a valid value
|
* @error If passed handle is not a valid value
|
||||||
*/
|
*/
|
||||||
native bool:json_serial_to_file(const JSON:value, const file[], bool:pretty = false);
|
native bool:json_serial_to_file(const JSON:value, const file[], bool:pretty = false);
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets if slashes should be escaped or not when serializing JSON. By default slashes are escaped.
|
|
||||||
*
|
|
||||||
* @note This function sets a global setting and is not thread safe.
|
|
||||||
*
|
|
||||||
* @param escape_slashes True to escape slashes, false to not
|
|
||||||
*/
|
|
||||||
native json_set_escape_slashes(bool:escape_slashes = true);
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
@ -98,21 +98,21 @@
|
|||||||
/** @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.
|
||||||
* menu - Menu resource identifier.
|
* menu - Menu resource identifier.
|
||||||
* item - Item the client selected. If less than 0, the menu was
|
* item - Item the client selected. If less than 0, the menu was
|
||||||
* cancelled and the item is a status code. menu_display
|
* cancelled and the item is a status code. menu_display
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* @param title Title the menu should use.
|
* @param title Title the menu should use.
|
||||||
* @param handler Name of the handler function. The function will be invoked
|
* @param handler Name of the handler function. The function will be invoked
|
||||||
@ -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,8 +307,8 @@ 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.
|
||||||
* @param slot 1 (default) if the line should shift the numbering down.
|
* @param slot 1 (default) if the line should shift the numbering down.
|
||||||
@ -319,10 +319,10 @@ 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.
|
||||||
* @param text Text to add.
|
* @param text Text to add.
|
||||||
@ -336,9 +336,11 @@ 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.
|
||||||
*
|
*
|
||||||
@ -351,9 +353,11 @@ 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.
|
||||||
|
@ -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:...)
|
||||||
|
@ -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]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -9,15 +9,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
||||||
BANNED = banned
|
BANNED = banned
|
||||||
REASON = reason
|
REASON = reason
|
||||||
FOR_MIN = for %d min
|
FOR_MIN = for %s min
|
||||||
PERM = permanently
|
PERM = permanently
|
||||||
CLIENT_BANNED = Client "%s" banned
|
CLIENT_BANNED = Client "%s" banned
|
||||||
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 = Client "%n" 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_SLAPPED = Client "%n" 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
|
||||||
@ -74,38 +74,6 @@ ADMIN_EXTEND_2 = ADMIN %s: extend map for %d minutes
|
|||||||
MAP_EXTENDED = Map "%s" has been extended for %d minutes
|
MAP_EXTENDED = Map "%s" has been extended for %d minutes
|
||||||
ADMIN_MUST_TEMPBAN = You can only temporarily ban players, for up to %d minutes
|
ADMIN_MUST_TEMPBAN = You can only temporarily ban players, for up to %d minutes
|
||||||
ADMIN_MUST_TEMPUNBAN = You can only unban players that you have recently banned
|
ADMIN_MUST_TEMPUNBAN = You can only unban players that you have recently banned
|
||||||
AMX_KICK_SYNTAX = <name or #userid> [reason]
|
|
||||||
AMX_BAN_SYNTAX = <name or #userid> <minutes> [reason]
|
|
||||||
AMX_BANIP_SYNTAX = <name or #userid> <minutes> [reason]
|
|
||||||
AMX_ADDBAN_SYNTAX = <"authid" or ip> <minutes> [reason]
|
|
||||||
AMX_UNBAN_SYNTAX = <"authid" or ip>
|
|
||||||
AMX_SLAY_SYNTAX = <name or #userid>
|
|
||||||
AMX_SLAP_SYNTAX = <name or #userid> [power]
|
|
||||||
AMX_LEAVE_SYNTAX = <tag> [tag] [tag] [tag]
|
|
||||||
AMX_PAUSE_SYNTAX = - pause or unpause the game
|
|
||||||
AMX_WHO_SYNTAX = - displays who is on server
|
|
||||||
AMX_CVAR_SYNTAX = <cvar> [value]
|
|
||||||
AMX_XVAR_SYNTAX = <xvar> [value]
|
|
||||||
AMX_PLUGINS_SYNTAX = [starting entry]
|
|
||||||
AMX_MODULES_SYNTAX = - displays loaded modules
|
|
||||||
AMX_MAP_SYNTAX = <mapname>
|
|
||||||
AMX_EXTENDMAP_SYNTAX = <number of minutes> - extend map
|
|
||||||
AMX_CFG_SYNTAX = <filename>
|
|
||||||
AMX_NICK_SYNTAX = <name or #userid> <new nick>
|
|
||||||
AMX_LAST_SYNTAX = shows info about the last few disconnected clients
|
|
||||||
AMX_RCON_SYNTAX = <command line>
|
|
||||||
ADMIN_KICK_CON = Client "%n" kicked
|
|
||||||
ADMIN_CANNOT_BAN = Cannot ban %s
|
|
||||||
ADMIN_BAN_ONLY_RECENT = You may only ban recently disconnected clients. Use "amx_last" to view
|
|
||||||
ADMIN_IP_ADDED = IP %s added to ban list
|
|
||||||
ADMIN_AUTHID_ADDED = AuthID %s added to ban list
|
|
||||||
MODULE_RUNNING = running
|
|
||||||
MODULE_BAD_LOAD = bad load
|
|
||||||
MODULE_UNKNOWN = unknown
|
|
||||||
ADMIN_CFG_CON = Executing file %s
|
|
||||||
ADMIN_PAUSE_CON = Server PAUSED
|
|
||||||
ADMIN_UNPAUSE_CON = Server UNPAUSED
|
|
||||||
ADMIN_OLD_CONNS_SAVED = %d old connections saved
|
|
||||||
|
|
||||||
[de]
|
[de]
|
||||||
ADMIN_KICK_1 = ADMIN: kickt %s
|
ADMIN_KICK_1 = ADMIN: kickt %s
|
||||||
@ -123,10 +91,10 @@ PERM = für immer
|
|||||||
CLIENT_BANNED = Spieler "%s" gebannt
|
CLIENT_BANNED = Spieler "%s" gebannt
|
||||||
ADMIN_SLAY_1 = ADMIN: killt %s
|
ADMIN_SLAY_1 = ADMIN: killt %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: killt %s
|
ADMIN_SLAY_2 = ADMIN %s: killt %s
|
||||||
CLIENT_SLAYED = Spieler "%n" wurde gekillt
|
CLIENT_SLAYED = Spieler "%s" wurde gekillt
|
||||||
ADMIN_SLAP_1 = ADMIN: schlägt %s mit %d Schaden
|
ADMIN_SLAP_1 = ADMIN: schlägt %s mit %d Schaden
|
||||||
ADMIN_SLAP_2 = ADMIN %s: schlägt %s mit %d Schaden
|
ADMIN_SLAP_2 = ADMIN %s: schlägt %s mit %d Schaden
|
||||||
CLIENT_SLAPPED = Spieler "%n" wurde mit %d Schaden geschlagen
|
CLIENT_SLAPED = Spieler "%s" wurde mit %d Schaden geschlagen
|
||||||
MAP_NOT_FOUND = Diese Map ist nicht vorhanden oder unzulässig
|
MAP_NOT_FOUND = Diese Map ist nicht vorhanden oder unzulässig
|
||||||
ADMIN_MAP_1 = ADMIN: wechselt zur Map %s
|
ADMIN_MAP_1 = ADMIN: wechselt zur Map %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: wechselt zur Map %s
|
ADMIN_MAP_2 = ADMIN %s: wechselt zur Map %s
|
||||||
@ -193,15 +161,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
||||||
BANNED = banovan
|
BANNED = banovan
|
||||||
REASON = razlog
|
REASON = razlog
|
||||||
FOR_MIN = na %d min
|
FOR_MIN = na %s min
|
||||||
PERM = za stalno
|
PERM = za stalno
|
||||||
CLIENT_BANNED = Klijent "%s" je banovan
|
CLIENT_BANNED = Klijent "%s" je banovan
|
||||||
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 = Klijent "%n" slayed
|
CLIENT_SLAYED = Klijent "%s" slayed
|
||||||
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
|
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
|
||||||
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
|
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
|
||||||
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
|
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
|
||||||
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
||||||
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
|
||||||
@ -258,79 +226,82 @@ ADMIN_EXTEND_2 = ADMIN %s: produziti mapu za %d minuta
|
|||||||
MAP_EXTENDED = Mapa "%s" je produzena za %d minuta
|
MAP_EXTENDED = Mapa "%s" je produzena za %d minuta
|
||||||
|
|
||||||
[tr]
|
[tr]
|
||||||
ADMIN_KICK_1 = ADMIN: at %s
|
ADMIN_KICK_1 = ADMIN, %s kisisini atti
|
||||||
ADMIN_KICK_2 = ADMIN %s: at %s
|
ADMIN_KICK_2 = ADMIN %s, %s kisisini atti
|
||||||
IP_REMOVED = Ip "%s" ban listesinden silindi
|
IP_REMOVED = Ip "%s" ban listesinden kaldirildi
|
||||||
AUTHID_REMOVED = Authid "%s" ban listesinden silindi
|
AUTHID_REMOVED = Authid "%s" ban listesinden kaldirildi
|
||||||
ADMIN_UNBAN_1 = ADMIN: ban kalkdi %s
|
ADMIN_UNBAN_1 = ADMIN, %s kisisinin banini kaldirdi
|
||||||
ADMIN_UNBAN_2 = ADMIN %s: ban kalkdi %s
|
ADMIN_UNBAN_2 = ADMIN %s, %s kisisinin banini kaldirdi
|
||||||
ADMIN_ADDBAN_1 = ADMIN: banla %s
|
ADMIN_ADDBAN_1 = ADMIN, %s kisisini banladi
|
||||||
ADMIN_ADDBAN_2 = ADMIN %s: banla %s
|
ADMIN_ADDBAN_2 = ADMIN %s, %s kisisini banladi
|
||||||
BANNED = banlandi
|
BANNED = banlandi
|
||||||
REASON = Neden
|
REASON = neden
|
||||||
FOR_MIN = %d dakika ban
|
FOR_MIN = %s dakika
|
||||||
PERM = suresiz
|
PERM = kalici olarak
|
||||||
CLIENT_BANNED = Oyuncu "%s" banlandi
|
CLIENT_BANNED = Kullanici "%s" banlandi
|
||||||
ADMIN_SLAY_1 = ADMIN: oldurdu %s
|
ADMIN_SLAY_1 = ADMIN, %s kisisini oldurdu
|
||||||
ADMIN_SLAY_2 = ADMIN %s: oldurdu %s
|
ADMIN_SLAY_2 = ADMIN %s, %s kisisini oldurdu
|
||||||
CLIENT_SLAYED = Oyuncu "%n" olduruldu
|
CLIENT_SLAYED = Kullanici "%s" olduruldu
|
||||||
ADMIN_SLAP_1 = ADMIN: %s tokatla verilen zarar %d
|
ADMIN_SLAP_1 = ADMIN, %s kisisini %d hasarla tokatladi
|
||||||
ADMIN_SLAP_2 = ADMIN %s: %s tokatla verilen zarar %d
|
ADMIN_SLAP_2 = ADMIN %s, %s kisini %d hasarla tokatladi
|
||||||
CLIENT_SLAPPED = Oyuncu "%n" tokatlandi %d zarar ile
|
CLIENT_SLAPED = Kullanici "%s" %d zarar ile tokatlandi
|
||||||
MAP_NOT_FOUND = Map ismi bulunamadi yada mevcud degildir
|
MAP_NOT_FOUND = O isimde bir harita bulunamadi yada harita gecersizdir
|
||||||
ADMIN_MAP_1 = ADMIN: %s mapina degisdirdi
|
ADMIN_MAP_1 = ADMIN, haritayi %s olarak degistirdi
|
||||||
ADMIN_MAP_2 = ADMIN %s: %s mapina degisdirdi
|
ADMIN_MAP_2 = ADMIN %s, haritayi %s olarak degistirdi
|
||||||
NO_MORE_CVARS = Rcon'a daha cvar ekliyemiyorsunuz!
|
NO_MORE_CVARS = Rcon erisimi icin daha fazla cvar eklenemiyor
|
||||||
UNKNOWN_CVAR = Bilinmeyen cvar: %s
|
UNKNOWN_CVAR = Bilinmeyen cvar: %s
|
||||||
UNKNOWN_XVAR = Bilinmeyen xvar: %s
|
UNKNOWN_XVAR = Bilinmeyen xvar: %s
|
||||||
CVAR_NO_ACC = O cvar'a giris hakkiniz yok
|
CVAR_NO_ACC = O cvara erisim hakkiniz yok
|
||||||
XVAR_NO_ACC = O xvar'a giris hakkiniz yok
|
XVAR_NO_ACC = O xvara erisim hakkiniz yok
|
||||||
CVAR_IS = Cvar "%s" budur "%s"
|
CVAR_IS = Cvar "%s" budur "%s"
|
||||||
XVAR_IS = Xvar "%s" budur "%s"
|
XVAR_IS = Xvar "%s" budur "%s"
|
||||||
PROTECTED = GUVENLI
|
PROTECTED = KORUMALI
|
||||||
SET_CVAR_TO = %s cvar ayari %s onaylandi "%s"
|
SET_CVAR_TO = %s %s cvarini "%s" olarak degistirdi
|
||||||
SET_XVAR_TO = %s xvar ayari %s onaylandi "%s"
|
SET_XVAR_TO = %s %s xvarini "%s" olarak degistirdi
|
||||||
CVAR_CHANGED = Cvar "%s" degisimi "%s" tamamlandi
|
CVAR_CHANGED = Cvar "%s" "%s" olarak degistirildi
|
||||||
XVAR_CHANGED = Xvar "%s" degisimi "%s" tamamlandi
|
XVAR_CHANGED = Xvar "%s" "%s" olarak degistirildi
|
||||||
LOADED_PLUGINS = Su anki yuklenen Plugin'ler
|
LOADED_PLUGINS = Suanda yuklenen eklentiler
|
||||||
NAME = isim
|
NAME = isim
|
||||||
VERSION = versiyon
|
VERSION = versiyon
|
||||||
AUTHOR = ureten
|
AUTHOR = yaratici
|
||||||
FILE = dosya
|
FILE = dosya
|
||||||
STATUS = durum
|
STATUS = statu
|
||||||
PLUGINS_RUN = %d plugin, %d calisiyor
|
PLUGINS_RUN = %d eklenti, %d tanesi calisiyor
|
||||||
LOADED_MODULES = Su anki yuklenen module'ler
|
LOADED_MODULES = Suanda yuklenen moduller
|
||||||
NUM_MODULES = %d module'ler
|
NUM_MODULES = %d modul
|
||||||
FILE_NOT_FOUND = "%s" Dosya bulunamadi
|
FILE_NOT_FOUND = "%s" dosyasi bulunamadi
|
||||||
ADMIN_CONF_1 = ADMIN: %s Config dosyasi acildi
|
ADMIN_CONF_1 = ADMIN, %s configini gerceklestirdi
|
||||||
ADMIN_CONF_2 = ADMIN %s: %s Config dosyasi acildi
|
ADMIN_CONF_2 = ADMIN %s, %s configini gerceklestirdi
|
||||||
PAUSED = Gecici olarak durduruldu
|
PAUSED = durduruldu
|
||||||
UNPAUSED = Tekrar baslatildi
|
UNPAUSED = devam ettirildi
|
||||||
UNABLE_PAUSE = Server gecici olarak durdurulamadi. Serverde gercek oyuncu gerek.
|
UNABLE_PAUSE = Server oyunu durdurmak icin musait degildi. Serverde gercek oyuncular gerekli.
|
||||||
SERVER_PROC = Server devami %s
|
SERVER_PROC = Server devami %s
|
||||||
PAUSING = Gecici olarak durduruldu
|
PAUSING = durduruluyor
|
||||||
UNPAUSING = Tekrar baslatildi
|
UNPAUSING = tekrar baslatiliyor
|
||||||
PAUSE = durdur
|
PAUSE = durdur
|
||||||
UNPAUSE = baslat
|
UNPAUSE = tekrar baslat
|
||||||
COM_SENT_SERVER = Emir "%s" server consoluna gonderildi
|
COM_SENT_SERVER = Komut satiri "%s" server konsoluna gonderildi
|
||||||
CLIENTS_ON_SERVER = Serverde olan oyuncular
|
CLIENTS_ON_SERVER = Serverdeki kullanicilar
|
||||||
IMMU = dokunulmaz
|
IMMU = dokunulmazlik
|
||||||
RESERV = reservasyon
|
RESERV = reservasyon
|
||||||
ACCESS = giris
|
ACCESS = erisim
|
||||||
TOTAL_NUM = Tam %d
|
TOTAL_NUM = Toplam %d
|
||||||
SKIP_MATCH = "%s" kullanilamiyor (benzeri ise "%s")
|
SKIP_MATCH = "%s" atlaniyor ("%s" eslesiyor)
|
||||||
SKIP_IMM = "%s" kullanilamiyor (dokunulmazlik)
|
SKIP_IMM = "%s" atlaniyor (dokunulmazlik)
|
||||||
KICK_PL = "%s" atin
|
KICK_PL = "%s" atiliyor
|
||||||
YOU_DROPPED = Sadece ozel gurupa mevcud oldugu icin atildiniz
|
YOU_DROPPED = Adminin sadece belirli kullanici gruplarini birakmasindan dolayi dusuruldunuz
|
||||||
KICKED_CLIENTS = %d oyuncular atildi
|
KICKED_CLIENTS = %d kullanici atildi
|
||||||
ADMIN_LEAVE_1 = ADMIN: %s %s %s %s gitdi
|
ADMIN_LEAVE_1 = ADMIN, %s %s %s %s kisilerini birakti
|
||||||
ADMIN_LEAVE_2 = ADMIN %s: %s %s %s %s gitdi
|
ADMIN_LEAVE_2 = ADMIN %s, %s %s %s %s kisilerini birakti
|
||||||
ADMIN_NICK_1 = ADMIN: %s kisinin ismini buna degisdirdi "%s"
|
ADMIN_NICK_1 = ADMIN, %s kisinin ismini "%s" olarak degistirdi
|
||||||
ADMIN_NICK_2 = ADMIN %s: %s kisinin ismini buna degisdirdi "%s"
|
ADMIN_NICK_2 = ADMIN %s, %s kisinin ismini "%s" olarak degistirdi
|
||||||
CHANGED_NICK = %s kisinin nickini buna degisdirdi "%s"
|
CHANGED_NICK = %s kisinin ismi, "%s" olarak degistirildi
|
||||||
ADMIN_EXTEND_1 = ADMIN: haritayi %d dakika uzatti
|
ADMIN_EXTEND_1 = ADMIN, haritayi %d dakika uzatti
|
||||||
ADMIN_EXTEND_2 = ADMIN %s: haritayi %d dakika uzatti
|
ADMIN_EXTEND_2 = ADMIN %s, haritayi %d dakika uzatti
|
||||||
MAP_EXTENDED = Harita "%s" %d dakika uzatildi
|
MAP_EXTENDED = Harita "%s" %d dakika uzatildi
|
||||||
|
ADMIN_MUST_TEMPBAN = Oyunculari sadece gecici olarak banlayabilirsin, %d dakikaya kadar
|
||||||
|
ADMIN_MUST_TEMPUNBAN = Sadece yakinlarda banladigin oyuncularin banini kaldirabilirsin
|
||||||
|
|
||||||
|
|
||||||
[fr]
|
[fr]
|
||||||
ADMIN_KICK_1 = ADMIN: kick %s
|
ADMIN_KICK_1 = ADMIN: kick %s
|
||||||
@ -343,15 +314,15 @@ ADMIN_ADDBAN_1 = ADMIN: banni %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: banni %s
|
ADMIN_ADDBAN_2 = ADMIN %s: banni %s
|
||||||
BANNED = a ete banni
|
BANNED = a ete banni
|
||||||
REASON = raison
|
REASON = raison
|
||||||
FOR_MIN = pour %d mn
|
FOR_MIN = pour %s mn
|
||||||
PERM = a vie (permanent)
|
PERM = a vie (permanent)
|
||||||
CLIENT_BANNED = Client "%s" a ete banni
|
CLIENT_BANNED = Client "%s" a ete banni
|
||||||
ADMIN_SLAY_1 = ADMIN: foudroie %s
|
ADMIN_SLAY_1 = ADMIN: foudroie %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: foudroie %s
|
ADMIN_SLAY_2 = ADMIN %s: foudroie %s
|
||||||
CLIENT_SLAYED = Client "%n" a ete foudroye
|
CLIENT_SLAYED = Client "%s" a ete foudroye
|
||||||
ADMIN_SLAP_1 = ADMIN: frappe %s avec %d points de degat
|
ADMIN_SLAP_1 = ADMIN: frappe %s avec %d points de degat
|
||||||
ADMIN_SLAP_2 = ADMIN %s: frappe %s avec %d points de degat
|
ADMIN_SLAP_2 = ADMIN %s: frappe %s avec %d points de degat
|
||||||
CLIENT_SLAPPED = Client "%n" a ete frappe avec %d points de degat
|
CLIENT_SLAPED = Client "%s" a ete frappe avec %d points de degat
|
||||||
MAP_NOT_FOUND = La carte avec ce nom n'a pas ete trouvee, ou le nom n'est pas valide
|
MAP_NOT_FOUND = La carte avec ce nom n'a pas ete trouvee, ou le nom n'est pas valide
|
||||||
ADMIN_MAP_1 = ADMIN: a change la carte pour %s
|
ADMIN_MAP_1 = ADMIN: a change la carte pour %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: a change la carte pour %s
|
ADMIN_MAP_2 = ADMIN %s: a change la carte pour %s
|
||||||
@ -418,15 +389,15 @@ ADMIN_ADDBAN_1 = ADMIN: bannlys %ss
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: bannlys %ss
|
ADMIN_ADDBAN_2 = ADMIN %s: bannlys %ss
|
||||||
BANNED = bannlyst
|
BANNED = bannlyst
|
||||||
REASON = orsak
|
REASON = orsak
|
||||||
FOR_MIN = i %d minuter
|
FOR_MIN = i %s minuter
|
||||||
PERM = permanent
|
PERM = permanent
|
||||||
CLIENT_BANNED = Klient "%s" bannlyst
|
CLIENT_BANNED = Klient "%s" bannlyst
|
||||||
ADMIN_SLAY_1 = ADMIN: slakta %s
|
ADMIN_SLAY_1 = ADMIN: slakta %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: slakta %s
|
ADMIN_SLAY_2 = ADMIN %s: slakta %s
|
||||||
CLIENT_SLAYED = Klient "%n" slaktad
|
CLIENT_SLAYED = Klient "%s" slaktad
|
||||||
ADMIN_SLAP_1 = ADMIN: smiska %s med %d skada
|
ADMIN_SLAP_1 = ADMIN: smiska %s med %d skada
|
||||||
ADMIN_SLAP_2 = ADMIN %s: smiska %s med %d skada
|
ADMIN_SLAP_2 = ADMIN %s: smiska %s med %d skada
|
||||||
CLIENT_SLAPPED = Klient "%n" smiskad med %d skada
|
CLIENT_SLAPED = Klient "%s" smiskad med %d skada
|
||||||
MAP_NOT_FOUND = Kan inte hitta karta med det namnet eller felaktig karta
|
MAP_NOT_FOUND = Kan inte hitta karta med det namnet eller felaktig karta
|
||||||
ADMIN_MAP_1 = ADMIN: byt karta %s
|
ADMIN_MAP_1 = ADMIN: byt karta %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: byt karta %s
|
ADMIN_MAP_2 = ADMIN %s: byt karta %s
|
||||||
@ -493,15 +464,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
||||||
BANNED = banned
|
BANNED = banned
|
||||||
REASON = grund
|
REASON = grund
|
||||||
FOR_MIN = for %d min
|
FOR_MIN = for %s min
|
||||||
PERM = permanent
|
PERM = permanent
|
||||||
CLIENT_BANNED = klient "%s" banned
|
CLIENT_BANNED = klient "%s" banned
|
||||||
ADMIN_SLAY_1 = ADMIN: draeb %s
|
ADMIN_SLAY_1 = ADMIN: draeb %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: draeb %s
|
ADMIN_SLAY_2 = ADMIN %s: draeb %s
|
||||||
CLIENT_SLAYED = Klient "%n" draebt
|
CLIENT_SLAYED = Klient "%s" draebt
|
||||||
ADMIN_SLAP_1 = ADMIN: klaps %s med %d skade
|
ADMIN_SLAP_1 = ADMIN: klaps %s med %d skade
|
||||||
ADMIN_SLAP_2 = ADMIN %s: klaps %s med %d skade
|
ADMIN_SLAP_2 = ADMIN %s: klaps %s med %d skade
|
||||||
CLIENT_SLAPPED = Klient "%n" klapset med %d skade
|
CLIENT_SLAPED = Klient "%s" klapset med %d skade
|
||||||
MAP_NOT_FOUND = Bane med det navn blev ikke fundet eller banen er ugyldig
|
MAP_NOT_FOUND = Bane med det navn blev ikke fundet eller banen er ugyldig
|
||||||
ADMIN_MAP_1 = ADMIN: Skift bane %s
|
ADMIN_MAP_1 = ADMIN: Skift bane %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: Skift bane %s
|
ADMIN_MAP_2 = ADMIN %s: Skift bane %s
|
||||||
@ -568,15 +539,15 @@ ADMIN_ADDBAN_1 = ADMIN: baniu %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: baniu %s
|
ADMIN_ADDBAN_2 = ADMIN %s: baniu %s
|
||||||
BANNED = banido
|
BANNED = banido
|
||||||
REASON = motivo
|
REASON = motivo
|
||||||
FOR_MIN = por %d minutos
|
FOR_MIN = por %s minutos
|
||||||
PERM = permanentemente
|
PERM = permanentemente
|
||||||
CLIENT_BANNED = Cliente "%s" banido
|
CLIENT_BANNED = Cliente "%s" 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 = Cliente "%n" foi morto
|
CLIENT_SLAYED = Cliente "%s" foi morto
|
||||||
ADMIN_SLAP_1 = ADMIN: deu tapa em %s com dano de %d
|
ADMIN_SLAP_1 = ADMIN: deu tapa em %s com dano de %d
|
||||||
ADMIN_SLAP_2 = ADMIN %s: deu tapa em %s com dano de %d
|
ADMIN_SLAP_2 = ADMIN %s: deu tapa em %s com dano de %d
|
||||||
CLIENT_SLAPPED = Cliente "%n" levou tapa com dano de %d
|
CLIENT_SLAPED = Cliente "%s" levou tapa com dano de %d
|
||||||
MAP_NOT_FOUND = Mapa com nome nao encontrado ou mapa invalido
|
MAP_NOT_FOUND = Mapa com nome nao encontrado ou mapa invalido
|
||||||
ADMIN_MAP_1 = ADMIN: mudou para %s
|
ADMIN_MAP_1 = ADMIN: mudou para %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: mudou para %s
|
ADMIN_MAP_2 = ADMIN %s: mudou para %s
|
||||||
@ -643,15 +614,15 @@ ADMIN_ADDBAN_1 = Admin zbanowal %s
|
|||||||
ADMIN_ADDBAN_2 = Admin %s zbanowal %s
|
ADMIN_ADDBAN_2 = Admin %s zbanowal %s
|
||||||
BANNED = zbanowany
|
BANNED = zbanowany
|
||||||
REASON = przyczyna
|
REASON = przyczyna
|
||||||
FOR_MIN = na %d min
|
FOR_MIN = na %s min
|
||||||
PERM = permanentnie
|
PERM = permanentnie
|
||||||
CLIENT_BANNED = Gracz "%s" zbanowany
|
CLIENT_BANNED = Gracz "%s" zbanowany
|
||||||
ADMIN_SLAY_1 = Admin zgladzil %s
|
ADMIN_SLAY_1 = Admin zgladzil %s
|
||||||
ADMIN_SLAY_2 = Admin %s zgladzil %s
|
ADMIN_SLAY_2 = Admin %s zgladzil %s
|
||||||
CLIENT_SLAYED = Gracz "%n" zgladzony
|
CLIENT_SLAYED = Gracz "%s" zgladzony
|
||||||
ADMIN_SLAP_1 = Admin uderzyl %s zadajac %d obrazen
|
ADMIN_SLAP_1 = Admin uderzyl %s zadajac %d obrazen
|
||||||
ADMIN_SLAP_2 = Admin %s uderzyl %s zadajac %d obrazen
|
ADMIN_SLAP_2 = Admin %s uderzyl %s zadajac %d obrazen
|
||||||
CLIENT_SLAPPED = Gracz "%n" zostal uderzony z sila %d obrazen
|
CLIENT_SLAPED = Gracz "%s" zostal uderzony z sila %d obrazen
|
||||||
MAP_NOT_FOUND = Nie ma takiej mapy!
|
MAP_NOT_FOUND = Nie ma takiej mapy!
|
||||||
ADMIN_MAP_1 = Admin zmienia mape na %s
|
ADMIN_MAP_1 = Admin zmienia mape na %s
|
||||||
ADMIN_MAP_2 = Admin %s zmienia mape na %s
|
ADMIN_MAP_2 = Admin %s zmienia mape na %s
|
||||||
@ -718,15 +689,15 @@ ADMIN_ADDBAN_1 = ADMIN: verban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: verban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: verban %s
|
||||||
BANNED = verbannen
|
BANNED = verbannen
|
||||||
REASON = reden
|
REASON = reden
|
||||||
FOR_MIN = voor %d minuten
|
FOR_MIN = voor %s minuten
|
||||||
PERM = permanent
|
PERM = permanent
|
||||||
CLIENT_BANNED = Speler "%s" verbannen
|
CLIENT_BANNED = Speler "%s" verbannen
|
||||||
ADMIN_SLAY_1 = ADMIN: slacht %s
|
ADMIN_SLAY_1 = ADMIN: slacht %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: slacht %s
|
ADMIN_SLAY_2 = ADMIN %s: slacht %s
|
||||||
CLIENT_SLAYED = Speler "%n" geslacht
|
CLIENT_SLAYED = Speler "%s" geslacht
|
||||||
ADMIN_SLAP_1 = ADMIN: slaat %s met %d schade
|
ADMIN_SLAP_1 = ADMIN: slaat %s met %d schade
|
||||||
ADMIN_SLAP_2 = ADMIN %s: slaat %s met %d schade
|
ADMIN_SLAP_2 = ADMIN %s: slaat %s met %d schade
|
||||||
CLIENT_SLAPPED = Speler "%n" geslagen met %d schade
|
CLIENT_SLAPED = Speler "%s" geslagen met %d schade
|
||||||
MAP_NOT_FOUND = Map met die naam niet gevonden of de map is ongeldig
|
MAP_NOT_FOUND = Map met die naam niet gevonden of de map is ongeldig
|
||||||
ADMIN_MAP_1 = ADMIN: verander map naar %s
|
ADMIN_MAP_1 = ADMIN: verander map naar %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: verander map naar %s
|
ADMIN_MAP_2 = ADMIN %s: verander map naar %s
|
||||||
@ -793,15 +764,15 @@ ADMIN_ADDBAN_1 = ADMIN: %s baneado
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: %s baneado
|
ADMIN_ADDBAN_2 = ADMIN %s: %s baneado
|
||||||
BANNED = baneado
|
BANNED = baneado
|
||||||
REASON = motivo
|
REASON = motivo
|
||||||
FOR_MIN = por %d minutos
|
FOR_MIN = por %s minutos
|
||||||
PERM = permanentemente
|
PERM = permanentemente
|
||||||
CLIENT_BANNED = El cliente "%s" ha sido baneado
|
CLIENT_BANNED = El cliente "%s" ha sido baneado
|
||||||
ADMIN_SLAY_1 = ADMIN: %s asesinado
|
ADMIN_SLAY_1 = ADMIN: %s asesinado
|
||||||
ADMIN_SLAY_2 = ADMIN %s: %s asesinado
|
ADMIN_SLAY_2 = ADMIN %s: %s asesinado
|
||||||
CLIENT_SLAYED = El cliente "%n" ha sido asesinado
|
CLIENT_SLAYED = El cliente "%s" ha sido asesinado
|
||||||
ADMIN_SLAP_1 = ADMIN: %s ha sido bofeteado con %d de danyo
|
ADMIN_SLAP_1 = ADMIN: %s ha sido bofeteado con %d de danyo
|
||||||
ADMIN_SLAP_2 = ADMIN %s: %s ha sido bofeteado con %d de danyo
|
ADMIN_SLAP_2 = ADMIN %s: %s ha sido bofeteado con %d de danyo
|
||||||
CLIENT_SLAPPED = Has pegado al cliente "%n" con %d de danyo
|
CLIENT_SLAPED = Has pegado al cliente "%s" con %d de danyo
|
||||||
MAP_NOT_FOUND = No se encontro ningun mapa con ese nombre o el mapa es invalido
|
MAP_NOT_FOUND = No se encontro ningun mapa con ese nombre o el mapa es invalido
|
||||||
ADMIN_MAP_1 = ADMIN: cambiando a %s
|
ADMIN_MAP_1 = ADMIN: cambiando a %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: cambiando a %s
|
ADMIN_MAP_2 = ADMIN %s: cambiando a %s
|
||||||
@ -868,15 +839,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
||||||
BANNED = zabanovan
|
BANNED = zabanovan
|
||||||
REASON = duvod
|
REASON = duvod
|
||||||
FOR_MIN = na %d minut
|
FOR_MIN = na %s minut
|
||||||
PERM = permanentne
|
PERM = permanentne
|
||||||
CLIENT_BANNED = Klient "%s" zabanovan
|
CLIENT_BANNED = Klient "%s" zabanovan
|
||||||
ADMIN_SLAY_1 = ADMIN: zabil %s
|
ADMIN_SLAY_1 = ADMIN: zabil %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: zabili %s
|
ADMIN_SLAY_2 = ADMIN %s: zabili %s
|
||||||
CLIENT_SLAYED = Klient "%n" byl zabit
|
CLIENT_SLAYED = Klient "%s" byl zabit
|
||||||
ADMIN_SLAP_1 = ADMIN: placnul %s za %d damage
|
ADMIN_SLAP_1 = ADMIN: placnul %s za %d damage
|
||||||
ADMIN_SLAP_2 = ADMIN %s: placnul %s za %d damage
|
ADMIN_SLAP_2 = ADMIN %s: placnul %s za %d damage
|
||||||
CLIENT_SLAPPED = Klient "%n" dostal facku za %d damage
|
CLIENT_SLAPED = Klient "%s" dostal facku za %d damage
|
||||||
MAP_NOT_FOUND = Mapa s takovym jmenem nenalezena
|
MAP_NOT_FOUND = Mapa s takovym jmenem nenalezena
|
||||||
ADMIN_MAP_1 = ADMIN: zmenil level na %s
|
ADMIN_MAP_1 = ADMIN: zmenil level na %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: zmenili level na %s
|
ADMIN_MAP_2 = ADMIN %s: zmenili level na %s
|
||||||
@ -943,15 +914,15 @@ ADMIN_ADDBAN_1 = ADMIN: bannasi %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: bannasi %s
|
ADMIN_ADDBAN_2 = ADMIN %s: bannasi %s
|
||||||
BANNED = bannittu
|
BANNED = bannittu
|
||||||
REASON = syy
|
REASON = syy
|
||||||
FOR_MIN = %d minuutiksi
|
FOR_MIN = %s minuutiksi
|
||||||
PERM = pysyvasti
|
PERM = pysyvasti
|
||||||
CLIENT_BANNED = Clinu "%s" bannattiin
|
CLIENT_BANNED = Clinu "%s" bannattiin
|
||||||
ADMIN_SLAY_1 = ADMIN: slayasi %s
|
ADMIN_SLAY_1 = ADMIN: slayasi %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: slayasi %s
|
ADMIN_SLAY_2 = ADMIN %s: slayasi %s
|
||||||
CLIENT_SLAYED = Client "%n" slayattiin
|
CLIENT_SLAYED = Client "%s" slayattiin
|
||||||
ADMIN_SLAP_1 = ADMIN: slappasi %s %d damagella
|
ADMIN_SLAP_1 = ADMIN: slappasi %s %d damagella
|
||||||
ADMIN_SLAP_2 = ADMIN %s: slappasi %s %d damagella
|
ADMIN_SLAP_2 = ADMIN %s: slappasi %s %d damagella
|
||||||
CLIENT_SLAPPED = Client "%n" slapattiin %d damagella
|
CLIENT_SLAPED = Client "%s" slapattiin %d damagella
|
||||||
MAP_NOT_FOUND = Mappia ei loytynyt tai nimi on vaarin
|
MAP_NOT_FOUND = Mappia ei loytynyt tai nimi on vaarin
|
||||||
ADMIN_MAP_1 = ADMIN: vaihtoi mapin: %s
|
ADMIN_MAP_1 = ADMIN: vaihtoi mapin: %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: vaihtoi mapin: %s
|
ADMIN_MAP_2 = ADMIN %s: vaihtoi mapin: %s
|
||||||
@ -1017,15 +988,15 @@ ADMIN_UNBAN_2 = ADMINISTRATOR %s: unbanna %s
|
|||||||
ADMIN_ADDBAN_1 = ADMINISTRATOR: banna %s
|
ADMIN_ADDBAN_1 = ADMINISTRATOR: banna %s
|
||||||
ADMIN_ADDBAN_2 = ADMINISTRATOR %s: banna %s
|
ADMIN_ADDBAN_2 = ADMINISTRATOR %s: banna %s
|
||||||
BANNED = banna
|
BANNED = banna
|
||||||
FOR_MIN = za %d minuti
|
FOR_MIN = za %s minuti
|
||||||
PERM = zavinagi
|
PERM = zavinagi
|
||||||
CLIENT_BANNED = Igrachut "%s" e bannat
|
CLIENT_BANNED = Igrachut "%s" e bannat
|
||||||
ADMIN_SLAY_1 = ADMINISTRATOR: slayna %s
|
ADMIN_SLAY_1 = ADMINISTRATOR: slayna %s
|
||||||
ADMIN_SLAY_2 = ADMINISTRATOR %s: slayna %s
|
ADMIN_SLAY_2 = ADMINISTRATOR %s: slayna %s
|
||||||
CLIENT_SLAYED = Igrachut "%n" e slaynat
|
CLIENT_SLAYED = Igrachut "%s" e slaynat
|
||||||
ADMIN_SLAP_1 = ADMINISTRATOR: slapna %s s %d shteta
|
ADMIN_SLAP_1 = ADMINISTRATOR: slapna %s s %d shteta
|
||||||
ADMIN_SLAP_2 = ADMINISTRATOR %s: slapna %s s %d shteta
|
ADMIN_SLAP_2 = ADMINISTRATOR %s: slapna %s s %d shteta
|
||||||
CLIENT_SLAPPED = Igrachut "%n" e slapnat s %d shteta
|
CLIENT_SLAPED = Igrachut "%s" e slapnat s %d shteta
|
||||||
MAP_NOT_FOUND = Karta s tova ime ne e namerena ili nevalidna
|
MAP_NOT_FOUND = Karta s tova ime ne e namerena ili nevalidna
|
||||||
ADMIN_MAP_1 = ADMINISTRATOR: smeni kartata na %s
|
ADMIN_MAP_1 = ADMINISTRATOR: smeni kartata na %s
|
||||||
ADMIN_MAP_2 = ADMINISTRATOR %s: smeni kartata na %s
|
ADMIN_MAP_2 = ADMINISTRATOR %s: smeni kartata na %s
|
||||||
@ -1092,15 +1063,15 @@ 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 %d min
|
FOR_MIN = pentru %s min
|
||||||
PERM = permanent
|
PERM = permanent
|
||||||
CLIENT_BANNED = Jucatorul "%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 = Jucatorul "%n" a primit slay
|
CLIENT_SLAYED = Jucatorul "%s" a primit slay
|
||||||
ADMIN_SLAP_1 = ADMIN: slap %s cu %d dmg
|
ADMIN_SLAP_1 = ADMIN: slap %s cu %d dmg
|
||||||
ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d dmg
|
ADMIN_SLAP_2 = ADMIN %s: slap %s cu %d dmg
|
||||||
CLIENT_SLAPPED = Jucatorul "%n" a primit slap %d dmg
|
CLIENT_SLAPED = Jucatorul "%s" a primit slap %d dmg
|
||||||
MAP_NOT_FOUND = Harta cu acel nume nu a fost gasita sau este invalida
|
MAP_NOT_FOUND = Harta cu acel nume nu a fost gasita sau este invalida
|
||||||
ADMIN_MAP_1 = ADMIN: schimbare harta pe %s
|
ADMIN_MAP_1 = ADMIN: schimbare harta pe %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: schimbare harta pe %s
|
ADMIN_MAP_2 = ADMIN %s: schimbare harta pe %s
|
||||||
@ -1155,76 +1126,42 @@ 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 extinsa pentru %d minute
|
MAP_EXTENDED = Harta "%s" a fost extinsa pentru %d minute
|
||||||
ADMIN_MUST_TEMPBAN = Poți interzice jucători doar temporar, cel mult %d minute
|
|
||||||
ADMIN_MUST_TEMPUNBAN = Doar jucătorii recent interziși de tine pot fi scoși din listă
|
|
||||||
AMX_KICK_SYNTAX = <nume sau #userid> [motiv]
|
|
||||||
AMX_BAN_SYNTAX = <nume sau #userid> <minute> [motiv]
|
|
||||||
AMX_BANIP_SYNTAX = <nume sau #userid> <minute> [motiv]
|
|
||||||
AMX_ADDBAN_SYNTAX = <"authid" sau ip> <minute> [motiv]
|
|
||||||
AMX_UNBAN_SYNTAX = <"authid" sau ip>
|
|
||||||
AMX_SLAY_SYNTAX = <nume sau #userid>
|
|
||||||
AMX_SLAP_SYNTAX = <nume sau #userid> [putere]
|
|
||||||
AMX_LEAVE_SYNTAX = <etichetă> [etichetă] [etichetă] [etichetă]
|
|
||||||
AMX_PAUSE_SYNTAX = — pune jocul pe pauză sau invers
|
|
||||||
AMX_WHO_SYNTAX = — afișează jucătorii conectați
|
|
||||||
AMX_CVAR_SYNTAX = <cvar> [valoare]
|
|
||||||
AMX_XVAR_SYNTAX = <xvar> [valoare]
|
|
||||||
AMX_PLUGINS_SYNTAX = [intrare]
|
|
||||||
AMX_MODULES_SYNTAX = — afișează extensiile atașate
|
|
||||||
AMX_MAP_SYNTAX = <numele hărții>
|
|
||||||
AMX_EXTENDMAP_SYNTAX = <minute> — extinde harta curentă
|
|
||||||
AMX_CFG_SYNTAX = <numele fișierului cfg>
|
|
||||||
AMX_NICK_SYNTAX = <nume sau #userid> <poreclă nouă>
|
|
||||||
AMX_LAST_SYNTAX = afișează detalii privind ultimii jucători deconectați
|
|
||||||
AMX_RCON_SYNTAX = <linie de comandă>
|
|
||||||
ADMIN_KICK_CON = Jucătorul "%n" a fost deconectat
|
|
||||||
ADMIN_CANNOT_BAN = %s nu poate fi interzis
|
|
||||||
ADMIN_BAN_ONLY_RECENT = Poți interzice doar jucători recent deconectați — amx_last
|
|
||||||
ADMIN_IP_ADDED = %s a fost interzis
|
|
||||||
ADMIN_AUTHID_ADDED = %s a fost interzis
|
|
||||||
MODULE_RUNNING = rulează
|
|
||||||
MODULE_BAD_LOAD = neatașat
|
|
||||||
MODULE_UNKNOWN = necunoscut
|
|
||||||
ADMIN_CFG_CON = %s a fost executat
|
|
||||||
ADMIN_PAUSE_CON = Pauza a început
|
|
||||||
ADMIN_UNPAUSE_CON = Pauza s-a terminat
|
|
||||||
ADMIN_OLD_CONNS_SAVED = %d conexiuni salvate
|
|
||||||
|
|
||||||
[hu]
|
[hu]
|
||||||
ADMIN_KICK_1 = ADMIN: %s kirúgva
|
ADMIN_KICK_1 = ADMIN: %s kirúgva
|
||||||
ADMIN_KICK_2 = ADMIN %s: %s kirúgva
|
ADMIN_KICK_2 = ADMIN %s: %s kirúgva
|
||||||
IP_REMOVED = IP "%s" eltávolítva a ban-listárol
|
IP_REMOVED = IP "%s" eltávolítva a banlistáról
|
||||||
AUTHID_REMOVED = Authid "%s" eltávolítva a ban-listáról
|
AUTHID_REMOVED = Authid "%s" eltávolítva a banlistáról
|
||||||
ADMIN_UNBAN_1 = ADMIN: %s ban visszavonva
|
ADMIN_UNBAN_1 = ADMIN: %s ban visszavonva
|
||||||
ADMIN_UNBAN_2 = ADMIN %s: %s ban visszavonva
|
ADMIN_UNBAN_2 = ADMIN %s: %s ban visszavonva
|
||||||
ADMIN_ADDBAN_1 = ADMIN: ban %s
|
ADMIN_ADDBAN_1 = ADMIN: bannolta %s játékost
|
||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: bannolta %s játékost
|
||||||
BANNED = Bannolva
|
BANNED = Bannolva
|
||||||
REASON = Indok
|
REASON = Indok
|
||||||
FOR_MIN = %d percre
|
FOR_MIN = %s percre
|
||||||
PERM = örökre
|
PERM = örökre
|
||||||
CLIENT_BANNED = felhasználó "%s" bannolva
|
CLIENT_BANNED = felhasználó "%s" bannolva
|
||||||
ADMIN_SLAY_1 = ADMIN: %s megölve
|
ADMIN_SLAY_1 = ADMIN: %s megölve
|
||||||
ADMIN_SLAY_2 = ADMIN %s: %s megölve
|
ADMIN_SLAY_2 = ADMIN %s: %s megölve
|
||||||
CLIENT_SLAYED = "%n" játékos megölve
|
CLIENT_SLAYED = "%s" játékos megölve
|
||||||
ADMIN_SLAP_1 = ADMIN: %s megütve %d sebzéssel
|
ADMIN_SLAP_1 = ADMIN: %s megütve %d sebzéssel
|
||||||
ADMIN_SLAP_2 = ADMIN %s: megütve %s %d sebzéssel
|
ADMIN_SLAP_2 = ADMIN %s: %s megütve %d sebzéssel
|
||||||
CLIENT_SLAPPED = "%n" játékos megütve %d sebzéssel
|
CLIENT_SLAPED = "%s" játékos megütve %d sebzéssel
|
||||||
MAP_NOT_FOUND = Nem található ilyen nevű pálya
|
MAP_NOT_FOUND = Nem található ilyen nevű pálya
|
||||||
ADMIN_MAP_1 = ADMIN: pályaváltás %s
|
ADMIN_MAP_1 = ADMIN: pályaváltás %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: pályaváltás %s
|
ADMIN_MAP_2 = ADMIN %s: pályaváltás %s
|
||||||
NO_MORE_CVARS = Nem lehet több cvart hozzáadni az rcon hozzáféréshez!
|
NO_MORE_CVARS = Nem lehet több cvart hozzáadni az rcon hozzáféréshez!
|
||||||
UNKNOWN_CVAR = Ismeretlen cvar: %s
|
UNKNOWN_CVAR = Ismeretlen cvar: %s
|
||||||
UNKNOWN_XVAR = Ismeretlen xvar: %s
|
UNKNOWN_XVAR = Ismeretlen xvar: %s
|
||||||
CVAR_NO_ACC = Nincs engedélyed a cvar-hoz
|
CVAR_NO_ACC = Nincs engedélyed a cvarhoz
|
||||||
XVAR_NO_ACC = Nincs engedélyed a xvar-hoz
|
XVAR_NO_ACC = Nincs engedélyed az xvarhoz
|
||||||
CVAR_IS = Cvar "%s" jelenleg "%s"
|
CVAR_IS = Cvar "%s" jelenleg "%s"
|
||||||
XVAR_IS = Xvar "%s" jelenleg "%s"
|
XVAR_IS = Xvar "%s" jelenleg "%s"
|
||||||
PROTECTED = Védett
|
PROTECTED = Védett
|
||||||
SET_CVAR_TO = %s beállítva cvar %s -> "%s"
|
SET_CVAR_TO = %s cvar átállítva: %s -> "%s"
|
||||||
SET_XVAR_TO = %s beállítva xvar %s -> "%s"
|
SET_XVAR_TO = %s xvar átállítva: %s -> "%s"
|
||||||
CVAR_CHANGED = Cvar "%s" átállítva "%s"-ra.
|
CVAR_CHANGED = Cvar "%s" átállítva "%s" értékre.
|
||||||
XVAR_CHANGED = Xvar "%s" átállítva "%s"-ra.
|
XVAR_CHANGED = Xvar "%s" átállítva "%s" értékre.
|
||||||
LOADED_PLUGINS = Jelenleg betöltött pluginok
|
LOADED_PLUGINS = Jelenleg betöltött pluginok
|
||||||
NAME = Név
|
NAME = Név
|
||||||
VERSION = Verzió
|
VERSION = Verzió
|
||||||
@ -1257,11 +1194,11 @@ YOU_DROPPED = Le lettél csatlakoztatva, mert az admin csak bizonyos csapat tagj
|
|||||||
KICKED_CLIENTS = kirúgva %d felhasználó
|
KICKED_CLIENTS = kirúgva %d felhasználó
|
||||||
ADMIN_LEAVE_1 = ADMIN: ledobta %s %s %s %s
|
ADMIN_LEAVE_1 = ADMIN: ledobta %s %s %s %s
|
||||||
ADMIN_LEAVE_2 = ADMIN %s: ledobta %s %s %s %s
|
ADMIN_LEAVE_2 = ADMIN %s: ledobta %s %s %s %s
|
||||||
ADMIN_NICK_1 = ADMIN: névváltás %s-ról "%s"-ra
|
ADMIN_NICK_1 = ADMIN: %s nevét átírta, mostantól a neve "%s"
|
||||||
ADMIN_NICK_2 = ADMIN %s: nevváltás %s-ról "%s"ra
|
ADMIN_NICK_2 = ADMIN %s: %s nevét átírta, mostantól a neve "%s"
|
||||||
CHANGED_NICK = Névváltás %s-ról "%s"ra
|
CHANGED_NICK = %s neve mostantól: "%s"
|
||||||
ADMIN_EXTEND_1 = ADMIN: Páya hosszabbítása %d perccel
|
ADMIN_EXTEND_1 = ADMIN: Pálya hosszabbítása %d perccel
|
||||||
ADMIN_EXTEND_2 = ADMIN %s: Páya hosszabbítása %d perccel
|
ADMIN_EXTEND_2 = ADMIN %s: Pálya hosszabbítása %d perccel
|
||||||
MAP_EXTENDED = %s pálya meghosszabbítva %d perccel
|
MAP_EXTENDED = %s pálya meghosszabbítva %d perccel
|
||||||
ADMIN_MUST_TEMPBAN = Csak időhöz kötött bant tudsz kiosztani, maximum %d percet
|
ADMIN_MUST_TEMPBAN = Csak időhöz kötött bant tudsz kiosztani, maximum %d percet
|
||||||
ADMIN_MUST_TEMPUNBAN = Csak a nemrég általad bannolt játékosokat oldhatod fel
|
ADMIN_MUST_TEMPUNBAN = Csak a nemrég általad bannolt játékosokat oldhatod fel
|
||||||
@ -1276,15 +1213,15 @@ ADMIN_UNBAN_2 = ADMINAS %s: atbanino %s
|
|||||||
ADMIN_ADDBAN_1 = ADMINAS: isbanino %s
|
ADMIN_ADDBAN_1 = ADMINAS: isbanino %s
|
||||||
ADMIN_ADDBAN_2 = ADMINAS %s: isbanino %s
|
ADMIN_ADDBAN_2 = ADMINAS %s: isbanino %s
|
||||||
BANNED = isbanintas
|
BANNED = isbanintas
|
||||||
FOR_MIN = %d minutem
|
FOR_MIN = %s minutem
|
||||||
PERM = visam laikui
|
PERM = visam laikui
|
||||||
CLIENT_BANNED = Klientas "%s" isbanintas
|
CLIENT_BANNED = Klientas "%s" isbanintas
|
||||||
ADMIN_SLAY_1 = ADMINAS: slayna %s
|
ADMIN_SLAY_1 = ADMINAS: slayna %s
|
||||||
ADMIN_SLAY_2 = ADMINAS %s: slayna %s
|
ADMIN_SLAY_2 = ADMINAS %s: slayna %s
|
||||||
CLIENT_SLAYED = Klientas "%n" nuzudytas
|
CLIENT_SLAYED = Klientas "%s" nuzudytas
|
||||||
ADMIN_SLAP_1 = ADMINAS: slapina %s su %d zala
|
ADMIN_SLAP_1 = ADMINAS: slapina %s su %d zala
|
||||||
ADMIN_SLAP_2 = ADMINAS %s: slapina %s su %d zala
|
ADMIN_SLAP_2 = ADMINAS %s: slapina %s su %d zala
|
||||||
CLIENT_SLAPPED = Klientas "%n" nuslapintas su %d zala
|
CLIENT_SLAPED = Klientas "%s" nuslapintas su %d zala
|
||||||
MAP_NOT_FOUND = Zemelapis siuo pavadinimu nerastas.
|
MAP_NOT_FOUND = Zemelapis siuo pavadinimu nerastas.
|
||||||
ADMIN_MAP_1 = ADMINAS: keicia mapa i %s
|
ADMIN_MAP_1 = ADMINAS: keicia mapa i %s
|
||||||
ADMIN_MAP_2 = ADMINAS %s: keicia mapa i %s
|
ADMIN_MAP_2 = ADMINAS %s: keicia mapa i %s
|
||||||
@ -1351,15 +1288,15 @@ ADMIN_ADDBAN_1 = ADMIN: ban %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
ADMIN_ADDBAN_2 = ADMIN %s: ban %s
|
||||||
BANNED = zabanovany
|
BANNED = zabanovany
|
||||||
REASON = pricina
|
REASON = pricina
|
||||||
FOR_MIN = na %d minut
|
FOR_MIN = na %s minut
|
||||||
PERM = permanentne
|
PERM = permanentne
|
||||||
CLIENT_BANNED = Hrac "%s" zabanovany
|
CLIENT_BANNED = Hrac "%s" zabanovany
|
||||||
ADMIN_SLAY_1 = ADMIN: zabil %s
|
ADMIN_SLAY_1 = ADMIN: zabil %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: zabili %s
|
ADMIN_SLAY_2 = ADMIN %s: zabili %s
|
||||||
CLIENT_SLAYED = Hrac menom "%n" bol zabity
|
CLIENT_SLAYED = Hrac menom "%s" bol zabity
|
||||||
ADMIN_SLAP_1 = ADMIN: placnul %s o sile %d damage
|
ADMIN_SLAP_1 = ADMIN: placnul %s o sile %d damage
|
||||||
ADMIN_SLAP_2 = ADMIN %s: placnul %s o sile %d damage
|
ADMIN_SLAP_2 = ADMIN %s: placnul %s o sile %d damage
|
||||||
CLIENT_SLAPPED = Hrac menom "%n" dostal facku o sile %d damage
|
CLIENT_SLAPED = Hrac menom "%s" dostal facku o sile %d damage
|
||||||
MAP_NOT_FOUND = Mapa s t<>mto menom nenajdena
|
MAP_NOT_FOUND = Mapa s t<>mto menom nenajdena
|
||||||
ADMIN_MAP_1 = ADMIN: zmenil mapu na %s
|
ADMIN_MAP_1 = ADMIN: zmenil mapu na %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: zmenili mapu na %s
|
ADMIN_MAP_2 = ADMIN %s: zmenili mapu na %s
|
||||||
@ -1426,15 +1363,15 @@ ADMIN_ADDBAN_1 = ADMIN: banira %s
|
|||||||
ADMIN_ADDBAN_2 = ADMIN %s: banira %s
|
ADMIN_ADDBAN_2 = ADMIN %s: banira %s
|
||||||
BANNED = baniran
|
BANNED = baniran
|
||||||
REASON = prichina
|
REASON = prichina
|
||||||
FOR_MIN = za %d min
|
FOR_MIN = za %s min
|
||||||
PERM = zasekogash
|
PERM = zasekogash
|
||||||
CLIENT_BANNED = Igrachot "%s" e baniran
|
CLIENT_BANNED = Igrachot "%s" e baniran
|
||||||
ADMIN_SLAY_1 = ADMIN: slayna %s
|
ADMIN_SLAY_1 = ADMIN: slayna %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: slayna %s
|
ADMIN_SLAY_2 = ADMIN %s: slayna %s
|
||||||
CLIENT_SLAYED = Igrachot "%n" beshe slaynat
|
CLIENT_SLAYED = Igrachot "%s" beshe slaynat
|
||||||
ADMIN_SLAP_1 = ADMIN: mu udri shamar na %s so %d shteta
|
ADMIN_SLAP_1 = ADMIN: mu udri shamar na %s so %d shteta
|
||||||
ADMIN_SLAP_2 = ADMIN %s: mu udri shamar na %s so %d shteta
|
ADMIN_SLAP_2 = ADMIN %s: mu udri shamar na %s so %d shteta
|
||||||
CLIENT_SLAPPED = Igrachot "%n" e nashamaran so %d shteta
|
CLIENT_SLAPED = Igrachot "%s" e nashamaran so %d shteta
|
||||||
MAP_NOT_FOUND = Mapa so toa ime ne e pronajdena ili ne postoi
|
MAP_NOT_FOUND = Mapa so toa ime ne e pronajdena ili ne postoi
|
||||||
ADMIN_MAP_1 = ADMIN: ja smeni mapata na %s
|
ADMIN_MAP_1 = ADMIN: ja smeni mapata na %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: ja smeni mapata na %s
|
ADMIN_MAP_2 = ADMIN %s: ja smeni mapata na %s
|
||||||
@ -1489,40 +1426,6 @@ CHANGED_NICK = Smeneto e imeto na %s na "%s"
|
|||||||
ADMIN_EXTEND_1 = ADMIN: ja prodolzhi mapata za %d minuti
|
ADMIN_EXTEND_1 = ADMIN: ja prodolzhi mapata za %d minuti
|
||||||
ADMIN_EXTEND_2 = ADMIN %s: ja prodolzhi mapata za %d minuti
|
ADMIN_EXTEND_2 = ADMIN %s: ja prodolzhi mapata za %d minuti
|
||||||
MAP_EXTENDED = Mapata "%s" e prodolzhena za %d minuti
|
MAP_EXTENDED = Mapata "%s" e prodolzhena za %d minuti
|
||||||
ADMIN_MUST_TEMPBAN = Mozhete samo privremeno da banirate igrachi do %d minuti
|
|
||||||
ADMIN_MUST_TEMPUNBAN = Mozhete da unbanirate samo igrachi koi skoro ste gi banirale
|
|
||||||
AMX_KICK_SYNTAX = <ime ili #userid> [prichina]
|
|
||||||
AMX_BAN_SYNTAX = <ime ili #userid> <minutes> [prichina]
|
|
||||||
AMX_BANIP_SYNTAX = <ime ili #userid> <minutes> [prichina]
|
|
||||||
AMX_ADDBAN_SYNTAX = <"authid" ili ip> <minutes> [prichina]
|
|
||||||
AMX_UNBAN_SYNTAX = <"authid" ili ip>
|
|
||||||
AMX_SLAY_SYNTAX = <ime ili #userid>
|
|
||||||
AMX_SLAP_SYNTAX = <ime ili #userid> [sila]
|
|
||||||
AMX_LEAVE_SYNTAX = <tag> [tag] [tag] [tag]
|
|
||||||
AMX_PAUSE_SYNTAX = - ja pauzira ili unpauzira igrata
|
|
||||||
AMX_WHO_SYNTAX = - spisok so igrachi vo serverot
|
|
||||||
AMX_CVAR_SYNTAX = <cvar> [vrednost]
|
|
||||||
AMX_XVAR_SYNTAX = <xvar> [vrednost]
|
|
||||||
AMX_PLUGINS_SYNTAX = [pocheten plugin]
|
|
||||||
AMX_MODULES_SYNTAX = - gi prikazhuva vchitanite moduli
|
|
||||||
AMX_MAP_SYNTAX = <ime na mapa>
|
|
||||||
AMX_EXTENDMAP_SYNTAX = <broj na minuti>
|
|
||||||
AMX_CFG_SYNTAX = <ime na fajl>
|
|
||||||
AMX_NICK_SYNTAX = <ime ili #userid> <novo ime>
|
|
||||||
AMX_LAST_SYNTAX = pokazhuva informacija za poslednite nekolku diskonektirani igrachi
|
|
||||||
AMX_RCON_SYNTAX = <komanda>
|
|
||||||
ADMIN_KICK_CON = Igrachot "%n" e kiknat
|
|
||||||
ADMIN_CANNOT_BAN = Ne mozhete da go banirate %s
|
|
||||||
ADMIN_BAN_ONLY_RECENT = Mozhete da banirate samo igrachi koi skoro go napushtile serverot. Napishete "amx_last" za da go vidite spisokot
|
|
||||||
ADMIN_IP_ADDED = IP %s e dodadeno vo ban listata
|
|
||||||
ADMIN_AUTHID_ADDED = AuthID %s e dodadeno vo ban listata
|
|
||||||
MODULE_RUNNING = vkluchen
|
|
||||||
MODULE_BAD_LOAD = greshka
|
|
||||||
MODULE_UNKNOWN = nepoznato
|
|
||||||
ADMIN_CFG_CON = Fajlot %s se izvrshuva
|
|
||||||
ADMIN_PAUSE_CON = Serverot e PAUZIRAN
|
|
||||||
ADMIN_UNPAUSE_CON = Serverot e UNPAUZIRAN
|
|
||||||
ADMIN_OLD_CONNS_SAVED = %d stari konekcii se zashtiteni
|
|
||||||
|
|
||||||
[hr]
|
[hr]
|
||||||
ADMIN_KICK_1 = ADMIN: kickao %s
|
ADMIN_KICK_1 = ADMIN: kickao %s
|
||||||
@ -1534,15 +1437,15 @@ ADMIN_UNBAN_2 = ADMIN %s: odban %s
|
|||||||
ADMIN_ADDBAN_1 = ADMIN: banao %s
|
ADMIN_ADDBAN_1 = ADMIN: banao %s
|
||||||
ADMIN_ADDBAN_2 = ADMIN %s: banao %s
|
ADMIN_ADDBAN_2 = ADMIN %s: banao %s
|
||||||
BANNED = banan
|
BANNED = banan
|
||||||
FOR_MIN = na %d min
|
FOR_MIN = na %s min
|
||||||
PERM = za stalno
|
PERM = za stalno
|
||||||
CLIENT_BANNED = Klijent "%s" je banan
|
CLIENT_BANNED = Klijent "%s" je banan
|
||||||
ADMIN_SLAY_1 = ADMIN: slayao %s
|
ADMIN_SLAY_1 = ADMIN: slayao %s
|
||||||
ADMIN_SLAY_2 = ADMIN %s: slayao %s
|
ADMIN_SLAY_2 = ADMIN %s: slayao %s
|
||||||
CLIENT_SLAYED = Klijent "%n" slayan
|
CLIENT_SLAYED = Klijent "%s" slayan
|
||||||
ADMIN_SLAP_1 = ADMIN: samar %s sa %d stete
|
ADMIN_SLAP_1 = ADMIN: samar %s sa %d stete
|
||||||
ADMIN_SLAP_2 = ADMIN %s: samar %s sa %d stete
|
ADMIN_SLAP_2 = ADMIN %s: samar %s sa %d stete
|
||||||
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
|
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
|
||||||
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
||||||
ADMIN_MAP_1 = ADMIN: promjena mape na %s
|
ADMIN_MAP_1 = ADMIN: promjena mape na %s
|
||||||
ADMIN_MAP_2 = ADMIN %s: mjenja mapu na %s
|
ADMIN_MAP_2 = ADMIN %s: mjenja mapu na %s
|
||||||
@ -1608,15 +1511,15 @@ 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 = banovan
|
BANNED = banovan
|
||||||
FOR_MIN = na %d min
|
FOR_MIN = na %s min
|
||||||
PERM = za stalno
|
PERM = za stalno
|
||||||
CLIENT_BANNED = Klijent "%s" je banovan
|
CLIENT_BANNED = Klijent "%s" je banovan
|
||||||
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 = Klijent "%n" slayed
|
CLIENT_SLAYED = Klijent "%s" slayed
|
||||||
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
|
ADMIN_SLAP_1 = ADMIN: samar %s with %d stete
|
||||||
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
|
ADMIN_SLAP_2 = ADMIN %s: samar %s with %d stete
|
||||||
CLIENT_SLAPPED = Klijent "%n" je osamaren sa %d stete
|
CLIENT_SLAPED = Klijent "%s" je osamaren sa %d stete
|
||||||
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
MAP_NOT_FOUND = Mapa sa tim imenom nije nadjena ili nije vazeca
|
||||||
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
|
||||||
@ -1683,15 +1586,15 @@ ADMIN_ADDBAN_1 = АДМИНИСТРАТОР: забанил %s
|
|||||||
ADMIN_ADDBAN_2 = АДМИНИСТРАТОР %s: забанил %s
|
ADMIN_ADDBAN_2 = АДМИНИСТРАТОР %s: забанил %s
|
||||||
BANNED = забанен
|
BANNED = забанен
|
||||||
REASON = причина
|
REASON = причина
|
||||||
FOR_MIN = на %d минут
|
FOR_MIN = на %s минут
|
||||||
PERM = навсегда
|
PERM = навсегда
|
||||||
CLIENT_BANNED = Игрок "%s" забанен
|
CLIENT_BANNED = Игрок "%s" забанен
|
||||||
ADMIN_SLAY_1 = АДМИНИСТРАТОР: убил %s
|
ADMIN_SLAY_1 = АДМИНИСТРАТОР: убил %s
|
||||||
ADMIN_SLAY_2 = АДМИНИСТРАТОР %s: убил %s
|
ADMIN_SLAY_2 = АДМИНИСТРАТОР %s: убил %s
|
||||||
CLIENT_SLAYED = Игрок "%n" убит
|
CLIENT_SLAYED = Игрок "%s" убит
|
||||||
ADMIN_SLAP_1 = АДМИНИСТРАТОР: стукнул %s на %d HP
|
ADMIN_SLAP_1 = АДМИНИСТРАТОР: стукнул %s на %d HP
|
||||||
ADMIN_SLAP_2 = АДМИНИСТРАТОР %s: стукнул %s на %d HP
|
ADMIN_SLAP_2 = АДМИНИСТРАТОР %s: стукнул %s на %d HP
|
||||||
CLIENT_SLAPPED = Игрок "%n" стукнут на %d HP
|
CLIENT_SLAPED = Игрок "%s" стукнут на %d HP
|
||||||
MAP_NOT_FOUND = Карта не найдена или не существует
|
MAP_NOT_FOUND = Карта не найдена или не существует
|
||||||
ADMIN_MAP_1 = АДМИНИСТРАТОР: сменил карту на %s
|
ADMIN_MAP_1 = АДМИНИСТРАТОР: сменил карту на %s
|
||||||
ADMIN_MAP_2 = АДМИНИСТРАТОР %s: сменил карту на %s
|
ADMIN_MAP_2 = АДМИНИСТРАТОР %s: сменил карту на %s
|
||||||
@ -1758,15 +1661,15 @@ ADMIN_ADDBAN_1 = 管理员: 封禁 %s
|
|||||||
ADMIN_ADDBAN_2 = 管理员 %s: 封禁 %s
|
ADMIN_ADDBAN_2 = 管理员 %s: 封禁 %s
|
||||||
BANNED = 封禁
|
BANNED = 封禁
|
||||||
REASON = 原因
|
REASON = 原因
|
||||||
FOR_MIN = %d 分钟
|
FOR_MIN = %s 分钟
|
||||||
PERM = 永久
|
PERM = 永久
|
||||||
CLIENT_BANNED = 玩家 "%s" 被封禁
|
CLIENT_BANNED = 玩家 "%s" 被封禁
|
||||||
ADMIN_SLAY_1 = 管理员: 处死 %s
|
ADMIN_SLAY_1 = 管理员: 处死 %s
|
||||||
ADMIN_SLAY_2 = 管理员 %s: 处死 %s
|
ADMIN_SLAY_2 = 管理员 %s: 处死 %s
|
||||||
CLIENT_SLAYED = 玩家 "%n" 被处死
|
CLIENT_SLAYED = 玩家 "%s" 被处死
|
||||||
ADMIN_SLAP_1 = 管理员: 给予玩家 %s %d 点伤害
|
ADMIN_SLAP_1 = 管理员: 给予玩家 %s %d 点伤害
|
||||||
ADMIN_SLAP_2 = 管理员 %s: 给予玩家 %s %d 点伤害
|
ADMIN_SLAP_2 = 管理员 %s: 给予玩家 %s %d 点伤害
|
||||||
CLIENT_SLAPPED = 玩家 "%n" 受到 %d 点伤害
|
CLIENT_SLAPED = 玩家 "%s" 受到 %d 点伤害
|
||||||
MAP_NOT_FOUND = 无法找到该地图或者该地图无效
|
MAP_NOT_FOUND = 无法找到该地图或者该地图无效
|
||||||
ADMIN_MAP_1 = 管理员: 更换地图为 %s
|
ADMIN_MAP_1 = 管理员: 更换地图为 %s
|
||||||
ADMIN_MAP_2 = 管理员 %s: 更换地图为 %s
|
ADMIN_MAP_2 = 管理员 %s: 更换地图为 %s
|
||||||
@ -1821,3 +1724,157 @@ CHANGED_NICK = 改变 %s 的昵称为 "%s"
|
|||||||
ADMIN_EXTEND_1 = 管理员: 将地图时间延长 %d 分钟
|
ADMIN_EXTEND_1 = 管理员: 将地图时间延长 %d 分钟
|
||||||
ADMIN_EXTEND_2 = 管理员 %s: 将地图时间延长 %d 分钟
|
ADMIN_EXTEND_2 = 管理员 %s: 将地图时间延长 %d 分钟
|
||||||
MAP_EXTENDED = "%s" 该地图已经被延长 %d 分钟
|
MAP_EXTENDED = "%s" 该地图已经被延长 %d 分钟
|
||||||
|
|
||||||
|
[al]
|
||||||
|
ADMIN_KICK_1 = ADMIN: largoi %s
|
||||||
|
ADMIN_KICK_2 = ADMIN %s: largoi %s
|
||||||
|
IP_REMOVED = IP "%s" u fshi nga lista dënimit
|
||||||
|
AUTHID_REMOVED = Authid "%s" u fshi nga lista ndalimit
|
||||||
|
ADMIN_UNBAN_1 = ADMIN: i fshiu dënimin %s
|
||||||
|
ADMIN_UNBAN_2 = ADMIN %s: fshiu dënimin %s
|
||||||
|
ADMIN_ADDBAN_1 = ADMIN: dënoj %s
|
||||||
|
ADMIN_ADDBAN_2 = ADMIN %s: dënoj %s
|
||||||
|
BANNED = dënoj
|
||||||
|
REASON = arsyeja
|
||||||
|
FOR_MIN = për %s min
|
||||||
|
PERM = përgjithëmon
|
||||||
|
CLIENT_BANNED = Lojtari "%s" morri dënim në server
|
||||||
|
ADMIN_SLAY_1 = ADMIN: vrau %s
|
||||||
|
ADMIN_SLAY_2 = ADMIN %s: vrau %s
|
||||||
|
CLIENT_SLAYED = Lojtari "%s" u vra
|
||||||
|
ADMIN_SLAP_1 = ADMIN: ndëshkoi %s me %d dëmtime
|
||||||
|
ADMIN_SLAP_2 = ADMIN %s: ndëshkoi %s me %d dëmtime
|
||||||
|
CLIENT_SLAPED = Lojtari "%s" mori ndëshkim me %d dëmtime
|
||||||
|
MAP_NOT_FOUND = Harta me atë emër nuk u gjetë ose është e pavlefshme
|
||||||
|
ADMIN_MAP_1 = ADMIN: ndryshoi hartën në %s
|
||||||
|
ADMIN_MAP_2 = ADMIN %s: ndryshoi hartën në %s
|
||||||
|
NO_MORE_CVARS = Nuk mund të shtoni cvars për rcon!
|
||||||
|
UNKNOWN_CVAR = Cvar Panjohur: %s
|
||||||
|
UNKNOWN_XVAR = Cvar Panjohur: %s
|
||||||
|
CVAR_NO_ACC = Ju nuk keni qasje në këtë cvar
|
||||||
|
XVAR_NO_ACC = Ju nuk keni qasje në këtë cvar
|
||||||
|
CVAR_IS = Cvar "%s" është "%s"
|
||||||
|
XVAR_IS = Xvar "%s" është "%s"
|
||||||
|
PROTECTED = MBROJTUR
|
||||||
|
SET_CVAR_TO = %s vendosi cvar %s në "%s"
|
||||||
|
SET_XVAR_TO = %s vendosi cvar %s në "%s"
|
||||||
|
CVAR_CHANGED = Cvar "%s" ndryshoi në "%s"
|
||||||
|
XVAR_CHANGED = Xvar "%s" ndryshoi në "%s"
|
||||||
|
LOADED_PLUGINS = Pluginat e ngarkuar aktualë
|
||||||
|
NAME = emri
|
||||||
|
VERSION = verzioni
|
||||||
|
AUTHOR = autori
|
||||||
|
FILE = skedari
|
||||||
|
STATUS = statusi
|
||||||
|
PLUGINS_RUN = %d plugins, %d duke punuar
|
||||||
|
LOADED_MODULES = Modulet e ngarkuar aktuale
|
||||||
|
NUM_MODULES = %d modules
|
||||||
|
FILE_NOT_FOUND = Skedari "%s" nuk u gjetë
|
||||||
|
ADMIN_CONF_1 = ADMIN: ekzekutoj konfigurimet %s
|
||||||
|
ADMIN_CONF_2 = ADMIN %s: ekzekutoj konfigurimet %s
|
||||||
|
PAUSED = pushim
|
||||||
|
UNPAUSED = rikthim
|
||||||
|
UNABLE_PAUSE = Serveri nuk ishte në gjendje të ndalte lojën. Lojtarët e vërtetë në server janë të nevojshëm.
|
||||||
|
SERVER_PROC = Serveri vazhdon %s
|
||||||
|
PAUSING = pushuar
|
||||||
|
UNPAUSING = rikthyer
|
||||||
|
PAUSE = pusho
|
||||||
|
UNPAUSE = rikthe
|
||||||
|
COM_SENT_SERVER = Komandat e rreshtit "%s" dërgoi në server në konsole
|
||||||
|
CLIENTS_ON_SERVER = Lojtarët në server
|
||||||
|
IMMU = imunitet
|
||||||
|
RESERV = res
|
||||||
|
ACCESS = qasje
|
||||||
|
TOTAL_NUM = Totali %d
|
||||||
|
SKIP_MATCH = Anashkaloi "%s" (koordinim "%s")
|
||||||
|
SKIP_IMM = Anashkaloi "%s" (imunitet)
|
||||||
|
KICK_PL = Largoi "%s"
|
||||||
|
YOU_DROPPED = Ju jeni larguar sepse administratori ka lënë vetëm grupin e caktuar të lojtarëve
|
||||||
|
KICKED_CLIENTS = Largoi %d lojtarët
|
||||||
|
ADMIN_LEAVE_1 = ADMIN: largoi %s %s %s %s
|
||||||
|
ADMIN_LEAVE_2 = ADMIN %s: largoi %s %s %s %s
|
||||||
|
ADMIN_NICK_1 = ADMIN: i ndryshoi emrin prej %s në "%s"
|
||||||
|
ADMIN_NICK_2 = ADMIN %s: i ndryshoi emrin prej %s në "%s"
|
||||||
|
CHANGED_NICK = Ndryshoi emrin prej %s në "%s"
|
||||||
|
ADMIN_EXTEND_1 = ADMIN: vazhdojë hartën për %d minuta
|
||||||
|
ADMIN_EXTEND_2 = ADMIN %s: vazhdojë hartën për %d minuta
|
||||||
|
MAP_EXTENDED = Harta "%s" është vazhduar për %d minuta
|
||||||
|
ADMIN_MUST_TEMPBAN = Ju mund të ndaloni lojtarët përkohësisht, deri në %d minuta
|
||||||
|
ADMIN_MUST_TEMPUNBAN = Ju vetem mund të zhbllokoni lojtarët që keni ndaluar kohët e fundit
|
||||||
|
|
||||||
|
[pt]
|
||||||
|
ADMIN_KICK_1 = ADMIN: expulsou %s
|
||||||
|
ADMIN_KICK_2 = ADMIN %s: expulsou %s
|
||||||
|
IP_REMOVED = O IP "%s" foi removido da lista de bans
|
||||||
|
AUTHID_REMOVED = O authid "%s" foi removido da lista de bans
|
||||||
|
ADMIN_UNBAN_1 = ADMIN: desbaniu %s
|
||||||
|
ADMIN_UNBAN_2 = ADMIN %s: desbaniu %s
|
||||||
|
ADMIN_ADDBAN_1 = ADMIN: baniu %s
|
||||||
|
ADMIN_ADDBAN_2 = ADMIN %s: baniu %s
|
||||||
|
BANNED = banido
|
||||||
|
REASON = razão
|
||||||
|
FOR_MIN = por %s minutos
|
||||||
|
PERM = permanentemente
|
||||||
|
CLIENT_BANNED = O cliente "%s" foi banido
|
||||||
|
ADMIN_SLAY_1 = ADMIN: matou %s
|
||||||
|
ADMIN_SLAY_2 = ADMIN %s: matou %s
|
||||||
|
CLIENT_SLAYED = O cliente "%s" foi morto
|
||||||
|
ADMIN_SLAP_1 = ADMIN: esbofeteou %s com %d dano
|
||||||
|
ADMIN_SLAP_2 = ADMIN %s: esbofeteou %s com %d 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
|
||||||
|
ADMIN_MAP_1 = ADMIN: mudou de mapa para %s
|
||||||
|
ADMIN_MAP_2 = ADMIN %s: mudou de mapa para %s
|
||||||
|
NO_MORE_CVARS = Não é possível adicionar mais cvars para acesso rcon!
|
||||||
|
UNKNOWN_CVAR = Cvar desconhecida: %s
|
||||||
|
UNKNOWN_XVAR = Xvar desconhecida: %s
|
||||||
|
CVAR_NO_ACC = Tu não tens acesso a essa cvar
|
||||||
|
XVAR_NO_ACC = Tu não tens acesso a essa xvar
|
||||||
|
CVAR_IS = A cvar "%s" é "%s"
|
||||||
|
XVAR_IS = A Xvar "%s" é "%s"
|
||||||
|
PROTECTED = PROTEGIDO
|
||||||
|
SET_CVAR_TO = %s mudou a cvar %s para "%s"
|
||||||
|
SET_XVAR_TO = %s mudou a xvar %s para "%s"
|
||||||
|
CVAR_CHANGED = A cvar "%s" foi mudada para "%s"
|
||||||
|
XVAR_CHANGED = A xvar "%s" foi mudada para "%s"
|
||||||
|
LOADED_PLUGINS = Plugins atualmente carregados
|
||||||
|
NAME = nome
|
||||||
|
VERSION = versão
|
||||||
|
AUTHOR = autor
|
||||||
|
FILE = ficheiro
|
||||||
|
STATUS = estado
|
||||||
|
PLUGINS_RUN = %d plugins, %d ativos
|
||||||
|
LOADED_MODULES = Módulos atualmente carregados
|
||||||
|
NUM_MODULES = %d módulos
|
||||||
|
FILE_NOT_FOUND = O ficheiro "%s" não foi encontrado
|
||||||
|
ADMIN_CONF_1 = ADMIN: executou a config %s
|
||||||
|
ADMIN_CONF_2 = ADMIN %s: executou a config %s
|
||||||
|
PAUSED = pausado
|
||||||
|
UNPAUSED = despausado
|
||||||
|
UNABLE_PAUSE = O servidor não pôde pausar o jogo. É preciso jogadores reais no servidor.
|
||||||
|
SERVER_PROC = O servidor procedeu %s
|
||||||
|
PAUSING = a pausar
|
||||||
|
UNPAUSING = a despausar
|
||||||
|
PAUSE = pausar
|
||||||
|
UNPAUSE = despausar
|
||||||
|
COM_SENT_SERVER = A linha de comando "%s" foi enviada para a consola do servidor
|
||||||
|
CLIENTS_ON_SERVER = Clientes no servidor
|
||||||
|
IMMU = imunidade
|
||||||
|
RESERV = reservação
|
||||||
|
ACCESS = acesso
|
||||||
|
TOTAL_NUM = Total %d
|
||||||
|
SKIP_MATCH = A saltar "%s" (a coincidir com "%s")
|
||||||
|
SKIP_IMM = A saltar "%s" (imunidade)
|
||||||
|
KICK_PL = A expulsar "%s"
|
||||||
|
YOU_DROPPED = Tu foste desconectado pois o admin só deixa entrar um grupo de clientes específico
|
||||||
|
KICKED_CLIENTS = %d clientes expulsados
|
||||||
|
ADMIN_LEAVE_1 = ADMIN: deixou %s %s %s %s
|
||||||
|
ADMIN_LEAVE_2 = ADMIN %s: deixou %s %s %s %s
|
||||||
|
ADMIN_NICK_1 = ADMIN: mudou o nome de %s para "%s"
|
||||||
|
ADMIN_NICK_2 = ADMIN %s: mudou o nome de %s para "%s"
|
||||||
|
CHANGED_NICK = Mudou o nome de %s para "%s"
|
||||||
|
ADMIN_EXTEND_1 = ADMIN: extendeu o mapa por %d minutos
|
||||||
|
ADMIN_EXTEND_2 = ADMIN %s: extendeu o mapa por %d minutos
|
||||||
|
MAP_EXTENDED = O mapa "%s" foi extendido por %d minutos
|
||||||
|
ADMIN_MUST_TEMPBAN = Tu só podes banir jogadores temporariamente temporariamente, até %d minutos
|
||||||
|
ADMIN_MUST_TEMPUNBAN = Tu só podes desbanir jogadores que tu baniste recentemente
|
||||||
|
@ -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 ră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
|
||||||
|
@ -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".
|
|
||||||
|
@ -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
|
||||||
|
@ -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!
|
||||||
|
@ -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ü
|
||||||
|
@ -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 = Há 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"
|
||||||
|
@ -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!
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
|
@ -3,21 +3,16 @@ RESULT_REF = Result refused
|
|||||||
RESULT_ACC = Result accepted
|
RESULT_ACC = Result accepted
|
||||||
VOTE_SUCCESS = Voting successful. Map will be changed to
|
VOTE_SUCCESS = Voting successful. Map will be changed to
|
||||||
VOTE_FAILED = Voting failed
|
VOTE_FAILED = Voting failed
|
||||||
THE_WINNER = The winner is
|
THE_WINNER = The winner
|
||||||
WANT_CONT = Do you want to continue?
|
WANT_CONT = Do you want to continue?
|
||||||
VOT_CANC = Voting has been canceled
|
VOT_CANC = Voting has been canceled
|
||||||
X_VOTED_FOR = %s voted for %s
|
X_VOTED_FOR = %s voted for option #%d
|
||||||
VOTEMAP_MENU = Votemap Menu
|
VOTEMAP_MENU = Votemap Menu
|
||||||
START_VOT = Start Voting
|
START_VOT = Start Voting
|
||||||
SEL_MAPS = Selected Maps
|
SEL_MAPS = Selected Maps
|
||||||
ALREADY_VOT = There is already one voting...
|
ALREADY_VOT = There is already one voting...
|
||||||
NO_MAPS_MENU = There are no maps in menu
|
NO_MAPS_MENU = There are no maps in menu
|
||||||
VOT_NOW_ALLOW = Voting not allowed at this time
|
VOT_NOW_ALLOW = Voting not allowed at this time
|
||||||
VOT_NO_MAPS = You should to choose maps before voting
|
|
||||||
VOT_SEARCH = Search by :
|
|
||||||
VOT_START = Start voting (%d/4 choosed maps for voting)
|
|
||||||
VOT_TOO_MANY = You can't choose more that 4 maps for voting.
|
|
||||||
VOT_SEARCH2 = Type the name of the map you are searching
|
|
||||||
WHICH_MAP = Which map do you want?
|
WHICH_MAP = Which map do you want?
|
||||||
CHANGE_MAP_TO = Change map to
|
CHANGE_MAP_TO = Change map to
|
||||||
CANC_VOTE = Cancel Vote
|
CANC_VOTE = Cancel Vote
|
||||||
@ -35,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
|
||||||
@ -342,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.
|
||||||
|
@ -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
|
||||||
|
@ -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 ră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
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user