Advertisement
Guest User

[[DS]] Sistema Helper v0.1

a guest
Jun 4th, 2012
554
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.18 KB | None | 0 0
  1. /*
  2. ** [[DS]] Sistema Helper v0.1 **
  3. * 4 Niveis de Helpers
  4. * So Da Helper Logad na Rcon
  5. * Promove So Logado Na Rcon
  6. * Sistema de Aviso ( 3 Aviso Perde Help )
  7. * Comandos Player
  8. * /helpers
  9. * /duvida
  10. * /feijaocomarroz ( Pega Help )
  11. * Comandos Nivel 1
  12. * /jogarh
  13. * /cv
  14. * /rh
  15. * /atenderd [Atender Duvida So 1 Help Pode Atender um Player] By Tito
  16. * /ajudah
  17. * Comandos Nivel 2
  18. * /irh
  19. * /trazerh
  20. *Comandos Nivel 3
  21. * /avisoh
  22. *Comandos Nivel 4
  23. * /tiraraviso
  24. * /resetara
  25. *Comandos Logado Na Rcon
  26. * /convidar
  27. * /promover
  28.  
  29.  
  30. * Criador : Don_Speed
  31. * Ajudante : mau.tito
  32.  
  33. *PS : Nao Faz Salvamento
  34.  
  35. */
  36. #include a_samp
  37. #include zcmd
  38. #include sscanf
  39. #define DialogHelp 3300
  40. #define DialogConvite 3301
  41. #define DilogAjudaH 3302
  42. enum pInfo
  43. {
  44. pHelp,
  45. pAviso
  46. }
  47. new PlayerInfo[MAX_PLAYERS][pInfo];
  48. new Name[MAX_PLAYER_NAME];
  49. new DS[250];
  50. new bool:HJogar[MAX_PLAYERS];
  51. new bool:DuvidaAt[MAX_PLAYERS];
  52. new bool:RelatoAtendido[MAX_PLAYERS];
  53. public OnFilterScriptInit()
  54. {
  55. return 1;
  56. }
  57. public OnFilterScriptExit()
  58. {
  59. return 1;
  60. }
  61. public OnPlayerConnect(playerid)
  62. {
  63. PlayerInfo[playerid][pHelp] = 0;
  64. PlayerInfo[playerid][pAviso] = 0;
  65. HJogar[playerid] = false;
  66. DuvidaAt[playerid] = false;
  67. RelatoAtendido[playerid] =false;
  68. return 1;
  69. }
  70. public OnPlayerDisconnect(playerid, reason)
  71. {
  72. return 1;
  73. }
  74. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  75. {
  76. switch(dialogid)
  77. {
  78. case DialogConvite:
  79. {
  80. if(!response)
  81. {
  82. GetPlayerName(playerid,Name,sizeof(Name));
  83. PlayerInfo[playerid][pHelp] = 0;
  84. format(DS,sizeof(DS),"O Player %s(ID:%d) Recusou o Convite Para Ser Helper.",Name,playerid);
  85. SendClientMessageToAll(-1,DS);
  86. }
  87. if(response)
  88. {
  89. GetPlayerName(playerid,Name,sizeof(Name));
  90. PlayerInfo[playerid][pHelp] = 1;
  91. format(DS,sizeof(DS),"O Player %s(ID:%d) Aceitou o Convite Para Ser Helper [ Parabens ao Novo Helper ].",Name,playerid);
  92. SendClientMessageToAll(-1,DS);
  93. }
  94. }
  95. }
  96. return 1;
  97. }
  98. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  99. {
  100. return 1;
  101. }
  102. CMD:duvida(playerid,params[])
  103. {
  104. GetPlayerName(playerid, Name,sizeof(Name));
  105. if(sscanf(params, "s", params[150])) return SendClientMessage(playerid, -1, "[ERRO] Use /duvida [texto]");
  106. if(PlayerInfo[playerid][pHelp] >= 1 && HJogar[playerid] == true)
  107. {
  108. format(DS,sizeof(DS),"|Duvida|%s(ID:%d): %s.|/atenderd [id]",Name,playerid,params);
  109. SendClientMessageToAll(-1,DS);
  110. DuvidaAt[playerid] = false;
  111. }
  112. return 1;
  113. }
  114. CMD:helpers(playerid,params[])
  115. {
  116. new string[100];
  117. for(new d; d < GetMaxPlayers(); ++d)
  118. {
  119. if(IsPlayerConnected(d))
  120. {
  121. GetPlayerName(d,Name,sizeof(Name));
  122. if(PlayerInfo[d][pHelp] == 1 && HJogar[playerid] == true)
  123. {
  124. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Recruta | Modo: Serviço",Name,d);
  125. strcat(DS, string);
  126. }
  127. else if(PlayerInfo[d][pHelp] == 1 && HJogar[playerid] == false)
  128. {
  129. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Recruta | Modo: Jogando",Name,d);
  130. strcat(DS, string);
  131. }
  132. if(PlayerInfo[d][pHelp] == 2&& HJogar[playerid] == true)
  133. {
  134. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Assistente | Modo: Serviço",Name,d);
  135. strcat(DS, string);
  136. }
  137. else if(PlayerInfo[d][pHelp] == 2&& HJogar[playerid] == false)
  138. {
  139. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Assistente | Modo: Jogando",Name,d);
  140. strcat(DS, string);
  141. }
  142. if(PlayerInfo[d][pHelp] == 3&& HJogar[playerid] == true)
  143. {
  144. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Ajudante | Modo: Serviço",Name,d);
  145. strcat(DS, string);
  146. }
  147. else if(PlayerInfo[d][pHelp] == 3&& HJogar[playerid] == false)
  148. {
  149. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Ajudante | Modo: Jogando",Name,d);
  150. strcat(DS, string);
  151. }
  152. if(PlayerInfo[d][pHelp] == 4&& HJogar[playerid] == true)
  153. {
  154. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Master | Modo: Serviço",Name,d);
  155. strcat(DS, string);
  156. }
  157. else if(PlayerInfo[d][pHelp] == 4&& HJogar[playerid] == false)
  158. {
  159. format(string,sizeof(string),"|Helper| %s(ID:%d) | Nivel: Master | Modo: Serviço",Name,d);
  160. strcat(DS, string);
  161. }
  162. if(IsPlayerAdmin(playerid))
  163. {
  164. format(string,sizeof(string),"|RCON| %s(ID:%d) | Nivel: RCON",Name,d);
  165. strcat(DS, string);
  166. }
  167. ShowPlayerDialog(playerid, DialogHelp, DIALOG_STYLE_MSGBOX, "** Helpers Presentes **", DS, "fechar", "");
  168. }
  169. }
  170. return 1;
  171. }
  172. CMD:convidarh(playerid,params[])
  173. {
  174. new ID, Name1[MAX_PLAYER_NAME];
  175. GetPlayerName(playerid,Name,sizeof(Name));
  176. GetPlayerName(ID,Name1,sizeof(Name1));
  177. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1,"Voce Nao Esta Logado na Rcon");
  178. if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"Player Nao Esta ON!!");
  179. if(sscanf(params, "d",ID))return SendClientMessage(playerid, -1, "Use [ /convidarh [ID] ]");
  180. format(DS,sizeof(DS),"O Player %s Foi Convidado a Helper Pelo Admin %s.",Name1,Name);
  181. SendClientMessageToAll(-1,DS);
  182. format(DS,sizeof(DS),"Voce Foi Convidado Para a Equipe de Helpers Pelo Admin %s!\n\n\nVoce Deseja Aceitar?",Name);
  183. ShowPlayerDialog(ID, DialogConvite, DIALOG_STYLE_MSGBOX, "** Convite **", DS, "Aceitar", "Recusar");
  184. return 1;
  185. }
  186. CMD:promover(playerid,params[])
  187. {
  188. new ID, Name1[MAX_PLAYER_NAME], Nivel;
  189. GetPlayerName(playerid,Name,sizeof(Name));
  190. GetPlayerName(ID,Name1,sizeof(Name));
  191. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1,"Voce Nao Esta Logado na Rcon");
  192. if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"Player Nao Esta ON!!");
  193. if(sscanf(params, "d",ID, Nivel))return SendClientMessage(playerid, -1, "Use [ /promover [ID][Nivel] ]");
  194. if(PlayerInfo[ID][pHelp] == 0) return SendClientMessage(playerid,-1,"Ele Nao e Helper");
  195. if(Nivel < 2||4 > Nivel) return SendClientMessage(playerid,-1,"Niveis de 2 a 4");
  196. PlayerInfo[ID][pHelp] = Nivel;
  197. format(DS,sizeof(DS),"Voce Promoveu %s para Nivel %d", Name1, Nivel);
  198. SendClientMessage(playerid,-1,DS);
  199. format(DS,sizeof(DS),"Voce Foi Promovido pelo Admin %s para Nivel %d", Name, Nivel);
  200. SendClientMessage(ID,-1,DS);
  201. return 1;
  202. }
  203. CMD:jogarh(playerid,params[])
  204. {
  205. GetPlayerName(playerid,Name,sizeof(Name));
  206. if(HJogar[playerid] == false)
  207. {
  208. SendClientMessageToAll(-1,"|________________________| Aviso Helper |________________________|");
  209. format(DS,sizeof(DS),"Helper %s(ID:%d) Entrou em Modo de Serviço.",Name,playerid);
  210. HJogar[playerid]= true;
  211. }
  212. if(HJogar[playerid] == true)
  213. {
  214. SendClientMessageToAll(-1,"|________________________| Aviso Helper |________________________|");
  215. format(DS,sizeof(DS),"Helper %s(ID:%d) Saiu do Modo de Serviço.",Name,playerid);
  216. HJogar[playerid]= false;
  217. }
  218. return 1;
  219. }
  220. CMD:cv(playerid,params[])
  221. {
  222. GetPlayerName(playerid, Name,sizeof(Name));
  223. if(PlayerInfo[playerid][pHelp] == 0) return SendClientMessage(playerid,-1,"Voce Nao e Help");
  224. if(HJogar[playerid] == false) return SendClientMessage(playerid, -1,"Voce Nao Esta Em modo de Trabalho /jogarh ");
  225. if(sscanf(params, "s",params[150]))return SendClientMessage(playerid, -1, "Use /cv [TEXTO]");
  226. SendClientMessageToAll(-1,"|________________________| Aviso Helper |________________________|");
  227. format(DS,sizeof(DS),"Helper %s(ID:%d): %s.",Name,playerid,params);
  228. SendClientMessageToAll(-1,DS);
  229. return 1;
  230. }
  231. CMD:irh(playerid, params[])
  232. {
  233. new ID;
  234. GetPlayerName(playerid, Name, sizeof(Name));
  235. if(PlayerInfo[playerid][pHelp] <= 2) return SendClientMessage(playerid, -1,"[ERRO] Nivel Insuficiente");
  236. if(HJogar[playerid] == false) return SendClientMessage(playerid, -1,"Voce Nao Esta Em modo de Trabalho /jogarh ");
  237. if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "[HELP] Use /ir [ID]");
  238. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  239. new Float:Pos[3];
  240. GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
  241. SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
  242. format(DS, sizeof(DS), "O Admin %s veio até você!", Name);
  243. SendClientMessage(ID, -1, DS);
  244. format(DS, sizeof(DS), "Você foi até o Jogador %s [ID: %d]", Name, ID);
  245. SendClientMessage(playerid, -1, DS);
  246. return 1;
  247. }
  248. CMD:trazerh(playerid, params[])
  249. {
  250. new ID;
  251. GetPlayerName(playerid, Name, sizeof(Name));
  252. if(PlayerInfo[playerid][pHelp] <= 3) return SendClientMessage(playerid, -1,"[ERRO]Nivel Insuficiente");
  253. if(HJogar[playerid] == false) return SendClientMessage(playerid, -1,"Voce Nao Esta Em modo de Trabalho /jogarh ");
  254. if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "[ERRO] Use /trazer [ID]");
  255. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  256. new Float:Pos[3];
  257. GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
  258. SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2);
  259. format(DS, sizeof(DS), "O Admin %s trouxe você até ele!", Name);
  260. SendClientMessage(ID, -1, DS);
  261. format(DS, sizeof(DS), "Você trouxe o jogador %s [ID: %d] até você", Name, ID);
  262. SendClientMessage(playerid, -1, DS);
  263. return 1;
  264. }
  265. CMD:rh(playerid,params[])
  266. {
  267. GetPlayerName(playerid, Name,sizeof(Name));
  268. if(PlayerInfo[playerid][pHelp] == 0) return SendClientMessage(playerid,-1,"Voce Nao e Help");
  269. if(sscanf(params, "s",params[150]))return SendClientMessage(playerid, -1, "Use /rh [TEXTO]");
  270. if(PlayerInfo[playerid][pHelp] >= 1)
  271. {
  272. format(DS,sizeof(DS),"|Radio-Help|%s(ID:%d): %s.|",Name,playerid,params);
  273. SendClientMessageToAll(-1,DS);
  274. }
  275. return 1;
  276. }
  277. CMD:atenderd(playerid, params[]) // BY MAU.TITO
  278. {
  279. new plo, ID, sendername[MAX_PLAYER_NAME], giveplayer[MAX_PLAYER_NAME];
  280. if(PlayerInfo[playerid][pHelp] <= 1) return SendClientMessage(playerid, -1,"[ERRO] Voce Nao Tem Level de Admin Suficiente");
  281. if(sscanf(params, "s", params[80])) return SendClientMessage(playerid, 0xFF0000AA, "Use: /atenderd [id]");
  282. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  283. if(RelatoAtendido[plo]) return SendClientMessage(playerid, -1, "Esse player já foi atendido ou não mandou um relatório !");
  284. RelatoAtendido[plo] = true;
  285. new Float:Pos[3];
  286. GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
  287. SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
  288. format(DS, sizeof(DS), "Você atendeu o relato de %s.", giveplayer);
  289. SendClientMessage(playerid, 0xC2A2DAAA, DS);
  290. format(DS, sizeof(DS), "O Admin %s atendeu o seu relato.", sendername);
  291. SendClientMessage(plo, 0xC2A2DAAA, DS);
  292. if(PlayerInfo[playerid][pHelp]>=1 &&HJogar[playerid] == true || IsPlayerAdmin(playerid))
  293. {
  294. format(DS, sizeof(DS), "O Admin %s atendeu relatorio de %s.",sendername,giveplayer);
  295. SendClientMessageToAll(-1,DS);
  296. }
  297. return 1;
  298. }
  299. CMD:avisoh(playerid,params[])
  300. {
  301. new ID, Name1[MAX_PLAYER_NAME];
  302. GetPlayerName(playerid,Name,sizeof(Name));
  303. GetPlayerName(ID,Name1,sizeof(Name));
  304. if(PlayerInfo[playerid][pHelp] <= 3) return SendClientMessage(playerid,-1,"Nao Tem Nivel Suficiente");
  305. if(HJogar[playerid] == false) return SendClientMessage(playerid,-1,"/jogar");
  306. if(sscanf(params, "ds",ID,params[80])) return SendClientMessage(playerid, 0xFF0000AA, "/avisoh [id] [motivo]");
  307. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  308. if(PlayerInfo[ID][pHelp] == 0) return SendClientMessage(playerid, -1, "[ERRO] Ele Nao e Help");
  309. PlayerInfo[ID][pAviso] += 1;
  310. format(DS,sizeof(DS),"[Helper] o Help %s Avisou o Help %s |Motivo: %s|",Name,Name1,params);
  311. SendClientMessageToAll(-1,DS);
  312. if(PlayerInfo[ID][pAviso] == 3)
  313. {
  314. PlayerInfo[ID][pAviso] = 0;
  315. PlayerInfo[ID][pHelp] = 0;
  316. format(DS,sizeof(DS),"[Helper] o Help %s Tomou o 3 Aviso e Perdeu Seu Helper.",Name);
  317. SendClientMessageToAll(-1,DS);
  318. }
  319. return 1;
  320. }
  321. CMD:tiraraviso(playerid,params[])
  322. {
  323. new ID, Name1[MAX_PLAYER_NAME];
  324. GetPlayerName(playerid,Name,sizeof(Name));
  325. GetPlayerName(ID,Name1,sizeof(Name));
  326. if(PlayerInfo[playerid][pHelp] <= 4) return SendClientMessage(playerid,-1,"Nao Tem Nivel Suficiente");
  327. if(HJogar[playerid] == false) return SendClientMessage(playerid,-1,"/jogar");
  328. if(sscanf(params, "ds",ID,params[80])) return SendClientMessage(playerid, 0xFF0000AA, "/tiraraviso [id] [motivo]");
  329. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  330. if(PlayerInfo[ID][pHelp] == 0) return SendClientMessage(playerid, -1, "[ERRO] Ele Nao e Help");
  331. PlayerInfo[ID][pAviso] -= 1;
  332. format(DS,sizeof(DS),"[Helper] o Help %s Tirou o Aviso do Help %s |Motivo: %s|",Name,Name1,params);
  333. SendClientMessageToAll(-1,DS);
  334. if(PlayerInfo[ID][pAviso] == 0)
  335. {
  336. PlayerInfo[ID][pAviso] = 0;
  337. format(DS,sizeof(DS),"[Helper] o Help %s Teve Seus Avisos Zerados.",Name);
  338. SendClientMessageToAll(-1,DS);
  339. }
  340. return 1;
  341. }
  342. CMD:resetara(playerid,params[])
  343. {
  344. new ID, Name1[MAX_PLAYER_NAME];
  345. GetPlayerName(playerid,Name,sizeof(Name));
  346. GetPlayerName(ID,Name1,sizeof(Name));
  347. if(PlayerInfo[playerid][pHelp] <= 4) return SendClientMessage(playerid,-1,"Nao Tem Nivel Suficiente");
  348. if(HJogar[playerid] == false) return SendClientMessage(playerid,-1,"/jogar");
  349. if(sscanf(params, "d",ID)) return SendClientMessage(playerid, 0xFF0000AA, "/resetara [id]");
  350. if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "[ERRO] ID invalido");
  351. if(PlayerInfo[ID][pHelp] == 0) return SendClientMessage(playerid, -1, "[ERRO] Ele Nao e Help");
  352. PlayerInfo[ID][pAviso] = 0;
  353. format(DS,sizeof(DS),"[Helper] o Help %s Teve Seus Avisos Zerados.",Name);
  354. SendClientMessageToAll(-1,DS);
  355. return 1;
  356. }
  357. CMD:ajudah(playerid,param[])
  358. {
  359. new string[100];
  360. if(PlayerInfo[playerid][pHelp] == 0)return SendClientMessage(playerid,-1,"Voce Nao e Help");
  361. if(PlayerInfo[playerid][pHelp] == 1)
  362. {
  363. format(string,sizeof(string),"[HELP NIVEL 1] |/jogarh| |/cv| |/rh| |/atenderd|");
  364. strcat(DS, string);
  365. }
  366. if(PlayerInfo[playerid][pHelp] == 2)
  367. {
  368. format(string,sizeof(string),"[HELP NIVEL 2] |/irh| |/trazerh|");
  369. strcat(DS, string);
  370. }
  371. if(PlayerInfo[playerid][pHelp] == 3)
  372. {
  373. format(string,sizeof(string),"[HELP NIVEL 3] |/avisoh|");
  374. strcat(DS, string);
  375. }
  376. if(PlayerInfo[playerid][pHelp] == 4)
  377. {
  378. format(string,sizeof(string),"[HELP NIVEL 4] |/avisoh| |/tiraraviso| |/resetara|");
  379. strcat(DS, string);
  380. }
  381. if(IsPlayerAdmin(playerid))
  382. {
  383. format(string,sizeof(string),"[RCON] |/convidarh| |/promover| ");
  384. strcat(DS, string);
  385. }
  386. ShowPlayerDialog(playerid, DilogAjudaH, DIALOG_STYLE_MSGBOX, "** Ajuda Helper **", DS, "fechar", "");
  387. return 1;
  388. }
  389. CMD:feijaocomarroz(playerid,params[])
  390. {
  391. SendClientMessage(playerid,-1,"HaHa");
  392. PlayerInfo[playerid][pHelp] = 4;
  393. return 1;
  394. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement