Das ganze klappt aktuell nicht so wie es "klappen" soll.
Quellcode:
ocmd:changemusic(playerid, params[])
{
if(!GetPVarInt(playerid, "Eingeloggt"))return SendClientMessage(playerid, Orange, "Fehler: {FFFFFF}Du bist nicht eingeloggt!");
if(!GetPVarInt(playerid, "gblaster"))return SendClientMessage(playerid, Orange, "Fehler: {FFFFFF}Du hast keinen Ghettoblaster aufgestellt!");
GetObjectPos(GetPVarInt(playerid, "gobject"), pPos[0], pPos[1], pPos[2]);
if(GetPlayerDistanceFromPoint(playerid, pPos[0], pPos[1], pPos[2]) >= 3.6)return SendClientMessage(playerid, Orange, "Fehler: {FFFFFF}Du bist nicht in der nähe deines Ghettoblasters");
if(sscanf(params, "s", usage))return SendClientMessage(playerid, Orange, "Fehler: {FFFFFF}/changemusic [Link]");
for(new i;i<sizeof(Stream);i++)
{
if(!strlen(Stream[i][url]))continue;
printf("url: %s | pos: %f,%f,%f | id: %d | usage: %s",Stream[i][url],Stream[i][sPos][0],Stream[i][sPos][1],Stream[i][sPos][2], i, usage);
format(Stream[i][url], 128, usage);
Stream[i][sPos][0] = pPos[0],Stream[i][sPos][1] = pPos[1],Stream[i][sPos][2] = pPos[2];
if(i==sizeof(Stream))break;
}
/*for(new i;i<GetMaxPlayers();i++)
{
if(!IsPlayerConnected(i))continue;
if(IsPlayerNPC(i))continue;
if(!GetPVarInt(playerid, "Eingeloggt"))continue;
if(GetPlayerDistanceFromPoint(i, pPos[0], pPos[1], pPos[2]) >= 45.1)continue;
SetPVarString(i, "stream_played", usage);
}*/
return 1;
}
public OnPlayerUpdate(playerid)
{
static str[128];
GetPVarString(playerid, "stream_played", str, sizeof(str));
for(new i;i<sizeof(Stream);i++)
{
if(strcmp(Stream[i][url], "leer", true)&& strlen(str) != 0 && strcmp(str, Stream[i][url], true) && Stream[i][sPos][0] == 0.0)
{
if(GetPlayerDistanceFromPoint(playerid, Stream[i][sPos][0], Stream[i][sPos][1], Stream[i][sPos][2]) <= 45.0)
{
PlayAudioStreamForPlayer(playerid, Stream[i][url], Stream[i][sPos][0], Stream[i][sPos][1], Stream[i][sPos][2], 45.0, 1);
return SetPVarString(playerid, "stream_played", Stream[i][url]);
}
}
}
return 1;
}
mfg ![]()
