11.12.2014, 18:53
Hum, Acho que й assim:
PHP код:
CMD:boombox(playerid, params[])
{
new string[256];
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "[ ERRO ] Vocк nгo estб conectado no servidor!");
if(!GetPVarType(playerid, "BoomboxObject"))
{
if(sscanf(params, "s[256]", params)) return SendClientMessage(playerid, -1, "USAGE: /boombox [music url]");
foreach(Player, i)
{
if(GetPVarType(i, "BoomboxObject"))
{
if(IsPlayerInRangeOfPoint(playerid, 30.0, GetPVarFloat(i, "bposX"), GetPVarFloat(i, "bposY"), GetPVarFloat(i, "bposZ"))) return SendClientMessage(playerid, COLOR_GREY, " There is another boombox nearby, place yours somewhere else.");
new Float: x, Float: y, Float: z, Float: a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
SetPVarInt(playerid, "BoomboxObject", CreateDynamicObject(2103, x, y, z, 0.0, 0.0, 0.0, .worldid = GetPlayerVirtualWorld(playerid), .interiorid = GetPlayerInterior(playerid)));
SetPVarFloat(playerid, "bposX", x);
SetPVarFloat(playerid, "bposY", y);
SetPVarFloat(playerid, "bposZ", z);
SetPVarInt(playerid, "bboxareaid", CreateDynamicSphere(x, y, z, 30.0, GetPlayerVirtualWorld(playerid), GetPlayerInterior(playerid)));
format(string, sizeof(string), " You have placed your boombox at your location.");
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
foreach(Player, i)
{
if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "bboxareaid"))) PlayAudioStreamForPlayer(i, params, GetPVarFloat(playerid, "bposX"), GetPVarFloat(playerid, "bposY"), GetPVarFloat(playerid, "bposZ"), 30.0, 1);
}
SetPVarString(playerid, "BoomboxURL", params);
}
else
{
DestroyDynamicObject(GetPVarInt(playerid, "BoomboxObject"));
DeletePVar(playerid, "BoomboxObject");
DeletePVar(playerid, "BoomboxURL");
DeletePVar(playerid, "bposX");
DeletePVar(playerid, "bposY");
DeletePVar(playerid, "bposZ");
if(GetPVarType(playerid, "bboxareaid"))
{
foreach(Player, i)
{
if(IsPlayerInDynamicArea(i, GetPVarInt(playerid, "bboxareaid")))
{
StopAudioStreamForPlayer(i);
SendClientMessage(i, COLOR_GREY, " The boombox creator has removed his boombox.");
}
}
DeletePVar(playerid, "bboxareaid");
}
SendClientMessage(playerid, COLOR_LIGHTBLUE, " You have removed your boombox.");
}
}
}
return 1;
}

