13.06.2013, 07:01
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;
}