Boombox picking issue
#2

I guess this should work. Try it mate.

pawn Код:
dcmd_pickupboombox(playerid, params[])
{
    #pragma unused params
    if(GetPVarType(playerid, "pDynamicBB"))
    {
        if(GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK || !(PlayerInfo[playerid][pTurnedOn] == 0)) return SendClientMessage(playerid, COLOR_WHITE, " You must be crouched or you have not turnned your boombox off!");
        if(!IsPlayerInRangeOfPoint(playerid, 3.0, GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"))) return SendClientMessage(playerid, COLOR_WHITE, "You're not near in your BoomBox");
        DestroyDynamicObject(GetPVarInt(playerid, "pDynamicBB"));
        DestroyDynamic3DTextLabel(GetPVarInt(playerid, "pDynamicBBLabel"));
        PlayerInfo[playerid][pTurnedOn] = 0;
        DeletePVar(playerid, "pDynamicBB"); DeletePVar(playerid, "pDynamicBBStation"); DeletePVar(playerid, "pDynamicBBLabel");
        DeletePVar(playerid, "pDynamicBBX"); DeletePVar(playerid, "pDynamicBBY"); DeletePVar(playerid, "pDynamicBBZ");
        if(GetPVarType(playerid, "pDynamicBBArea"))
        {
            new string[128];
//          format(string, sizeof(string), "* %s has pickedup their boombox.", SenderName(playerid));
//          SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
//          format(string, sizeof(string), "* %s has picked up their boombox!",GetPlayerNameEx(playerid));
  //          ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
            foreach(Player, i)
            {
                if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
                {
                    StopAudioEx(i);
                    DestroyDynamicObject(GetPVarInt(playerid, "pDynamicBB"));
                    DestroyDynamic3DTextLabel(GetPVarInt(playerid, "pDynamicBBLabel"));
                    SendClientMessage(i, COLOR_PURPLE, string);
                    PlayerInfo[playerid][pTurnedOn] = 0;
                   
                    DeletePVar(i, "pDynamicBB");
                    DeletePVar(i, "pDynamicBBStation");
                    DeletePVar(i, "pDynamicBBLabel");
                    DeletePVar(i, "pDynamicBBX");
                    DeletePVar(i, "pDynamicBBY");
                    DeletePVar(i, "pDynamicBBZ");
                    DeletePVar(i, "pDynamicBBInt");
                    DeletePVar(i, "pDynamicBBVW");

                }
            }
            DeletePVar(playerid, "pDynamicBBArea");
        }
        SendClientMessage(playerid, COLOR_WHITE, "You've picked up your boombox!");
    }
    else
    {
        foreach(Player, i)
        {
            if(GetPVarType(i, "pDynamicBB"))
            {
                if(GetPVarInt(i, "pDynamicBBVW") == GetPlayerVirtualWorld(playerid) && GetPVarInt(i, "pDynamicBBInt") == GetPlayerInterior(playerid) && IsPlayerInRangeOfPoint(playerid, 5.0, GetPVarFloat(i, "pDynamicBBX"), GetPVarFloat(i, "pDynamicBBY"), GetPVarFloat(i, "pDynamicBBZ")))
                {
                    if(GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) return SendClientMessage(playerid, COLOR_WHITE, " You must be crouched to pick a the boombox.");
                    if(!IsPlayerInRangeOfPoint(playerid, 3.0, GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"))) return SendClientMessage(playerid, COLOR_WHITE, "You're not near in your BoomBox");
                    DestroyDynamicObject(GetPVarInt(i, "pDynamicBB"));
                    DestroyDynamic3DTextLabel(GetPVarInt(i, "pDynamicBBLabel"));
                    PlayerInfo[playerid][pTurnedOn] = 0;

                    DeletePVar(i, "pDynamicBB");
                    DeletePVar(i, "pDynamicBBStation");
                    DeletePVar(i, "pDynamicBBLabel");
                    DeletePVar(i, "pDynamicBBX");
                    DeletePVar(i, "pDynamicBBY");
                    DeletePVar(i, "pDynamicBBZ");
                    DeletePVar(i, "pDynamicBBInt");
                    DeletePVar(i, "pDynamicBBVW");

                    new string[128];
                    if(GetPVarType(i, "pDynamicBBArea"))
                    {
                        for(new x=0; x<MAX_PLAYERS; x++)
                        {
                            if(IsPlayerInDynamicArea(x, GetPVarInt(x, "pDynamicBBArea")))
                            {
                                StopAudioEx(x);
                                SendClientMessage(x, COLOR_PURPLE, string);
                            }
                        }
                        DeletePVar(i, "pDynamicBBArea");
                    }
                    return 1;
                }
            }
        }
        SendClientMessage(playerid, COLOR_WHITE, "You don't have a boombox or you are not near one to be pickup");
    }
    return 1;
}
Reply


Messages In This Thread
Boombox picking issue - by Stanford - 13.06.2013, 06:51
Re: Boombox picking issue - by Ballu Miaa - 13.06.2013, 07:01
Re: Boombox picking issue - by Stanford - 13.06.2013, 07:06
Re: Boombox picking issue - by Stanford - 13.06.2013, 07:15
Re: Boombox picking issue - by Pottus - 13.06.2013, 07:34
Re: Boombox picking issue - by Stanford - 13.06.2013, 07:39
Re: Boombox picking issue - by Stanford - 13.06.2013, 07:55
Re: Boombox picking issue - by Ballu Miaa - 13.06.2013, 10:25
Re: Boombox picking issue - by Stanford - 13.06.2013, 11:38

Forum Jump:


Users browsing this thread: 1 Guest(s)