summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCristei Gabriel <cristei.g772@gmail.com>2023-11-15 04:43:16 +0200
committerCristei Gabriel <cristei.g772@gmail.com>2023-11-15 04:43:16 +0200
commit66e9367d4713ae5fe2df20d6c0200c637e78fac0 (patch)
tree7e906ba50ac433a396857a9be971309e71dc8c72
parentd4d5482b5f66209d17b9d786ffe0a13cf352fb15 (diff)
add setposang_player for debugging
-rw-r--r--sourcemod/scripting/setpos_setang.sp70
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;
+}
+