Pawn

С Pawn

Каждый натив AMX Mod X и его стандартных модулей, который покрывает amxts, и что плагин пишет вместо него: элемент API или обычный TypeScript. Натив, которого здесь нет, вызывается как есть, из @amxts/core/natives (Нативы).

entity.<field> - любое поле сущности, игрока или оружия под его собственным именем (player.gravity, weapon.clip); game.<field> - поле правил игры (game.ctWins); event.<field> - аргумент события или сообщения (event.attacker). Их перечисляют страницы сущности, игроки, хуки и сообщения.

amxmodx

Pawnamxts
abort, log_error, set_fail_statethrow new Error(message)
add, strcata + b
angle_vectorvector.directions()
argparse, parsetext.split(" ")
arraysetarray.fill(value)
bind_pcvar_float, bind_pcvar_num, get_cvar_float, get_pcvar_float, get_pcvar_numcvar.number
bind_pcvar_string, get_pcvar_stringcvar.value
callfunc_begin, callfunc_begin_i, callfunc_end, callfunc_push_array, callfunc_push_float, callfunc_push_floatrf, callfunc_push_int, callfunc_push_intrf, callfunc_push_str, get_func_idplugin.call()
cellarray.incмассив: list[i], push, length, splice, indexOf
cellstack.incмассив: push, pop
celltrie.incMap или Record: get, set, has, delete, size
change_taskclearTimeout(handle); handle = setTimeout(...)
clampMath.min(Math.max(x, low), high)
ClearSyncHudhudLine.clear(player)
client_cmdplayer.command()
client_print, client_print_colorplayer.print()
close_dir, next_file, open_dir, read_dirreaddirSync(path) из @amxts/core/fs
console_printplayer.print(text, "console")
contain, strfindtext.indexOf(part)
containitext.toLowerCase().indexOf(part)
copya = b
copyctext.slice(0, text.indexOf(c))
create_cvarnew Cvar(name)
CreateHudSyncObjnew HudLine()
CreateMultiForwardforward.create()
CreateOneForwardnew Forward(name)
cvar_existscvar.exists
datapack.incобъект или переменные замыкания
datenew Date().getFullYear(), getMonth(), getDate()
dbg_fmt_errorerror.message
dbg_trace_begin, dbg_trace_info, dbg_trace_nexterror.stack
delete_file, unlinkunlinkSync() из @amxts/core/fs
DestroyForward, funcidx, heapspace, menu_destroyничего: плагину это не нужно
dir_exists, file_existsexistsSync(path) из @amxts/core/fs
disable_cvar_hookcvar.removeEventListener
disable_event, unregister_messageserver.removeMessageListener
emit_soundentity.emitSound
enable_cvar_hookcvar.addEventListener
enable_eventserver.addMessageListener
engclient_cmd(id, "drop")player.dropItem()
engine_changelevelserver.changeLevel()
equala == b
equalia.toLowerCase() == b.toLowerCase()
ExecuteForwardforward.emit()
fclose, fopenreadFileSync, writeFileSync, appendFileSync из @amxts/core/fs
feof, fgetsreadFileSync(path).split("\n") из @amxts/core/fs
find_player, find_player_exserver.players.find(...)
find_plugin_byfile, get_plugin, get_pluginsnum, is_plugin_loadedserver.plugins
float, floatabs, floatacos, floatadd, floatasin, floatatan, floatatan2, floatcmp, floatcos, floatcosh, floatdiv, floatfract, floatlog, floatmul, floatpower, floatsin, floatsinh, floatsqroot, floatstr, floatsub, floattan, floattanhMath, Number(text), number.toFixed(n)
float_to_strString(n), n.toFixed(2)
floatroundrounded()
format, formatex, vdformat, vformat`${a} ${b}`
format_args, getarg, numargs, setarg...args
format_timenew Date() and its getters, padStart
fprintfappendFileSync(path, ${a} ${b}) из @amxts/core/fs
fputs, write_filewriteFileSync, appendFileSync из @amxts/core/fs
fread_blocksreadFileSync() из @amxts/core/fs
get_amxx_verstringserver.versions
get_array, get_array_f, get_float_byref, get_param, get_param_byref, get_param_f, get_string, param_convertпараметры export function
get_char_bytes, is_char_lower, is_char_mb, is_char_upper, is_string_category, isalnum, isalpha, isdigit, isspace, mb_strtotitleметоды строк
get_cvar_numcvar.num()
get_cvar_pointercvar.pointer
get_cvar_stringcvar.str()
get_distance, get_distance_f, vector_distancea.distanceTo(b)
get_gametimegame.time
get_lang, get_langsnumlang.languages()
get_localinfo("amxx_logs")server.logsDir
get_mapnameserver.map
get_maxplayersserver.maxPlayers
get_modnameserver.game
get_msg_arg_float, get_msg_arg_int, get_msg_arg_string, get_msg_args, set_msg_arg_float, set_msg_arg_int, set_msg_arg_stringevent.args
get_msg_argtype, read_datatypeevent.args.isText(i)
get_pcvar_boolcvar.boolean
get_playersserver.players
get_playersnumserver.players.length
get_systimeDate.now() / 1000
get_timenew Date() and its getters: getHours(), getDate(), ...
get_timeleftgame.timeLeft
get_user_aimingplayer.aim
get_user_armorplayer.armor
get_user_authidplayer.steamId
get_user_deathsplayer.deaths
get_user_flagsplayer.access
get_user_fragsplayer.frags
get_user_healthplayer.health
get_user_indexserver.players.find(player => player.name == name)
get_user_infouserInfo.get()
get_user_ipplayer.ip
get_user_msgid, message_end, write_angle, write_angle_f, write_byte, write_char, write_coord, write_coord_f, write_entity, write_long, write_short, write_stringplayer.send()
get_user_nameplayer.name
get_user_origin(id, origin, 1)player.eyes
get_user_pingplayer.ping
get_user_teamplayer.team
get_user_timeplayer.connectedSeconds
get_user_useridplayer.userId
get_user_weaponplayer.activeItem
get_user_weaponsplayer.items
get_vaultdatastorage.get(key)
get_weaponnameweapon.classname
GetFileTime, file_sizestatSync() из @amxts/core/fs
GetLangTransKey, SetGlobalTransTargetlang.translate(player, key)
has_map_ent_classEntity.find({ classname }) != null
hook_cvar_changecvar.addEventListener("change", ...)
INI_CreateParser, INI_DestroyParser, INI_ParseFile, INI_SetParseEnd, INI_SetParseStart, INI_SetRawLine, INI_SetReaders, SMC_CreateParser, SMC_DestroyParser, SMC_GetErrorString, SMC_ParseFile, SMC_SetParseEnd, SMC_SetParseStart, SMC_SetRawLine, SMC_SetReadersconfigs.read(name) из @amxts/config-core
is_map_validserver.mapExists()
is_user_aliveplayer.isAlive
is_user_botplayer.isBot
is_user_connectedplayer.isConnected
is_user_hltvplayer.isHltv
LibraryExists, module_existshasModule()
LoadFileForMereadFileSync(path) из @amxts/core/fs
log_amxconsole.log, console.error
log_to_fileappendFileSync(path, line) из @amxts/core/fs
LookupLangKeylang.translate()
maxMath.max(a, b)
mb_strtolower, strtolower, tolowertext.toLowerCase()
mb_strtoupper, strtoupper, touppertext.toUpperCase()
mb_ucfirst, ucfirsttext[0].toUpperCase() + text.slice(1)
menu_addblank, menu_addblank2menu.addBlank()
menu_additemmenu.addItem()
menu_addtext, menu_addtext2menu.addText()
menu_create, menu_setprop, register_menucmd, register_menuidnew Menu(title, options)
menu_displaymenu.show()
menu_item_setcall, menu_makecallbackmenu.addItem({ enabled, visible })
menu_item_setnamemenu.addItem({ title: context => ... })
message_begin(..., SVC_TEMPENTITY)effects.beamPoints(...), effects.explosion(...), ...
minMath.min(a, b)
mkdirmkdirSync(path) из @amxts/core/fs
next_hudchannelplayer.showHud
num_to_strString(n)
pauseplugin.stop()
powera ** b
precache_generic, precache_model, precache_soundserver.precache()
PrepareArrayforward.emit(array)
query_client_cvarplayer.queryCvar()
randomMath.floor(Math.random() * n)
random_floatMath.random() * (b - a) + a
random_numMath.floor(Math.random() * (b - a + 1)) + a
read_argc, read_args, read_argv, read_argv_float, read_argv_intаргументы команды: server.addCommand<Args>(usage, ...)
read_dataevent.<field>, event.args
read_datanumevent.args.length
read_filereadFileSync(path).split("\n")[i] из @amxts/core/fs
read_flagsaccessOf()
register_clcmd, register_concmdserver.addCommand
register_cvarnew Cvar(name, default)
register_dictionarylang.load()
register_event, register_event_exserver.addMessageListener(name, listener)
register_messageserver.addMessageListener()
register_nativeexport function
register_pluginplugin()
register_srvcmdserver.addServerCommand
remove_quotestext.replaceAll("\"", "")
remove_taskclearTimeout()
remove_vaultdatastorage.delete(key)
rename_filerenameSync() из @amxts/core/fs
replace, replace_stringextext.replace(a, b)
replace_stringtext.replaceAll(a, b)
rmdirrmdirSync() из @amxts/core/fs
server_cmdserver.command()
server_printconsole.log
set_array, set_array_f, set_float_byref, set_param_byref, set_stringрезультат export function
set_cvar_float, set_pcvar_float, set_pcvar_numcvar.number = ...
set_cvar_numcvar.setNum()
set_cvar_stringcvar.setStr()
set_dhudmessage, show_dhudmessageplayer.showHud(text, { large: true })
set_error_filtertry { ... } catch (error) { ... }
set_hudmessage, show_hudmessageplayer.showHud()
set_module_filter, set_native_filterничего: отсутствующий натив отвечает 0 и пишет об этом один раз
set_msg_blockevent.preventDefault()
set_pcvar_boolcvar.boolean = ...
set_pcvar_stringcvar.value = ...
set_tasksetTimeout()
set_user_infouserInfo.set()
set_vaultdatastorage.set(key, value)
setc"a".repeat(n)
show_menumenu.show(player, data)
show_motdplayer.showMotd()
ShowSyncHudMsghudLine.show(player, text)
sorting.incarray.sort((a, b) => a - b)
split_string, strtok, strtok2text.split(...)
sqrootMath.sqrt(x)
str_to_float, strtofparseFloat(text)
str_to_numparseInt(text)
strcmpa == b, a.localeCompare(b)
strlentext.length
strncmpa.startsWith(b)
strtolparseInt(text, radix)
swapcharsпобитовые операторы
task_existsдескриптор, который вернул setTimeout, в переменной
tickcountperformance.now()
timenew Date().getHours(), getMinutes(), getSeconds()
trimtext.trim()
unpauseplugin.start()
user_has_weaponplayer.items.some(item => item.kind == "ak47")
user_killplayer.kill()
user_slapplayer.slap()
vaultdata_existsstorage.has(key)
vector_lengthvector.magnitude()
vector_to_anglevector.toAngles()
velocity_by_aimvector.fromAngles()

