Advertisement
Guest User

SISTEMA DE HELPERS

a guest
Jan 22nd, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.72 KB | None | 0 0
  1. // FILTERSCRIPT CRIADO POR: GABRIEL_SANTOS
  2. // NAO RETIRE OS CREDITOS
  3. //
  4.  
  5. #include a_samp
  6. #include zcmd
  7. #include sscanf
  8. #include dini
  9.  
  10. #define FILTERSCRIPT
  11. #if defined FILTERSCRIPT
  12. #endif
  13.  
  14. #define CONTAS "Players/%s.ini"
  15. #define COLOR_GRAD1 0xB4B5B7FF
  16. #define COLOR_GRAD2 0xBFC0C2FF
  17. #define COLOR_GREY 0xAFAFAFAA
  18. #define COLOR_ORANGE 0xFF9900AA
  19. #define COLOR_WHITE 0xFFFFFFAA
  20. #define COLOR_HELPER 0x00D087AA
  21. forward SendHelperMessage(color, string[]);
  22. forward SendHelperAdminMessage(color, string[]);
  23. new anhelper[MAX_PLAYERS];
  24. new meavaliehelper[MAX_PLAYERS];
  25. new meavalie[MAX_PLAYERS];
  26. forward TempoAnHelper(playerid);
  27. forward TempoAvalieHelper(playerid);
  28. #define DIALOG_MEAVALIE 100
  29. #define DIALOG_HELPER 101
  30. #define DIALOG_PAR 102
  31. #define TEMPO_AN 300000// no caso ta 5 minutos mude como quiser
  32. #define TEMPO_MEAVALIE 300000// mesma coisa do de cima
  33. enum Player_Info // enum para salvar o helper e o helper trabalhando
  34. {
  35. pHelper,
  36. pHelperTrabalhando,
  37. pAdmin,
  38. }
  39. new PlayerInfo[MAX_PLAYERS][Player_Info];
  40.  
  41. public OnFilterScriptInit()
  42. {
  43. print("\n--------------------------------------");
  44. print(" FilterScript de Helpers Carregado com Sucesso");
  45. print(" Feito por Gabriel_Santos");
  46. print("--------------------------------------\n");
  47. return 1;
  48. }
  49.  
  50. public OnFilterScriptExit()
  51. {
  52. return 1;
  53. }
  54. public OnGameModeInit()
  55. {
  56. // Don't use these lines if it's a filterscript
  57. SetGameModeText("Blank Script");
  58. AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  59. return 1;
  60. }
  61.  
  62. public OnGameModeExit()
  63. {
  64. return 1;
  65. }
  66.  
  67. public OnPlayerRequestClass(playerid, classid)
  68. {
  69. SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  70. SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  71. SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  72. return 1;
  73. }
  74.  
  75. public OnPlayerConnect(playerid)
  76. {
  77. SendClientMessage(playerid, COLOR_HELPER,"Este Servidor conta com Um sistema de Helpers");
  78. SendClientMessage(playerid, COLOR_HELPER,"Feito Por Gabriel_Santos");
  79. new Nome[MAX_PLAYER_NAME];
  80. GetPlayerName(playerid, Nome, sizeof(Nome));
  81. new String[50];
  82. format(String, sizeof(String), CONTAS, Nome);
  83. PlayerInfo[playerid][pAdmin] = dini_Int(String, "Admin");
  84. PlayerInfo[playerid][pHelper] = dini_Int(String, "Helper");
  85. PlayerInfo[playerid][pHelperTrabalhando] = dini_Int(String, "Helper Trabalhando");
  86. PlayerInfo[playerid][pHelperTrabalhando] = 0; // seta o Helper trabalhando para 0
  87. return 1;
  88. }
  89.  
  90. public OnPlayerDisconnect(playerid, reason)
  91. {
  92. new Nome[MAX_PLAYER_NAME];
  93. GetPlayerName(playerid, Nome, sizeof(Nome));
  94. new String[50];
  95. format(String, sizeof(String), CONTAS, Nome);
  96. dini_IntSet(String,"Helper",PlayerInfo[playerid][pHelper]);
  97. dini_IntSet(String,"Admin",PlayerInfo[playerid][pAdmin]);
  98. dini_IntSet(String,"Helper Trabalhando",PlayerInfo[playerid][pHelperTrabalhando]);
  99. return 1;
  100. }
  101.  
  102. public OnPlayerSpawn(playerid)
  103. {
  104. return 1;
  105. }
  106.  
  107. public OnPlayerDeath(playerid, killerid, reason)
  108. {
  109. return 1;
  110. }
  111. public OnPlayerCommandReceived(playerid, cmdtext[])
  112. {
  113. return 1;
  114. }
  115. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  116. {
  117. return 1;
  118. }
  119. public OnVehicleSpawn(vehicleid)
  120. {
  121. return 1;
  122. }
  123.  
  124. public OnVehicleDeath(vehicleid, killerid)
  125. {
  126. return 1;
  127. }
  128.  
  129. public OnPlayerText(playerid, text[])
  130. {
  131. return 1;
  132. }
  133. //--------------------------------------------[inicio comandos]---------------------------------------------------------//
  134. new sendername[MAX_PLAYER_NAME];
  135. new stringgg[128];
  136.  
  137. CMD:helpers(playerid, params[])
  138. {
  139. SendClientMessage(playerid, COLOR_GREY, "|_____|Helpers Online|_____|");
  140. for(new i = 0; i <= MAX_PLAYERS; i++)
  141. {
  142. if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pHelper] > 0)
  143. {
  144. if(PlayerInfo[i][pHelperTrabalhando] > 0)
  145. {
  146. GetPlayerName(i, sendername, sizeof(sendername));
  147. if(PlayerInfo[i][pHelper] > 0)
  148. {
  149. format(stringgg,sizeof(stringgg), "Nome: %s [%d] (Trabalhando)", sendername, PlayerInfo[i][pHelper]);
  150. SendClientMessage(playerid, COLOR_HELPER, stringgg);
  151. }
  152. }
  153. else
  154. {
  155. GetPlayerName(i, sendername, sizeof(sendername));
  156. if(PlayerInfo[i][pHelper] > 0)
  157. {
  158. format(stringgg, 256, "Nome: %s [%d] (Jogando)", sendername, PlayerInfo[i][pHelper]);
  159. SendClientMessage(playerid, COLOR_HELPER, stringgg);
  160. }
  161. }
  162. }
  163. }
  164. return 1;
  165. }
  166. CMD:avisohelper(playerid, params[]) return cmd_avh(playerid, params);
  167. CMD:avh(playerid, params[])
  168. {
  169. if(IsPlayerConnected(playerid))
  170. {
  171. new string[128];
  172. if(sscanf(params, "s[124]", sendername)) return SendClientMessage(playerid, 0xFFFFFFAA, "Use: /avh ou /avisohelper [anuncio].");
  173. if(PlayerInfo[playerid][pHelper] < 0)
  174. {
  175. return SendClientMessage(playerid,COLOR_GRAD2,"Você nao esta autorizado a usar esse Comando.");
  176. }
  177. if(PlayerInfo[playerid][pHelperTrabalhando] == 0)
  178. {
  179. return SendClientMessage(playerid,COLOR_GRAD2," Você não está em trabalho! Use: /helpajudar");
  180. }
  181. if(anhelper[playerid] == 1)
  182. {
  183. return SendClientMessage(playerid,COLOR_GRAD1,"Você fez um Anuncio agora espere 5 minutos para anunciar novamente.");
  184. }
  185. SendClientMessageToAll(COLOR_WHITE,"|___|Aviso dos Helpers|___|");
  186. new result[128];
  187. if(PlayerInfo[playerid][pHelper] >= 1)
  188. {
  189. format(string, sizeof(string), "%s:{33FF00}%s", sendername, result);
  190. }
  191. SendClientMessageToAll(COLOR_HELPER, string);
  192. anhelper[playerid] = 1;
  193. SetTimer("TempoAnHelper",TEMPO_AN,false);
  194. }
  195. return 1;
  196. }
  197. CMD:ahelperchat(playerid, params[]) return cmd_ah(playerid, params);
  198. CMD:ah(playerid, params[])
  199. {
  200. if(IsPlayerConnected(playerid))
  201. {
  202. new result[126];
  203. new string[128];
  204. GetPlayerName(playerid, sendername, sizeof(sendername));
  205. if(sscanf(params, "s[124]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: (/ah) [Chat dos helpers e admins]");
  206. if (PlayerInfo[playerid][pHelper] >= 1)
  207. {
  208. format(string, sizeof(string), "Helper [%d]: %s", PlayerInfo[playerid][pHelper], result);
  209. SendHelperAdminMessage(COLOR_HELPER, string);
  210. }
  211. else if (PlayerInfo[playerid][pAdmin] >= 1 || IsPlayerAdmin(playerid))
  212. {
  213. format(string, sizeof(string), "Admin [%d]: %s", PlayerInfo[playerid][pAdmin], result);
  214. SendHelperAdminMessage(COLOR_HELPER, string);
  215. }
  216. else
  217. {
  218. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  219. }
  220. }
  221. return 1;
  222. }
  223. CMD:helperchat(playerid, params[]) return cmd_h(playerid, params);
  224. CMD:h(playerid, params[])
  225. {
  226. if(IsPlayerConnected(playerid))
  227. {
  228. new string[128];
  229. new result[126];
  230. GetPlayerName(playerid, sendername, sizeof(sendername));
  231. if(sscanf(params, "s[124]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: (/h) [Chat dos helpers]");
  232. format(string, sizeof(string), "Helper [%d]: %s", PlayerInfo[playerid][pHelper], result);
  233. if (PlayerInfo[playerid][pHelper] >= 1)
  234. {
  235. SendHelperMessage(COLOR_HELPER, string);
  236. }
  237. else
  238. {
  239. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  240. }
  241. }
  242. return 1;
  243. }
  244. CMD:duvida(playerid, params[])
  245. {
  246. if(IsPlayerConnected(playerid))
  247. {
  248. new result[64];
  249. new string[128];
  250. if(sscanf(params, "s[124]", result)) return SendClientMessage(playerid, COLOR_GRAD2, "Use: /duvida [Pergunta]");
  251. format(string, sizeof(string), "Dúvida de %s(ID:%d): %s", sendername, playerid, (result));
  252. SendHelperMessage(COLOR_HELPER, string);
  253. SendClientMessage(playerid, COLOR_GRAD2, "Sua dúvida foi enviada aos Helpers.");
  254. }
  255. return 1;
  256. }
  257. CMD:helpajudar(playerid, params[]) return cmd_ha(playerid, params);
  258. CMD:ha(playerid, params[])
  259. {
  260. new string[128];
  261. if(IsPlayerConnected(playerid))
  262. {
  263. if(PlayerInfo[playerid][pHelper] >= 1)
  264. {
  265. if(PlayerInfo[playerid][pHelperTrabalhando] == 0)
  266. {
  267. format(string, 256, "Helper %s ID:[%d] está em trabalho, use /helpers para mais informações.",sendername, playerid);
  268. SendClientMessageToAll(COLOR_HELPER, string);
  269. PlayerInfo[playerid][pHelperTrabalhando] = 1;
  270. }
  271. else if(PlayerInfo[playerid][pHelperTrabalhando] == 1)
  272. {
  273. format(string, 256, "Helper %s ID:[%d] está em jogo, use /helpers para mais informações.",sendername, playerid);
  274. SendClientMessageToAll(COLOR_HELPER, string);
  275. PlayerInfo[playerid][pHelperTrabalhando] = 0;
  276. }
  277. }
  278. else
  279. {
  280. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  281. }
  282. }
  283. return 1;
  284. }
  285. CMD:meavalie(playerid, params[])
  286. {
  287. if(IsPlayerConnected(playerid))
  288. {
  289.  
  290. new string[256];
  291. if(sscanf(params, "ud", playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /meavalie [ID/Nome]");
  292. new giveplayerid;
  293. if(giveplayerid == playerid)
  294. {
  295. SendClientMessage(playerid, COLOR_GRAD1, "Você não pode pedir avaliação a si mesmo!");
  296. return true;
  297. }
  298. if(IsPlayerConnected(giveplayerid))
  299. {
  300. if(giveplayerid != INVALID_PLAYER_ID)
  301. {
  302. if(PlayerInfo[playerid][pHelper] >= 1)
  303. {
  304. if(PlayerInfo[playerid][pHelperTrabalhando] == 0)
  305. {
  306. return SendClientMessage(playerid,COLOR_GRAD2,"Você não está em trabalho!Use: /ha");
  307. }
  308. if(meavaliehelper[playerid] == 1)
  309. {
  310. return SendClientMessage(playerid,COLOR_GRAD1,"Você já foi avaliado recentemente!Espere...");
  311. }
  312. meavalie[giveplayerid] = playerid;
  313. meavaliehelper[playerid] = 1;
  314. SetTimer("TempoAvalieHelper",TEMPO_MEAVALIE,false);
  315. format(string,sizeof(string),"Olá %s\nO Helper %s[ID:%d]\nPediu a você que o avalia-se como helper\nCaso ele tenha o ajudado aperte em SIM\nCaso contrario aperte NÃO",giveplayerid, sendername, playerid);
  316. ShowPlayerDialog(playerid, DIALOG_MEAVALIE, DIALOG_STYLE_MSGBOX, "SISTEMA DE HELPERS - Avaliação do Helper", string, "Sim", "Não");
  317. }
  318. else
  319. {
  320. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  321. }
  322. }
  323. }
  324. else
  325. {
  326. format(string, sizeof(string), "O jogador não está conectado!", giveplayerid);
  327. SendClientMessage(playerid, COLOR_GRAD1, string);
  328. }
  329. }
  330. return 1;
  331. }
  332. CMD:darhelper(playerid, params[])
  333. {
  334. if(IsPlayerConnected(playerid))
  335. {
  336. new level;
  337. new string[256];
  338. new giveplayer[256];
  339. if(sscanf(params, "dd", playerid, level)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /darhelper [playerid/ParteDoNome] [level(0 a 300)]");
  340. new playa;
  341. if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][pAdmin] >= 5)
  342. {
  343. if(IsPlayerConnected(playa))
  344. {
  345. if(playa != INVALID_PLAYER_ID)
  346. {
  347. if(level < 0 || level > 300)
  348. {
  349. SendClientMessage(playerid, COLOR_GREY, "** Nível não pode ser inferior a 0 ou acima de 300!");
  350. }
  351. }
  352. GetPlayerName(playa, giveplayer, sizeof(giveplayer));
  353. PlayerInfo[playa][pHelper] = level;
  354. format(string, sizeof(string), "** Você definiu o nivel de helper de %s[ID:%d] para [%d]",giveplayer,playa,level);
  355. SendClientMessage(playerid, COLOR_ORANGE, string);
  356. format(string, sizeof(string), "** Admin %s[ID:%d] definiu seu nivel de helper para [%d]",sendername,playerid,level);
  357. SendClientMessage(playa, COLOR_ORANGE, string);
  358. }
  359. }
  360. }
  361. else
  362. {
  363. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  364. }
  365. return 1;
  366. }
  367. CMD:ir(playerid, params[])
  368. {
  369. if(IsPlayerConnected(playerid))
  370. {
  371. new string[256];
  372. if(sscanf(params, "ud", playerid)) return SendClientMessage(playerid, COLOR_GRAD2, "USE: /ir [ID/Nome]");
  373. new giveplayerid;
  374. new Float:givepx,Float:givepy,Float:givepz,Float:givepang;
  375. GetPlayerPos(giveplayerid, givepx, givepy, givepz);
  376. GetPlayerFacingAngle(giveplayerid,givepang);
  377. if(IsPlayerConnected(giveplayerid))
  378. {
  379. if(giveplayerid != INVALID_PLAYER_ID)
  380. {
  381. if(PlayerInfo[playerid][pHelper] >= 1)
  382. {
  383. if(PlayerInfo[playerid][pHelperTrabalhando] == 0)
  384. {
  385. return SendClientMessage(playerid,COLOR_GRAD2,"Você não está em trabalho!Use: /helpajudar");
  386. }
  387. new playa;
  388. new giveplayer[256];
  389. SetPlayerInterior(playerid,GetPlayerInterior(giveplayerid));
  390. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(giveplayerid));
  391. SetPlayerPos(playerid,givepx,givepy+2, givepz);
  392. SetPlayerFacingAngle(playerid,givepang);
  393. GetPlayerName(playa, giveplayer, sizeof(giveplayer));
  394. if(PlayerInfo[playerid][pHelper] >= 1)
  395. {
  396. format(string, sizeof(string), "** Você foi ate [%s][ID:%d]",giveplayer,playerid);
  397. SendClientMessage(playerid, COLOR_ORANGE, string);
  398. format(string, sizeof(string), "** [HELPER] %s[ID:%d] Veio até Você **",sendername,playerid);
  399. SendClientMessage(playa, COLOR_ORANGE, string);
  400. }
  401. }
  402. else
  403. {
  404. SendClientMessage(playerid, COLOR_GRAD1, "** você não está autorizado a usar esse comando!");
  405. }
  406. }
  407. }
  408. else
  409. {
  410. format(string, sizeof(string), "O jogador não está conectado!", giveplayerid);
  411. SendClientMessage(playerid, COLOR_GRAD1, string);
  412. }
  413. }
  414. return 1;
  415. }
  416. public OnPlayerCommandText(playerid, cmdtext[])
  417. {
  418. return 1;
  419. }
  420.  
  421. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  422. {
  423. return 1;
  424. }
  425.  
  426. public OnPlayerExitVehicle(playerid, vehicleid)
  427. {
  428. return 1;
  429. }
  430.  
  431. public OnPlayerStateChange(playerid, newstate, oldstate)
  432. {
  433. return 1;
  434. }
  435.  
  436. public OnPlayerEnterCheckpoint(playerid)
  437. {
  438. return 1;
  439. }
  440.  
  441. public OnPlayerLeaveCheckpoint(playerid)
  442. {
  443. return 1;
  444. }
  445.  
  446. public OnPlayerEnterRaceCheckpoint(playerid)
  447. {
  448. return 1;
  449. }
  450.  
  451. public OnPlayerLeaveRaceCheckpoint(playerid)
  452. {
  453. return 1;
  454. }
  455.  
  456. public OnRconCommand(cmd[])
  457. {
  458. return 1;
  459. }
  460.  
  461. public OnPlayerRequestSpawn(playerid)
  462. {
  463. return 1;
  464. }
  465.  
  466. public OnObjectMoved(objectid)
  467. {
  468. return 1;
  469. }
  470.  
  471. public OnPlayerObjectMoved(playerid, objectid)
  472. {
  473. return 1;
  474. }
  475.  
  476. public OnPlayerPickUpPickup(playerid, pickupid)
  477. {
  478. return 1;
  479. }
  480.  
  481. public OnVehicleMod(playerid, vehicleid, componentid)
  482. {
  483. return 1;
  484. }
  485.  
  486. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  487. {
  488. return 1;
  489. }
  490.  
  491. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  492. {
  493. return 1;
  494. }
  495.  
  496. public OnPlayerSelectedMenuRow(playerid, row)
  497. {
  498. return 1;
  499. }
  500.  
  501. public OnPlayerExitedMenu(playerid)
  502. {
  503. return 1;
  504. }
  505.  
  506. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  507. {
  508. return 1;
  509. }
  510.  
  511. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  512. {
  513. return 1;
  514. }
  515.  
  516. public OnRconLoginAttempt(ip[], password[], success)
  517. {
  518. return 1;
  519. }
  520.  
  521. public OnPlayerUpdate(playerid)
  522. {
  523. return 1;
  524. }
  525.  
  526. public OnPlayerStreamIn(playerid, forplayerid)
  527. {
  528. return 1;
  529. }
  530.  
  531. public OnPlayerStreamOut(playerid, forplayerid)
  532. {
  533. return 1;
  534. }
  535.  
  536. public OnVehicleStreamIn(vehicleid, forplayerid)
  537. {
  538. return 1;
  539. }
  540.  
  541. public OnVehicleStreamOut(vehicleid, forplayerid)
  542. {
  543. return 1;
  544. }
  545.  
  546. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  547. {
  548. new string[256];
  549. new giveplayer;
  550.  
  551. if(dialogid == DIALOG_MEAVALIE)
  552. {
  553. if(response == 1)
  554. {
  555. SendClientMessage(meavalie[playerid],COLOR_GRAD2,"O Jogador qualificou a sua ajuda como {9EC73D}POSITIVA");
  556. PlayerInfo[playerid][pHelper] = PlayerInfo[playerid][pHelper]+1;
  557. format(string, sizeof(string), "Você classificou a ajuda do Helper %s como {9EC73D}positiva!",giveplayer);
  558. SendClientMessage(playerid,COLOR_HELPER,string);
  559.  
  560. }
  561. if(response == 0)
  562. {
  563. SendClientMessage(meavalie[playerid],COLOR_GRAD2,"O Jogador qualificou a sua ajuda como {FF0000}NEGATIVA");
  564. format(string, sizeof(string), "Você classificou a ajuda do Helper %s como {FF0000}negativa!",giveplayer);
  565. SendClientMessage(playerid,COLOR_HELPER,string);
  566. }
  567. return 1;
  568. }
  569. return 1;
  570. }
  571.  
  572. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  573. {
  574. return 1;
  575. }
  576. public SendHelperMessage(color, string[])
  577. {
  578. for(new i = 0; i < MAX_PLAYERS; i++)
  579. {
  580. if(IsPlayerConnected(i))
  581. {
  582. if(PlayerInfo[i][pHelper] >= 1 || IsPlayerAdmin(i))
  583. {
  584. SendClientMessage(i, color, string);
  585. }
  586. }
  587. }
  588. printf("[Helper]%s", string);
  589. }
  590. public SendHelperAdminMessage(color, string[])
  591. {
  592. for(new i = 0; i < MAX_PLAYERS; i++)
  593. {
  594. if(IsPlayerConnected(i))
  595. {
  596. if(PlayerInfo[i][pHelper] >= 1 || IsPlayerAdmin(i) || PlayerInfo[i][pAdmin] >= 1)
  597. {
  598. SendClientMessage(i, color, string);
  599. }
  600. }
  601. }
  602. printf("[Admin]%s", string);
  603. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement