BCVBruno

[FS] Admin system V2

Jul 10th, 2012
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.59 KB | None | 0 0
  1. // Premium SAMP, TUDO PARA SEU SERVIDOR SAMP, GM, FS, e Muito Mais Inclui,
  2. // Visite-nos: http://premium-samp.blogspot.com.br/
  3.  
  4. #include a_samp
  5. #include zcmd
  6. #include sscanf2
  7. #include DOF2
  8.  
  9.  
  10. #define NAOADM "Não tem autorização suficiente."
  11. #define Controle(%0,%1) TogglePlayerControllable(%0,%1)
  12. #define adm "Adm\\%s.ini"
  13. #define banido "Ban\\%s.ini"
  14. #define paramount(%0,%1) for(new %0; %0 < %1; ++%0) if(IsPlayerConnected(%0) && !IsPlayerNPC(%0))
  15.  
  16. const verde = 0x5EAF03FF;
  17. const fail = 0xFF0000FF;
  18.  
  19. enum pInfo
  20. {
  21. pAdmin,
  22. pBan,
  23. pAutorizado,
  24. };
  25.  
  26. //------------------------------------------------------------------------------
  27.  
  28. new info[MAX_PLAYERS][pInfo];
  29.  
  30. new
  31. arquivo[36],
  32. nome[24],
  33. ip[16],
  34. string_[168],
  35. str[128],
  36. bool:espiando[MAX_PLAYERS];
  37.  
  38. new
  39. bool:calado[MAX_PLAYERS];
  40.  
  41. new
  42. bool:votou[MAX_PLAYERS],
  43. bool:enquete,
  44. sim,nao;
  45.  
  46. //------------------------------------------------------------------------------
  47. CMD:votacao(playerid,params[])
  48. {
  49. if(info[playerid][pAdmin] >= 1)
  50. {
  51. new
  52. pergunta[128]
  53. ;
  54. if(sscanf(params,"s[128]",pergunta)) return SendClientMessage(playerid,-1,"use /enquete [pergunta]");
  55. format(string_,48,"enquete do admin %s: %s",PlayerName(playerid),pergunta);
  56. SendClientMessageToAll(verde,string_);
  57. SendClientMessageToAll(-1,"Enquete iniciada, use /sim ou /nao para votar.");
  58. enquete = true;
  59. }
  60. else return SendClientMessage(playerid,fail,NAOADM);
  61. return 1;
  62. }
  63. //------------------------------------------------------------------------------
  64. CMD:explodir(playerid,params[])
  65. {
  66. if(info[playerid][pAdmin] >= 1)
  67. {
  68. new
  69. idx,
  70. Float:c[3];
  71. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"use /explodir [playerid]");
  72. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,fail,"jogador off-line.");
  73. format(string_,81,"O admin %s explodiu o jogador %s",PlayerName(playerid),PlayerName(idx));
  74. GetPlayerPos(idx,c[0],c[1],c[2]);
  75. CreateExplosion(c[0],c[1],c[2],12,25.0);
  76. return SendClientMessageToAll(fail,string_);
  77. }
  78. else return SendClientMessage(playerid,fail,NAOADM);
  79. }
  80. //------------------------------------------------------------------------------
  81. CMD:encerrar(playerid,params[])
  82. {
  83. if(info[playerid][pAdmin] >= 1)
  84. {
  85. if(enquete == true)
  86. {
  87. enquete = false;
  88. format(string_,40,"Resultado: sim : %d | não : %d",sim,nao);
  89. SendClientMessageToAll(fail,string_);
  90. paramount(i,MAX_PLAYERS) return votou[i] = false;
  91. sim = 0,nao = 0;
  92. if(sim > nao) SendClientMessageToAll(verde,"A maioria concorda com a pergunta.");
  93. else SendClientMessageToAll(fail,"A menoria concorda com a pergunta.");
  94. }
  95. else return SendClientMessage(playerid,fail,"Não há uma votação em andamento");
  96. }
  97. else SendClientMessage(playerid,fail,NAOADM);
  98. return 1;
  99. }
  100. //------------------------------------------------------------------------------
  101. CMD:sim(playerid,params[])
  102. {
  103. if(enquete == true)
  104. {
  105. if(votou[playerid] == false)
  106. {
  107. sim++;
  108. SendClientMessage(playerid,verde,"voto computado com sucesso.");
  109. votou[playerid] = true;
  110. }
  111. else return SendClientMessage(playerid,fail,"já votou");
  112. }
  113. else return SendClientMessage(playerid,fail,"não há votação em andamento.");
  114. return 1;
  115. }
  116. //------------------------------------------------------------------------------
  117. CMD:nao(playerid,params[])
  118. {
  119. if(enquete == true)
  120. {
  121. if(votou[playerid] == false)
  122. {
  123. nao++;
  124. SendClientMessage(playerid,verde,"voto computado com sucesso.");
  125. votou[playerid] = true;
  126. }
  127. else return SendClientMessage(playerid,fail,"já votou");
  128. }
  129. else return SendClientMessage(playerid,fail,"não há votação em andamento.");
  130. return 1;
  131. }
  132. //------------------------------------------------------------------------------
  133. CMD:setargrana(playerid,params[])
  134. {
  135. if(info[playerid][pAdmin] >= 1)
  136. {
  137. new
  138. idx,
  139. quantia
  140. ;
  141. if(sscanf(params,"ud",idx,quantia)) return SendClientMessage(playerid,verde,"use /setargrana [playerid] [quantia]");
  142. SetPlayerMoney(playerid,quantia);
  143. SendClientMessage(idx,verde,"seu dinheiro foi setado");
  144. SendClientMessage(playerid,verde,"Dinheiro setado com sucesso.");
  145. }
  146. else return SendClientMessage(playerid,fail,NAOADM);
  147. return 1;
  148. }
  149. //------------------------------------------------------------------------------
  150. CMD:kickartodos(playerid,params[])
  151. {
  152. if(info[playerid][pAdmin] >= 3) { paramount(i,MAX_PLAYERS) Kick(i); }
  153. else return SendClientMessage(playerid,fail,NAOADM);
  154. return 1;
  155. }
  156. //------------------------------------------------------------------------------
  157. CMD:trazertodos(playerid,params[])
  158. {
  159. if(info[playerid][pAdmin] >= 3)
  160. {
  161. new
  162. Float:c[3];
  163. GetPlayerName(playerid,nome,24);
  164. GetPlayerPos(playerid,c[0],c[1],c[2]);
  165. format(string_,54,"O administrador %s trouxe todos os jogadores até ele.",nome);
  166. SendClientMessage(playerid,-1,string_);
  167. paramount(i,MAX_PLAYERS) SetPlayerPos(i,c[0],c[1],c[2]);
  168. }
  169. else return SendClientMessage(playerid,fail,NAOADM);
  170. return 1;
  171. }
  172. //------------------------------------------------------------------------------
  173. CMD:renascer(playerid,params[])
  174. {
  175. if(info[playerid][pAdmin] >= 1)
  176. {
  177. new
  178. idx;
  179. if(sscanf(params,"u",idx)) SendClientMessage(playerid,-1,"Use /renascer [id]");
  180. if(!IsPlayerConnected(playerid)) SendClientMessage(playerid,-1,"o jogador está off-line!");
  181. format(string_,64,"O jogador %s foi spawnado pelo admin %s.",PlayerName(idx),PlayerName(playerid));
  182. return SpawnPlayer(idx);
  183. }
  184. else SendClientMessage(playerid,-1,NAOADM);
  185. return 1;
  186. }
  187. //------------------------------------------------------------------------------
  188. CMD:darnivel(playerid,params[])
  189. {
  190. if(info[playerid][pAdmin] >= 1)
  191. {
  192. new
  193. idx,
  194. lvl;
  195. GetPlayerName(playerid,nome,24);
  196. if(sscanf(params,"ud",idx,lvl)) return SendClientMessage(playerid,-1,"use /darnivel [playerid] [nivel]");
  197. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  198. format(string_,70,"o administrador %s lhe adicionou %d niveis",nome,lvl);
  199. SetPlayerScore(playerid,GetPlayerScore(idx)+lvl);
  200. SendClientMessage(playerid,-1,string_);
  201. }
  202. else return SendClientMessage(playerid,fail,NAOADM);
  203. return 1;
  204. }
  205. //------------------------------------------------------------------------------
  206. CMD:setarnivel(playerid,params[])
  207. {
  208. if(info[playerid][pAdmin] >= 1)
  209. {
  210. new
  211. idx,
  212. lvl;
  213. GetPlayerName(playerid,nome,24);
  214. if(sscanf(params,"ud",idx,lvl)) return SendClientMessage(playerid,-1,"use /darnivel [playerid] [nivel]");
  215. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  216. format(string_,70,"o administrador %s lhe setou nivel %d",nome,lvl);
  217. SetPlayerScore(playerid,lvl);
  218. SendClientMessage(playerid,-1,string_);
  219. }
  220. else return SendClientMessage(playerid,fail,NAOADM);
  221. return 1;
  222. }
  223. //------------------------------------------------------------------------------
  224. CMD:trazer(playerid,params[])
  225. {
  226. if(info[playerid][pAdmin] >= 1)
  227. {
  228. new
  229. idx,
  230. Float:c[3];
  231. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"use /trazer [playerid]");
  232. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  233. GetPlayerName(playerid,nome,24);
  234. format(string_,70,"O administador %s lhe trouxe a posição dele.",nome);
  235. GetPlayerPos(playerid,c[0],c[1],c[2]);
  236. if(GetPlayerState(idx) == 2) return SetVehiclePos(idx,c[0],c[1],c[2]);
  237. SendClientMessage(idx,-1,string_);
  238. SetPlayerPos(idx,c[0],c[1],c[2]);
  239. }
  240. else return SendClientMessage(playerid,fail,NAOADM);
  241. return 1;
  242. }
  243. //------------------------------------------------------------------------------
  244. CMD:ir(playerid,params[])
  245. {
  246. if(info[playerid][pAdmin] >= 1)
  247. {
  248. new
  249. idx,
  250. Float:c[3];
  251. GetPlayerName(playerid,nome,24);
  252. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"use /ir [playerid]");
  253. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  254. format(string_,70,"O administrador %s lhe foi a sua posição.",nome);
  255. GetPlayerPos(idx,c[0],c[1],c[2]);
  256. if(GetPlayerState(playerid) == 2) return SetVehiclePos(playerid,c[0],c[1],c[2]);
  257. SendClientMessage(idx,-1,string_);
  258. SetPlayerPos(playerid,c[0],c[1],c[2]);
  259. }
  260. else return SendClientMessage(playerid,fail,NAOADM);
  261. return 1;
  262. }
  263. //------------------------------------------------------------------------------
  264. CMD:daradmin(playerid,params[])
  265. {
  266. if(info[playerid][pAdmin] >= 5)
  267. {
  268. new
  269. idx,
  270. lvl;
  271. format(str,65,"o admin %s deu admin nivel %d para você.",PlayerName(playerid),lvl);
  272. GetPlayerName(playerid,nome,24);
  273. if(sscanf(params,"ud",idx,lvl)) SendClientMessage(playerid,-1,"use /daradmin [id] [level]");
  274. if(!fexist(arquivo)) return DOF2_CreateFile(arquivo),salvardados(playerid);
  275. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  276. if(lvl < 1 || lvl > 6) SendClientMessage(playerid,-1,"use somente de 1 - 5 ");
  277. info[idx][pAdmin] = lvl;
  278. salvardados(idx);
  279. }
  280. else SendClientMessage(playerid,-1,NAOADM);
  281. return 1;
  282. }
  283. //------------------------------------------------------------------------------
  284. CMD:setarniveldetodos(playerid,params[])
  285. {
  286. if(info[playerid][pAdmin] >= 1)
  287. {
  288. new
  289. nivel
  290. ;
  291. if(sscanf(params,"d",nivel)) return SendClientMessage(playerid,verde,"use /setarniveldetodos [nivel]");
  292. format(string_,50,"Todos os jogadores ganharam nível %d",nivel);
  293. paramount(i,MAX_PLAYERS) return SetPlayerScore(i,nivel),SendClientMessage(i,-1,string_);
  294. }
  295. else return SendClientMessage(playerid,fail,NAOADM);
  296. return 1;
  297. }
  298. //------------------------------------------------------------------------------
  299. CMD:viraradmin(playerid,params[])
  300. {
  301. if(!IsPlayerAdmin(playerid)) return 1;
  302. GetPlayerName(playerid,nome,24);
  303. format(arquivo,sizeof(arquivo),adm,nome);
  304. DOF2_CreateFile(arquivo);
  305. info[playerid][pAdmin] = 5;
  306. salvardados(playerid);
  307. return 1;
  308. }
  309. //------------------------------------------------------------------------------
  310. CMD:gmx(playerid,params[])
  311. {
  312. if(info[playerid][pAdmin] >= 1)
  313. {
  314. format(string_,51,"O administrador %s deu GMX",PlayerName(playerid));
  315. SendClientMessageToAll(-1,string_);
  316. paramount(i,MAX_PLAYERS) salvardados(i);
  317. return SendRconCommand("gmx");
  318. }
  319. else SendClientMessage(playerid,-1,NAOADM);
  320. return 1;
  321. }
  322. //------------------------------------------------------------------------------
  323. CMD:banir(playerid,params[])
  324. {
  325. if(info[playerid][pAdmin] >= 1)
  326. {
  327. new
  328. idx;
  329. if(sscanf(params,"us",idx,str)) return SendClientMessage(playerid,-1,"Use /banir (id)");
  330. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"jogador off-line");
  331. format(string_,70,"O jogador %s foi banido do servidor motivo: %s", PlayerName(idx),str);
  332. SendClientMessageToAll(0xFF0000FF,string_);
  333. format(arquivo,sizeof(arquivo),adm,PlayerName(idx));
  334. DOF2_RemoveFile(arquivo);
  335. format(arquivo,sizeof(arquivo),banido,PlayerName(idx));
  336. DOF2_CreateFile(arquivo);
  337. info[idx][pBan] = 1;
  338. Ban(idx);
  339. }
  340. else SendClientMessage(playerid,-1,NAOADM);
  341. return 1;
  342. }
  343. //------------------------------------------------------------------------------
  344. CMD:kick(playerid,params[])
  345. {
  346. if(info[playerid][pAdmin] >= 1)
  347. {
  348. new
  349. idx;
  350. if(sscanf(params,"us",idx,str)) return SendClientMessage(playerid,-1,"Use /kick (id)");
  351. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"jogador off-line");
  352. format(string_,70,"O jogador %s foi chutado do servidor motivo: %s", PlayerName(idx),str);
  353. SendClientMessageToAll(0xFF0000FF,string_);
  354. Kick(idx);
  355. }
  356. else SendClientMessage(playerid,-1,NAOADM);
  357. return 1;
  358. }
  359. //------------------------------------------------------------------------------
  360. CMD:calar(playerid,params[])
  361. {
  362. if(info[playerid][pAdmin] >= 2)
  363. {
  364. new
  365. idx;
  366. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"/calar [id/ou nome do individuo] ");
  367. calado[idx] = true;
  368. SendClientMessage(playerid,verde,"individuo calado com sucesso.");
  369. SendClientMessage(idx,fail,"foi calado pelo admin seu noob, cala boca um pouco!");
  370. }
  371. else return SendClientMessage(playerid,fail,NAOADM);
  372. return 1;
  373. }
  374. //------------------------------------------------------------------------------
  375. CMD:descalar(playerid,params[])
  376. {
  377. if(info[playerid][pAdmin] >= 2)
  378. {
  379. new
  380. idx
  381. ;
  382. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"/calar [id/ou nome do individuo] ");
  383. calado[idx] = false;
  384. SendClientMessage(playerid,verde,"individuo descalado com sucesso.");
  385. SendClientMessage(idx,fail,"foi descalado pelo admin!");
  386. }
  387. else return SendClientMessage(playerid,fail,NAOADM);
  388. return 1;
  389. }
  390. //------------------------------------------------------------------------------
  391. CMD:setarhora(playerid,params[])
  392. {
  393. if(info[playerid][pAdmin] >= 1)
  394. {
  395. new
  396. hora
  397. ;
  398. if(sscanf(params,"d",hora)) return SendClientMessage(playerid,verde,"use /setarhora [Hora]");
  399. SetWorldTime(hora);
  400. SendClientMessageToAll(fail,"O ADMINISTRADOR AJUSTOU A HORA.");
  401. }
  402. else return SendClientMessage(playerid,fail,NAOADM);
  403. return 1;
  404. }
  405. //------------------------------------------------------------------------------
  406. CMD:setarmundo(playerid,params[])
  407. {
  408. if(info[playerid][pAdmin] >= 1)
  409. {
  410. new
  411. idx,
  412. mundo;
  413. if(sscanf(params,"ud",idx,mundo)) return SendClientMessage(playerid,verde,"use /setarmundo [idx] [mundo]");
  414. SetPlayerVirtualWorld(idx,mundo);
  415. SendClientMessage(idx,fail,"o administrador mudou seu mundo virtual.");
  416. }
  417. else return SendClientMessage(playerid,fail,NAOADM);
  418. return 1;
  419. }
  420. //------------------------------------------------------------------------------
  421. CMD:setarinterior(playerid,params[])
  422. {
  423. if(info[playerid][pAdmin] >= 1)
  424. {
  425. new
  426. idx,
  427. interior;
  428. if(sscanf(params,"ud",idx,interior)) return SendClientMessage(playerid,verde,"use /setarmundo [idx][int]");
  429. SetPlayerInterior(idx,interior);
  430. SendClientMessage(idx,fail,"o administrador mudou seu mundo virtual.");
  431. }
  432. else return SendClientMessage(playerid,fail,NAOADM);
  433. return 1;
  434. }
  435. //------------------------------------------------------------------------------
  436. CMD:repararcarro(playerid,params[])
  437. {
  438. if(info[playerid][pAdmin] >= 1) return RepairVehicle(GetPlayerVehicleID(playerid));
  439. else return SendClientMessage(playerid,fail,NAOADM);
  440. }
  441. //------------------------------------------------------------------------------
  442. CMD:desarmartodos(playerid,params[])
  443. {
  444. if(info[playerid][pAdmin] >= 1)
  445. {
  446. format(string_,72,"O administrador %s desarmou todos os jogadores.",PlayerName(playerid));
  447. paramount(i,MAX_PLAYERS) return ResetPlayerWeapons(i);
  448. SendClientMessageToAll(fail,string_);
  449. }
  450. else return SendClientMessage(playerid,fail,NAOADM);
  451. return 1;
  452. }
  453. //------------------------------------------------------------------------------
  454. CMD:darcoleteall(playerid,params[])
  455. {
  456. format(string_,78,"O administrador %s deu colete todos os jogadores.",PlayerName(playerid));
  457. if(info[playerid][pAdmin] >= 1)
  458. {
  459. paramount(i,MAX_PLAYERS) return SetPlayerArmour(i,100.0);
  460. }
  461. else return SendClientMessage(playerid,fail,NAOADM);
  462. return 1;
  463. }
  464. //------------------------------------------------------------------------------
  465. CMD:darvidaall(playerid,params[])
  466. {
  467. SendClientMessageToAll(fail,"o administrador deu vida 100 a todos os jogadores.");
  468. if(info[playerid][pAdmin] >= 1)
  469. {
  470. paramount(i,MAX_PLAYERS) return SetPlayerHealth(i,100.0);
  471. }
  472. else return SendClientMessage(playerid,fail,NAOADM);
  473. return 1;
  474. }
  475. //------------------------------------------------------------------------------
  476. CMD:aviso(playerid,params[])
  477. {
  478. if(info[playerid][pAdmin] >= 1)
  479. {
  480. new
  481. texto[128];
  482. GetPlayerName(playerid,nome,24);
  483. if(sscanf(params,"s[128]",texto)) return SendClientMessage(playerid,verde,"use /aviso [texto]");
  484. format(string_,70,"Aviso do admin %s: %s",PlayerName(playerid),texto);
  485. SendClientMessageToAll(verde,string_);
  486. }
  487. else return SendClientMessage(playerid,fail,NAOADM);
  488. return 1;
  489. }
  490. //------------------------------------------------------------------------------
  491. CMD:tapa(playerid,params[])
  492. {
  493. if(info[playerid][pAdmin] >= 1)
  494. {
  495. new
  496. idx,
  497. Float:c[3]
  498. ;
  499. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"use /tapa [id]");
  500. GetPlayerPos(idx,c[0],c[1],c[2]);
  501. SetPlayerPos(idx,c[0],c[1],c[2]+15);
  502. format(string_,72,"%s levou um tapa do administrador %s",PlayerName(idx),PlayerName(playerid));
  503. SendClientMessageToAll(fail,string_);
  504. }
  505. else return SendClientMessage(playerid,fail,NAOADM);
  506. return 1;
  507. }
  508. //------------------------------------------------------------------------------
  509. CMD:ejetardoveiculo(playerid,params[])
  510. {
  511. if(info[playerid][pAdmin] >= 1)
  512. {
  513. new
  514. idx
  515. ;
  516. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"use /ejetardoveiculo [id]");
  517. RemovePlayerFromVehicle(idx);
  518. SendClientMessage(playerid,verde,"jogador removido do veiculo com sucesso.");
  519. SendClientMessage(idx,verde,"foi removido do carro.");
  520. }
  521. else return SendClientMessage(playerid,fail,NAOADM);
  522. return 1;
  523. }
  524. //------------------------------------------------------------------------------
  525. CMD:nomeserver(playerid,params[])
  526. {
  527. if(info[playerid][pAdmin] >= 1)
  528. {
  529. new
  530. nomeserver[50];
  531. if(sscanf(params,"s[128]",nomeserver)) return SendClientMessage(playerid,verde,"use /nomeserver [nome]");
  532. format(str,sizeof(str),"hostname %s",nomeserver);
  533. SendRconCommand(str);
  534. }
  535. else return SendClientMessage(playerid,fail,NAOADM);
  536. return 1;
  537. }
  538. //------------------------------------------------------------------------------
  539. CMD:a(playerid,params[])
  540. {
  541. if(info[playerid][pAdmin] >= 1)
  542. {
  543. new
  544. texto[128];
  545. if(sscanf(params,"s[128]",texto)) return SendClientMessage(playerid,verde,"use /a [texto]");
  546. GetPlayerName(playerid,nome,24);
  547. format(string_,80,"%s: %s",PlayerName(playerid),texto);
  548. paramount(i,MAX_PLAYERS)
  549. {
  550. if(info[playerid][pAdmin] >= 1) return SendClientMessageToAll(i,string_);
  551. }
  552. }
  553. else return SendClientMessage(playerid,fail,NAOADM);
  554. return 1;
  555. }
  556. //------------------------------------------------------------------------------
  557. CMD:matarall(playerid,params[])
  558. {
  559. if(info[playerid][pAdmin] >= 1)
  560. {
  561. paramount(i,MAX_PLAYERS) return SetPlayerHealth(i,0.0);
  562. }
  563. else return SendClientMessage(playerid,fail,NAOADM);
  564. return 1;
  565. }
  566. //------------------------------------------------------------------------------
  567. CMD:fakeban(playerid,params[])
  568. {
  569. if(info[playerid][pAdmin] >= 1)
  570. {
  571. new
  572. idx,
  573. motivo[120];
  574. if(sscanf(params,"us[128]",idx,motivo)) return SendClientMessage(playerid,verde,"/fakeban [id] [motivo]");
  575. format(str,sizeof(str),"%s foi banido do servidor motivo : %s",PlayerName(playerid),motivo);
  576. SendClientMessageToAll(fail,str);
  577. SendClientMessage(idx,0x808080FF,"Server closed the connection");
  578. }
  579. else return SendClientMessage(playerid,fail,NAOADM);
  580. return 1;
  581. }
  582. //------------------------------------------------------------------------------
  583. CMD:darvida(playerid,params[])
  584. {
  585. if(info[playerid][pAdmin] >= 1)
  586. {
  587. new
  588. Float:hp,
  589. idx
  590. ;
  591. if(sscanf(params,"uf",idx,hp)) return SendClientMessage(playerid,verde,"/darvida [playerid] [qtd]");
  592. if(hp > 100) return SendClientMessage(playerid,fail,"0-100.");
  593. SetPlayerHealth(idx,GetPlayerHealth(playerid,hp)+hp);
  594. SendClientMessage(idx,verde,"Ganhou vida do administrador.");
  595. SendClientMessage(playerid,verde,"Vida dada com sucesso.");
  596. }
  597. else return SendClientMessage(playerid,fail,NAOADM);
  598. return 1;
  599. }
  600. //------------------------------------------------------------------------------
  601. CMD:dararma(playerid,params[])
  602. {
  603. if(info[playerid][pAdmin] >= 1)
  604. {
  605. new
  606. arma,
  607. idx,
  608. municao
  609. ;
  610. if(sscanf(params,"udd",idx,arma,municao)) return SendClientMessage(playerid,verde,"use /dararma [id] [arma] [muniçao]");
  611. if(arma < 1 || arma > 48) return SendClientMessage(playerid,fail,"use de 1-48");
  612. GivePlayerWeapon(idx,arma,municao);
  613. SendClientMessage(idx,verde,"ganhou armas do administrador.");
  614. SendClientMessage(playerid,verde,"Armas dadas com sucesso.");
  615. }
  616. else return SendClientMessage(playerid,fail,NAOADM);
  617. return 1;
  618. }
  619. //------------------------------------------------------------------------------
  620. CMD:resetararmas(playerid,params[])
  621. {
  622. if(info[playerid][pAdmin] >= 1)
  623. {
  624. new
  625. idx
  626. ;
  627. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"use /resetararmas [id]");
  628. ResetPlayerWeapons(idx);
  629. SendClientMessage(playerid,verde,"Armas resetadas com sucesso.");
  630. SendClientMessage(playerid,fail,"O admin resetou suas armas.");
  631. }
  632. else return SendClientMessage(playerid,fail,NAOADM);
  633. return 1;
  634. }
  635. //------------------------------------------------------------------------------
  636. CMD:setarvida(playerid,params[])
  637. {
  638. if(info[playerid][pAdmin] >= 1)
  639. {
  640. new
  641. Float:vida,
  642. idx
  643. ;
  644. if(sscanf(params,"uf",idx,vida)) return SendClientMessage(playerid,verde,"use /setarvida [playerid] [qtd]");
  645. if(vida > 100) return SendClientMessage(playerid,fail,"0-100.");
  646. SetPlayerHealth(idx,vida);
  647. SendClientMessage(playerid,-1,"vida setada com sucesso.");
  648. SendClientMessage(idx,-1,"sua vida foi setada pelo administrador.");
  649. }
  650. else return SendClientMessage(playerid,fail,NAOADM);
  651. return 1;
  652. }
  653. //------------------------------------------------------------------------------
  654. CMD:darcolete(playerid,params[])
  655. {
  656. if(info[playerid][pAdmin] >= 1)
  657. {
  658. new
  659. Float:colete,
  660. idx;
  661. format(string_,sizeof(string_),"O admin %s lhe deu %f de colete.",PlayerName(playerid),colete);
  662. if(sscanf(params,"uf",idx,colete)) return SendClientMessage(playerid,verde,"use /darcolete [playerid] [qtd]");
  663. GivePlayerArmour(playerid,colete);
  664. SendClientMessage(playerid,-1,"colete dado com sucesso.");
  665. SendClientMessage(idx,-1,string_);
  666. }
  667. else return SendClientMessage(playerid,fail,NAOADM);
  668. return 1;
  669. }
  670. //------------------------------------------------------------------------------
  671. CMD:pegarip(playerid,params[])
  672. {
  673. if(info[playerid][pAdmin] >= 1)
  674. {
  675. new
  676. idx;
  677. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"/pegarip [id]");
  678. GetPlayerIp(idx,ip,16);
  679. format(string_,sizeof(string_),"ip de %s: %s",PlayerName(playerid),ip);
  680. SendClientMessage(playerid,verde,string_);
  681. }
  682. else return SendClientMessage(playerid,fail,NAOADM);
  683. return 1;
  684. }
  685. //------------------------------------------------------------------------------
  686. CMD:setarcolete(playerid,params[])
  687. {
  688. if(info[playerid][pAdmin] >= 1)
  689. {
  690. new
  691. Float:colete,
  692. idx
  693. ;
  694. if(sscanf(params,"uf",idx,colete)) return SendClientMessage(playerid,verde,"use /setarcolete [playerid] [qtd]");
  695. SetPlayerArmour(idx,colete);
  696. SendClientMessage(playerid,-1,"colete dado com sucesso.");
  697. SendClientMessage(idx,-1,"ganhou colete do administrador.");
  698. }
  699. else return SendClientMessage(playerid,fail,NAOADM);
  700. return 1;
  701. }
  702. //------------------------------------------------------------------------------
  703. CMD:aa(playerid,params[])
  704. {
  705. if(info[playerid][pAdmin] >= 1) return SendClientMessage(playerid,fail,"/banir /kickar /congelar /renascer /limparchat /descongelar /setargrana /dargrana"),SendClientMessage(playerid,-1,"/darvida /darcolete /setarvida /setarcolete /darcolete /trazertodos /kickartodos"),SendClientMessage(playerid,-1,"/sim /nao /votacao /encerrar");
  706. return 1;
  707. }
  708. //------------------------------------------------------------------------------
  709. CMD:limparchat(playerid,params[])
  710. {
  711. if(info[playerid][pAdmin] >= 1)
  712. {
  713. new
  714. linhas
  715. ;
  716. if(sscanf(params,"i",linhas)) return SendClientMessage(playerid,fail,"use /limparchat [linhas]");
  717. for(new ii = 0; ii < linhas; ii++) SendClientMessage(playerid, -1, "");
  718. }
  719. else return SendClientMessage(playerid,fail,NAOADM);
  720. return 1;
  721. }
  722. //------------------------------------------------------------------------------
  723. CMD:descongelar(playerid,params[])
  724. {
  725. if(info[playerid][pAdmin] >= 1)
  726. {
  727. new
  728. idx;
  729. format(string_,67,"O jogador %s foi descongelado pelo admin %s",PlayerName(idx),PlayerName(playerid));
  730. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"Use /descongelar [playerid]");
  731. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"jogador off-line");
  732. Controle(idx,1);
  733. SendClientMessage(idx,-1,"Descongelado com sucesso!");
  734. }
  735. else SendClientMessage(playerid,-1,NAOADM);
  736. return 1;
  737. }
  738. //------------------------------------------------------------------------------
  739. CMD:espiar(playerid,params[])
  740. {
  741. if(info[playerid][pAdmin] >= 1)
  742. {
  743. new
  744. idx;
  745. if(espiando[playerid] == false)
  746. {
  747. GetPlayerName(playerid,nome,24);
  748. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"use /espiar [playerid]");
  749. TogglePlayerSpectating(playerid, 1);
  750. PlayerSpectatePlayer(playerid,idx);
  751. format(string_,60,"Você está espiando o jogador %s (ID : %d )",nome,playerid);
  752. SendClientMessage(playerid,-1,string_);
  753. return espiando[playerid] = true;
  754. }
  755. else return SendClientMessage(playerid,fail,NAOADM);
  756. }
  757. else return SendClientMessage(playerid,fail,NAOADM);
  758. }
  759. //------------------------------------------------------------------------------
  760. CMD:parardeespiar(playerid,params[])
  761. {
  762. if(info[playerid][pAdmin] >= 1)
  763. {
  764. espiando[playerid] = false;
  765. TogglePlayerSpectating(playerid,0);
  766. return SpawnPlayer(playerid);
  767. }
  768. else return SendClientMessage(playerid,fail,NAOADM);
  769. }
  770. //------------------------------------------------------------------------------
  771. CMD:congelar(playerid,params[])
  772. {
  773. if(info[playerid][pAdmin] >= 1)
  774. {
  775. new
  776. idx;
  777. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,-1,"Uso correto: /congelar [playerid]");
  778. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  779. format(string_,64,"O jogador %s foi congelado pelo admin %s",PlayerName(idx),PlayerName(playerid));
  780. SendClientMessageToAll(0xFFFF00AA,string_);
  781. SendClientMessage(idx,-1,"Você foi congelado champz");
  782. SendClientMessage(playerid,-1,"Você congelou um jogador com sucesso");
  783. Controle(idx,0);
  784. }
  785. else SendClientMessage(playerid,-1,NAOADM);
  786. return 1;
  787. }
  788. //------------------------------------------------------------------------------
  789. CMD:dargrana(playerid,params[])
  790. {
  791. if(info[playerid][pAdmin] >= 2)
  792. {
  793. new
  794. quantia,
  795. idx
  796. ;
  797. if(sscanf(params,"ud",idx,quantia)) return SendClientMessage(playerid,-1,"use /dargrana [playerid] [quantia]");
  798. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador off-line");
  799. GivePlayerMoney(idx,quantia);
  800. SendClientMessage(playerid,-1,"quantia dada com sucesso.");
  801. }
  802. else SendClientMessage(playerid,-1,NAOADM);
  803. return 1;
  804. }
  805. //------------------------------------------------------------------------------
  806. CMD:relatorio(playerid,params[])
  807. {
  808. new
  809. texto[129]
  810. ;
  811. GetPlayerName(playerid,nome,24);
  812. if(sscanf(params,"s",texto)) return SendClientMessage(playerid,-1,"use /relatorio [texto]");
  813. format(string_,sizeof(string_),"Relatório de %s: %s",nome,texto);
  814. SendAdminMessage(string_);
  815. return 1;
  816. }
  817. //------------------------------------------------------------------------------
  818. CMD:par(playerid,params[])
  819. {
  820. if(info[playerid][pAdmin] >= 1)
  821. {
  822. new
  823. texto[128],
  824. idx;
  825. GetPlayerName(playerid,nome,24);
  826. if(sscanf(params,"us",idx,texto)) return SendClientMessage(playerid,-1,"use /relatorio [playerid] [texto]");
  827. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador Off-line.");
  828. format(string_,sizeof(string_),"Mp do admin %s: %s",nome,texto);
  829. SendClientMessage(playerid,verde,string_);
  830. }
  831. else return SendClientMessage(playerid,fail,NAOADM);
  832. return 1;
  833. }
  834. //------------------------------------------------------------------------------
  835. CMD:admins(playerid,params[])
  836. {
  837. SendClientMessage(playerid,verde,"Administradores On-line");
  838. paramount(i,MAX_PLAYERS)
  839. {
  840. GetPlayerName(i,nome,24);
  841. if(info[i][pAdmin] >= 1)
  842. {
  843. format(string_,100,"%s",nome);
  844. SendClientMessage(playerid,verde,string_);
  845. }
  846. }
  847. return 1;
  848. }
  849. //------------------------------------------------------------------------------
  850. CMD:autorizar(playerid,params[])
  851. {
  852. if(info[playerid][pAdmin] >= 1)
  853. {
  854. new
  855. idx;
  856. if(sscanf(params,"u",idx)) return SendClientMessage(playerid,verde,"/autorizar [playerid]");
  857. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador Off-line.");
  858. info[idx][pAutorizado] = 1;
  859. SendClientMessage(idx,verde,"foi autorizado a mudar de nick.");
  860. }
  861. else return SendClientMessage(playerid,fail,NAOADM);
  862. return 1;
  863. }
  864. //------------------------------------------------------------------------------
  865. CMD:mudarnick(playerid,params[])
  866. {
  867. if(info[playerid][pAutorizado] == 1)
  868. {
  869. if(sscanf(params,"s[24]",string_)) return SendClientMessage(playerid,verde,"use /mudarnick [nome_novo]");
  870. SetPlayerName(playerid,string_);
  871. SendClientMessage(playerid,verde,"nick alterado com sucesso.");
  872. info[playerid][pAutorizado] = 0;
  873. }
  874. else return SendClientMessage(playerid,verde,"não está autorizado.");
  875. return 1;
  876. }
  877. //------------------------------------------------------------------------------
  878. CMD:mudarskin(playerid,params[])
  879. {
  880. if(info[playerid][pAdmin] >= 1)
  881. {
  882. new
  883. idx,
  884. skinid;
  885. if(sscanf(params,"ud",idx,skinid)) return SendClientMessage(playerid,-1,"use /mudarskin [playerid] [skinid]");
  886. if(!IsPlayerConnected(idx)) return SendClientMessage(playerid,-1,"Jogador Off-line.");
  887. if(skinid < 0 || skinid > 299) return SendClientMessage(playerid,-1,"use de 0-299");
  888. SetPlayerSkin(idx,skinid);
  889. SendClientMessage(playerid,-1,"Você setou uma skin com sucesso.");
  890. SendClientMessage(playerid,-1,"O administrador mudou sua skin.");
  891. }
  892. else return SendClientMessage(playerid,fail,NAOADM);
  893. return 1;
  894. }
  895. //------------------------------------------------------------------------------
  896. public OnPlayerConnect(playerid)
  897. {
  898. if(info[playerid][pBan] == 1)
  899. {
  900. GetPlayerIp(playerid,ip,16);
  901. GetPlayerName(playerid,nome,24);
  902. format(string_,sizeof(string_),"Olá %s, você não pode mais jogar aqui pois foi banido\n\n\tIP:%s",nome,ip);
  903. ShowPlayerDialog(playerid,9999,DIALOG_STYLE_LIST,"Banido",string_,"Ok","");
  904. }
  905. return 1;
  906. }
  907.  
  908. //------------------------------------------------------------------------------
  909. public OnPlayerDisconnect(playerid)
  910. {
  911. salvardados(playerid);
  912. return 1;
  913. }
  914. //------------------------------------------------------------------------------
  915. public OnFilterScriptInit()
  916. {
  917. print("Sistema de Administração by Paramount carregado com sucesso.");
  918. SendClientMessageToAll(verde,"Paramount ADM system carregado com sucesso.");
  919. return 1;
  920. }
  921. //------------------------------------------------------------------------------
  922. public OnFilterScriptExit()
  923. {
  924. DOF2_Exit();
  925. paramount(i,MAX_PLAYERS) return salvardados(i);
  926. return 1;
  927. }
  928. //------------------------------------------------------------------------------
  929. public OnPlayerText(playerid,text[])
  930. {
  931. if(calado[playerid] == true)
  932. {
  933. SendClientMessage(playerid,fail,"foi calado , tenta fala agora seu noob.");
  934. return 0;
  935. }
  936. return 1;
  937. }
  938. //------------------------------------------------------------------------------
  939. stock SetPlayerMoney(id,dinheiro)
  940. {
  941. ResetPlayerMoney(id);
  942. return GivePlayerMoney(id,dinheiro);
  943. }
  944. //------------------------------------------------------------------------------
  945. stock PlayerName(id)
  946. {
  947. new name[MAX_PLAYER_NAME];
  948. GetPlayerName(id, name, sizeof(name));
  949. return name;
  950. }
  951. //------------------------------------------------------------------------------
  952. stock salvardados(playerid)
  953. {
  954. GetPlayerName(playerid,nome,24);
  955. format(arquivo,sizeof(arquivo),adm,nome);
  956. DOF2_SetInt(arquivo,"admin",info[playerid][pAdmin]);
  957. DOF2_SetInt(arquivo,"autorizado",info[playerid][pAutorizado]);
  958. DOF2_SetInt(arquivo,"banido",info[playerid][pBan]);
  959. DOF2_SaveFile();
  960. return 1;
  961. }
  962. //------------------------------------------------------------------------------
  963. stock carregardados(playerid)
  964. {
  965. GetPlayerName(playerid,nome,24);
  966. info[playerid][pAdmin] = DOF2_GetInt(arquivo,"admin");
  967. info[playerid][pAutorizado] = DOF2_GetInt(arquivo,"autorizado");
  968. info[playerid][pBan] = DOF2_GetInt(arquivo,"banido");
  969. return 1;
  970. }
  971. //------------------------------------------------------------------------------
  972. stock GivePlayerArmour(playerid,Float:colete)
  973. {
  974. new
  975. Float:oldcolete;
  976. GetPlayerArmour(playerid,oldcolete);
  977. return SetPlayerArmour(playerid,oldcolete+colete);
  978. }
  979. //------------------------------------------------------------------------------
  980. stock SendAdminMessage(const texto[])
  981. {
  982. paramount(i,MAX_PLAYERS)
  983. {
  984. if(info[i][pAdmin]) return SendClientMessage(i,verde,texto);
  985. }
  986. return 1;
  987. }
  988. //------------------------------------------------------------------------------
  989. /* COMANDOS DO PARAMOUNT ADMIN SYS
  990.  
  991. /mudarskin
  992. /mudarnick
  993. /autorizar
  994. /kickar
  995. /banir
  996. /kickartodos
  997. /trazertodos
  998. /admins
  999. /par
  1000. /relatorio
  1001. /dargrana
  1002. /setargrana
  1003. /darvida
  1004. /setarvida
  1005. /darcolete
  1006. /setarcolete
  1007. /congelar
  1008. /descongelar
  1009. /limparchat
  1010. /gmx
  1011. /daradmin
  1012. /ir
  1013. /trazer
  1014. /darnivel
  1015. /setarspawn
  1016. /votacao
  1017. /sim
  1018. /nao
  1019. /pegarip
  1020. /calar
  1021. /descalar
  1022. /encerrar
  1023. /setarhora
  1024. /setarmundo
  1025. /setarinterior
  1026. /aviso
  1027. /fakeban
  1028. /matarall
  1029. /darvidaall
  1030. /darcoleteall
  1031. /repararcarro
  1032. /a [ admin chat ]
  1033. /desarmartodos
  1034. /desarmar
  1035. /viraradmin
  1036. /setarniveldetodos
  1037. /tapa
  1038. /ejetardoveiculo
  1039. /nomeserver
  1040. /espiar
  1041. /parardeespiar
  1042. */
Advertisement
Add Comment
Please, Sign In to add comment