fun

Pawnamxts
get_user_godmodeplayer.takeDamage
get_user_gravityplayer.gravity
get_user_maxspeedplayer.maxSpeed
get_user_noclipplayer.moveType == "noclip"
get_user_rendering, set_user_renderingplayer.renderMode, renderFx, renderColor, renderAmount
give_itemplayer.give()
set_user_armorplayer.armor
set_user_footstepsplayer.silentSteps
set_user_fragsplayer.frags
set_user_godmodeplayer.takeDamage = "no"
set_user_gravityplayer.gravity = ...
set_user_healthplayer.health
set_user_maxspeedplayer.maxSpeed = ...
set_user_noclipplayer.moveType = "noclip"
set_user_originplayer.origin = ...
spawnentity.spawn()
strip_user_weaponsplayer.removeAllItems()

cstrike

Pawnamxts
cs_create_entityEntity.create(classname)
cs_find_ent_by_classEntity.find({ classname })
cs_find_ent_by_ownerEntity.find({ owner })
cs_get_user_armor, cs_set_user_armorplayer.armor, player.kevlar
cs_get_user_bpammoplayer.getAmmo()
cs_get_user_deaths, cs_set_user_deathsplayer.deaths
cs_get_user_defuseplayer.hasDefuser
cs_get_user_hasprimplayer.hasPrimary
cs_get_user_hostagekillsplayer.hostagesKilled
cs_get_user_lastactivityplayer.lastMovement
cs_get_user_model, cs_set_user_modelplayer.model
cs_get_user_moneyplayer.money
cs_get_user_nvgplayer.hasNightVision
cs_get_user_shieldplayer.ownsShield
cs_get_user_teamplayer.team
cs_get_user_tkedplayer.justKilledTeammate
cs_get_user_vipplayer.isVip
cs_get_user_weaponplayer.activeItem?.kind
cs_get_user_weapon_entityplayer.activeItem
cs_get_weapon_ammoweapon.clip
cs_get_weapon_burstweapon.weaponState.includes("glockBurstMode")
cs_get_weapon_idweapon.kind
cs_get_weapon_silenweapon.weaponState.includes("uspSilenced")
cs_reset_user_modelplayer.resetModel()
cs_set_ent_classentity.classname = ...
cs_set_user_bpammoplayer.setAmmo()
cs_set_user_defuseplayer.hasDefuser = ...
cs_set_user_hostagekillsplayer.hostagesKilled = ...
cs_set_user_lastactivityplayer.lastMovement = ...
cs_set_user_moneyplayer.money = ...
cs_set_user_nvgplayer.hasNightVision = ...
cs_set_user_teamplayer.team = ...
cs_set_user_tkedplayer.justKilledTeammate = ...
cs_set_user_vipplayer.isVip = ...
cs_set_weapon_ammoweapon.clip = ...
cs_set_weapon_burst, cs_set_weapon_silenweapon.weaponState
cs_user_spawnplayer.respawn()

engine

Pawnamxts
attach_viewplayer.view
call_thinkentity.think()
create_entityEntity.create(classname)
DispatchSpawnentity.spawn()
entity_get_byte, entity_get_edict, entity_get_edict2, entity_get_float, entity_get_int, entity_get_string, entity_get_vector, entity_set_byte, entity_set_edict, entity_set_float, entity_set_int, entity_set_string, entity_set_vectorentity.<field>, player.<field>
entity_rangea.origin.distanceTo(b.origin)
entity_set_modelentity.model = ...
entity_set_originentity.origin = ...
entity_set_sizeentity.setSize(mins, maxs)
find_ent_by_classEntity.find({ classname })
find_ent_by_modelEntity.find({ model })
find_ent_by_ownerEntity.find({ owner })
find_ent_in_sphereEntity.findAll({ near, radius })
find_sphere_classEntity.findAll({ classname, near, radius })
force_useentity.use(...)
get_speak, set_speakplayer.muted, heardByEveryone, hearsEveryone
get_usercmd, set_usercmdClientCmdStartEvent
halflife_timegame.time
is_in_viewcone, is_visibleplayer.canSee()
is_valid_ententity.exists
point_contentspointContents()
register_impulseserver.addEventListener("impulse", listener)
register_thinkgame.addEventListener("think", listener, { classname })
register_touchgame.addEventListener("touch", listener, { toucher, touched })
remove_entityentity.remove()
set_ent_renderingentity.renderMode, renderFx, renderColor, renderAmount
set_lightsserver.lightStyle
trace_hulltrace.hull()
trace_lineplayer.canSeePoint()
unregister_impulseserver.removeEventListener
unregister_think, unregister_touchgame.removeEventListener

fakemeta

Pawnamxts
create_tr2, free_tr2, get_tr2trace.line()
dllfunc(DLLFunc_ClientConnect)server.addBot()
engfunc(EngFunc_CreateFakeClient)server.addBot()
get_cd, set_cdClientDataEvent
get_ent_data, get_ent_data_entity, get_ent_data_float, get_ent_data_string, get_ent_data_vector, get_pdata_bool, get_pdata_byte, get_pdata_ehandle, get_pdata_ent, get_pdata_float, get_pdata_int, get_pdata_short, get_pdata_string, get_pdata_vector, pev, set_ent_data, set_ent_data_entity, set_ent_data_float, set_ent_data_string, set_ent_data_vector, set_pdata_bool, set_pdata_byte, set_pdata_ehandle, set_pdata_ent, set_pdata_float, set_pdata_int, set_pdata_short, set_pdata_string, set_pdata_vector, set_pev, set_pev_stringentity.<field>, player.<field>
get_es, set_esEntityStateEvent
get_gamerules_entity, get_gamerules_float, get_gamerules_int, get_gamerules_string, get_gamerules_vector, set_gamerules_entity, set_gamerules_float, set_gamerules_int, set_gamerules_string, set_gamerules_vectorgame.<field>
pev_validentity.exists
register_forward(FM_AddToFullPack, ..., 1)EntityStateEvent

hamsandwich

Pawnamxts
DisableHamForwardgame.removeEventListener
EnableHamForwardgame.addEventListener
ExecuteHam, ExecuteHamBweapon.deploy(), weapon.deploy({ hooks: false })
get_pdata_cbase, get_pdata_cbase_safe, set_pdata_cbaseentity.<field>, player.<field>
GetHamReturnEntity, GetHamReturnFloat, GetHamReturnInteger, GetHamReturnStatus, GetHamReturnString, GetHamReturnVector, GetOrigHamReturnEntity, GetOrigHamReturnFloat, GetOrigHamReturnInteger, GetOrigHamReturnString, GetOrigHamReturnVectorevent.result
RegisterHamgame.addEventListener()
RegisterHamFromEntitygame.addEventListener(name, listener, { classname })
SetHamParamEntity, SetHamParamEntity2, SetHamParamFloat, SetHamParamInteger, SetHamParamString, SetHamParamVectorevent.<field> = ...
SetHamReturnEntity, SetHamReturnFloat, SetHamReturnInteger, SetHamReturnString, SetHamReturnVectorreturn значение из слушателя

nvault

Pawnamxts
nvault_closeничего: плагину это не нужно
nvault_get, nvault_lookupstorage.get()
nvault_opennew Storage(name)
nvault_prunestorage.prune()
nvault_removestorage.delete()
nvault_setstorage.set()

geoip

Pawnamxts
geoip_code2_explayer.countryCode
geoip_country_explayer.country

regex

Pawnamxts
regex.incRegExp: /.../.exec(text), text.match, text.replace

json

Pawnamxts
json.incJSON.parse<T>(text), JSON.stringify(value)

reapi

Pawnamxts
DisableHookChaingame.removeEventListener
DisableHookMessage, UnregisterMessageserver.removeMessageListener
EnableHookChaingame.addEventListener
EnableHookMessageserver.addMessageListener
engset_viewplayer.view
FClassnameIsentity.classname == name
get_entvar, get_member, get_member_s, set_entvar, set_member, set_member_sentity.<field>, player.<field>
get_member_game, set_member_gamegame.<field>
GetHookChainReturnevent.result
GetMessageArgsNumevent.args.length
GetMessageArgTypeevent.args.isText(i)
GetMessageDataevent.<field>
is_entityentity.exists
is_regamedll, is_rehldsserver.versions
RegisterHookChaingame.addEventListener()
RegisterMessageserver.addMessageListener(name, listener)
REU_GetAuthKeyplayer.authKey
REU_GetAuthtypeplayer.authType
REU_GetProtocolplayer.protocol
rg_add_accountplayer.money += ...
rg_balance_teamsgame.balanceTeams()
rg_check_win_conditionsgame.checkWinConditions()
rg_create_entityEntity.create(classname)
rg_drop_itemplayer.dropItem()
rg_find_ent_by_classEntity.find({ classname })
rg_find_ent_by_ownerEntity.find({ owner })
rg_find_weapon_bpack_by_nameplayer.items.find(item => item.classname == name)
rg_get_user_ammoweapon.clip
rg_get_user_armor, rg_set_user_armorplayer.armor, player.kevlar
rg_get_user_bpammoplayer.getAmmo()
rg_give_defusekitplayer.hasDefuser = true
rg_give_itemplayer.give()
rg_has_item_by_nameplayer.items.some(item => item.classname == name)
rg_hint_messageplayer.screen.hint()
rg_join_teamplayer.joinTeam()
rg_remove_all_itemsplayer.removeAllItems()
rg_remove_entityentity.remove()
rg_remove_itemplayer.removeItem(weapon)
rg_remove_items_by_slotplayer.removeItems()
rg_reset_maxspeedplayer.resetMaxSpeed()
rg_reset_user_modelplayer.resetModel()
rg_restart_roundgame.restartRound()
rg_round_endgame.endRound()
rg_round_respawnplayer.respawn()
rg_send_audioplayer.playSound()
rg_send_bartime, rg_send_bartime2player.screen.progressBar()
rg_set_observer_modeplayer.observerMode = ...
rg_set_user_ammoweapon.clip = ...
rg_set_user_bpammoplayer.setAmmo()
rg_set_user_footstepsplayer.silentSteps
rg_set_user_modelplayer.model
rg_set_user_teamplayer.team
rg_swap_all_playersgame.swapTeams()
rg_switch_weaponplayer.switchWeapon()
rg_update_teamscoresgame.ctWins = ..., game.terroristWins = ...
rg_weapon_deployweapon.deploy()
rg_weapon_reloadweapon.reload()
rg_weapon_send_animationweapon.sendWeaponAnim(...)
rh_drop_clientplayer.kick(reason)
rh_emit_sound2entity.emitSound
rh_get_mapnameserver.map
SetHookChainArg, SetMessageDataevent.<field> = ...
SetHookChainReturnreturn значение из слушателя
SetMessageBlockevent.preventDefault()