Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- bool:pBoombox,
- enum BoomboxInfo {
- boomboxPlaced,
- Float:boomboxPos[ 3 ],
- boomboxInterior,
- boomboxWorld,
- boomboxObject,
- boomboxURL[128 char],
- Text3D:boomboxText3D
- };
- new BoomboxInfo[MAX_PLAYERS][BoomboxInfo];
- new Boombox[ MAX_PLAYERS ];
- new globalstring[ 128 ];
- PlayerInfo[playerid][pBoombox] = false;
- BoomboxInfo[playerid][boomboxPlaced] = 0;
- BoomboxInfo[playerid][boomboxPos][0] = 0.0;
- BoomboxInfo[playerid][boomboxPos][1] = 0.0;
- BoomboxInfo[playerid][boomboxPos][2] = 0.0;
- Boombox[playerid] = INVALID_PLAYER_ID;
- //------------------------------------------------------------------------------
- stock Boombox_Place( playerid ) {
- static
- Float:angle;
- GetPlayerFacingAngle(playerid, angle);
- strpack(BoomboxInfo[playerid][boomboxURL], "", 128 char);
- GetPlayerPos(playerid, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][2] );
- BoomboxInfo[playerid][boomboxPlaced] = true;
- BoomboxInfo[playerid][boomboxInterior] = GetPlayerInterior(playerid);
- BoomboxInfo[playerid][boomboxWorld] = GetPlayerVirtualWorld(playerid);
- new string[ 128 ];
- format( string, sizeof( string ), "{B53525}Gazda: {FFFFFF}%s\n{B53525}Koristi {FFFFFF}'/radio url' {B53525}za da pustete pesna\n'{FFFFFF}/radio podigni' {B53525}za da go podignes radioto", GetName(playerid) );
- BoomboxInfo[playerid][boomboxObject] = CreateDynamicObject(2103, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][2] - 0.9, 0.0, 0.0, angle, BoomboxInfo[playerid][boomboxWorld], BoomboxInfo[playerid][boomboxInterior] );
- BoomboxInfo[playerid][boomboxText3D] = CreateDynamic3DTextLabel( string, -1, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][2] - 0.7, 10.0, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, BoomboxInfo[playerid][boomboxWorld], BoomboxInfo[playerid][boomboxInterior] );
- return 1;
- }
- stock Boombox_Nearest(playerid)
- {
- foreach (new i : Player) if(BoomboxInfo[ i ][boomboxPlaced] && GetPlayerInterior(playerid) == BoomboxInfo[ i ][boomboxInterior] && GetPlayerVirtualWorld(playerid) == BoomboxInfo[ i ][boomboxWorld] && IsPlayerInRangeOfPoint(playerid, 30.0, BoomboxInfo[ i ][boomboxPos][0], BoomboxInfo[ i ][boomboxPos][1], BoomboxInfo[ i ][boomboxPos][2 ] ) ) {
- return i;
- }
- return INVALID_PLAYER_ID;
- }
- stock Boombox_SetURL(playerid, url[])
- {
- if( BoomboxInfo[playerid][boomboxPlaced] ) {
- strpack( BoomboxInfo[playerid][ boomboxURL ], url, 256 char);
- foreach (new i : Player) if(Boombox[ i ] == playerid) {
- StopAudioStreamForPlayer(i);
- PlayAudioStreamForPlayer(i, url, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][2], 30.0, 1);
- }
- }
- return 1;
- }
- stock Boombox_Destroy(playerid)
- {
- if(BoomboxInfo[playerid][boomboxPlaced])
- {
- if( IsValidDynamicObject(BoomboxInfo[playerid][boomboxObject ] ) )
- DestroyDynamicObject(BoomboxInfo[playerid][boomboxObject] );
- if( IsValidDynamic3DTextLabel(BoomboxInfo[playerid][boomboxText3D ] ) )
- DestroyDynamic3DTextLabel(BoomboxInfo[playerid][boomboxText3D] );
- foreach (new i : Player) if(Boombox[ i ] == playerid) {
- StopAudioStreamForPlayer(i);
- }
- BoomboxInfo[playerid][boomboxPlaced] = false;
- BoomboxInfo[playerid][boomboxInterior] = 0;
- BoomboxInfo[playerid][boomboxWorld] = 0;
- }
- return 1;
- }task GlobalTimer[1000]()
- {
- if( ( id = Boombox_Nearest(i)) != INVALID_PLAYER_ID && Boombox[ i ] != id && strlen (BoomboxInfo[ id ][ boomboxURL ] ) && !IsPlayerInAnyVehicle( i ) ) {
- new str[ 128 ];
- strunpack(str, BoomboxInfo[ id ][ boomboxURL ] );
- Boombox[ i ] = id;
- StopAudioStreamForPlayer( i );
- PlayAudioStreamForPlayer( i, str, BoomboxInfo[ id ][boomboxPos][0], BoomboxInfo[ id ][boomboxPos][1], BoomboxInfo[ id ][boomboxPos][ 2 ], 30.0, 1);
- }
- else if( Boombox[ i ] != INVALID_PLAYER_ID && !IsPlayerInRangeOfPoint( i, 30.0, BoomboxInfo[ Boombox[ i ] ][boomboxPos][0], BoomboxInfo[ Boombox[ i ] ][boomboxPos][1], BoomboxInfo[ Boombox[ i ] ][boomboxPos][ 2 ] ) ) {
- Boombox[ i ] = INVALID_PLAYER_ID;
- StopAudioStreamForPlayer(i);
- }
- }
- INI_WriteBool( File, "Boombox", PlayerInfo[playerid][pBoombox] );
- INI_Bool( "Boombox", PlayerInfo[playerid][pBoombox] );
- if( BoomboxInfo[playerid][boomboxPlaced] )
- {
- Boombox_Destroy( playerid );
- }
- CMD:otstraniradio( playerid, params[] ) {
- if( PlayerInfo[playerid][pAdmin] >= 4 ) {
- if( !AdminDuty[playerid] ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Morate da bidete na dolznost za da ja koristete ovaa komanda!" );
- if( Boombox_Nearest( playerid ) == INVALID_PLAYER_ID ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Ne ste do radio." );
- Boombox_Destroy( Boombox_Nearest( playerid ) );
- SCM(playerid, -1, "{0099FF}| INFO | {FFFFFF}Go izbrisavte radioto." );
- }
- else return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Ne mozete da ja koristete ovaa komanda!" );
- return 1;
- }
- CMD:kupiradio(playerid, params[])
- {
- if(PlayerInfo[playerid][pMoney] < 10000) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Nemate dovolno pari. Potrebni vi se $10000!");
- if(!IsPlayerInRangeOfPoint(playerid, 3.0, 1295.6611,-1876.3253,13.7239)) // PODESETE STAVETE SI SVOI KOORDINATI
- {
- PlayerInfo[playerid][pBoombox] = true;
- SCM(playerid, -1, "{0099FF}| INFO | {FFFFFF}Kupivte radio. Toa ve cinese $10000");
- GivePlayerMoney(playerid, -10000);
- }
- else return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Ne ste vo prodavnica za kupuvanje radio!");
- }
- CMD:radio( playerid, params[] ) {
- if( PlayerInfo[playerid][pBoombox] != true ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Nemate radio." );
- new item[ 24 ], string[ 128 ];
- if( sscanf( params, "s[24] ", item ) ) {
- SCM( playerid, -1, "{0099FF}___________________________________________________________________");
- SCM(playerid, -1, "{F3FF02}/radio [opcija]");
- SCM( playerid, -1, "{F3FF02}[Opcii]: postavi, podigni, url");
- SCM( playerid, -1, "{0099FF}___________________________________________________________________");
- return 1;
- }
- if( strcmp( item, "postavi", true ) == 0 ) {
- if( BoomboxInfo[playerid][boomboxPlaced] ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Radioto vekje vi e na zemjata." );
- if( Boombox_Nearest( playerid ) != INVALID_PLAYER_ID ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Ne ste kaj vaseto radio.");
- if( IsPlayerInAnyVehicle( playerid ) ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Morate da go napustete voziloto." );
- Boombox_Place( playerid );
- format( globalstring, sizeof( globalstring ), "%s go stava radioto na zemjata i go podesuva.", GetName(playerid) );
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- SCM( playerid, -1, "{0099FF}| INFO | {FFFFFF}Go postavivte radioto (koristete '/radio' za opcii).");
- return 1;
- }
- else if( strcmp( item, "podigni", true ) == 0 ) {
- if( !BoomboxInfo[playerid][boomboxPlaced] ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Nemate postaveno radio.");
- if( !IsPlayerInRangeOfPoint( playerid, 3.0, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][ 2 ] ) ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Niste u blizini vaseg radia." );
- Boombox_Destroy( playerid );
- format( globalstring, sizeof( globalstring ), "%s go diga svoeto radio od zemjata.", GetName(playerid) );
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- else if( strcmp( item, "url", true ) == 0 ) {
- new url[ 128 ];
- if( sscanf( params, "s[24]s[128]", item, url ) ) return SCM(playerid, -1, "{F3FF02}| KORISTETE | {FFFFFF}/radio url [song url]");
- if( !BoomboxInfo[playerid][boomboxPlaced] ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Nemate postaveno radio.");
- if( !IsPlayerInRangeOfPoint( playerid, 3.0, BoomboxInfo[playerid][boomboxPos][0], BoomboxInfo[playerid][boomboxPos][1], BoomboxInfo[playerid][boomboxPos][ 2 ] ) ) return SCM(playerid, -1, "{B53525}| ERROR | {FFFFFF}Niste u blizini vaseg radia.");
- Boombox_SetURL( playerid, url );
- format( globalstring, sizeof( globalstring ), "%s vrti preku frekfenciite i naogja na pesna sto mu se svigja.", GetName(playerid) );
- ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
- return 1;
- }
- else {
- SCM( playerid, -1, "{0099FF}___________________________________________________________________");
- SCM(playerid, -1, "{F3FF02}/radio [opcija]");
- SCM( playerid, -1, "{F3FF02}[Opcii]: postavi, podigni, url");
- SCM( playerid, -1, "{0099FF}___________________________________________________________________");
- }
- return 1;
- }
- CreateDynamic3DTextLabel("{0099FF}[ RADIO ]\n{FFFFFF}Za da kupete radio napisete\n{FFFFFF}/kupiradio",0x9EC73DAA,1295.6611,-1876.3253,13.7239, 30, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, -1, -1, -1, 40.0);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement