Veteran Member
|
05-19-2023
, 11:15
Re: new error message
|
#3
|
Quote:
Originally Posted by lexzor
the error message is not new, its old as the earth
with the given code, we can't indentify the error.
check if the player index is between 0 and 33 and if the user is connected
doing this you will avoid this type of error
|
this it the public of it
PHP Code:
// Command: Teleport.
CmdTeleport(client, param[])
{
// check param[] is none.
if (!CheckUsage(client, TELEPORT, param))
return;
// Split parameter.
new fromTarget[32], toTarget[32];
argbreak(param, fromTarget, charsmax(fromTarget), toTarget, charsmax(toTarget));
new players[32];
new fPlayer;
new tPlayer;
new pnum = 0;
new Float:origin[3], Float:vAngle[3];
new cOriginX[5],cOriginY[5],cOriginZ[5];
if (parse(toTarget, cOriginX, charsmax(cOriginX), cOriginY, charsmax(cOriginY), cOriginZ, charsmax(cOriginZ)) == 3)
{
origin[0] = str_to_float(cOriginX);
origin[1] = str_to_float(cOriginY);
origin[2] = str_to_float(cOriginZ);
} else
{
// Get <To:target> player
if (GetSingleTargetPlayer(client, toTarget, tPlayer, false, ALIVE_ONLY))
{
// Get <To:target> player location
GetTeleportLocation(tPlayer, origin, vAngle);
}
/*else
{
client_print_color(client, print_team_default, "%s Error: Missing or invalid destination target.", PREFIX);
return;
}*/
}
// Get <from:@xxx> player
if (GetMultiTargetPlayers(client, fromTarget, players, pnum, true, ALIVE_ONLY))
{
// Teleporting <from:@xxx>
for(new i = 0; i < pnum; i++)
{
if (is_user_alive(players[i]))
doTeleport(players[i], origin, vAngle);
}
// Print
if (pnum)
PrintTeleport(0, fromTarget, tPlayer, origin);
// End
return;
}
// Get <from:target> player
if (GetSingleTargetPlayer(client, fromTarget, fPlayer, true, ALIVE_ONLY))
{
// Teleporting <from:target> player
if (is_user_alive(fPlayer))
{
doTeleport(fPlayer, origin, vAngle);
// Print
PrintTeleport(0, fromTarget, tPlayer, origin);
}
// End
return;
}
}
// Get Teleport Location.
GetTeleportLocation(id, Float:origin[3], Float:vAngle[3])
{
pev(id, pev_origin, origin);
pev(id, pev_v_angle, vAngle);
}
// Teleporting.
doTeleport(id, const Float:origin[3], const Float:vAngle[3])
{
new Float:toVector[3];
// Check Stuck.
FindEmptyLocation(origin, toVector, 100.0);
// Teleport.
engfunc(EngFunc_SetOrigin, id, toVector);
set_pev(id, pev_v_angle, vAngle);
set_pev(id, pev_fixangle, 1);
UTIL_UnstickPlayer(id, START_DISTANCE, MAX_ATTEMPTS);
}
PHP Code:
bool:GetSingleTargetPlayer(client, target[], &player, CheckHigherAdmin, IsAlive)
{
trim(target);
player = GetTargetPlayer(target);
if (!player)
{
client_print_color(client, print_team_default, "%s ^3Error^1: You must write a valid player.", PREFIX);
return false;
}
if (CheckHigherAdmin)
if (IsHigherAdmin(client, player))
{
player = 0;
client_print_color(client, print_team_default, "%s ^3Error:^1 You can not use this command on high admin", PREFIX, player);
return false;
}
switch(IsAlive)
{
case ALIVE_ONLY:
if (!is_user_alive(player))
{
player = 0;
client_print_color(client, print_team_default, "%s ^3Error^1: This action could not perform on^4 alive client^1.", PREFIX);
return false;
}
case DEAD_ONLY:
if (is_user_alive(player))
{
player = 0;
client_print_color(client, print_team_default, "%s ^3Error^1: This action could not perform on^4 dead client^1.", PREFIX);
return false;
}
}
return true;
}
PHP Code:
PrintTeleport(id, target[], position, Float:origin[3])
{
trim(target);
if (target[0] == '@')
{
if (is_user_connected(position))
{
if (equali(target, "@all"))
client_print_color(id, print_team_default, "%s ^3everyone ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)", PREFIX, position, origin[0], origin[1], origin[2]);
else if(equali(target, "@admin"))
client_print_color(id, print_team_default, "%s ^3Admins ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)", PREFIX, position, origin[0], origin[1], origin[2]);
else if(equali(target, "@ct"))
client_print_color(id, print_team_default, "%s ^3CT Team ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)", PREFIX, position, origin[0], origin[1], origin[2]);
else if(equali(target, "@t"))
client_print_color(id, print_team_default, "%s ^3Terrorist Team ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)",PREFIX, position, origin[0], origin[1], origin[2]);
else
{
new player = GetTargetPlayer(target);
client_print_color(id, print_team_default, "%s ^3%n ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)", PREFIX, player, position, origin[0], origin[1], origin[2]);
}
}
else
{
if (equali(target, "@all"))
client_print_color(id, print_team_default, "%s ^3everyone ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)", PREFIX, origin[0], origin[1], origin[2]);
else if(equali(target, "@admin"))
client_print_color(id, print_team_default, "%s ^3Admins ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)", PREFIX, origin[0], origin[1], origin[2]);
else if(equali(target, "@ct"))
client_print_color(id, print_team_default, "%s ^3CT Team ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)", PREFIX, origin[0], origin[1], origin[2]);
else if(equali(target, "@t"))
client_print_color(id, print_team_default, "%s ^3Terrorist Team ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)",PREFIX, origin[0], origin[1], origin[2]);
else
{
new player = GetTargetPlayer(target);
client_print_color(id, print_team_default, "%s ^3%n ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)", PREFIX, player, origin[0], origin[1], origin[2]);
}
}
return;
}
else
{
if (is_user_connected(position))
{
new player = GetTargetPlayer(target);
client_print_color(id, print_team_default, "%s ^3%n ^1has teleport to ^3%n. ^1(Origin:%.2f, %.2f, %.2f)", PREFIX, player, origin[0], origin[1], origin[2]);
}
else
{
new player = GetTargetPlayer(target);
client_print_color(id, print_team_default, "%s ^3%n ^1has teleported to ^3Origin.(%.2f, %.2f, %.2f)", PREFIX, player, origin[0], origin[1], origin[2]);
}
}
return;
}
Last edited by Fuck For Fun; 05-19-2023 at 12:48.
|
|