Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2012
5,505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 32.25 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <dof2>
  5.  
  6. #define Vermelho 0xFF0000FF
  7. #define Azul 0x00BFFFFF
  8. #define Verde 0x00FF00FF
  9. #define Amarelo 0xF2FF00FF
  10. #define contas "s4kuL/Contas/%s.ini"
  11.  
  12. #define MAXAVISO 3
  13. #define MAXLEVEL 5
  14.  
  15. #define DIALOG_REGISTER 1 //Dialog de registro
  16. #define DIALOG_LOGIN 2 //Dialog de login
  17. //--------------------
  18. enum player_info
  19. {
  20. pAdmin,
  21. pLevel,
  22. pAvisos,
  23. pPreso,
  24. pGrana,
  25. pMudo,
  26. pMatou,
  27. pMorreu,
  28. }
  29. new PlayerInfo[MAX_PLAYERS][player_info];
  30. //--------------------
  31. forward SairCadeia(ID);
  32. //--------------------
  33. //--------------------
  34. public OnFilterScriptInit()
  35. {
  36. print("\n--------------------------------------");
  37. print(" s4kuL's Admin System");
  38. print("--------------------------------------\n");
  39. return 1;
  40. }
  41. public OnPlayerConnect(playerid)
  42. {
  43. PlayerInfo[playerid][pAdmin] = 0;
  44. PlayerInfo[playerid][pPreso] = 0;
  45. PlayerInfo[playerid][pLevel] = 0;
  46. PlayerInfo[playerid][pMatou] = 0;
  47. PlayerInfo[playerid][pMorreu] = 0;
  48. PlayerInfo[playerid][pAvisos] = 0;
  49. PlayerInfo[playerid][pMudo] = 0;
  50. //Login e Registro
  51. new nome[90];
  52. format(nome,sizeof(nome),contas,GetPlayerNameEx(playerid));
  53. if(DOF2_FileExists(nome))
  54. {
  55. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Logando-se","{FFFFFF}Bem vindo novamente. para pode jogar digite sua senha abaixo:","Logar","Sair");
  56. }
  57. else
  58. {
  59. ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim também seus dados serão salvos.","Registrar","Cancelar");
  60. }
  61. return 1;
  62. }
  63. public OnPlayerDisconnect(playerid, reason)
  64. {
  65. new file[80];
  66. format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  67. DOF2_SetInt(file,"Matou",PlayerInfo[playerid][pMatou]);
  68. DOF2_SetInt(file,"Morreu",PlayerInfo[playerid][pMorreu]);
  69. DOF2_SetInt(file,"Grana",GetPlayerMoney(playerid));
  70. DOF2_SetInt(file,"Admin",PlayerInfo[playerid][pAdmin]);
  71. DOF2_SaveFile();
  72. return 1;
  73. }
  74. public OnPlayerCommandReceived(playerid, cmdtext[])
  75. {
  76. return 1;
  77. }
  78. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  79. {
  80. if(PlayerInfo[playerid][pPreso] == 1)
  81. {
  82. return SendClientMessage(playerid,Vermelho, "ERRO: Você está preso e não pode usar comandos");
  83. }
  84. return 1;
  85. }
  86. public OnPlayerText(playerid, text[])
  87. {
  88. if(text[0] == '#' && PlayerInfo[playerid][pAdmin] >= 1)
  89. {
  90. new string[128];
  91. format(string,sizeof(string),"Admin Chat: %s: %s",GetPlayerNameEx(playerid),text[1]);
  92. SendAdminMessage(Verde,string);
  93. return 0;
  94. }
  95. if(PlayerInfo[playerid][pMudo] == 1)
  96. {
  97. SendClientMessage(playerid,Vermelho,"ERRO: Você está mudo e não pode falar no chat");
  98. return 0;
  99. }
  100. return 1;
  101. }
  102. public OnPlayerSpawn(playerid)
  103. {
  104. return 1;
  105. }
  106. public OnPlayerDeath(playerid, killerid, reason)
  107. {
  108. if(killerid!=INVALID_PLAYER_ID)
  109. {
  110. PlayerInfo[playerid][pMatou] ++;
  111. }
  112. PlayerInfo[playerid][pMorreu] ++;
  113. return 1;
  114. }
  115. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  116. {
  117. switch(dialogid)
  118. {
  119. case DIALOG_REGISTER:
  120. {
  121. if(!response) Kick(playerid);
  122. if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,"Registrando-se","{FFFFFF}Bem vindo ao servidor, para pode jogar registre\numa conta e assim também seus dados serão salvos.","Registrar","Sair");
  123. if(response)
  124. {
  125. new file[80];
  126. format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  127. DOF2_CreateFile(file, inputtext);
  128. DOF2_SetInt(file,"Matou", 0);
  129. DOF2_SetInt(file,"Morreu", 0);
  130. DOF2_SetInt(file,"Grana", 0);
  131. DOF2_SetInt(file,"Admin", 0);
  132. DOF2_SaveFile();
  133. SpawnPlayer(playerid);
  134. }
  135. }
  136. case DIALOG_LOGIN:
  137. {
  138. if(!response) Kick(playerid);
  139. if(response)
  140. {
  141. new file[80];
  142. format(file,sizeof(file),contas,GetPlayerNameEx(playerid));
  143. if(DOF2_FileExists(file))
  144. {
  145. if(DOF2_CheckLogin(file,inputtext))
  146. {
  147. PlayerInfo[playerid][pMatou] = DOF2_GetInt(file,"Matou");
  148. PlayerInfo[playerid][pMorreu] = DOF2_GetInt(file,"Morreu");
  149. PlayerInfo[playerid][pGrana] = DOF2_GetInt(file,"Grana");
  150. PlayerInfo[playerid][pAdmin] = DOF2_GetInt(file,"Admin");
  151. DOF2_SaveFile();
  152. SpawnPlayer(playerid);
  153. GivePlayerMoney(playerid, PlayerInfo[playerid][pGrana]);
  154. new string[50];
  155. format(string,sizeof(string),"CONTA: Logado com sucesso (Level:%d)",PlayerInfo[playerid][pAdmin]);
  156. SendClientMessage(playerid,Verde,string);
  157. return 1;
  158. }
  159. else
  160. {
  161. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,"Senha Incorreta","{FFFFFF}Você digitou a senha errada para essa conta!","Logar","Cancelar");
  162. return 1;
  163. }
  164. }
  165. }
  166. }
  167. }
  168. return 1;
  169. }
  170. //----------------------------- Comandos de Admin ------------------------------
  171. CMD:level1(playerid,params[])
  172. {
  173. if(PlayerInfo[playerid][pAdmin] < 1)
  174. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  175. SendClientMessage(playerid,Vermelho,"======================================================");
  176. SendClientMessage(playerid,-1,"Comandos de administrador(a) level 1:");
  177. SendClientMessage(playerid,-1,"/Kick, /Ban, /Avisar, /a, /Explodir, /Tapa, /Spec, /Specoff.");
  178. SendClientMessage(playerid,Vermelho,"======================================================");
  179. return 1;
  180. }
  181. CMD:level2(playerid,params[])
  182. {
  183. if(PlayerInfo[playerid][pAdmin] < 2)
  184. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  185. SendClientMessage(playerid,-1,"Comandos de administrador(a) level 2:");
  186. SendClientMessage(playerid,Vermelho,"======================================================");
  187. SendClientMessage(playerid,-1,"/Dararma, /Desarmar, /Limparchat, /Setarskin,");
  188. SendClientMessage(playerid,-1,"/Calar /Descalar, /Desbanir, /Prender, /Soltar.");
  189. SendClientMessage(playerid,Vermelho,"======================================================");
  190. return 1;
  191. }
  192. CMD:level3(playerid,params[])
  193. {
  194. if(PlayerInfo[playerid][pAdmin] < 3)
  195. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  196. SendClientMessage(playerid,Vermelho,"======================================================");
  197. SendClientMessage(playerid,-1,"Comandos de administrador(a) level 3:");
  198. SendClientMessage(playerid,-1,"/Ir, /Trazer, /Congelar, /Descongelar, /Setarmundo, /Setarvida,");
  199. SendClientMessage(playerid,-1,"/Setarcolete.");
  200. SendClientMessage(playerid,Vermelho,"======================================================");
  201. return 1;
  202. }
  203. CMD:level4(playerid,params[])
  204. {
  205. if(PlayerInfo[playerid][pAdmin] < 4)
  206. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  207. SendClientMessage(playerid,Vermelho,"======================================================");
  208. SendClientMessage(playerid,-1,"Comandos de administrador(a) level 4:");
  209. SendClientMessage(playerid,-1,"/Setarscore, /Fakeban, /Fakekick, /Setargrana, /Dargrana.");
  210. SendClientMessage(playerid,Vermelho,"======================================================");
  211. return 1;
  212. }
  213. CMD:level5(playerid,params[])
  214. {
  215. if(PlayerInfo[playerid][pAdmin] < 5)
  216. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  217. SendClientMessage(playerid,Vermelho,"======================================================");
  218. SendClientMessage(playerid,-1,"Comandos de administrador(a) level 5:");
  219. SendClientMessage(playerid,-1,"/Setadmin, /Fakechat.");
  220. SendClientMessage(playerid,Vermelho,"======================================================");
  221. return 1;
  222. }
  223.  
  224. CMD:report(playerid, params[])
  225. {
  226. new ID,Motivo[70];
  227. if(sscanf(params,"ds[70]",ID,Motivo))
  228. return SendClientMessage(playerid,Vermelho,"USE: /report [id] [motivo]");
  229. if(strlen(Motivo) > 70)return SendClientMessage(playerid,Vermelho,"O maximo é de 70 caracteristicas no motivo!");
  230. if(!IsPlayerConnected(ID))
  231. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  232. new string[100];
  233. format(string,sizeof(string),"REPORT: %s(ID:%d) Reportou %s(ID:%d) Motivo: %s",GetPlayerNameEx(ID),ID,GetPlayerNameEx(playerid),playerid,Motivo);
  234. SendAdminMessage(Vermelho,string);
  235. SendClientMessage(playerid,Verde,"Seu report foi enviado a todos administrador online, obrigado!");
  236. return 1;
  237. }
  238.  
  239. CMD:a(playerid, params[])
  240. {
  241. if(PlayerInfo[playerid][pAdmin] < 1)
  242. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  243. if(isnull(params))
  244. return SendClientMessage(playerid,Vermelho,"USE: /a [texto]");
  245. new mensagem[100];
  246. format(mensagem,sizeof(mensagem),"{51FF00}Admin: %s: {FFFFFF}%s",GetPlayerNameEx(playerid),params);
  247. SendClientMessageToAll(-1, mensagem);
  248. return 1;
  249. }
  250.  
  251. CMD:setadmin(playerid, params[])
  252. {
  253. if(PlayerInfo[playerid][pAdmin] < 5 && !IsPlayerAdmin(playerid))
  254. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  255. new ID,level,string[80];
  256. if(sscanf(params,"dd",ID,level))
  257. return SendClientMessage(playerid,Vermelho,"USE: /setadmin [playerid] [level]");
  258. if(!IsPlayerConnected(ID))
  259. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  260. if(PlayerInfo[playerid][pLevel] == MAXLEVEL)
  261. return SendClientMessage(playerid, Vermelho,"ERRO: O level maximo é de 5 leveis!");
  262. format(string,sizeof(string),"Você definiu o level de administração de %s para %i",GetPlayerNameEx(ID),level);
  263. SendClientMessage(playerid,Azul,string);
  264. format(string,sizeof(string),"O(A)Administrador(A) %s definiu seu nível de administração para %i",GetPlayerNameEx(playerid),level);
  265. SendClientMessage(ID,Azul,string);
  266. PlayerInfo[ID][pAdmin] = level;
  267. return 1;
  268. }
  269.  
  270. CMD:kick(playerid,params[])
  271. {
  272. if(PlayerInfo[playerid][pAdmin] < 1)
  273. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  274. new Kickado,Rasao[70];
  275. if(sscanf(params,"ds[70]",Kickado,Rasao))
  276. return SendClientMessage(playerid,Vermelho,"USE: /kick [playerid] [razão]");
  277. if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  278. if(!IsPlayerConnected(Kickado))
  279. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  280. new string[140];
  281. format(string, sizeof(string), "*%s foi kickado pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Kickado), GetPlayerNameEx(playerid), Rasao);
  282. SendClientMessageToAll(Vermelho, string);
  283. Kick(Kickado);
  284. return 1;
  285. }
  286.  
  287. CMD:fakekick(playerid,params[])
  288. {
  289. if(PlayerInfo[playerid][pAdmin] < 4)
  290. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  291. new Kickado,Rasao[70];
  292. if(sscanf(params,"ds[70]",Kickado,Rasao))
  293. return SendClientMessage(playerid,Vermelho,"USE: /kick [playerid] [razão]");
  294. if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  295. if(!IsPlayerConnected(Kickado))
  296. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  297. new string[140];
  298. format(string, sizeof(string), "*%s foi kickado pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Kickado), GetPlayerNameEx(playerid), Rasao);
  299. SendClientMessageToAll(Vermelho, string);
  300. return 1;
  301. }
  302.  
  303. CMD:avisar(playerid, params[])
  304. {
  305. if(PlayerInfo[playerid][pAdmin] < 1)
  306. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  307. new ID,Texto[70];
  308. if(sscanf(params,"ds[70]",ID,Texto))
  309. return SendClientMessage(playerid,Vermelho,"USE: /avisar [playerid] [motivo]");
  310. if(strlen(Texto) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  311. if(!IsPlayerConnected(ID))
  312. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  313. PlayerInfo[ID][pAvisos] ++;
  314. new str[140];
  315. if(PlayerInfo[ID][pAvisos] == MAXAVISO){
  316. format(str, sizeof(str),"O(a)Administrador(a) '%s' Kickou '%s' (Motivo: %s ) Avisos: %d/%d",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Texto,PlayerInfo[ID][pAvisos],MAXAVISO);
  317. Kick(ID);
  318. }else{
  319. format(str,sizeof(str),"O(a)Administrador(a) '%s' Advertiu '%s' (Motivo: %s ) Avisos: %d/%d",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Texto,PlayerInfo[ID][pAvisos],MAXAVISO);
  320. SendClientMessageToAll(Amarelo,str);
  321. }
  322. return 1;
  323. }
  324.  
  325. CMD:ban(playerid,params[])
  326. {
  327. if(PlayerInfo[playerid][pAdmin] < 1)
  328. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  329. new Banido,Rasao[70];
  330. if(sscanf(params,"ds[70]",Banido,Rasao))
  331. return SendClientMessage(playerid,Vermelho,"USE: /ban [playerid] [razão]");
  332. if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  333. if(!IsPlayerConnected(Banido))
  334. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  335. new string[215];
  336. format(string, sizeof(string), "*%s foi banido pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Banido), GetPlayerNameEx(playerid), Rasao);
  337. SendClientMessageToAll(Vermelho, string);
  338. GameTextForPlayer(Banido,"~r~VOCE FOI BANIDO!",5000,3);
  339. Ban(Banido);
  340. return 1;
  341. }
  342.  
  343. CMD:desbanir(playerid,params[])
  344. {
  345. if(PlayerInfo[playerid][pAdmin] < 2)
  346. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  347. new playerIP[18];
  348. if(sscanf(params,"s",playerIP))
  349. return SendClientMessage(playerid,Vermelho,"USE: /desbanir [ip]");
  350. new str[70];
  351. format(str,sizeof(str),"unbanip %s",playerIP);
  352. SendRconCommand(str);
  353. SendRconCommand("reloadbans");
  354. SendClientMessage(playerid,Verde,"IP desbanido com sucesso!");
  355. return 1;
  356. }
  357.  
  358. CMD:fakeban(playerid,params[])
  359. {
  360. if(PlayerInfo[playerid][pAdmin] < 4)
  361. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  362. new Banido,Rasao[70];
  363. if(sscanf(params,"ds[70]",Banido,Rasao))
  364. return SendClientMessage(playerid,Vermelho,"USE: /ban [playerid] [razão]");
  365. if(strlen(Rasao) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  366. if(!IsPlayerConnected(Banido))
  367. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  368. new string[215];
  369. format(string, sizeof(string), "*%s foi banido pelo(a) administrador(a) %s motivo: %s", GetPlayerNameEx(Banido), GetPlayerNameEx(playerid), Rasao);
  370. SendClientMessageToAll(Vermelho, string);
  371. GameTextForPlayer(playerid,"~r~VOCE FOI BANIDO!",5000,3);
  372. return 1;
  373. }
  374.  
  375. CMD:fakechat(playerid,params[])
  376. {
  377. if(PlayerInfo[playerid][pAdmin] < 5)
  378. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  379. new ID,string[156];
  380. if(sscanf(params,"us",ID,string))
  381. return SendClientMessage(playerid,Vermelho,"USE: /fakechat [id] [texto]");
  382. SendPlayerMessageToAll(ID,string);
  383. return 1;
  384. }
  385.  
  386. CMD:explodir(playerid, params[])
  387. {
  388. if(PlayerInfo[playerid][pAdmin] < 1)
  389. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  390. new ID,Float:posx,Float:posy,Float:posz;
  391. if(!IsPlayerConnected(ID))
  392. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  393. if(sscanf(params,"u",ID))
  394. return SendClientMessage(playerid,Vermelho,"USE: /explodir [playerid]");
  395. GetPlayerPos(ID, posx, posy, posz);
  396. CreateExplosion(posx, posy, posz,12,10.0);
  397. new string[128];
  398. format(string,sizeof(string),"Você explodiu: %s",GetPlayerNameEx(ID));
  399. SendClientMessage(playerid,Azul,string);
  400. return 1;
  401. }
  402.  
  403. CMD:tapa(playerid,params[])
  404. {
  405. if(PlayerInfo[playerid][pAdmin] < 1)
  406. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  407. new ID,Float:posx,Float:posy,Float:posz;
  408. if(!IsPlayerConnected(ID))
  409. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  410. if(sscanf(params,"d",ID))
  411. return SendClientMessage(playerid,Vermelho,"USE: /tapa [playerid]");
  412. GetPlayerPos(ID, posx,posy,posz);
  413. SetPlayerPos(ID,posx,posy,posz+10);
  414. new string[70];
  415. format(string,sizeof(string),"Você deu um tapa em: %s",GetPlayerNameEx(ID));
  416. SendClientMessage(playerid,Azul,string);
  417. return 1;
  418. }
  419.  
  420. CMD:ir(playerid, params[])
  421. {
  422. if(PlayerInfo[playerid][pAdmin] < 3)
  423. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  424. new ID,Float:pPos[3];
  425. if(!IsPlayerConnected(ID))
  426. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  427. if(sscanf(params,"d",ID))
  428. return SendClientMessage(playerid,Vermelho,"USE: /ir [playerid]");
  429. GetPlayerPos(ID, pPos[0], pPos[1], pPos[2]);
  430. if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) SetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]); else SetVehiclePos(GetPlayerVehicleID(playerid), pPos[0], pPos[1], pPos[2]);
  431. SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(ID));
  432. SetPlayerInterior(playerid, GetPlayerInterior(ID));
  433. return 1;
  434. }
  435.  
  436. CMD:trazer(playerid,params[])
  437. {
  438. if(PlayerInfo[playerid][pAdmin] < 3)
  439. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  440. new ID,Float:pPos[3];
  441. if(!IsPlayerConnected(ID))
  442. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  443. if(sscanf(params,"u",ID))
  444. return SendClientMessage(playerid,Vermelho,"USE: /trazer [playerid]");
  445. GetPlayerPos(playerid, pPos[0], pPos[1], pPos[2]);
  446. if(GetPlayerState(ID) != PLAYER_STATE_DRIVER) SetPlayerPos(ID, pPos[0], pPos[1], pPos[2]); else SetVehiclePos(GetPlayerVehicleID(ID), pPos[0], pPos[1], pPos[2]);
  447. SetPlayerVirtualWorld(ID, GetPlayerVirtualWorld(playerid));
  448. SetPlayerInterior(ID, GetPlayerInterior(playerid));
  449. return 1;
  450. }
  451.  
  452. CMD:congelar(playerid, params[])
  453. {
  454. if(PlayerInfo[playerid][pAdmin] < 3)
  455. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  456. new ID;
  457. if(!IsPlayerConnected(ID))
  458. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  459. if(sscanf(params,"d",ID))
  460. return SendClientMessage(playerid,Vermelho,"USE: /congelar [playerid]");
  461. TogglePlayerControllable(ID, false);
  462. new string[128];
  463. format(string,sizeof(string),"Você congelou: %s",GetPlayerNameEx(ID));
  464. SendClientMessage(playerid, Azul, string);
  465. return 1;
  466. }
  467.  
  468. CMD:descongelar(playerid, params[])
  469. {
  470. if(PlayerInfo[playerid][pAdmin] < 3)
  471. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  472. new ID;
  473. if(!IsPlayerConnected(ID))
  474. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  475. if(sscanf(params,"d",ID))
  476. return SendClientMessage(playerid,Vermelho,"USE: /descongelar [playerid]");
  477. TogglePlayerControllable(ID, true);
  478. new string[128];
  479. format(string,sizeof(string),"Você descongelou: %s",GetPlayerNameEx(ID));
  480. SendClientMessage(playerid, Azul, string);
  481. return 1;
  482. }
  483.  
  484. CMD:setarmundo(playerid,params[])
  485. {
  486. if(PlayerInfo[playerid][pAdmin] < 3)
  487. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  488. new ID,Mundo;
  489. if(!IsPlayerConnected(ID))
  490. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  491. if(sscanf(params,"dd",ID,Mundo))
  492. return SendClientMessage(playerid,Vermelho,"USE: /setarmundo [playerid] [mundo]");
  493. SetPlayerVirtualWorld(ID,Mundo);
  494. new string[256];
  495. new str[256];
  496. format(string,sizeof(string),"Você setou o mundo virtual de %s para %d",ID,Mundo);
  497. SendClientMessage(playerid,Azul,string);
  498. format(str,sizeof(str),"O(a)Administrador(a) %s setou seu mundo virtual para %d",GetPlayerNameEx(playerid),Mundo);
  499. SendClientMessage(ID,Azul,str);
  500. return 1;
  501. }
  502.  
  503. CMD:prender(playerid, params[])
  504. {
  505. if(PlayerInfo[playerid][pAdmin] < 2)
  506. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  507. new ID,Motivo[70];
  508. if(!IsPlayerConnected(ID))
  509. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  510. if(sscanf(params,"us[70]",ID,Motivo))
  511. return SendClientMessage(playerid,Vermelho,"USE: /prender [id] [motivo]");
  512. if(strlen(Motivo) > 70)return SendClientMessage(playerid,Vermelho,"No max 70 caracteres na Razão!");
  513. SetPlayerPos(ID,197.6661,173.8179,1003.0234);
  514. SetPlayerInterior(ID,3);
  515. SetTimerEx("SairCadeia",120000,0,"d",ID);
  516. SetPlayerVirtualWorld(ID,999);
  517. ResetPlayerWeapons(ID);
  518. SetPlayerHealth(ID,99999);
  519. PlayerInfo[ID][pPreso] = 1;
  520. new string[130];
  521. format(string,sizeof(string),"Você prendeu %s",GetPlayerNameEx(ID));
  522. SendClientMessage(playerid,Azul,string);
  523. new str[120];
  524. format(str,sizeof(str),"O(a)Administrador(a): %s Prendeu: %s Motivo: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Motivo);
  525. SendClientMessageToAll(Azul,str);
  526. return 1;
  527. }
  528.  
  529. CMD:soltar(playerid, params[])
  530. {
  531. if(PlayerInfo[playerid][pAdmin] < 2)
  532. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  533. new ID;
  534. if(!IsPlayerConnected(ID))
  535. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  536. if(sscanf(params,"d",ID))
  537. return SendClientMessage(playerid,Vermelho,"USE: /soltar [id]");
  538. new str[128];
  539. SpawnPlayer(ID);
  540. SetPlayerInterior(ID,0);
  541. SetPlayerVirtualWorld(ID,0);
  542. PlayerInfo[ID][pPreso] = 0;
  543. format(str,sizeof(str),"O(a)Administrador(a): %s Soltou: %s da Prisão",GetPlayerNameEx(playerid),GetPlayerNameEx(ID));
  544. SendClientMessageToAll(Azul,str);
  545. return 1;
  546. }
  547.  
  548. CMD:dararma(playerid, params[])
  549. {
  550. if(PlayerInfo[playerid][pAdmin] < 2)
  551. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  552. new ID,IDA,BLS;
  553. if(sscanf(params,"unn",ID,IDA,BLS))
  554. return SendClientMessage(playerid,Vermelho,"USE: /dararma [id] [id da arma] [munição]");
  555. if(!IsPlayerConnected(ID))
  556. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  557. GivePlayerWeapon(ID,IDA,BLS);
  558. new string[128];
  559. new str[100];
  560. format(str,sizeof(str),"Você deu á %s uma arma ID: %d com %d de munição!",GetPlayerNameEx(ID),IDA,BLS);
  561. SendClientMessage(playerid,Azul,str);
  562. format(string,sizeof(string),"O(a)Administrador(a) %s lhe deu uma arma ID: %d com %d de munição!",GetPlayerNameEx(playerid),IDA,BLS);
  563. SendClientMessage(ID,Azul,string);
  564. return 1;
  565. }
  566.  
  567. CMD:desarmar(playerid, params[])
  568. {
  569. if(PlayerInfo[playerid][pAdmin] < 2)
  570. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  571. new ID;
  572. if(sscanf(params,"d",ID))
  573. return SendClientMessage(playerid,Vermelho,"USE: /desarmar [id]");
  574. if(!IsPlayerConnected(ID))
  575. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  576. ResetPlayerWeapons(ID);
  577. new string[50];
  578. format(string,sizeof(string),"Você desarmou: %s",GetPlayerNameEx(ID));
  579. SendClientMessage(ID,Azul,string);
  580. return 1;
  581. }
  582.  
  583. CMD:setarvida(playerid,params[])
  584. {
  585. if(PlayerInfo[playerid][pAdmin] < 3)
  586. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  587. new ID,Vida;
  588. if(sscanf(params,"dd",ID,Vida))
  589. return SendClientMessage(playerid,Vermelho,"USE: /setarvida [id] [vida]");
  590. if(!IsPlayerConnected(ID))
  591. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  592. SetPlayerHealth(ID,Vida);
  593. new string[70];
  594. new str[100];
  595. format(string,sizeof(string),"Você setou a vida de: %s para: %d",GetPlayerNameEx(ID),Vida);
  596. SendClientMessage(playerid,Azul,string);
  597. format(str,sizeof(str),"O(a)Administrador(a): %s Setou sua vida para: %d",GetPlayerNameEx(playerid),Vida);
  598. SendClientMessage(ID,Azul,str);
  599. return 1;
  600. }
  601.  
  602. CMD:setarcolete(playerid,params[])
  603. {
  604. if(PlayerInfo[playerid][pAdmin] < 3)
  605. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  606. new ID,Colete;
  607. if(sscanf(params,"dd",ID,Colete))
  608. return SendClientMessage(playerid,Vermelho,"USE: /setarcolete [id] [colete]");
  609. if(!IsPlayerConnected(ID))
  610. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  611. SetPlayerArmour(ID,Colete);
  612. new string[70];
  613. new str[100];
  614. format(string,sizeof(string),"Você setou o colete de: %s para: %d",GetPlayerNameEx(ID),Colete);
  615. SendClientMessage(playerid,Azul,string);
  616. format(str,sizeof(str),"O(a)Administrador(a): %s Setou seu colete para: %d",GetPlayerNameEx(playerid),Colete);
  617. SendClientMessage(ID,Azul,str);
  618. return 1;
  619. }
  620.  
  621. CMD:setarskin(playerid,params[])
  622. {
  623. if(PlayerInfo[playerid][pAdmin] < 2)
  624. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  625. new ID,Skin;
  626. if(sscanf(params,"dd",ID,Skin))
  627. return SendClientMessage(playerid,Vermelho,"USE: /setarskin [id] [skinid]");
  628. if(!IsPlayerConnected(ID))
  629. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  630. SetPlayerSkin(ID,Skin);
  631. new string[70];
  632. new str[100];
  633. format(string,sizeof(string),"Você setou a skin de: %s para: %d",GetPlayerNameEx(ID),Skin);
  634. SendClientMessage(playerid,Azul,string);
  635. format(str,sizeof(str),"O(a)Administrador(a): %s Setou sua skin para: %d",GetPlayerNameEx(playerid),Skin);
  636. SendClientMessage(playerid,Azul,str);
  637. return 1;
  638. }
  639.  
  640. CMD:setarscore(playerid,params[])
  641. {
  642. if(PlayerInfo[playerid][pAdmin] < 4)
  643. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  644. new ID,Score;
  645. if(sscanf(params,"dd",ID,Score))
  646. return SendClientMessage(playerid,Vermelho,"USE: /setarscore [id] [score]");
  647. if(!IsPlayerConnected(ID))
  648. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  649. SetPlayerScore(ID,Score);
  650. new string[70];
  651. new str[100];
  652. format(string,sizeof(string),"Você setou o Score de: %s para: %d",GetPlayerNameEx(ID),Score);
  653. SendClientMessage(playerid,Azul,string);
  654. format(str,sizeof(str),"O(a)Administrador(a): %s Setou seu Score para: %d",GetPlayerNameEx(playerid),Score);
  655. SendClientMessage(playerid,Azul,str);
  656. return 1;
  657. }
  658.  
  659. CMD:dargrana(playerid,params[])
  660. {
  661. if(PlayerInfo[playerid][pAdmin] < 4)
  662. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  663. new ID,Tanto;
  664. if(sscanf(params,"dd",ID,Tanto))
  665. return SendClientMessage(playerid,Vermelho,"USE: /dargrana [id] [quantia]");
  666. if(!IsPlayerConnected(ID))
  667. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  668. GivePlayerMoney(ID,Tanto);
  669. new string[70];
  670. new str[70];
  671. format(string,sizeof(string),"Você deu a %s %d de grana",GetPlayerNameEx(ID),Tanto);
  672. SendClientMessage(playerid,Azul,string);
  673. format(str,sizeof(str),"O(a)Administrador(a) %s Lhe deu %d de dinheiro.",GetPlayerNameEx(playerid),Tanto);
  674. SendClientMessage(ID,Azul,str);
  675. return 1;
  676. }
  677.  
  678. CMD:setargrana(playerid,params[])
  679. {
  680. if(PlayerInfo[playerid][pAdmin] < 4)
  681. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  682. new ID,Tanto;
  683. if(sscanf(params,"dd",ID,Tanto))
  684. return SendClientMessage(playerid,Vermelho,"USE: /setargrana [id] [quantia]");
  685. if(!IsPlayerConnected(ID))
  686. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  687. SetPlayerMoney(ID,Tanto);
  688. new string[70];
  689. new str[70];
  690. format(string,sizeof(string),"Você setou a grana de: %s para: %d",GetPlayerNameEx(ID),Tanto);
  691. SendClientMessage(playerid,Azul,string);
  692. format(str,sizeof(str),"O(a)Administrador(a) %s setou sua grana para: %d",GetPlayerNameEx(playerid),Tanto);
  693. SendClientMessage(ID,Azul,str);
  694. return 1;
  695. }
  696.  
  697. CMD:calar(playerid, params[])
  698. {
  699. if(PlayerInfo[playerid][pAdmin] < 2)
  700. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  701. new ID,Motivo[70];
  702. if(sscanf(params,"ds[70]",ID,Motivo))
  703. return SendClientMessage(playerid,Vermelho,"USE: /calar [id] [motivo]");
  704. if(!IsPlayerConnected(ID))
  705. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  706. PlayerInfo[ID][pMudo] = 1;
  707. new str[120];
  708. format(str,sizeof(str),"Você disabilitou o chat de: %s",GetPlayerNameEx(ID));
  709. SendClientMessage(playerid,Azul,str);
  710. format(str,sizeof(str),"O(A)Administrador(A) %s Disabilitou o chat de %s Motivo: %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID),Motivo);
  711. SendClientMessageToAll(Azul,str);
  712. return 1;
  713. }
  714.  
  715. CMD:descalar(playerid, params[])
  716. {
  717. if(PlayerInfo[playerid][pAdmin] < 2)
  718. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  719. new ID;
  720. if(sscanf(params,"d",ID))
  721. return SendClientMessage(playerid,Vermelho,"USE: /descalar [id]");
  722. if(!IsPlayerConnected(ID))
  723. return SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  724. PlayerInfo[ID][pMudo] = 0;
  725. new str[120];
  726. format(str,sizeof(str),"Você Habilitou o chat de: %s",GetPlayerNameEx(ID));
  727. SendClientMessage(playerid,Azul,str);
  728. format(str,sizeof(str),"O(A)Administrador(A) %s Habilitou o chat de %s",GetPlayerNameEx(playerid),GetPlayerNameEx(ID));
  729. SendClientMessageToAll(Azul,str);
  730. return 1;
  731. }
  732.  
  733. CMD:limparchat(playerid, params[])
  734. {
  735. if(PlayerInfo[playerid][pAdmin] < 2)
  736. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  737. for(new i = 0; i < 11; i++) SendClientMessageToAll(-1," ");
  738. return 1;
  739. }
  740.  
  741. CMD:spec(playerid,params[])
  742. {
  743. if(PlayerInfo[playerid][pAdmin] < 1)
  744. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  745. new ID;
  746. if(sscanf(params,"d",ID))
  747. return SendClientMessage(playerid,Vermelho,"USE: /espiar [id]");
  748. if(!IsPlayerConnected(ID)) SendClientMessage(playerid,Vermelho,"O jogador não está conectado");
  749. else
  750. {
  751. if(!IsPlayerInAnyVehicle(ID))
  752. {
  753. TogglePlayerSpectating(playerid, 1);
  754. PlayerSpectatePlayer(playerid,ID);
  755. SetPlayerInterior(playerid,GetPlayerInterior(ID));
  756. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(ID));
  757. return 1;
  758. }
  759. else
  760. {
  761. TogglePlayerSpectating(playerid, 1);
  762. PlayerSpectateVehicle(playerid,GetPlayerVehicleID(ID));
  763. SetPlayerInterior(playerid,GetPlayerInterior(ID));
  764. SetPlayerVirtualWorld(playerid,GetPlayerVirtualWorld(ID));
  765. return 1;
  766. }
  767. }
  768. return 1;
  769. }
  770.  
  771. CMD:specoff(playerid,params[])
  772. {
  773. if(PlayerInfo[playerid][pAdmin] < 1)
  774. return SendClientMessage(playerid,Vermelho,"Você não tem permissão para isso!");
  775. TogglePlayerSpectating(playerid, 0);
  776. return 1;
  777. }
  778. //------------------------------------------------------------------------------
  779. public OnFilterScriptExit()
  780. {
  781. DOF2_Exit();
  782. return 1;
  783. }
  784. // Stocks : --------------------------------------------------------------------
  785. stock GetPlayerNameEx(playerid)
  786. {
  787. new N[25];
  788. GetPlayerName(playerid,N,sizeof(N));
  789. return N;
  790. }
  791. public SairCadeia(ID)
  792. {
  793. SpawnPlayer(ID);
  794. SetPlayerInterior(ID,0);
  795. SetPlayerVirtualWorld(ID,0);
  796. return 1;
  797. }
  798. stock SendAdminMessage(cor,string[])
  799. {
  800. for(new d; d < GetMaxPlayers(); ++d)
  801. {
  802. if(IsPlayerConnected(d) && PlayerInfo[d][pAdmin] > 0)
  803. {
  804. SendClientMessage(d,cor,string);
  805. }
  806. }
  807. }
  808. stock Load_Player_Stats(playerid)
  809. {
  810. PlayerInfo[playerid][pMatou] = DOF2_GetInt(USER_FILE(playerid),"Matou");
  811. PlayerInfo[playerid][pMorreu] = DOF2_GetInt(USER_FILE(playerid),"Morreu");
  812. PlayerInfo[playerid][pGrana] = DOF2_GetInt(USER_FILE(playerid),"Grana");
  813. PlayerInfo[playerid][pAdmin] = DOF2_GetInt(USER_FILE(playerid),"Admin");
  814. GivePlayerMoney(playerid,PlayerInfo[playerid][pGrana]);
  815. }
  816. stock USER_FILE(playerid)
  817. {
  818. new
  819. STR[ 128 ],
  820. P_NAME[ MAX_PLAYER_NAME ];
  821.  
  822. GetPlayerName( playerid, P_NAME, sizeof ( P_NAME ) );
  823. format( STR, sizeof ( STR ), USER_FILE_PATH, P_NAME);
  824. return
  825. STR;
  826. }
  827. stock SetPlayerMoney(playerid,money)
  828. {
  829. ResetPlayerMoney(playerid);
  830. GivePlayerMoney(playerid,money);
  831. }
  832. /*------------------------------------------------------------------------------
  833. ||||||| || ||||||||||||
  834. || || || || ||
  835. |||||| || || || ||
  836. || || || || ||
  837. || || || || ||
  838. || || || || ||
  839.  
  840. • Espero que tenham gostado do script!
  841. • Créditos: CODER BY: s4kuL
  842. • AJUDAS E TESTERS: ReDKiLL & Furia[]
  843. • SALVAMENTO: Forum SA-MP PT/BR
  844. • Obrigado a todos que me ajudaram.
  845. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement