Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define FILTERSCRIPT
- #include <a_samp>
- #define fs_dialog_radio 11
- #define fs_dialog_radio_edit 12
- #define fs_dialog_buy_battery 13
- #define MAX_RADIO 4
- enum iPlayer
- {
- Status,
- ModelID,
- Battery,
- ccTimer
- }
- new Player[MAX_PLAYERS][iPlayer];
- new fs_radio[MAX_RADIO][2][] =
- {
- {"{FF0000}Switch off{FFFFFF}",""},
- {"{33AA33}Settings{FFFFFF}",""},
- {"SomaFM", "http://somafm.com/tags.pls"},
- {"Radio Record", "http://air.radiorecord.ru:8102/club_320"}
- };
- public OnFilterScriptInit()
- {
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Player[playerid][Status] = 0;
- Player[playerid][ModelID] = 19421;
- Player[playerid][Battery] = 0; //(60 sec * 3 min)
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- ResetPlayerAudio(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- ResetPlayerAudio(playerid);
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if (strcmp("/buy", cmdtext, true, 10) == 0) return ShowPlayerDialog(playerid, fs_dialog_buy_battery, DIALOG_STYLE_INPUT, "Buy Battery", "1$ - 1 minute", "Buy", "Exit");
- if (strcmp("/player", cmdtext, true, 10) == 0)
- {
- if(Player[playerid][Battery] == 0) return SendClientMessage(playerid, -1, "Have ended the battery.");
- new string[256];
- for(new i = 0 ; i < MAX_RADIO; i++) format(string,sizeof(string),"%s\n{F5DEB3}[%d]{FFFFFF}\t\t\t %s",string,i+1,fs_radio[i][0]);
- ShowPlayerDialog(playerid, fs_dialog_radio, DIALOG_STYLE_LIST, "Radio", string, "Play", "Exit");
- return 1;
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == fs_dialog_radio) if(response)
- {
- switch(listitem)
- {
- case 0: ResetPlayerAudio(playerid);
- case 1: ShowPlayerDialog(playerid, fs_dialog_radio_edit, DIALOG_STYLE_LIST, "Settings", "White\nBlack\nPink\nPurple", "Edit", "Exit");
- case 2..MAX_RADIO: GivePlayerAudio(playerid, listitem, Player[playerid][ModelID]);
- }
- return 1;
- }
- if(dialogid == fs_dialog_radio_edit) if(response) SetPlayerHeadPhones(playerid, listitem);
- if(dialogid == fs_dialog_buy_battery) if(response)
- {
- if(!(10 <= strval(inputtext) <= 320)) return 1;
- Player[playerid][Battery] += 60*strval(inputtext);
- }
- return 1;
- }
- ResetPlayerAudio(playerid)
- {
- if(Player[playerid][Status] == 1)
- {
- KillTimer(Player[playerid][ccTimer]);
- StopAudioStreamForPlayer(playerid);
- RemovePlayerAttachedObject(playerid, 0);
- Player[playerid][Status] = 0;
- }
- return 1;
- }
- GivePlayerAudio(playerid, listitem, modelid)
- {
- KillTimer(Player[playerid][ccTimer]);
- PlayAudioStreamForPlayer(playerid, fs_radio[listitem][1]);
- SetPlayerAttachedObject(playerid, 0, modelid, 2, 0.03, -0.02, 0 ,90 ,180 ,90),
- Player[playerid][Status] = 1;
- Player[playerid][ccTimer] = SetTimerEx("IsPlayerRadio", 1000, true, "i", playerid);
- return 1;
- }
- SetPlayerHeadPhones(playerid, listitem)
- {
- switch(listitem)
- {
- case 0: Player[playerid][ModelID] = 19421; //White
- case 1: Player[playerid][ModelID] = 19422; //Black
- case 2: Player[playerid][ModelID] = 19423; //Pink
- case 3: Player[playerid][ModelID] = 19424; //Purple
- }
- SendClientMessage(playerid, -1, "You have changed the color of the headphones.");
- }
- public IsPlayerRadio(playerid);
- public IsPlayerRadio(playerid)
- {
- if(Player[playerid][Status] == 1)
- {
- if(Player[playerid][Battery] == 0)
- {
- SendClientMessage(playerid, -1, "Have ended the battery.");
- StopAudioStreamForPlayer(playerid);
- RemovePlayerAttachedObject(playerid, 0);
- Player[playerid][Status] = 0;
- KillTimer(Player[playerid][ccTimer]);
- }
- else
- Player[playerid][Battery] --;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment