diff options
| author | Cristei Gabriel <cristei.g772@gmail.com> | 2023-11-15 04:43:16 +0200 |
|---|---|---|
| committer | Cristei Gabriel <cristei.g772@gmail.com> | 2023-11-15 04:43:16 +0200 |
| commit | 66e9367d4713ae5fe2df20d6c0200c637e78fac0 (patch) | |
| tree | 7e906ba50ac433a396857a9be971309e71dc8c72 /sourcemod/scripting | |
| parent | d4d5482b5f66209d17b9d786ffe0a13cf352fb15 (diff) | |
add setposang_player for debugging
Diffstat (limited to 'sourcemod/scripting')
| -rw-r--r-- | sourcemod/scripting/setpos_setang.sp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/sourcemod/scripting/setpos_setang.sp b/sourcemod/scripting/setpos_setang.sp new file mode 100644 index 0000000..1dc8dbb --- /dev/null +++ b/sourcemod/scripting/setpos_setang.sp @@ -0,0 +1,70 @@ +#include <sourcemod> +#include <cstrike> +#include <smlib> + +new const String:PLUGIN_NAME[] = "setpos/setang for player" +new const String:PLUGIN_AUTHOR[] = "cristeigabriel" +new const String:PLUGIN_DESCRIPTION[] = "setpos_player, setang_player" +new const String:PLUGIN_VERSION[] = "0" + +public Plugin:myinfo = { + name = PLUGIN_NAME, + author = PLUGIN_AUTHOR, + description = PLUGIN_DESCRIPTION, + version = PLUGIN_VERSION, +} + +public void OnPluginStart() { + RegAdminCmd("setposang_player", SetPosAngPlayer, ADMFLAG_GENERIC); +} + +public Action SetPosAngPlayer(int client, int args) { + if (args != 7) { + PrintToConsole(client, "setposang_player: not enough arguments"); + return Plugin_Continue; + } + + char name[32]; + int target = -1, i, j = 0; + float pos[3]; + float ang[3]; + + GetCmdArg(1, name, sizeof(name)); + for (i = 1; i <= MaxClients; i++) { + if (!IsClientConnected(i)) { + continue; + } + + char curname[32]; + + GetClientName(i, curname, sizeof(curname)); + if (StrEqual(name, curname)) { + target = i; + break; + } + } + + if (target == -1) { + PrintToConsole(client, "setpos_exact: no such target \"%s\"", name); + return Plugin_Continue; + } + + for (i = 2; i < 5; i++) { + char arg[128]; + + GetCmdArg(i, arg, sizeof(arg)); + pos[j++] = StringToFloat(arg); + } + + for (j = 0, i = 5; i <= 7; i++) { + char arg[128]; + + GetCmdArg(i, arg, sizeof(arg)); + ang[j++] = StringToFloat(arg); + } + + TeleportEntity(target, pos, ang, NULL_VECTOR); + + return Plugin_Handled; +} + |
