public void OnPluginStart(){
LoadTranslations("common.phrases");
RegAdminCmd("tep", teleport, ADMFLAG_SLAY);
RegAdminCmd("zmc", zmcop_teleport, ADMFLAG_SLAY);
RegAdminCmd("xlm", xlm_teleport, ADMFLAG_SLAY); //NOT WORKING
}
public Action teleport(int client, int args){
char arg1[32], arg2[32], arg4[32];
int check = 0;
decl Float:angle[3];
decl Float
rigin[3];
GetCmdArg(1, arg1, sizeof(arg1));
GetCmdArg(3, arg4, sizeof(arg4));
if(args >= 2 && GetCmdArg(2, arg2, sizeof(arg2))){
check = StringToInt(arg2);
}
char target_name[MAX_TARGET_LENGTH];
int target_list[MAXPLAYERS], target_count, target_list_1[MAXPLAYERS];
bool tn_is_ml;
if ((target_count = ProcessTargetString(
arg1,
client,
target_list,
MAXPLAYERS,
COMMAND_FILTER_ALIVE,
target_name,
sizeof(target_name),
tn_is_ml)) <= 0)
{
ReplyToTargetError(client, target_count);
return Plugin_Handled;
}
if ((target_count = ProcessTargetString(
arg4,
client,
target_list_1,
MAXPLAYERS,
COMMAND_FILTER_ALIVE,
target_name,
sizeof(target_name),
tn_is_ml)) <= 0)
{
ReplyToTargetError(client, target_count);
return Plugin_Handled;
}
for (int i = 0; i < target_count; i++)
{
SetGlobalTransTarget(target_list[i]);
SetGlobalTransTarget(target_list_1[i]);
if(check >= 1){
GetClientAbsAngles(target_list_1[i], angle);
GetClientAbsOrigin(target_list_1[i], origin);
TeleportEntity(target_list[i], origin, angle, NULL_VECTOR);
TF2_AddCondition(target_list[i], TFCond_SpeedBuffAlly, 2.5, 0);
TF2_AddCondition(target_list[i], TFCond_TeleportedGlow, 5.0, 0);
TF2_AddCondition(target_list[i], TFCond_Teleporting, 2.0, 0);
TF2_AddCondition(target_list[i], TFCond_SmallBulletResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_SmallBlastResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_SmallFireResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_Gas, 1.5, 0);
}
if(check <= 0){
GetClientAbsAngles(target_list[i], angle);
GetClientAbsOrigin(target_list[i], origin);
TeleportEntity(target_list_1[i], origin, angle, NULL_VECTOR);
TF2_AddCondition(target_list_1[i], TFCond_SpeedBuffAlly, 2.5, 0);
TF2_AddCondition(target_list_1[i], TFCond_TeleportedGlow, 5.0, 0);
TF2_AddCondition(target_list_1[i], TFCond_Teleporting, 2.0, 0);
TF2_AddCondition(target_list_1[i], TFCond_SmallBulletResist, 1.5, 0);
TF2_AddCondition(target_list_1[i], TFCond_SmallBlastResist, 1.5, 0);
TF2_AddCondition(target_list_1[i], TFCond_SmallFireResist, 1.5, 0);
TF2_AddCondition(target_list_1[i], TFCond_Gas, 1.5, 0);
}
}
return Plugin_Handled;
}
public Action zmcop_teleport(int client, int args){
char arg1[32], arg2[32];
int check = 0;
decl Float:angle[3];
decl Float
rigin[3];
GetCmdArg(1, arg1, sizeof(arg1));
if(args >= 2 && GetCmdArg(2, arg2, sizeof(arg2))){
check = StringToInt(arg2);
}
char target_name[MAX_TARGET_LENGTH];
int target_list[MAXPLAYERS], target_count;
bool tn_is_ml;
if ((target_count = ProcessTargetString(
arg1,
client,
target_list,
MAXPLAYERS,
COMMAND_FILTER_ALIVE,
target_name,
sizeof(target_name),
tn_is_ml)) <= 0)
{
ReplyToTargetError(client, target_count);
return Plugin_Handled;
}
for (int i = 0; i < target_count; i++)
{
SetGlobalTransTarget(target_list[i]);
if(check >= 1){
GetClientAbsAngles(target_list[i], angle);
GetClientAbsOrigin(target_list[i], origin);
TeleportEntity(client, origin, angle, NULL_VECTOR);
TF2_AddCondition(client, TFCond_SpeedBuffAlly, 2.5, 0);
TF2_AddCondition(client, TFCond_TeleportedGlow, 5.0, 0);
TF2_AddCondition(client, TFCond_Teleporting, 2.0, 0);
TF2_AddCondition(client, TFCond_SmallBulletResist, 1.5, 0);
TF2_AddCondition(client, TFCond_SmallBlastResist, 1.5, 0);
TF2_AddCondition(client, TFCond_SmallFireResist, 1.5, 0);
TF2_AddCondition(client, TFCond_Gas, 1.5, 0);
}
if(check <= 0){
GetClientAbsAngles(client, angle);
GetClientAbsOrigin(client, origin);
TeleportEntity(target_list[i], origin, angle, NULL_VECTOR);
TF2_AddCondition(target_list[i], TFCond_TeleportedGlow, 5.0, 0);
TF2_AddCondition(target_list[i], TFCond_SpeedBuffAlly, 2.5, 0);
TF2_AddCondition(target_list[i], TFCond_Teleporting, 2.0, 0);
TF2_AddCondition(target_list[i], TFCond_SmallBulletResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_SmallBlastResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_SmallFireResist, 1.5, 0);
TF2_AddCondition(target_list[i], TFCond_Gas, 1.5, 0);
}
}
return Plugin_Handled;
}
how about double muti targeting?