View Single Post
iamf2p
Member
Join Date: Nov 2018
Old 11-25-2018 , 00:46   Re: [TF2] Admin teleport Plugin
Reply With Quote #29

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 Floatrigin[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 Floatrigin[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?
iamf2p is offline