Bob_Marley

[PAWNO] Player

May 24th, 2015
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.78 KB | None | 0 0
  1. #define FILTERSCRIPT
  2. #include <a_samp>
  3.  
  4. #define fs_dialog_radio 11
  5. #define fs_dialog_radio_edit 12
  6. #define fs_dialog_buy_battery 13
  7. #define MAX_RADIO 4
  8.  
  9. enum iPlayer
  10. {
  11.     Status,
  12.     ModelID,
  13.     Battery,
  14.     ccTimer
  15. }
  16. new Player[MAX_PLAYERS][iPlayer];
  17.  
  18. new fs_radio[MAX_RADIO][2][] =
  19. {
  20.     {"{FF0000}Switch off{FFFFFF}",""},
  21.     {"{33AA33}Settings{FFFFFF}",""},
  22.     {"SomaFM", "http://somafm.com/tags.pls"},
  23.     {"Radio Record", "http://air.radiorecord.ru:8102/club_320"}
  24. };
  25.  
  26.  
  27. public OnFilterScriptInit()
  28. {
  29.         return 1;
  30. }
  31.  
  32. public OnFilterScriptExit()
  33. {
  34.         return 1;
  35. }
  36.  
  37. public OnPlayerConnect(playerid)
  38. {
  39.     Player[playerid][Status] = 0;
  40.     Player[playerid][ModelID] = 19421;
  41.     Player[playerid][Battery] = 0; //(60 sec * 3 min)
  42.     return 1;
  43. }
  44.  
  45. public OnPlayerDisconnect(playerid, reason)
  46. {
  47.     ResetPlayerAudio(playerid);
  48.     return 1;
  49. }
  50.  
  51. public OnPlayerDeath(playerid, killerid, reason)
  52. {
  53.     ResetPlayerAudio(playerid);
  54.     return 1;
  55. }
  56.  
  57. public OnPlayerCommandText(playerid, cmdtext[])
  58. {
  59.     if (strcmp("/buy", cmdtext, true, 10) == 0) return ShowPlayerDialog(playerid, fs_dialog_buy_battery, DIALOG_STYLE_INPUT, "Buy Battery", "1$ - 1 minute", "Buy", "Exit");
  60.     if (strcmp("/player", cmdtext, true, 10) == 0)
  61.     {
  62.         if(Player[playerid][Battery] == 0) return SendClientMessage(playerid, -1, "Have ended the battery.");
  63.         new string[256];
  64.         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]);
  65.  
  66.         ShowPlayerDialog(playerid, fs_dialog_radio, DIALOG_STYLE_LIST, "Radio", string, "Play", "Exit");
  67.         return 1;
  68.     }
  69.     return 0;
  70. }
  71.  
  72. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  73. {
  74.     if(dialogid == fs_dialog_radio) if(response)
  75.     {
  76.         switch(listitem)
  77.         {
  78.             case 0: ResetPlayerAudio(playerid);
  79.             case 1: ShowPlayerDialog(playerid, fs_dialog_radio_edit, DIALOG_STYLE_LIST, "Settings", "White\nBlack\nPink\nPurple", "Edit", "Exit");
  80.             case 2..MAX_RADIO: GivePlayerAudio(playerid, listitem, Player[playerid][ModelID]);
  81.         }
  82.         return 1;
  83.     }
  84.     if(dialogid == fs_dialog_radio_edit) if(response) SetPlayerHeadPhones(playerid, listitem);
  85.     if(dialogid == fs_dialog_buy_battery) if(response)
  86.     {
  87.         if(!(10 <= strval(inputtext) <= 320)) return 1;
  88.         Player[playerid][Battery] += 60*strval(inputtext);
  89.     }
  90.     return 1;
  91. }
  92.  
  93. ResetPlayerAudio(playerid)
  94. {
  95.     if(Player[playerid][Status] == 1)
  96.     {
  97.         KillTimer(Player[playerid][ccTimer]);
  98.         StopAudioStreamForPlayer(playerid);
  99.         RemovePlayerAttachedObject(playerid, 0);
  100.         Player[playerid][Status] = 0;
  101.     }
  102.     return 1;
  103. }
  104. GivePlayerAudio(playerid, listitem, modelid)
  105. {
  106.     KillTimer(Player[playerid][ccTimer]);
  107.     PlayAudioStreamForPlayer(playerid, fs_radio[listitem][1]);
  108.     SetPlayerAttachedObject(playerid, 0, modelid, 2,  0.03, -0.02, 0 ,90 ,180 ,90),
  109.     Player[playerid][Status] = 1;
  110.     Player[playerid][ccTimer] = SetTimerEx("IsPlayerRadio", 1000, true, "i", playerid);
  111.     return 1;
  112. }
  113. SetPlayerHeadPhones(playerid, listitem)
  114. {
  115.     switch(listitem)
  116.     {
  117.         case 0: Player[playerid][ModelID] = 19421; //White
  118.         case 1: Player[playerid][ModelID] = 19422; //Black
  119.         case 2: Player[playerid][ModelID] = 19423; //Pink
  120.         case 3: Player[playerid][ModelID] = 19424; //Purple
  121.     }
  122.     SendClientMessage(playerid, -1, "You have changed the color of the headphones.");
  123. }
  124. public IsPlayerRadio(playerid);
  125. public IsPlayerRadio(playerid)
  126. {
  127.     if(Player[playerid][Status] == 1)
  128.     {
  129.         if(Player[playerid][Battery] == 0)
  130.         {
  131.             SendClientMessage(playerid, -1, "Have ended the battery.");
  132.             StopAudioStreamForPlayer(playerid);
  133.             RemovePlayerAttachedObject(playerid, 0);
  134.             Player[playerid][Status] = 0;
  135.             KillTimer(Player[playerid][ccTimer]);
  136.         }
  137.         else
  138.             Player[playerid][Battery] --;
  139.     }
  140.     return 1;
  141. }
Advertisement
Add Comment
Please, Sign In to add comment