Skip to content

Instantly share code, notes, and snippets.

@nosoop
Created November 2, 2019 08:00
Show Gist options
  • Save nosoop/1979a02288c24bee258f8a29e9451bcf to your computer and use it in GitHub Desktop.
Save nosoop/1979a02288c24bee258f8a29e9451bcf to your computer and use it in GitHub Desktop.
/**
* Sourcemod 1.7 Plugin Template
*/
#pragma semicolon 1
#include <sourcemod>
#include <sdktools>
#pragma newdecls required
public void OnPluginStart() {
RegAdminCmd("sm_aim_mimic", MimicAim, ADMFLAG_ROOT);
// RegAdminCmd("sm_aim_share", ShareAim, ADMFLAG_ROOT); // TODO make targets look at same point
RegAdminCmd("sm_tele1", TeleportExact, ADMFLAG_ROOT);
RegAdminCmd("sm_telefp", TeleportExact, ADMFLAG_ROOT);
LoadTranslations("common.phrases");
}
public Action MimicAim(int client, int argc) {
char targetString[64];
GetCmdArg(1, targetString, sizeof(targetString));
int target = FindTarget(client, targetString, false, false);
if (target == -1) {
return Plugin_Handled;
}
float angEyes[3];
GetClientEyeAngles(target, angEyes);
GetCmdArg(2, targetString, sizeof(targetString));
int clients[MAXPLAYERS], nClients;
char targetName[64];
bool multilang;
nClients = ProcessTargetString(targetString, 0, clients, sizeof(clients),
COMMAND_FILTER_ALIVE, targetName, sizeof(targetName), multilang);
if (nClients < 0) {
return Plugin_Handled;
}
for (int i; i < nClients; i++) {
TeleportEntity(clients[i], NULL_VECTOR, angEyes, NULL_VECTOR);
}
return Plugin_Handled;
}
/**
* Teleports player(s) to the exact loation the calling player is at.
*/
public Action TeleportExact(int client, int argc) {
char targetString[64];
GetCmdArg(1, targetString, sizeof(targetString));
int clients[MAXPLAYERS], nClients;
char targetName[64];
bool multilang;
nClients = ProcessTargetString(targetString, 0, clients, sizeof(clients),
COMMAND_FILTER_ALIVE, targetName, sizeof(targetName), multilang);
if (nClients < 0) {
return Plugin_Handled;
}
float vecOrigin[3], angEyes[3];
GetClientAbsOrigin(client, vecOrigin);
GetClientEyeAngles(client, angEyes);
for (int i; i < nClients; i++) {
TeleportEntity(clients[i], vecOrigin, angEyes, NULL_VECTOR);
}
return Plugin_Handled;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment