Advertisement
Guest User

Friends FilterScript [MySQL, sscanf, ZCMD] version 2.0

a guest
Jul 2nd, 2013
1,702
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.83 KB | None | 0 0
  1. //SPECIAL THANKS TO doreto for explaining to me how to work with mysql and other things!
  2. //SEPCIAL THANKS TO park4bmx for creating the IsPlayerOnline stock!
  3.  
  4. #include <a_samp>
  5. #include <zcmd>
  6. #include <a_mysql>
  7. #include <sscanf2>
  8.  
  9. #define MAX_FRIENDS 256
  10. #define DIALOG_FRIENDS 1
  11. #define DIALOG_NOFRIENDS 2
  12. #define COLOR_GREEN {49ec4e}
  13. #define COLOR_RED {ec4949}
  14. #define COLOR_WHITE {ffffff}
  15.  
  16. public OnFilterScriptInit()
  17. {
  18. mysql_debug(1);
  19. mysql_connect("localhost","root","friends","");
  20. print("\n-----------------------------------------");
  21. print("-Friends FILTERSCTIPT by Smokkr and doreto-");
  22. print("-------------Loaded Successfuly-----------\n");
  23. print("------------------------------------------\n");
  24. return 1;
  25. }
  26.  
  27. enum E_PLAYER_DATA
  28. {
  29. TotalFriends = 0,
  30. FriendName[MAX_FRIENDS]
  31. }
  32.  
  33. new FriendsData[MAX_PLAYERS][E_PLAYER_DATA];
  34.  
  35.  
  36. public OnFilterScriptExit()
  37. {
  38. mysql_debug(0);
  39. print("\n-----------------------------------------");
  40. print("-Friends FILTERSCTIPT by Smokkr and doreto-");
  41. print("------------Unoaded Successfuly-----------\n");
  42. print("------------------------------------------\n");
  43. return 1;
  44. }
  45.  
  46.  
  47. public OnPlayerRequestClass(playerid, classid)
  48. {
  49. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  50. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  51. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  52. return 1;
  53. }
  54.  
  55. public OnPlayerConnect(playerid)
  56. {
  57. return 1;
  58. }
  59.  
  60. public OnPlayerDisconnect(playerid, reason)
  61. {
  62. return 1;
  63. }
  64.  
  65. public OnPlayerSpawn(playerid)
  66. {
  67. return 1;
  68. }
  69.  
  70. public OnPlayerDeath(playerid, killerid, reason)
  71. {
  72. return 1;
  73. }
  74.  
  75. public OnVehicleSpawn(vehicleid)
  76. {
  77. return 1;
  78. }
  79.  
  80. public OnVehicleDeath(vehicleid, killerid)
  81. {
  82. return 1;
  83. }
  84.  
  85. public OnPlayerText(playerid, text[])
  86. {
  87. return 1;
  88. }
  89.  
  90. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  91. {
  92. return 1;
  93. }
  94.  
  95. public OnPlayerExitVehicle(playerid, vehicleid)
  96. {
  97. return 1;
  98. }
  99.  
  100. public OnPlayerStateChange(playerid, newstate, oldstate)
  101. {
  102. return 1;
  103. }
  104.  
  105. public OnPlayerEnterCheckpoint(playerid)
  106. {
  107. return 1;
  108. }
  109.  
  110. public OnPlayerLeaveCheckpoint(playerid)
  111. {
  112. return 1;
  113. }
  114.  
  115. public OnPlayerEnterRaceCheckpoint(playerid)
  116. {
  117. return 1;
  118. }
  119.  
  120. public OnPlayerLeaveRaceCheckpoint(playerid)
  121. {
  122. return 1;
  123. }
  124.  
  125. public OnRconCommand(cmd[])
  126. {
  127. return 1;
  128. }
  129.  
  130. public OnPlayerRequestSpawn(playerid)
  131. {
  132. return 1;
  133. }
  134.  
  135. public OnObjectMoved(objectid)
  136. {
  137. return 1;
  138. }
  139.  
  140. public OnPlayerObjectMoved(playerid, objectid)
  141. {
  142. return 1;
  143. }
  144.  
  145. public OnPlayerPickUpPickup(playerid, pickupid)
  146. {
  147. return 1;
  148. }
  149.  
  150. public OnVehicleMod(playerid, vehicleid, componentid)
  151. {
  152. return 1;
  153. }
  154.  
  155. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  156. {
  157. return 1;
  158. }
  159.  
  160. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  161. {
  162. return 1;
  163. }
  164.  
  165. public OnPlayerSelectedMenuRow(playerid, row)
  166. {
  167. return 1;
  168. }
  169.  
  170. public OnPlayerExitedMenu(playerid)
  171. {
  172. return 1;
  173. }
  174.  
  175. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  176. {
  177. return 1;
  178. }
  179.  
  180. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  181. {
  182. return 1;
  183. }
  184.  
  185. public OnRconLoginAttempt(ip[], password[], success)
  186. {
  187. return 1;
  188. }
  189.  
  190. public OnPlayerUpdate(playerid)
  191. {
  192. return 1;
  193. }
  194.  
  195. public OnPlayerStreamIn(playerid, forplayerid)
  196. {
  197. return 1;
  198. }
  199.  
  200. public OnPlayerStreamOut(playerid, forplayerid)
  201. {
  202. return 1;
  203. }
  204.  
  205. public OnVehicleStreamIn(vehicleid, forplayerid)
  206. {
  207. return 1;
  208. }
  209.  
  210. public OnVehicleStreamOut(vehicleid, forplayerid)
  211. {
  212. return 1;
  213. }
  214.  
  215. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  216. {
  217. return 1;
  218. }
  219.  
  220. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  221. {
  222. return 1;
  223. }
  224.  
  225. CMD:friends(playerid, params[])
  226. {
  227. new query[254],
  228. i[254],
  229. name[512],string2[512];
  230. format(query,sizeof(query),"SELECT * FROM `friendlist` WHERE `username` = '%s'",PlayerName(playerid));
  231. mysql_query(query);
  232. mysql_store_result();
  233.  
  234. if(mysql_num_rows() != 0)
  235. {
  236.  
  237. while(mysql_fetch_row_format(query, "|"))
  238. {
  239. FriendsData[playerid][TotalFriends] ++;
  240. mysql_fetch_field_row(i,"fr_name"); format(name,sizeof(name),i);
  241. if(IsPlayerOnline(name))
  242. {
  243. format(name,sizeof(name),"{ffffff}%s - {49ec4e}ONLINE\n", name);
  244. strcat(string2,name);
  245. }
  246. else
  247. {
  248. format(name,sizeof(name),"{ffffff}%s - {ec4949}OFFLINE\n", name);
  249. strcat(string2,name);
  250. }
  251. ShowPlayerDialog(playerid, DIALOG_FRIENDS, DIALOG_STYLE_MSGBOX, "Your Friends:", string2, "Close", "");
  252. }
  253. }
  254. else
  255. {
  256. ShowPlayerDialog(playerid, DIALOG_NOFRIENDS, DIALOG_STYLE_MSGBOX, "Your Friends:","You don't have any friends!", "Close", "");
  257. }
  258. return 1;
  259. }
  260.  
  261. CMD:addfriend(playerid, params[])
  262. {
  263. new target;
  264. if(sscanf(params, "u", target)) return SendClientMessage(playerid,-1,"Usage: /addfriend [PlayerName/ID]");
  265. else if(target == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ERROR: Invalid PlayerName/ID");
  266. new string[256];
  267. format(string,sizeof(string),"INSERT INTO `friendlist`(`username`, `fr_name`) VALUES ('%s','%s')",PlayerName(playerid),PlayerName(target));
  268. mysql_query(string);
  269. if(IsPlayerConnected(target))
  270. {
  271. format(string,sizeof(string),"You successfully added %s as friend",PlayerName(target));
  272. SendClientMessage(playerid,-1,string);
  273. }
  274. mysql_free_result();
  275. return 1;
  276.  
  277. }
  278.  
  279. stock TargetName(targetid)
  280. {
  281. new targetname[MAX_PLAYER_NAME];
  282. GetPlayerName(playerid,targetname, sizeof(targetname));
  283. return targetname;
  284. }
  285.  
  286. stock PlayerName(playerid)
  287. {
  288. new pname[MAX_PLAYER_NAME];
  289. GetPlayerName(playerid,pname,MAX_PLAYER_NAME);
  290. return pname;
  291. }
  292.  
  293. stock IsPlayerOnline(username[])
  294. {
  295. new pName[MAX_PLAYER_NAME];
  296. for(new i=0; i < MAX_PLAYERS; i++)
  297. {
  298. GetPlayerName(i,pName, sizeof(pName));
  299. if(!strcmp(pName,username,true)) return 1;//player online
  300. }
  301. return 0;//player offline
  302. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement