/me and a /do command
#7

pawn Код:
#define DO_RANGE 300

command(me, playerid, params[])
{
    new string[128];
    if(strlen(params) < 5) return SendClientMessage(playerid, 0x0, "Your action has to contain at least 5 chars.");
    format(string, sizeof(string), "( ( %s [ %d ] ) : %s )", GetName(playerid), playerid, params);
    SendClientMessageToAll(GetPlayerColor(playerid), string);
    return 1;
}

command(do, playerid, params[])
{
    new string[128], Float: Pos[3];
    if(strlen(params) < 5) return SendClientMessage(playerid, 0x0, "Your action has to contain at least 5 chars.");
    format(string, sizeof(string), "( ( %s [ %d ] ) : %s )", GetName(playerid), playerid, params);
    for(new i; i < MAX_PLAYERS; i++)
    {
        if(i != playerid && IsPlayerConnected(i) && IsPlayerInRange(i, DO_RANGE, DO_RANGE, Pos[0], Pos[1], Pos[2]))
        {
            SendClientMessage(i, GetPlayerColor(playerid), string);
        }
    }
    SendClientMessage(playerid, GetPlayerColor(playerid), string);
    return 1;
}

stock GetName(playerid)
{
    new pName[25];
    GetPlayerName(playerid, pName, sizeof(pName));
    return pName;
}

stock IsPlayerInRange(playerid, Float:Range, Float:Z_Range, Float:tar_x, Float:tar_y, Float:tar_z) //By Gabriel "Larcius" Cordes
{
    new bool:care_z = true, Float:player_x, Float:player_y, Float:player_z, Float:radius_xy, Float:radius_z;
    GetPlayerPos(playerid, player_x, player_y, player_z);
    radius_xy = floatsqroot(floatadd(floatpower(floatsub(player_x,tar_x),2.0),floatpower(floatsub(player_y,tar_y),2.0)));
    radius_z = floatsqroot(floatadd(floatpower(radius_xy,2.0),floatpower(floatsub(player_z,tar_z),2.0)));
    if(radius_z > Z_Range && radius_xy < radius_z)
    {
        care_z = false;
    }
    if(radius_xy <= Range && care_z)
    {
        return 1;
    }
    return 0;
}
Should work properly.
Reply


Messages In This Thread
/me and a /do command - by davelord - 09.04.2011, 22:50
Re: /me and a /do command - by grand.Theft.Otto - 09.04.2011, 23:03
Re: /me and a /do command - by blazee14 - 12.04.2011, 05:49
Re: /me and a /do command - by Cameltoe - 12.04.2011, 07:29
Re: /me and a /do command - by Kwarde - 12.04.2011, 07:30
Re: /me and a /do command - by Voldemort - 12.04.2011, 07:34
Re: /me and a /do command - by Cameltoe - 12.04.2011, 07:55
Re: /me and a /do command - by davelord - 12.04.2011, 11:53
Re: /me and a /do command - by davelord - 15.04.2011, 11:58
Re: /me and a /do command - by davelord - 16.04.2011, 20:40

Forum Jump:


Users browsing this thread: 1 Guest(s)