Boombox not working
#1

Hey guys please help me , i am in a big serious problem, my boombox is working properly with other commands but not with /placeboombox, it not working,

the code

Код:
#define FILTERSCRIPT
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <streamer>
#include <foreach>
//COLOURS
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_PURPLE 0xC2A2DAAA
//Boombox Dialog
#define DIALOG_BOOMBOX 31997
#define DIALOG_BOOMBOX1 31998
#define DIALOG_BOOMBOX2 31999
#define DIALOG_BOOMBOX3 32000
#define DIALOG_BOOMBOX4 32001
#define DIALOG_BOOMBOX5 32002
#define DIALOG_BOOMBOX6 32003
#define DIALOG_BOOMBOX7 32004

new gPlayerLoggin[MAX_PLAYERS char];

public OnPlayerConnect(playerid)
{
    gPlayerLoggin{playerid} = 1;
    return 1;
}

public OnPlayerDisconnect(playerid)
{
    if(GetPVarType(playerid, "pDynamicBB"))
	{
 		DestroyDynamicObject(GetPVarInt(playerid, "pDynamicBB"));
   		DestroyDynamic3DTextLabel(Text3D:GetPVarInt(playerid, "pDynamicBBLabel"));
	    if(GetPVarType(playerid, "pDynamicBBArea"))
	    {
     		new string[128];
			format(string, sizeof(string), "The boombox owner (%s) has logged off", SenderName(playerid));
   			foreach(Player, i)
			{
        		if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
          		{
            		StopAudioEx(i);
              		SendClientMessage(i, COLOR_PURPLE, string);
				}
			}
		}
	}
    return 1;
}

CMD:placeboombox(playerid, params[])
{
	if(GetPVarType(playerid, "pDynamicBB")) return SendClientMessage(playerid, COLOR_WHITE, "You already have a boombox out, use /pickupboombox.");

	foreach(Player, i)
	{
 		if(GetPVarType(i, "pDynamicBB"))
   		{
  			if(IsPlayerInRangeOfPoint(playerid, 30.0, GetPVarFloat(i, "pDynamicBBX"), GetPVarFloat(i, "pDynamicBBY"), GetPVarFloat(i, "pDynamicBBZ")))
			{
   				SendClientMessage(playerid, COLOR_WHITE, "You cannot put your boombox in this Radius");
			    return 1;
			}
		}
		new string[128];
		format(string, sizeof(string), "%s has placed a boombox on the floor!", SenderName(playerid));
		SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);

	    new Float:x, Float:y, Float:z, Float:a;
	    GetPlayerPos(playerid, x, y, z);
	    GetPlayerFacingAngle(playerid, a);
	    ApplyAnimation(playerid,"BOMBER","BOM_Plant_Crouch_In", 4.0, 0, 0, 0, 0, 0, 1);
	    x += (2 * floatsin(-a, degrees));
    	y += (2 * floatcos(-a, degrees));
    	z -= 1.0;

	    SetPVarInt(playerid, "pDynamicBB", CreateDynamicObject(2226, x, y, z, 0.0, 0.0, 0.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
	    SetPVarFloat(playerid, "pDynamicBBX", x); SetPVarFloat(playerid, "pDynamicBBY", y); SetPVarFloat(playerid, "pDynamicBBZ", z);
		format(string, sizeof(string), "{00FF00}Boombox Owner:{FFFFFF}%s\n{FF0000}/turnon{FFFFFF} to set your boombox \n{FFFF00}or\n{FF0000}/pickupboombox{FFFFFF}", SenderName(playerid));
	    SetPVarInt(playerid, "pDynamicBBLabel", _:CreateDynamic3DTextLabel(string, COLOR_WHITE, x, y, z+0.6, 5.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
		SetPVarInt(playerid, "pDynamicBBArea", CreateDynamicSphere(x, y, z, 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid)));
		SetPVarInt(playerid, "pDynamicBBInt", GetPlayerInterior(playerid));
		SetPVarInt(playerid, "pDynamicBBVW", GetPlayerVirtualWorld(playerid));
	}
	return 1;
}

CMD:turnon(playerid, params[])
{
	if(GetPVarType(playerid, "pDynamicBB"))
	{
	    if(GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK) return SendClientMessage(playerid, COLOR_WHITE, " You must be crouched to set your boombox.");
		if(IsPlayerInRangeOfPoint(playerid, 3.0, GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ")))
		{
			ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio Menu","Jazz\nPop\nRap\nR&B and Urban\nRock\nPlace a URL\nTurn Off Boombox","Select", "Cancel");
		}
		else
		{
   			return SendClientMessage(playerid, COLOR_WHITE, "You're not near in your BoomBox");
		}
    }
    else
    {
        SendClientMessage(playerid, COLOR_WHITE, " You don't have a boombox place on the floor");
	}
	return 1;
}

CMD:pickupboombox(playerid, params[])
{
	if(GetPVarType(playerid, "pDynamicBB"))
	{
	    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(playerid, "pDynamicBB"));
	    DestroyDynamic3DTextLabel(Text3D:GetPVarInt(playerid, "pDynamicBBLabel"));
	    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 pickup their boombox.", SenderName(playerid));
			SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
	        foreach(Player, i)
			{
	            if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
	            {
	                StopAudioEx(i);
	                SendClientMessage(i, COLOR_PURPLE, string);
				}
			}
	        DeletePVar(playerid, "pDynamicBBArea");
		}
		SendClientMessage(playerid, COLOR_WHITE, "You've pickup 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(Text3D:GetPVarInt(i, "pDynamicBBLabel"));

				    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;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_BOOMBOX)
    {
    	if(!response)
     	{
            SendClientMessage(playerid, COLOR_WHITE, " You cancel the Radio Station");
        	return 1;
        }
		switch(listitem)
  		{
    		case 0:
      		{
      		    ShowPlayerDialog(playerid,DIALOG_BOOMBOX1,DIALOG_STYLE_LIST,"Jazz","Classical 102","Select","Cancel");
            }
            case 1:
            {
                ShowPlayerDialog(playerid,DIALOG_BOOMBOX2,DIALOG_STYLE_LIST,"Pop","DEFJAY.DE - 100% R&B! (GERMANY)","Select","Cancel");
            }
            case 2:
            {
                ShowPlayerDialog(playerid,DIALOG_BOOMBOX3,DIALOG_STYLE_LIST,"Rap","BlackBeats.FM - finest in blackbeats","Select","Cancel");
            }
            case 3:
            {
                ShowPlayerDialog(playerid,DIALOG_BOOMBOX4,DIALOG_STYLE_LIST,"R&B and Urban","DEFJAY.COM - 100% R&B! (USA/Europe)","Select","Cancel");
			}
			case 4:
			{
			    ShowPlayerDialog(playerid,DIALOG_BOOMBOX5,DIALOG_STYLE_LIST,"Rock",".977 The Hitz Channel - 977MUSIC.COM","Select","Cancel");
			}
			case 5:
			{
			    ShowPlayerDialog(playerid,DIALOG_BOOMBOX6,DIALOG_STYLE_INPUT, "Boombox Input URL", "Please put a Music URL to play the Music", "Okay", "Cancel");
			}
			case 6:
			{
                if(GetPVarType(playerid, "pDynamicBBArea"))
			    {
			        new string[128];
					format(string, sizeof(string), "* %s turn off their boombox.", SenderName(playerid));
					SendNearbyMessage(playerid, 15, string, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE, COLOR_PURPLE);
			        foreach(Player, i)
					{
			            if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
			            {
			                StopAudioEx(i);
			                SendClientMessage(i, COLOR_PURPLE, string);
						}
					}
			        DeletePVar(playerid, "pDynamicBBArea");
				}
				SendClientMessage(playerid, COLOR_WHITE, "You've turn off your boombox");
			}
        }
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX1)
	{
	    if(!response)
	    {
	        ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio List","Jazz\nPop\nRap\nR&B and Urban\nRock","Select", "Cancel");
		}
		if(response)
        {
            if(listitem == 0)
            {
                if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1676910", GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1676910");
				}
			}
		}
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX2)
	{
	    if(!response)
	    {
	        ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio List","Jazz\nPop\nRap\nR&B and Urban\nRock","Select", "Cancel");
		}
		if(response)
        {
            if(listitem == 0)
            {
                if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=65456", GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=65456");
				}
			}
		}
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX3)
	{
	    if(!response)
	    {
	        ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio List","Jazz\nPop\nRap\nR&B and Urban\nRock","Select", "Cancel");
		}
		if(response)
        {
            if(listitem == 0)
            {
                if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1543115", GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1543115");
				}
			}
		}
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX4)
	{
	    if(!response)
	    {
	        ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio List","Jazz\nPop\nRap\nR&B and Urban\nRock","Select", "Cancel");
		}
		if(response)
        {
            if(listitem == 0)
            {
                if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366", GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=616366");
				}
			}
		}
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX5)
	{
	    if(!response)
	    {
	        ShowPlayerDialog(playerid,DIALOG_BOOMBOX,DIALOG_STYLE_LIST,"Radio List","Jazz\nPop\nRap\nR&B and Urban\nRock","Select", "Cancel");
		}
		if(response)
        {
            if(listitem == 0)
            {
                if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280356", GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", "http://yp.shoutcast.com/sbin/tunein-station.pls?id=1280356");
				}
			}
		}
		return 1;
	}
	if(dialogid == DIALOG_BOOMBOX6)
	{
		if(response == 1)
		{
		    if(isnull(inputtext))
		    {
		        SendClientMessage(playerid, COLOR_WHITE, "You did not enter anything" );
		        return 1;
		    }
		    if(strlen(inputtext))
		    {
		        if(GetPVarType(playerid, "pDynamicBB"))
				{
				    foreach(Player, i)
					{
						if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "pDynamicBBArea")))
						{
							PlayAudioEx(i, inputtext, GetPVarFloat(playerid, "pDynamicBBX"), GetPVarFloat(playerid, "pDynamicBBY"), GetPVarFloat(playerid, "pDynamicBBZ"), 30.0, 1);
				  		}
				  	}
			  		SetPVarString(playerid, "pDynamicBBStation", inputtext);
				}
			}
		}
		else
		{
		    return 1;
		}
	}
	return 1;
}
public OnPlayerEnterDynamicArea(playerid, areaid)
{
	foreach(Player, i)
	{
	    if(GetPVarType(i, "pDynamicBBArea"))
	    {
	        if(areaid == GetPVarInt(i, "pDynamicBBArea"))
	        {
	            new station[256];
	            GetPVarString(i, "pDynamicBBStation", station, sizeof(station));
	            if(!isnull(station))
				{
					PlayAudioEx(playerid, station, GetPVarFloat(i, "pDynamicBBX"), GetPVarFloat(i, "pDynamicBBY"), GetPVarFloat(i, "pDynamicBBZ"), 30.0, 1);
	            }
				return 1;
	        }
	    }
	}
	return 1;
}

public OnPlayerLeaveDynamicArea(playerid, areaid)
{
    foreach(Player, i)
	{
	    if(GetPVarType(i, "pDynamicBBArea"))
	    {
	        if(areaid == GetPVarInt(i, "pDynamicBBArea"))
	        {
	            StopAudioEx(playerid);
				return 1;
	        }
	    }
	}
	return 1;
}
stock StopAudioEx(playerid)
{
	DeletePVar(playerid, "pAudioStream");
    StopAudioStreamForPlayer(playerid);
}
stock PlayAudioEx(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0)
{
	if(GetPVarType(playerid, "pAudioStream")) StopAudioStreamForPlayer(playerid);
	else SetPVarInt(playerid, "pAudioStream", 1);
    PlayAudioStreamForPlayer(playerid, url, posX, posY, posZ, distance, usepos);
}
stock SenderName(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	return name;
}

stock SendNearbyMessage(playerid, Float:radius, string[], col1, col2, col3, col4, col5)
{
	new Float:x, Float:y, Float:z;
	GetPlayerPos(playerid, x, y, z);
	new Float:ix, Float:iy, Float:iz;
	new Float:cx, Float:cy, Float:cz;
	foreach(Player, i)
	{
 		if(gPlayerLoggin{i})
	    {
	        if(GetPlayerInterior(playerid) == GetPlayerInterior(i) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i))
	        {
				GetPlayerPos(i, ix, iy, iz);
				cx = (x - ix);
				cy = (y - iy);
				cz = (z - iz);
				if(((cx < radius/16) && (cx > -radius/16)) && ((cy < radius/16) && (cy > -radius/16)) && ((cz < radius/16) && (cz > -radius/16)))
				{
				    SendClientMessage(i, col1, string);
				}
				else if(((cx < radius/8) && (cx > -radius/8)) && ((cy < radius/8) && (cy > -radius/8)) && ((cz < radius/8) && (cz > -radius/8)))
				{
				    SendClientMessage(i, col2, string);
				}
				else if(((cx < radius/4) && (cx > -radius/4)) && ((cy < radius/4) && (cy > -radius/4)) && ((cz < radius/4) && (cz > -radius/4)))
				{
				    SendClientMessage(i, col3, string);
				}
				else if(((cx < radius/2) && (cx > -radius/2)) && ((cy < radius/2) && (cy > -radius/2)) && ((cz < radius/2) && (cz > -radius/2)))
				{
				    SendClientMessage(i, col4, string);
				}
				else if(((cx < radius) && (cx > -radius)) && ((cy < radius) && (cy > -radius)) && ((cz < radius) && (cz > -radius)))
				{
				    SendClientMessage(i, col5, string);
				}
			}
	    }
	}
	return 1;
}
Reply
#2

hurry up friends,
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)