Advertisement
Valo

Untitled

Jul 14th, 2011
441
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.63 KB | None | 0 0
  1. #include <a_samp>
  2. #include zcmd
  3. #include dini
  4. #include sscanf
  5. #include <utils>
  6. #include <yom_buttons>
  7.  
  8. #define White 0xFFFFFFFF
  9. #define SADF_COLOR 0x3EA3F4FF
  10. #define SASR_COLOR 0xFF0080FF
  11. #define Yellow 0xFFFF00FF
  12. #define yellow 0xFFFF00AA
  13. #define red 0xFF0000AA
  14. #define green 0x45E01FFF
  15.  
  16. new Name[MAX_PLAYERS];
  17. new pname[MAX_PLAYERS];
  18. new String[MAX_PLAYERS];
  19. new Member[MAX_PLAYERS];//If the player is a Member.
  20. new Leader[MAX_PLAYERS];//If the player is a Leader.
  21. new IsInOrg[MAX_PLAYERS];//If the player is in the org.
  22. new IsLaw[MAX_PLAYERS];//If the org is a law org.
  23. new IsPriv[MAX_PLAYERS];
  24. new IsGang[MAX_PLAYERS];
  25. new OrgId[MAX_PLAYERS];//This is the id of the or that is being requested.
  26. new request[MAX_PLAYERS];//Request
  27. new IsRequesting[MAX_PLAYERS];//If the player is requesting an org.
  28. new file[MAX_PLAYERS];
  29. new FSave[500];
  30. new PlayerHadDeagle[MAX_PLAYERS];
  31. new PlayerHasTazer[MAX_PLAYERS];
  32. new TazerHolster[MAX_PLAYERS];
  33. enum pInfo
  34. {
  35. pGun0,
  36. pGun1,
  37. pGun2,
  38. pGun3,
  39. pGun4,
  40. pGun5,
  41. pGun6,
  42. pGun7,
  43. pGun8,
  44. pGun9,
  45. pGun10,
  46. pGun11,
  47. pGun12,
  48. };
  49. new PlayerInfo[MAX_PLAYERS][pInfo];
  50. forward ProxDetectorS(Float:radi, playerid, targetid);
  51.  
  52. public OnPlayerConnect(playerid)
  53. {
  54. GetPlayerName(playerid, Name, sizeof(Name));
  55. format(file,sizeof(file),"OrgUsers/%s.ini", Name);
  56. if(dini_Exists(file))
  57. {
  58. Member[playerid] = dini_Int(file, "Member");
  59. Leader[playerid] = dini_Int(file,"Leader");
  60. IsInOrg[playerid] = dini_Int(file,"Status");
  61. IsLaw[playerid] = dini_Int(file,"Law");
  62. request[playerid] = dini_Int(file,"Request");
  63. IsRequesting[playerid] = dini_Int(file,"Isrequesting");
  64. }
  65. return 1;
  66. }
  67.  
  68. public OnPlayerDisconnect(playerid, reason)
  69. {
  70. GetPlayerName(playerid, Name, sizeof(Name));
  71. format(file,sizeof(file),"OrgUsers/%s.ini", Name);
  72. if(dini_Exists(file))
  73. {
  74. dini_IntSet(file, "Member", Member[playerid]);
  75. dini_IntSet(file, "Leader", Leader[playerid]);
  76. dini_IntSet(file, "Status", IsInOrg[playerid]);
  77. dini_IntSet(file, "Request", request[playerid]);
  78. dini_IntSet(file, "IsRequesting", IsRequesting[playerid]);
  79. }
  80. return 1;
  81. }
  82.  
  83. public OnPlayerSpawn(playerid)
  84. {
  85. FSave[playerid] = SetTimerEx("Save",1000,true,"i",playerid);//This creates a timer when the player spawns and it saves the file ever 1 second.
  86. if(Member[playerid] == 1)
  87. {
  88. SetPlayerColor(playerid,SADF_COLOR);
  89. SetPlayerSkin(playerid, 280);
  90. GivePlayerWeapon(playerid,31,5000);
  91. GivePlayerWeapon(playerid,3,-1);
  92. GivePlayerWeapon(playerid,24,500);
  93. SendClientMessage(playerid,White,"Organization: San Andreas Defense Force.");
  94. }
  95. if(Member[playerid] == 2)
  96. {
  97. SetPlayerColor(playerid,SASR_COLOR);
  98. SetPlayerSkin(playerid, 59);
  99. GivePlayerWeapon(playerid,22,1000);
  100. GivePlayerWeapon(playerid,32,5000);
  101. SendClientMessage(playerid,White,"Organization: San Andreas Street Racers.");
  102. }
  103. return 1;
  104. }
  105.  
  106. COMMAND:kickmember(playerid, params[])
  107. {
  108. new id;
  109. if(sscanf(params,"u", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /kickmember [id]");
  110. GetPlayerName(playerid, Name, sizeof(Name));
  111. if(Member[id] == 1 && Leader[playerid] == 1)
  112. {
  113. format(String, sizeof(String), "%s has kicked you from San Andreas Defense Force.",Name);
  114. SendClientMessage(id,0xFF0000FF, String);
  115. SetPlayerColor(id,0xFFFFFFFF);
  116. ResetPlayerWeapons(id);
  117. Leader[id] = 0;
  118. Member[id] = 0;
  119. IsInOrg[id] = 0;
  120. OrgId[id] = 0;
  121. IsLaw[id] = 0;
  122. IsPriv[id] = 0;
  123. IsGang[id] = 0;
  124. IsRequesting[id] = 0;
  125. request[id] = 0;
  126. format(String, sizeof(String), "You have kicked a player from San Andreas Police Dept",Name);
  127. SendClientMessage(playerid,0xFF0000FF, String);
  128. TogglePlayerControllable(id,true);
  129. }
  130. if(Member[id] == 2 && Leader[playerid] == 2)
  131. {
  132. format(String, sizeof(String), "%s has kicked you from San Andreas Street Racers.",Name);
  133. SendClientMessage(id,0xFF0000FF, String);
  134. SetPlayerColor(id,0xFFFFFFFF);
  135. ResetPlayerWeapons(id);
  136. Leader[id] = 0;
  137. Member[id] = 0;
  138. IsInOrg[id] = 0;
  139. OrgId[id] = 0;
  140. IsLaw[id] = 0;
  141. IsPriv[id] = 0;
  142. IsGang[id] = 0;
  143. IsRequesting[id] = 0;
  144. request[id] = 0;
  145. format(String, sizeof(String), "You have kicked a player from San Andreas Street Racers.",Name);
  146. SendClientMessage(playerid,0xFF0000FF, String);
  147. TogglePlayerControllable(id,true);
  148. }
  149. return 1;
  150. }
  151.  
  152. COMMAND:accept(playerid, params[])
  153. {
  154. new id;
  155. if(IsPlayerConnected(id))
  156. if(sscanf(params,"u", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /accept [id]");
  157. if(IsInOrg[id] == 1) return SendClientMessage(playerid,red,"This user is already in an organization!");
  158. if(request[id] == 0) return SendClientMessage(playerid,red,"Ths user is not requesting to your organization!");
  159. if(Leader[playerid] == 1 && Member[id] == 0 && request[id] == 1)
  160. {
  161. GetPlayerName(playerid, Name, sizeof(Name));
  162. format(String, sizeof(String), "%s has accepted your application into San Andreas Defense Force.Please type /lawcmds",Name);
  163. SendClientMessage(id,green, String);
  164. Leader[id] = 0;
  165. Member[id] = 1;
  166. IsInOrg[id] = 1;
  167. OrgId[id] = 1;
  168. IsLaw[id] = 1;
  169. IsPriv[id] = 0;
  170. IsGang[id] = 0;
  171. IsRequesting[id] = 0;
  172. request[id] = 0;
  173. SetPlayerSkin(id, 280);
  174. GivePlayerWeapon(id,24,500);
  175. GivePlayerWeapon(id,3,-1);
  176. GivePlayerWeapon(id,31,5000);
  177. SetPlayerColor(id,SADF_COLOR);
  178. format(String, sizeof(String), "You have set a player member of San Andreas Defense Force.",Name);
  179. SendClientMessage(playerid,green, String);
  180. }
  181. if(IsInOrg[id] == 1) return SendClientMessage(playerid,red,"This user is already in an organization!");
  182. if(request[id] == 0) return SendClientMessage(playerid,red,"Ths user is not requesting to your organization");
  183. if(Leader[playerid] == 2 && Member[id] == 0 && request[id] == 2)
  184. {
  185. format(String, sizeof(String), "%s has accepted your application into San Andreas Street Racers. Please type /orgcmds",Name);
  186. SendClientMessage(id,green, String);
  187. Leader[id] = 0;
  188. Member[id] = 2;
  189. IsInOrg[id] = 1;
  190. OrgId[id] = 2;
  191. IsLaw[id] = 0;
  192. IsPriv[id] = 1;
  193. IsGang[id] = 0;
  194. IsRequesting[id] = 0;
  195. request[id] = 0;
  196. SetPlayerSkin(id, 28);
  197. GivePlayerWeapon(id,22,500);
  198. GivePlayerWeapon(id,32,5000);
  199. SetPlayerColor(id,SASR_COLOR);
  200. format(String, sizeof(String), "You have set a player member of San Andreas Street Racers.",Name);
  201. SendClientMessage(playerid,green, String);
  202. }
  203. return 1;
  204. }
  205.  
  206. COMMAND:request(playerid, params[])
  207. {
  208. new id;
  209. if(sscanf(params,"i", id))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /request [orgid]");
  210. GetPlayerName(playerid, Name, sizeof(Name));
  211. if(IsInOrg[playerid] == 1) return SendClientMessage(playerid, red," You are already in a organisation!");
  212. if(IsRequesting[playerid] == 1) return SendClientMessage(playerid, red," You are already requesting to join an organisation!");
  213. if(id == 1)
  214. {
  215. format(String,MAX_PLAYERS,"* %s is requesting to join San Andreas Defense Force.",Name);
  216. SendClientMessageToAll(SADF_COLOR,String);
  217. IsRequesting[playerid] = 1;
  218. request[playerid] = 1;
  219. return 1;
  220. }
  221. if(id == 2)
  222. {
  223. format(String,MAX_PLAYERS,"* %s is requesting to join San Andreas Street Racers.",Name);
  224. SendClientMessageToAll(SASR_COLOR,String);
  225. IsRequesting[playerid] = 1;
  226. request[playerid] = 2;
  227. return 1;
  228. }
  229. return 1;
  230. }
  231.  
  232. COMMAND:cancelrequest(playerid, params[])
  233. {
  234. if(request[playerid] == 0) return SendClientMessage(playerid,red,"You are not requesting to join any organization!");
  235. GetPlayerName(playerid,pname,sizeof(pname));
  236. if(request[playerid] == 1)
  237. {
  238. format(String,MAX_PLAYERS,"* %s has cancelled his request to join San Andreas Defense Force.",pname);
  239. SendClientMessageToAll(0x8F8F8FFF,String);
  240. IsRequesting[playerid] = 0;
  241. request[playerid] = 0;
  242. return 1;
  243. }
  244. if(request[playerid] == 2)
  245. {
  246. format(String,MAX_PLAYERS,"* %s has cancelled his request to join San Andreas Street Racers.",pname);
  247. SendClientMessageToAll(0x8F8F8FFF,String);
  248. IsRequesting[playerid] = 0;
  249. request[playerid] = 0;
  250. return 1;
  251. }
  252. return 1;
  253. }
  254.  
  255. COMMAND:setleader(playerid, params[])//Set Leader to San Andreas Police Department.
  256. {
  257. new id,oleader;
  258. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xDFDFDFFF,"You are not an admin.");
  259. if(sscanf(params,"ui", id,oleader))return SendClientMessage(playerid, 0xFF0000AA, "Usage: /setleader [id] [orgID 1 - 9]");
  260. if(oleader > 9)return SendClientMessage(playerid,red,"Please type /orgids");
  261. if(oleader == 1)
  262. {
  263. GetPlayerName(playerid, Name, sizeof(Name));
  264. format(String, sizeof(String), "%s has set you the leader of San Andreas Defense Force.",Name);
  265. SendClientMessage(id,green, String);
  266. SetPlayerColor(id,SADF_COLOR);
  267. SetPlayerSkin(id, 282);
  268. GivePlayerWeapon(id,24,500);
  269. GivePlayerWeapon(id,3,-1);
  270. GivePlayerWeapon(id,31,5000);
  271. Leader[id] = 1;
  272. Member[id] = 1;
  273. IsInOrg[id] = 1;
  274. OrgId[id] = 1;
  275. IsLaw[id] = 1;
  276. IsPriv[id] = 0;
  277. IsGang[id] = 0;
  278. IsRequesting[id] = 0;
  279. request[id] = 0;
  280. format(String, sizeof(String), "You have set a new leader for San Andreas Police Dept.",Name);
  281. SendClientMessage(playerid,green, String);
  282. }
  283. if(oleader == 2)
  284. {
  285. GetPlayerName(playerid, Name, sizeof(Name));
  286. format(String, sizeof(String), "%s has set you the leader of San Andreas Street Racers.",Name);
  287. SendClientMessage(id,green, String);
  288. SetPlayerColor(id,SASR_COLOR);
  289. SetPlayerSkin(id, 59);
  290. GivePlayerWeapon(id,22,500);
  291. GivePlayerWeapon(id,32,5000);
  292. Leader[id] = 2;
  293. Member[id] = 2;
  294. IsInOrg[id] = 1;
  295. OrgId[id] = 2;
  296. IsLaw[id] = 0;
  297. IsPriv[id] = 1;
  298. IsGang[id] = 0;
  299. IsRequesting[id] = 0;
  300. request[id] = 0;
  301. format(String, sizeof(String), "You have set a new leader for San Andreas Street Racers.",Name);
  302. SendClientMessage(playerid,green, String);
  303. }
  304. return 1;
  305. }
  306.  
  307. forward Save(playerid);
  308. public Save(playerid)
  309. {
  310. GetPlayerName(playerid, pname, sizeof(pname));
  311. format(file, sizeof(file), "OrgUsers/%s",pname);
  312. if(dini_Exists(file))
  313. {
  314. dini_Create(file);
  315. dini_IntSet(file, "Member", Member[playerid]);
  316. dini_IntSet(file, "Leader", Leader[playerid]);
  317. dini_IntSet(file, "Status", IsInOrg[playerid]);
  318. dini_IntSet(file, "Law", IsLaw[playerid]);
  319. dini_IntSet(file, "Gang", IsGang[playerid]);
  320. dini_IntSet(file, "Priv", IsPriv[playerid]);
  321. dini_IntSet(file, "Request", request[playerid]);
  322. dini_IntSet(file, "IsRequesting", IsRequesting[playerid]);
  323. }
  324. return 1;
  325. }
  326. COMMAND:tazer(playerid, params[])
  327. {
  328. if(IsPlayerConnected(playerid))
  329. {
  330. new id;
  331. if(Member[id] == 1 && Leader[playerid] == 1)
  332. {
  333. /*new x_job[20];
  334. x_job = strtok(cmdtext, idx);
  335. if(!strlen(x_job))
  336. {
  337. SendClientMessage(playerid, COLOR_GREY, "USAGE: /tazer [get/putaway]");
  338. return 1;
  339. }
  340. tmp = strtok(cmdtext, idx);*/
  341. if(TazerHolster[playerid] == 1)
  342. {
  343. if(PlayerInfo[playerid][pGun2] == 24) PlayerHadDeagle[playerid] = 1;
  344. GivePlayerGun(playerid, 23);
  345. PlayerHasTazer[playerid] = 1;
  346. TazerHolster[playerid] = 0;
  347. format(string, sizeof(string), "* %s unholsters his tazer.", PlayerName(playerid));
  348. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  349. }
  350. else if(TazerHolster[playerid] == 0)
  351. {
  352. if(PlayerHasTazer[playerid] == 0) return SendClientMessage(playerid,COLOR_GREY,"You don't have a tazer out!");
  353. TakeWeapon(playerid, 23);
  354. if(PlayerHadDeagle[playerid] == 1) GivePlayerGun(playerid, 24);
  355. PlayerHasTazer[playerid] = 0;
  356. PlayerHadDeagle[playerid] = 0;
  357. TazerHolster[playerid] = 1;
  358. format(string, sizeof(string), "* %s holsters his tazer back.", PlayerName(playerid));
  359. ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
  360. }
  361. }
  362. else
  363. {
  364. SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / FBI / RCSD / NG / SS / San Andreas Defense Force!");
  365. }
  366. }
  367. return 1;
  368. }
  369. stock GivePlayerGun(playerid, weaponid)
  370. {
  371. switch (weaponid)
  372. {
  373. case 1: { PlayerInfo[playerid][pGun0] = 1; GivePlayerWeapon(playerid, 1, 1); }
  374. case 2..9: { PlayerInfo[playerid][pGun1] = weaponid; GivePlayerWeapon(playerid, weaponid, 1); }
  375. case 10..15: { PlayerInfo[playerid][pGun10] = weaponid; GivePlayerWeapon(playerid, weaponid, 1); }
  376. case 16..18, 39: { PlayerInfo[playerid][pGun8] = weaponid; GivePlayerWeapon(playerid, weaponid, 2); }
  377. case 21: { PlayerInfo[playerid][pGun12] = 21; SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USEJETPACK); }
  378. case 22..24: { PlayerInfo[playerid][pGun2] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  379. case 25..27: { PlayerInfo[playerid][pGun3] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  380. case 28..29, 32: { PlayerInfo[playerid][pGun4] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  381. case 30, 31: { PlayerInfo[playerid][pGun5] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  382. case 33, 34: { PlayerInfo[playerid][pGun6] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  383. case 35..38: { PlayerInfo[playerid][pGun7] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  384. case 40: { PlayerInfo[playerid][pGun12] = 40; GivePlayerWeapon(playerid, 40, 1); }
  385. case 41..43: { PlayerInfo[playerid][pGun9] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  386. case 44..46: { PlayerInfo[playerid][pGun11] = weaponid; GivePlayerWeapon(playerid, weaponid, 99999); }
  387. }
  388. return 1;
  389. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement