Created
November 2, 2019 08:00
-
-
Save nosoop/1979a02288c24bee258f8a29e9451bcf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 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