Advertisement
Guest User

Radiosystem by Music4You

a guest
Oct 9th, 2013
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.28 KB | None | 0 0
  1. /*
  2. ====================================================================================================================================
  3. Dynamisches Radio by Items4Landwirt aka. Music4You
  4. Es ist verboten meinen Namen zu löschen, es sieht ja eh keiner ;)
  5. Es ist verboten, das script neu zu releasen oder zu verkaufen, egal wie weit es editiert ist.
  6.  
  7. Schaut doch auch mal auf meinem YT Kanal vorbei:
  8. http://www.youtube.com/user/Music4You43
  9.  
  10. Viel Spaß mit dem Script.
  11. ====================================================================================================================================
  12. */
  13. #include <a_samp>
  14. #include <a_mysql>
  15.  
  16. #define SQL_HOST "127.0.0.1"
  17. #define SQL_USER "root"
  18. #define SQL_PASS ""
  19. #define SQL_DATA "samp"
  20.  
  21. #define rot 0xFF0023FF
  22. #define gruen 0x4BB400FF
  23. #define SCM SendClientMessage
  24. #define LIST DIALOG_STYLE_LIST
  25. #define INPUT DIALOG_STYLE_INPUT
  26.  
  27. #define MAX_RADIO 100
  28.  
  29. enum radio
  30. {
  31. bool:erstellt,
  32. RName[32],
  33. Rurl[100],
  34. }
  35. new RadioInfo[MAX_RADIO][radio];
  36.  
  37. enum
  38. {
  39. DIALOG_RADIOEDIT=100,
  40. DIALOG_RADIONEW,
  41. DIALOG_RADIONEWI,
  42. DIALOG_RADIOLIST,
  43. DIALOG_RADIODEL,
  44. DIALOG_RADIONEWII,
  45. DIALOG_RADIONEWIII,
  46. DIALOG_RADIO,
  47. }
  48. new mycon,radiostring[128],rid;
  49.  
  50. public OnFilterScriptInit()
  51. {
  52. Connect_To_Database();
  53. mysql_query("CREATE TABLE IF NOT EXISTS `radio` (`id` int(11) AUTO_INCREMENT, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;");
  54. mysql_query("ALTER TABLE `radio` ADD `name` varchar(64)");
  55. mysql_query("ALTER TABLE `radio` ADD `url` varchar(64)");
  56. loadradio();
  57. print("\n=========================================================");
  58. print(" Dynamisches Radiosystem by Items4Landwirt aka. Music4You");
  59. print("=========================================================\n");
  60. return 1;
  61. }
  62.  
  63. public OnFilterScriptExit()
  64. {
  65. mysql_close(mycon);
  66. return 1;
  67. }
  68.  
  69. public OnPlayerCommandText(playerid, cmdtext[])
  70. {
  71. if (strcmp("/radioedit", cmdtext, true, 10) == 0)
  72. {
  73. if(!IsPlayerAdmin(playerid))return SCM(playerid,rot,"Du bist nicht befugt!");
  74. ShowPlayerDialog(playerid,DIALOG_RADIOEDIT,LIST,"Radioedit","Sender Auflisten\nSender Hinzufügen","Auswählen","Abbrechen");
  75. return 1;
  76. }
  77. if (strcmp("/radio", cmdtext, true, 10) == 0)
  78. {
  79. new string[1000],string1[1000];
  80. for(new i=0;i<MAX_RADIO;i++)
  81. {
  82. format(string1,sizeof(string1),"%s%s\n",string1,RadioInfo[i][RName]);
  83. }
  84. format(string,sizeof(string),"Radio ausschalten\n%s",string1);
  85. ShowPlayerDialog(playerid,DIALOG_RADIO,LIST,"Radio",string,"Auswählen","Abbrechen");
  86. return 1;
  87. }
  88. return 0;
  89. }
  90.  
  91. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  92. {
  93. switch(dialogid)
  94. {
  95. case DIALOG_RADIOEDIT:
  96. {
  97. if(response)
  98. {
  99. switch(listitem)
  100. {
  101. case 0:
  102. { new string[1000],i=0;
  103. for(;i<MAX_RADIO;i++)
  104. {
  105. format(string,sizeof(string),"%s%s\n",string,RadioInfo[i][RName]);
  106. }
  107. ShowPlayerDialog(playerid,DIALOG_RADIOLIST,LIST,"Radio List",string,"Bearbeiten","Abbrechen");
  108. }
  109. case 1:return ShowPlayerDialog(playerid,DIALOG_RADIONEW,INPUT,"Radio edit","Gebe nun den Namen des Senders ein","Weiter","Abbrechen");
  110. }
  111. }
  112. }
  113. case DIALOG_RADIOLIST:
  114. {
  115. if(response)
  116. {
  117. rid=listitem+1;
  118. ShowPlayerDialog(playerid,DIALOG_RADIODEL,LIST,"Radio","Sender Löschen\nNamen Ändern\nURL Ändern","Auswählen","Abbrechen");
  119. }
  120. }
  121. case DIALOG_RADIODEL:
  122. {
  123. if(response)
  124. {
  125. new string[256];
  126. switch(listitem)
  127. {
  128. case 0:
  129. {
  130. format(string,sizeof(string),"DELETE FROM `radio` WHERE `id`='%d'",rid);
  131. mysql_query(string);
  132. SCM(playerid,gruen,"Du hast den Sender gelöscht!");
  133. }
  134. case 1:return ShowPlayerDialog(playerid,DIALOG_RADIONEWII,INPUT,"Radio edit","Gebe den Namen des Senders ein","Weiter","Abbrechen");
  135. case 2:return ShowPlayerDialog(playerid,DIALOG_RADIONEWIII,INPUT,"Radio edit","Gebe die URL des Senders ein","Weiter","Abbrechen");
  136. }
  137. }
  138. }
  139. case DIALOG_RADIONEWII:
  140. {
  141. if(response)
  142. {
  143. new string[128];
  144. format(string,sizeof(string),"UPDATE `radio` SET `name`='%s' WHERE `id`='%d'",inputtext,rid);
  145. mysql_query(string);
  146. loadradio();
  147. SCM(playerid,gruen,"Du hast den Sender umbenannt!");
  148. rid=0;
  149. }
  150. }
  151. case DIALOG_RADIONEWIII:
  152. {
  153. if(response)
  154. {
  155. new string[128];
  156. format(string,sizeof(string),"UPDATE `radio` SET `url`='%s' WHERE `id`='%d'",inputtext,rid);
  157. mysql_query(string);
  158. loadradio();
  159. SCM(playerid,gruen,"Du hast die URL des Senders umbenannt!");
  160. rid=0;
  161. }
  162. }
  163. case DIALOG_RADIONEW:
  164. {
  165. if(response)
  166. {
  167. new string[256],i=0;
  168. for(;i<MAX_RADIO;i++)
  169. {
  170. if(RadioInfo[i][erstellt]==true)continue;
  171. format(string,sizeof(string),"INSERT INTO `radio` (`id`,`name`) VALUES ('%d','%s')",i,inputtext);
  172. mysql_query(string);
  173. format(radiostring,sizeof(radiostring),"%s",inputtext);
  174. ShowPlayerDialog(playerid,DIALOG_RADIONEWI,INPUT,"Radio edit","Gebe nun die Web URL des Senders ein","Weiter","Abbrechen");
  175. break;
  176. }
  177. }
  178. }
  179. case DIALOG_RADIONEWI:
  180. {
  181. new string[256];
  182. if(response)
  183. {
  184. format(string,sizeof(string),"UPDATE `radio` SET `url`='%s' WHERE `name`='%s'",inputtext,radiostring);
  185. mysql_query(string);
  186. loadradio();
  187. format(string,sizeof(string),"Radiosender %s erstellt",radiostring);
  188. SCM(playerid,gruen,string);
  189. format(radiostring,sizeof(radiostring),"0");
  190. }
  191. else
  192. {
  193. format(string,sizeof(string),"DELETE FROM `radio` WHERE `name`='%s'",radiostring);
  194. mysql_query(string);
  195. }
  196. }
  197. case DIALOG_RADIO:
  198. {
  199. if(response)
  200. {
  201. rid=listitem;
  202. if(listitem==0)
  203. {
  204. StopAudioStreamForPlayer(playerid);
  205. SCM(playerid,-1,"Du hast das Radio Ausgeschaltet");
  206. }
  207. else return PlayAudioStreamForPlayer(playerid,RadioInfo[rid][Rurl]);
  208. }
  209. }
  210. }
  211. return 1;
  212. }
  213.  
  214. stock Connect_To_Database()
  215. {
  216. mycon=mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  217. if(mysql_ping() == 1)return print("<-| [MYSQL] Verbindung zur Datenbank wurde erfolgreich hergestellt!");
  218. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  219. print("<-| [MYSQL] Es wird erneut versucht eine Verbindung zur Datenbank herzustellen!");
  220. mycon=mysql_connect(SQL_HOST, SQL_USER, SQL_DATA, SQL_PASS);
  221. if(mysql_ping() == 1)return print("<-| [MYSQL] Es konnte im 2 Versuch eine Verbindung hergestellt werden!");
  222. print("<-| [MYSQL] Es konnte keine Verbindung zur Datenbank hergestellt werden!");
  223. print("<-| [MYSQL] Der Server wird nun beendet!");
  224. SendRconCommand("exit");
  225. return true;
  226. }
  227. stock loadradio()
  228. {
  229. new query[128],data[64],i=0;
  230. for(;i<MAX_RADIO;i++)
  231. {
  232. format(query,sizeof(query),"SELECT * FROM radio WHERE `id`='%d'", i);
  233. mysql_query(query);
  234. mysql_store_result();
  235. if(mysql_num_rows())
  236. {
  237. if(mysql_retrieve_row())
  238. {
  239. mysql_fetch_field_row(data,"name");
  240. format(RadioInfo[i][RName],32,"%s",data);
  241. mysql_fetch_field_row(data,"url");
  242. format(RadioInfo[i][Rurl],32,"%s",data);
  243. RadioInfo[i][erstellt]=true;
  244. }
  245. }
  246. }
  247. mysql_free_result();
  248. return 1;
  249. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement