Guest User

Untitled

a guest
Mar 18th, 2012
245
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 37.32 KB | None | 0 0
  1. /*
  2. TTTTTTTTT
  3. TTT
  4. TTT
  5. TTT
  6. TTT
  7. &
  8. AAAA DDDDDDDDDDD MMMMMM MMMMMMM IIIIII NNNNNNN NN
  9. A A DDDDDDDDDDDD MMMMMMMM MMMMMMMMM IIIIII NNN NN NN
  10. AAAAAAA DDD DDDDD MMMM MMM MMM MMMM IIIIII NNN NN NN
  11. AAAAAAAAA DDD DDDDD MMMM MMM v1.0 MMM MMMM IIIIII NNN NN NN
  12. AAAA AAAA DDDDDDDDDDDD MMMM MMMMMMMMM MMMM IIIIII NNN NN NN
  13. AAAA AAAAA DDDDDDDDDDD MMMM MMMMMMM MMMM IIIIII NNN NNNNN
  14. //==============================================================================
  15. NA POXIMA VERSÃO SERA TODOS COMANDOS E SISTEMAS PROPRIOS. NESTA SO TEM ALGUNS SIS-
  16. TEMAS PROPRIOS. AGUARDEM...
  17. --OQUE ELA SALVA?
  18. •Senha
  19. •Level de Admin
  20. •Dinheiro
  21. •Skin
  22. --LEVEIS DE ADMIN:
  23. Admin Level 1 = Temporario.
  24. Admin Level 2 = Fixo.
  25. Admin Level 3 = Moderador.
  26. Admin Level 4 = Administrador.
  27. Admin Level 4000 = Master.
  28. Admin Level 5000 = Dono.
  29. --COMANDOS:
  30. Para admins:
  31. ~>Admin Nivel 1+<~ | /trabalhar | /ir (id) | /trazer (id) | /reparar (id) | /av (texto) | /kickar (id)
  32. ~>Admin Nivel 2+<~ | /respawncarros | /kitadm | /darvida | /darcolete
  33. ~>Admin Nivel 3+<~ | /gmx | /ban |
  34. ~>Admin Master+<~ | /nrg | /sultan |
  35. ~>Admin Dono<~ | /daradmin |
  36. Para players:
  37. /relatorio (texto) | /registrar (senha) | /logar (senha) |
  38. /documentos | /ajuda |
  39. --CREDITOS
  40. Toni Santolia - Idealista e criador de toda a filterscript.
  41. Fear e Astro - Sistema de login, registro e comandos /trazer, /ir e /relatorio.
  42. Pedro_Miranda - Comandos /darvida, /darcolete. (http://forum.sa-mp.com/showthread.php?t=286713&highlight=%2Fdarvida)
  43. //==============================================================================
  44. */
  45. //==INCLUDES
  46. #include <a_samp>
  47. #include <dini>
  48. //==DEFINES
  49. #define DIALOG_STYLE_PASSWORD (3)
  50. //==CORES
  51. #define ROSA 0xF4007AAA
  52. #define CINZA 0xB4B5B7FF
  53. #define AZUL_ESCURO 0x0011A6AA
  54. #define BRANCO 0xFFFFFFAA
  55. #define AMARELO 0xFFFF00AA
  56. //==NEWS
  57. enum pInfo
  58. {
  59. pSenha[128],
  60. pAdmin,
  61. pGrana,
  62. pNascimento,
  63. pSkin,
  64. pInterior,
  65. pLocal,
  66. };
  67. new PlayerInfo[MAX_PLAYERS][pInfo];
  68. new gPlayerLogged[MAX_PLAYERS];
  69. new Trabalhando[MAX_PLAYERS];
  70. new Float:PosicaoTele[MAX_PLAYERS][6];
  71. new gstring[128];
  72. //==FORWARDS
  73. forward LogarPlayer(playerid,password[]);
  74. forward RegistrarPlayer(playerid, password[]);
  75. forward MensagemParaAdmin(COLOR,const string[],level);
  76. forward SalvarContas();
  77. forward UpdatedasContas(playerid);
  78. forward ini_GetKey( line[] );
  79. forward ini_GetValue( line[] );
  80. forward GameModeInitExitFunc();
  81. forward CorDoNome(playerid);
  82. //==OUTROS
  83. stock PlayerName(playerid)
  84. {
  85. new Name[MAX_PLAYER_NAME];
  86. GetPlayerName(playerid, Name, MAX_PLAYER_NAME);
  87. return Name;
  88. }
  89.  
  90. public OnFilterScriptInit()
  91. {
  92. print(" ");
  93. print(" ");
  94. print("|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|");
  95. print("|=FilterScript de Administração carregada=|");
  96. print("|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|");
  97. print("|-=-=-=-=-=-=By: Toni Santolia=-=-=-=-=-=-|");
  98. print("|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|");
  99. print(" ");
  100. print(" ");
  101. return 1;
  102. }
  103.  
  104. public OnFilterScriptExit()
  105. {
  106. print(" ");
  107. print(" ");
  108. print("|-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-|");
  109. print("|=-FilterScript de Administração descarregada-|");
  110. print("|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|");
  111. print("|-=-=-=-=-=-=-=By: Toni Santolia=-=-=-=-=-=-=-|");
  112. print("|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|");
  113. print(" ");
  114. print(" ");
  115. return 1;
  116. }
  117.  
  118. public MensagemParaAdmin(COLOR,const string[],level)
  119. {
  120. for(new i = 0; i < MAX_PLAYERS; i++)
  121. {
  122. if(IsPlayerConnected(i))
  123. {
  124. if (PlayerInfo[i][pAdmin] >= level)
  125. {
  126. SendClientMessage(i, COLOR, string);
  127. printf("%s", string);
  128. }
  129. }
  130. }
  131. return 1;
  132. }
  133.  
  134. public CorDoNome(playerid)
  135. {
  136. if(Trabalhando[playerid] == 1)
  137. {
  138. SetPlayerColor(playerid, ROSA);
  139. }
  140. if(Trabalhando[playerid] == 0)
  141. {
  142. SetPlayerColor(playerid, BRANCO);
  143. }
  144. }
  145. public OnGameModeInit()
  146. {
  147. UsePlayerPedAnims();
  148. SetTimer("SalvarContas", 1800000, 1);
  149. return 1;
  150. }
  151.  
  152. public OnPlayerConnect(playerid)
  153. {
  154. new log[35];
  155. new sendername[MAX_PLAYER_NAME];
  156. gPlayerLogged[playerid] = 0;
  157. Trabalhando[playerid] = 0;
  158. PlayerInfo[playerid][pInterior] = 0;
  159. PlayerInfo[playerid][pLocal] = 255;
  160. GetPlayerName(playerid, sendername, sizeof(sendername));
  161. format(log,sizeof log,"%s.ini",sendername);
  162. if(PlayerInfo[playerid][pAdmin] >= 1)
  163. {
  164. SendClientMessage(playerid, AMARELO, "Voce logou como administrador!");
  165. }
  166. if(!dini_Exists(log))
  167. {
  168. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "=-= FilterScript TAdmin - Registrando =-=", "Olá, vejo que é a sua primeira vez em nosso serivodr\nPor Favor, digite sua senha a baixo para que possa\nse registrar e logo em seguida logar em nosso servidor\n\n", "Registrar", "Esperar");
  169. return 1;
  170. }
  171. else
  172. {
  173. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "=-= FilterScript TAdmin - Logando =-=", "Seja Bem Vindo novamente ao nosso servidor\nDigite sua senha logo abaixo para continuar com\nsua diversão no Brasil CityStar's\n\n", "Logar", "Esperar");
  174. }
  175. return 1;
  176. }
  177.  
  178. public OnPlayerDisconnect(playerid)
  179. {
  180. UpdatedasContas(playerid);
  181. return 1;
  182. }
  183.  
  184. public GameModeInitExitFunc()
  185. {
  186. new string[128];
  187. format(string, sizeof(string), "Aguarde, isso e um gmx, jaja taremos de volta.");
  188. for(new i = 0; i < MAX_PLAYERS; i++)
  189. {
  190. if(IsPlayerConnected(i))
  191. {
  192. GameTextForPlayer(i, string, 4000, 5);
  193. SetPlayerCameraPos(i,1460.0, -1324.0, 287.2);
  194. SetPlayerCameraLookAt(i,1374.5, -1291.1, 239.0);
  195. UpdatedasContas(i);
  196. GameModeExit();
  197. gPlayerLogged[i] = 0;
  198. }
  199. }
  200. return 1;
  201. }
  202.  
  203. public RegistrarPlayer(playerid, password[])
  204. {
  205. if(IsPlayerConnected(playerid))
  206. {
  207. new string3[32];
  208. new playername3[MAX_PLAYER_NAME];
  209. GetPlayerName(playerid, playername3, sizeof(playername3));
  210. format(string3, sizeof(string3), "%s.ini", playername3);
  211. new File: hFile = fopen(string3, io_write);
  212. if (hFile)
  213. {
  214. strmid(PlayerInfo[playerid][pSenha], password, 0, strlen(password), 255);
  215. new var[32];
  216. format(var, 32, "Key=%s\n", PlayerInfo[playerid][pSenha]);fwrite(hFile, var);
  217. PlayerInfo[playerid][pGrana] = GetPlayerMoney(playerid);
  218. format(var, 32, "Administrador=0\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  219. format(var, 32, "Dinheiro=150000\n",PlayerInfo[playerid][pGrana]);fwrite(hFile, var);
  220. format(var, 32, "Nascimento=0\n",PlayerInfo[playerid][pNascimento]);fwrite(hFile, var);
  221. format(var, 32, "Skin=23\n",PlayerInfo[playerid][pSkin]);fwrite(hFile, var);
  222. fclose(hFile);
  223. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "=-= FilterScript TAdmin - Logando =-=", "Seja Bem Vindo novamente ao nosso servidor\nDigite sua senha logo abaixo para continuar com\nsua diversão no Brasil CityStar's\n\n", "Logar", "Esperar");
  224. }
  225. }
  226. return 1;
  227. }
  228.  
  229. public SalvarContas()
  230. {
  231. for(new i = 0; i < MAX_PLAYERS; i++)
  232. {
  233. if(IsPlayerConnected(i))
  234. {
  235. UpdatedasContas(i);
  236. }
  237. }
  238. }
  239.  
  240. public UpdatedasContas(playerid)
  241. {
  242. if(IsPlayerConnected(playerid))
  243. {
  244. if(gPlayerLogged[playerid])
  245. {
  246. new string3[32];
  247. new playername3[MAX_PLAYER_NAME];
  248. GetPlayerName(playerid, playername3, sizeof(playername3));
  249. format(string3, sizeof(string3), "%s.ini", playername3);
  250. new File: hFile = fopen(string3, io_write);
  251. if (hFile)
  252. {
  253. new var[32];
  254. format(var, 32, "Key=%s\n", PlayerInfo[playerid][pSenha]);fwrite(hFile, var);
  255. PlayerInfo[playerid][pGrana] = GetPlayerMoney(playerid);
  256. format(var, 32, "Administrador=%s\n",PlayerInfo[playerid][pAdmin]);fwrite(hFile, var);
  257. format(var, 32, "Dinheiro=%s\n",PlayerInfo[playerid][pGrana]);fwrite(hFile, var);
  258. format(var, 32, "Nascimento=%s\n",PlayerInfo[playerid][pNascimento]);fwrite(hFile, var);
  259. format(var, 32, "Skin=%s\n",PlayerInfo[playerid][pSkin]);fwrite(hFile, var);
  260. fclose(hFile);
  261. }
  262. }
  263. }
  264. return 1;
  265. }
  266.  
  267. public LogarPlayer(playerid,password[])
  268. {
  269. new string2[64];
  270. new playername2[MAX_PLAYER_NAME];
  271. GetPlayerName(playerid, playername2, sizeof(playername2));
  272. format(string2, sizeof(string2), "%s.ini", playername2);
  273. new File: UserFile = fopen(string2, io_read);
  274. if ( UserFile )
  275. {
  276. new PassData[256];
  277. new keytmp[256], valtmp[256];
  278. fread( UserFile , PassData , sizeof( PassData ) );
  279. keytmp = ini_GetKey( PassData );
  280. if( strcmp( keytmp , "Key" , true ) == 0 )
  281. {
  282. valtmp = ini_GetValue( PassData );
  283. strmid(PlayerInfo[playerid][pSenha], valtmp, 0, strlen(valtmp)-1, 255);
  284. }
  285. if(strcmp(PlayerInfo[playerid][pSenha],password, true ) == 0 )
  286. {
  287. new key[ 256 ] , val[ 256 ];
  288. new Data[ 256 ];
  289. while ( fread( UserFile , Data , sizeof( Data ) ) )
  290. {
  291. key = ini_GetKey( Data );
  292. if( strcmp( key , "Administrador" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
  293. if( strcmp( key , "Dinheiro" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pGrana] = strval( val ); }
  294. if( strcmp( key , "Nascimento" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pNascimento] = strval( val ); }
  295. if( strcmp( key , "Skin" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pSkin] = strval( val ); }
  296. }
  297. fclose(UserFile);
  298. }
  299. else
  300. {
  301. SendClientMessage(playerid, BRANCO, "SERVER: Senha incorreta.");
  302. SendClientMessage(playerid, CINZA, "use: /logar(senha)");
  303. fclose(UserFile);
  304. return 1;
  305. }
  306. SpawnPlayer(playerid);
  307. SetSpawnInfo(playerid, PlayerInfo[playerid][pNascimento], PlayerInfo[playerid][pSkin],0.0,0.0,0.0,0,0,0,0,0,0,0);
  308. }
  309. return 1;
  310. }
  311.  
  312. public OnPlayerSpawn(playerid)
  313. {
  314. ResetPlayerMoney(playerid);
  315. GivePlayerMoney(playerid,PlayerInfo[playerid][pGrana]);
  316. SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
  317. if(PlayerInfo[playerid][pNascimento] == 0)
  318. {
  319. SetPlayerPos(playerid, 1210.0569, -1750.2858, 13.5938);//Civil
  320. }
  321. return 1;
  322. }
  323.  
  324. public OnPlayerDeath(playerid, killerid, reason)
  325. {
  326. return 1;
  327. }
  328.  
  329. public OnPlayerText(playerid, text[])
  330. {
  331. new wiiStr[128], wiiN[MAX_PLAYER_NAME];
  332. GetPlayerName(playerid, wiiN, sizeof( wiiN ));
  333. format(wiiStr, sizeof( wiiStr ), "%s (%d) diz: %s", wiiN, playerid, text);
  334. SendClientMessageToAll(-1, wiiStr);
  335. return false;
  336. }
  337.  
  338. public OnPlayerCommandText(playerid, cmdtext[])
  339. {
  340. new giveplayerid;
  341. new giveplayer[MAX_PLAYER_NAME];
  342. new tmp[40], cmd[20], idx, string[128], sendername[MAX_PLAYER_NAME];
  343. cmd=strtok(cmdtext,idx);
  344. new playername[MAX_PLAYER_NAME];
  345. new plname[MAX_PLAYER_NAME];
  346. if(!strcmp(cmd, "/relatorio", true))
  347. {
  348. if(IsPlayerConnected(playerid))
  349. {
  350. GetPlayerName(playerid, sendername, sizeof(sendername));
  351. new length = strlen(cmdtext);
  352. while ((idx < length) && (cmdtext[idx] <= ' '))
  353. {
  354. idx++;
  355. }
  356. new offset = idx;
  357. new result[64];
  358. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  359. {
  360. result[idx - offset] = cmdtext[idx];
  361. idx++;
  362. }
  363. result[idx - offset] = EOS;
  364. if(!strlen(result))
  365. {
  366. SendClientMessage(playerid, CINZA, "USE: /relatorio (texto)");
  367. return 1;
  368. }
  369. format(string, sizeof(string), "Relatório de %s(%d): %s", sendername, playerid, (result));
  370. MensagemParaAdmin(0xFFFF66FF,string,1);
  371. SendClientMessage(playerid, AMARELO, "Seu relatório foi enviado aos admins, aguarde uma resposta...");
  372. }
  373. return 1;
  374. }
  375. //==============================================================================
  376. if(!strcmp("/nrg", cmdtext, true))
  377. {
  378. static
  379. Float:x,
  380. Float:y,
  381. Float:z,
  382. Float:a;
  383. GetPlayerPos(playerid, x, y, z), GetPlayerFacingAngle(playerid, a);
  384. return LinkVehicleToInterior(CreateVehicle(522,x,y,z,a,-1,-1,60), GetPlayerInterior(playerid));
  385. }
  386. //==============================================================================
  387. if(!strcmp("/sultan", cmdtext, true))
  388. {
  389. static
  390. Float:x,
  391. Float:y,
  392. Float:z,
  393. Float:a;
  394. GetPlayerPos(playerid, x, y, z), GetPlayerFacingAngle(playerid, a);
  395. return LinkVehicleToInterior(CreateVehicle(560,x,y,z,a,-1,-1,60), GetPlayerInterior(playerid));
  396. }
  397. //==============================================================================
  398. if(strcmp(cmd, "/daradmin", true) == 0)
  399. {
  400. if(IsPlayerConnected(playerid))
  401. {
  402. tmp = strtok(cmdtext, idx);
  403. if(!strlen(tmp))
  404. {
  405. SendClientMessage(playerid, CINZA, "USE: /daradmin [Player ID / Parte do Nick] [level(1-3)]");
  406. return 1;
  407. }
  408. new para1;
  409. new level;
  410. para1 = playerid;
  411. tmp = strtok(cmdtext, idx);
  412. level = strval(tmp);
  413. if (PlayerInfo[playerid][pAdmin] == 5000)
  414. {
  415. if(IsPlayerConnected(para1))
  416. {
  417. if(para1 != INVALID_PLAYER_ID)
  418. {
  419. GetPlayerName(para1, giveplayer, sizeof(giveplayer));
  420. GetPlayerName(playerid, sendername, sizeof(sendername));
  421. PlayerInfo[para1][pAdmin] = level;
  422. printf("Admin Comando: O Admin (%s) promoveu (%s) para o level (%d) de Admin.", sendername, giveplayer, level);
  423. format(string, sizeof(string), " Você foi promovido a Level (%d) de admin por (%s)", level, sendername);
  424. SendClientMessage(para1, AMARELO, string);
  425. format(string, sizeof(string), " Você promoveu (%s) para Level (%d) de admin.", giveplayer,level);
  426. SendClientMessage(playerid, AMARELO, string);
  427. }
  428. }
  429. }
  430. else
  431. {
  432. SendClientMessage(playerid, CINZA, " Você não está autorizado a usar este comando!");
  433. }
  434. }
  435. return 1;
  436. }
  437. //==============================================================================
  438. if(strcmp(cmd, "/kickar", true) == 0)
  439. {
  440. if(IsPlayerConnected(playerid))
  441. {
  442. tmp = strtok(cmdtext, idx);
  443. if(!strlen(tmp))
  444. {
  445. SendClientMessage(playerid, CINZA, "USE: /kickar [Player ID/Parte do Nick] [Razão]");
  446. return 1;
  447. }
  448. giveplayerid = playerid;
  449. if (PlayerInfo[playerid][pAdmin] >= 1)
  450. {
  451. if(IsPlayerConnected(giveplayerid))
  452. {
  453. if(giveplayerid != INVALID_PLAYER_ID)
  454. {
  455. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  456. GetPlayerName(playerid, sendername, sizeof(sendername));
  457. new length = strlen(cmdtext);
  458. while ((idx < length) && (cmdtext[idx] <= ' '))
  459. {
  460. idx++;
  461. }
  462. new offset = idx;
  463. new result[64];
  464. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  465. {
  466. result[idx - offset] = cmdtext[idx];
  467. idx++;
  468. }
  469. result[idx - offset] = EOS;
  470. if(!strlen(result))
  471. {
  472. SendClientMessage(playerid, CINZA, "USE: /kickar [Player ID/Parte do Nick] [Razão]");
  473. return 1;
  474. }
  475. new year, month,day;
  476. getdate(year, month, day);
  477. format(string, sizeof(string), "AdmCmd: %s foi kickado pelo Admin %s, Razão: %s (%d-%d-%d)", giveplayer, sendername, (result),month,day,year);
  478. Kick(giveplayerid);
  479. format(string, sizeof(string), "AdmCmd: %s foi kickado pelo Admin %s, Razão: %s", giveplayer, sendername, (result));
  480. SendClientMessageToAll(AMARELO, string);
  481. return 1;
  482. }
  483. }
  484. }
  485. else
  486. {
  487. format(string, sizeof(string), " Este player não esta ativo.");
  488. SendClientMessage(playerid, CINZA, string);
  489. }
  490. }
  491. return 1;
  492. }
  493. //==============================================================================
  494. if(strcmp(cmd,"/ban",true) == 0)
  495. {
  496. if(PlayerInfo[playerid][pAdmin] >= 1)
  497. {
  498. tmp = strtok(cmdtext, idx);
  499. new banido = strval(tmp);
  500. new length = strlen(cmdtext);
  501. while ((idx < length) && (cmdtext[idx] <= ' '))
  502. {
  503. idx++;
  504. }
  505. new offset = idx;
  506. new result[256];
  507. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  508. {
  509. result[idx - offset] = cmdtext[idx];
  510. idx++;
  511. }
  512. if(!strlen(result))
  513. {
  514. SendClientMessage(playerid,BRANCO,"Use /ban (ID) (Motivo)");
  515. return 1;
  516. }
  517. new Nome[MAX_PLAYER_NAME];
  518. GetPlayerName(banido,Nome,sizeof(Nome));
  519. ShowPlayerDialog(playerid, 666, DIALOG_STYLE_MSGBOX, "†B†A†N†I†D†O†", "Você esta banido para sempre deste servidor\nse acha que foi um engano acesse nosso forum\n FORUM: Ponha seu forum akie", "Ok!", "");
  520. format(string,sizeof(string),"Admin Aviso: O Player %s Foi Banido Pelo Admin %s, Motivo: %s",Nome,PlayerName(playerid),result);
  521. SendClientMessageToAll(AMARELO,string);
  522. Ban(banido);
  523. }
  524. return 1;
  525. }
  526. //==============================================================================
  527. if(!strcmp(cmd, "/logar", true))
  528. {
  529. if(IsPlayerConnected(playerid))
  530. {
  531. new tmppass[64];
  532. if(gPlayerLogged[playerid] == 1)
  533. {
  534. SendClientMessage(playerid, BRANCO, "SERVER: Você já está logado.");
  535. return 1;
  536. }
  537. tmp = strtok(cmdtext, idx);
  538. if(!strlen(tmp))
  539. {
  540. SendClientMessage(playerid, CINZA, "USE: /logar [senha]");
  541. return 1;
  542. }
  543. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  544. LogarPlayer(playerid,tmppass);
  545. }
  546. return 1;
  547. }
  548. //==============================================================================
  549. if(strcmp(cmd, "/av", true) == 0)
  550. {
  551. if(IsPlayerConnected(playerid))
  552. {
  553. if(PlayerInfo[playerid][pAdmin] == 0)
  554. {
  555. SendClientMessage(playerid, 0xAFAFAFAA, " Você não é um Admin!");
  556. return 1;
  557. }
  558. if(Trabalhando[playerid] == 1)
  559. {
  560. SendClientMessage(playerid, CINZA, "Você não está trabalhando! (/trabalhar)");
  561. return 1;
  562. }
  563. GetPlayerName(playerid, sendername, sizeof(sendername));
  564. new length = strlen(cmdtext);
  565. while ((idx < length) && (cmdtext[idx] <= ' '))
  566. {
  567. idx++;
  568. }
  569. new offset = idx;
  570. new result[64];
  571. while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
  572. {
  573. result[idx - offset] = cmdtext[idx];
  574. idx++;
  575. }
  576. result[idx - offset] = EOS;
  577. if(!strlen(result))
  578. {
  579. SendClientMessage(playerid, CINZA, "USE: /av (texto)");
  580. return 1;
  581. }
  582. SendClientMessageToAll(BRANCO, "|=-=-=-=-=ADMINISTRAÇÃO=-=-=-=-=|");
  583. format(string, sizeof(string), "Admin (%s): %s", sendername, result);
  584. SendClientMessageToAll(0x33FF00FF, string);
  585. }
  586. return 1;
  587. }
  588. //==============================================================================
  589. if(strcmp(cmdtext, "/respawncarros", true) == 0)
  590. {
  591. if(PlayerInfo[playerid][pAdmin] >= 2)
  592. {
  593. new str[40], nome[24], bool:vehicle[MAX_VEHICLES];
  594. GetPlayerName(playerid, nome, 24);
  595. format(str, 40, "O Admin %s Respawnou os veiculos", nome);
  596. SendClientMessageToAll(-1, str);
  597. for(new j = 1; GetVehicleModel(j); ++j)
  598. {
  599. vehicle[j] = false;
  600. for(new i, p = GetMaxPlayers(); i < p; ++i)
  601. {
  602. if(!IsPlayerInAnyVehicle(i) || !IsPlayerConnected(i)) continue;
  603. if(IsPlayerInVehicle(i, j))
  604. {
  605. vehicle[j] = true;
  606. break;
  607. }
  608. }
  609. if(!vehicle[j]) SetVehicleToRespawn(j);
  610. }
  611. }
  612. return 1;
  613. }
  614. //==============================================================================
  615. if(!strcmp("/ajuda", cmdtext, true))
  616. {
  617. SendClientMessage(playerid, AMARELO, "Ajuda T-Admin v1.0:");
  618. SendClientMessage(playerid, CINZA, "Player: /registrar • /logar • /admins");
  619. SendClientMessage(playerid, CINZA, "Player: /relatorio • /ajuda • /documentos");
  620. }
  621. //==============================================================================
  622. if(!strcmp(cmd, "/kitadm", true))
  623. {
  624. if(PlayerInfo[playerid][pAdmin] >= 2)
  625. {
  626. GivePlayerWeapon(playerid, 46, 1);
  627. GivePlayerWeapon(playerid, 24, 299);
  628. GivePlayerWeapon(playerid, 31, 999);
  629. GivePlayerWeapon(playerid, 29, 999);
  630. GivePlayerWeapon(playerid, 25, 999);
  631. GivePlayerWeapon(playerid, 4, 1);
  632. GivePlayerWeapon(playerid, 34, 999);
  633. GivePlayerWeapon(playerid, 43, 999);
  634. GivePlayerWeapon(playerid, 17, 49);
  635. GivePlayerWeapon(playerid, 42, 1999);
  636. SetPlayerArmour(playerid, 100);
  637. SetPlayerHealth(playerid, 100);
  638. }
  639. return 1;
  640. }
  641. //==============================================================================
  642. if(!strcmp(cmd, "/registrar", true))
  643. {
  644. if(IsPlayerConnected(playerid))
  645. {
  646. if(gPlayerLogged[playerid] == 1)
  647. {
  648. SendClientMessage(playerid, BRANCO, "SERVER: Você já está registrado.");
  649. return 1;
  650. }
  651. GetPlayerName(playerid, sendername, sizeof(sendername));
  652. format(string, sizeof(string), "%s.ini", sendername);
  653. new File: hFile = fopen(string, io_read);
  654. if (hFile)
  655. {
  656. SendClientMessage(playerid, AMARELO, "Este Nick já está registrado, por favor, escolha outro.");
  657. fclose(hFile);
  658. return 1;
  659. }
  660. new tmppass[64];
  661. tmp = strtok(cmdtext, idx);
  662. if(!strlen(tmp))
  663. {
  664. SendClientMessage(playerid, CINZA, "Use: /registrar [senha]");
  665. return 1;
  666. }
  667. strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
  668. RegistrarPlayer(playerid,tmppass);
  669. }
  670. return 1;
  671. }
  672. //==============================================================================
  673. if (strcmp("/documentos", cmdtext, true, 10) == 0)
  674. {
  675. if(IsPlayerConnected(playerid))
  676. {
  677. RG(playerid);
  678. }
  679. return 1;
  680. }
  681. //==============================================================================
  682. if (strcmp("/admins", cmdtext, true, 10) == 0)
  683. {
  684. if(IsPlayerConnected(playerid))
  685. {
  686. new Modo[20];
  687. SendClientMessage(playerid, ROSA, "|=-=-=-=-=ADMINISTRAÇÃO=-=-=-=-=|");
  688. if(Trabalhando[playerid] == 0)
  689. {
  690. Modo = "Jogo";
  691. }
  692. if(Trabalhando[playerid] == 1)
  693. {
  694. Modo = "Trabalho";
  695. }
  696. if(PlayerInfo[playerid][pAdmin] == 1)
  697. {
  698. GetPlayerName(playerid, sendername, sizeof(sendername));
  699. format(string, 256, "Admin: (%s) Nivel: (Temporario) Modo: (%s)", sendername, Modo);
  700. SendClientMessage(playerid, CINZA, string);
  701. }
  702. if(PlayerInfo[playerid][pAdmin] == 2)
  703. {
  704. GetPlayerName(playerid, sendername, sizeof(sendername));
  705. format(string, 256, "Admin: (%s) Nivel: (Fixo) Modo: (%s)", sendername, Modo);
  706. SendClientMessage(playerid, CINZA, string);
  707. }
  708. if(PlayerInfo[playerid][pAdmin] == 3)
  709. {
  710. GetPlayerName(playerid, sendername, sizeof(sendername));
  711. format(string, 256, "Admin: (%s) Nivel: (Moderador) Modo: (%s)", sendername, Modo);
  712. SendClientMessage(playerid, CINZA, string);
  713. }
  714. if(PlayerInfo[playerid][pAdmin] == 4)
  715. {
  716. GetPlayerName(playerid, sendername, sizeof(sendername));
  717. format(string, 256, "Admin: (%s) Nivel: (Administrador) Modo: (%s)", sendername, Modo);
  718. SendClientMessage(playerid, CINZA, string);
  719. }
  720. if(PlayerInfo[playerid][pAdmin] == 4000)
  721. {
  722. GetPlayerName(playerid, sendername, sizeof(sendername));
  723. format(string, 256, "Admin: (%s) Nivel: (Master) Modo: (%s)", sendername, Modo);
  724. SendClientMessage(playerid, CINZA, string);
  725. }
  726. if(PlayerInfo[playerid][pAdmin] == 5000)
  727. {
  728. GetPlayerName(playerid, sendername, sizeof(sendername));
  729. format(string, 256, "Admin: (%s) Nivel: (Dono) Modo: (%s)", sendername, Modo);
  730. SendClientMessage(playerid, CINZA, string);
  731. }
  732. }
  733. return 1;
  734. }
  735. //==============================================================================
  736. if (strcmp("/ajudaadmin", cmdtext, true, 10) == 0)
  737. {
  738. if(IsPlayerConnected(playerid))
  739. {
  740. if(PlayerInfo[playerid][pAdmin] >= 1)
  741. {
  742. ShowPlayerDialog(playerid, 6666, DIALOG_STYLE_MSGBOX, "{FFFF00}~>Comandos da Administração<~", "{FFFF00}~>Admin Nivel 1+<~ | /trabalhar | /ir (id) | /trazer (id) | /reparar (id) | /av (texto) | /kickar (id) (motivo)\n~>Admin Nivel 2+<~ | /respawncarros | /kitadm | /darvida | /darcolete |\n~>Admin Nivel 3+<~ | /ban | /gmx |\n~>Admin Master<~ | /nrg | /sultan |\n~>Admin Dono<~ | /daradmin |", "Ok!", "");
  743. }
  744. }
  745. return 1;
  746. }
  747.  
  748. //==============================================================================
  749. if(strcmp(cmd, "/gmx", true) == 0)
  750. {
  751. if(IsPlayerConnected(playerid))
  752. {
  753. if (PlayerInfo[playerid][pAdmin] >= 3)
  754. {
  755. GameModeInitExitFunc();
  756. }
  757. if(Trabalhando[playerid] < 1)
  758. {
  759. SendClientMessage(playerid, CINZA, "Você não está trabalhando! (/trabalhar)");
  760. return 1;
  761. }
  762. else
  763. {
  764. SendClientMessage(playerid, CINZA, "Voce Deve Ser Admin Level 3 Para Dar Gmx.");
  765. }
  766. }
  767. return 1;
  768. }
  769. //==============================================================================
  770. if(strcmp(cmd,"/darvida",true) == 0)
  771. {
  772. if(PlayerInfo[playerid][pAdmin] >= 2)
  773. {
  774. tmp = strtok(cmdtext,idx);
  775. if(!strlen(tmp))
  776. {
  777. SendClientMessage(playerid,BRANCO,"Use /DarVida [ID][Vida]");
  778. return 1;
  779. }
  780. new vidado = strval(tmp);
  781. new vidadoname[MAX_PLAYER_NAME];
  782. GetPlayerName(vidado,vidadoname,sizeof(vidadoname));
  783. tmp = strtok(cmdtext,idx);
  784. if(!strlen(tmp))
  785. {
  786. SendClientMessage(playerid,BRANCO,"Use /DarVida [ID][Vida]");
  787. return 1;
  788. }
  789. new vida = strval(tmp);
  790. if(vida < 0 || vida > 100)
  791. {
  792. SendClientMessage(playerid,BRANCO,"Vida Mínima 0 - Máxima 100");
  793. return 1;
  794. }
  795. SetPlayerHealth(vidado,vida);
  796. }
  797. return 1;
  798. }
  799. //==============================================================================
  800. if(strcmp(cmd,"/darcolete",true) == 0)
  801. {
  802. if(PlayerInfo[playerid][pAdmin] >= 2)
  803. {
  804. tmp = strtok(cmdtext,idx);
  805. if(!strlen(tmp))
  806. {
  807. SendClientMessage(playerid,BRANCO,"Use /Darcolete [ID][Colete]");
  808. return 1;
  809. }
  810. new coletado = strval(tmp);
  811. new coletadoname[MAX_PLAYER_NAME];
  812. GetPlayerName(coletado,coletadoname,sizeof(coletadoname));
  813. tmp = strtok(cmdtext,idx);
  814. if(!strlen(tmp))
  815. {
  816. SendClientMessage(playerid,BRANCO,"Use /DarColete [ID][Colete]");
  817. return 1;
  818. }
  819. new colete = strval(tmp);
  820. if(colete < 0 || colete > 100)
  821. {
  822. SendClientMessage(playerid,BRANCO,"Colete Mínimo 0 - Máximo 100");
  823. return 1;
  824. }
  825. SetPlayerArmour(coletado,colete);
  826. }
  827. return 1;
  828. }
  829. //==============================================================================
  830. if(strcmp(cmdtext, "/trabalhar", true) == 0)
  831. {
  832. if(PlayerInfo[playerid][pAdmin] >= 1)
  833. {
  834. if(Trabalhando[playerid] > 0)
  835. {
  836. Trabalhando[playerid] = 0;
  837. GetPlayerName(playerid, sendername, sizeof(sendername));
  838. SendClientMessageToAll(BRANCO, "|=-=-=-=-=ADMINISTRAÇÃO=-=-=-=-=|");
  839. format(string, 256, "O Admin %s está em modo jogo, para mais informações use: /admins.", sendername);
  840. SendClientMessageToAll(AZUL_ESCURO, string);
  841. CorDoNome(playerid);
  842. }
  843. else
  844. {
  845. Trabalhando[playerid] = 1;
  846. GetPlayerName(playerid, sendername, sizeof(sendername));
  847. SendClientMessageToAll(BRANCO, "|=-=-=-=-=ADMINISTRAÇÃO=-=-=-=-=|");
  848. format(string, 256, "O Admin %s está em modo Trabalho, para mais informações use: /admins.", sendername);
  849. SendClientMessageToAll(AZUL_ESCURO, string);
  850. CorDoNome(playerid);
  851. }
  852. }
  853. else
  854. {
  855. SendClientMessage(playerid, BRANCO, "Voce não faz parte da administração deste servidor.");
  856. }
  857. return 1;
  858. }
  859. //==============================================================================
  860. if(strcmp(cmd, "/trazer", true) == 0)
  861. {
  862. if(IsPlayerConnected(playerid))
  863. {
  864. tmp = strtok(cmdtext, idx);
  865. if(!strlen(tmp))
  866. {
  867. SendClientMessage(playerid, CINZA, "USE: /trazer (id)");
  868. return 1;
  869. }
  870. new Float:plocx,Float:plocy,Float:plocz;
  871. new plo, world;
  872. plo = playerid;
  873. world = GetPlayerVirtualWorld(playerid);
  874. if (IsPlayerConnected(plo))
  875. {
  876. if(plo != INVALID_PLAYER_ID)
  877. {
  878. if (PlayerInfo[playerid][pAdmin] >= 1)
  879. {
  880. if(Trabalhando[playerid] == 1)
  881. {
  882. SendClientMessage(playerid, CINZA, "Você Não se encontra em modo trabalho, então use: /trabalhar");
  883. return 1;
  884. }
  885. GetPlayerPos(playerid, plocx, plocy, plocz);
  886. if(PlayerInfo[playerid][pInterior] > 0)
  887. {
  888. SetPlayerInterior(plo,PlayerInfo[playerid][pInterior]);
  889. PlayerInfo[plo][pInterior] = PlayerInfo[playerid][pInterior];
  890. PlayerInfo[plo][pLocal] = PlayerInfo[playerid][pLocal];
  891. }
  892. if(PlayerInfo[playerid][pInterior] == 0)
  893. {
  894. SetPlayerInterior(plo,0);
  895. }
  896. if(plocz > 930.0 && PlayerInfo[playerid][pInterior] == 0)
  897. {
  898. SetPlayerInterior(plo,1);
  899. PlayerInfo[plo][pInterior] = 1;
  900. }
  901. if (GetPlayerState(plo) == 2)
  902. {
  903. PosicaoTele[plo][0] = 0.0;
  904. PosicaoTele[plo][1] = 0.0;
  905. new tmpcar = GetPlayerVehicleID(plo);
  906. SetVehiclePos(tmpcar, plocx, plocy+4, plocz); LinkVehicleToInterior(tmpcar, 0);
  907. SetVehicleVirtualWorld(tmpcar,world);
  908. }
  909. else
  910. {
  911. SetPlayerPos(plo,plocx,plocy+2, plocz);
  912. }
  913. SetPlayerVirtualWorld(plo,world);
  914. SendClientMessage(plo, 0x33FF00FF, "Você foi teleportado!");
  915. }
  916. else
  917. {
  918. SendClientMessage(playerid, CINZA, " Você não está autorizado a usar este comando!");
  919. }
  920. }
  921. }
  922. else
  923. {
  924. SendClientMessage(playerid, CINZA, " Você não faz parte da administração deste servidor!");
  925. }
  926. }
  927. return 1;
  928. }
  929. //==============================================================================
  930. if(strcmp(cmd, "/reparar", true) == 0)
  931. {
  932. if(PlayerInfo[playerid][pAdmin] >= 1)
  933. {
  934. if(Trabalhando[playerid] == 1)
  935. {
  936. SendClientMessage(playerid, CINZA, "Voce não esta modo trabalho use: /trabalhar");
  937. }
  938. new PlayerB;
  939. tmp = strtok(cmdtext, idx);
  940. if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "Uso: /Reparar (id)");
  941. PlayerB = strval(tmp);
  942. if(!IsPlayerConnected(PlayerB)) return SendClientMessage(playerid, 0xFFFFFFFF, "Este jogador não está conectado");
  943. if(!IsPlayerInAnyVehicle(PlayerB)) return SendClientMessage(playerid, 0xFFFFFFFF, "Este jogador não está em um veiculo");
  944. new DROGA = GetPlayerVehicleID(PlayerB);
  945. SetVehicleHealth(DROGA, 1000.0);
  946. RepairVehicle(DROGA);
  947. SendClientMessage(playerid, 0xFFFFFFFF, "Veiculo reparado");
  948. SendClientMessage(PlayerB, 0xFFFFFFFF, "Seu veiculo foi reparado");
  949. }
  950. else
  951. {
  952. SendClientMessage(playerid, CINZA, "Você não faz parte da administração deste servidor.");
  953. }
  954. return 1;
  955. }
  956. //==============================================================================
  957. if(strcmp(cmd, "/ir", true) == 0)
  958. {
  959. if(IsPlayerConnected(playerid))
  960. {
  961. tmp = strtok(cmdtext, idx);
  962. if(!strlen(tmp))
  963. {
  964. SendClientMessage(playerid, CINZA, "USE: /ir (id)");
  965. return 1;
  966. }
  967. new Float:plocx,Float:plocy,Float:plocz;
  968. new plo, world;
  969. plo = playerid;
  970. world = GetPlayerVirtualWorld(plo);
  971. if (IsPlayerConnected(plo))
  972. {
  973. if(plo != INVALID_PLAYER_ID)
  974. {
  975. if (PlayerInfo[playerid][pAdmin] >= 1)
  976. {
  977. if(Trabalhando[playerid] == 1)
  978. {
  979. SendClientMessage(playerid, CINZA, "Você Não se encontra em modo trabalho, então use: /trabalhar");
  980. return 1;
  981. }
  982. GetPlayerPos(plo, plocx, plocy, plocz);
  983. if(PlayerInfo[plo][pInterior] > 0)
  984. {
  985. SetPlayerInterior(playerid,PlayerInfo[plo][pInterior]);
  986. PlayerInfo[playerid][pInterior] = PlayerInfo[plo][pInterior];
  987. PlayerInfo[playerid][pLocal] = PlayerInfo[plo][pLocal];
  988. }
  989. if(PlayerInfo[plo][pInterior] == 0)
  990. {
  991. SetPlayerInterior(playerid,0);
  992. }
  993. if(plocz > 530.0 && PlayerInfo[plo][pInterior] == 0)
  994. {
  995. SetPlayerInterior(playerid,1);
  996. PlayerInfo[playerid][pInterior] = 1;
  997. }
  998. if (GetPlayerState(playerid) == 2)
  999. {
  1000. new tmpcar = GetPlayerVehicleID(playerid);
  1001. SetVehiclePos(tmpcar, plocx, plocy+4, plocz); LinkVehicleToInterior(tmpcar, 0);
  1002. PosicaoTele[playerid][0] = 0.0;PosicaoTele[playerid][1] = 0.0;
  1003. }
  1004. else
  1005. {
  1006. SetPlayerPos(playerid,plocx,plocy+2, plocz);
  1007. }
  1008. SetPlayerVirtualWorld(playerid, world);
  1009. SendClientMessage(playerid, 0x33FF00FF, "Você foi teleportado!");
  1010. GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
  1011. GetPlayerName(plo, plname, MAX_PLAYER_NAME);
  1012. if(Trabalhando[playerid] == 1)
  1013. {}
  1014. else { format(string, sizeof(string), "O Administrador %s Foi Até %s.",playername,plname); }
  1015. }
  1016. else
  1017. {
  1018. SendClientMessage(playerid, CINZA, " Você não faz parte da administração deste servidor!");
  1019. }
  1020. }
  1021. }
  1022. else
  1023. {
  1024. SendClientMessage(playerid, CINZA, " Este player não esta logado em nosso servidor.");
  1025. }
  1026. }
  1027. return 1;
  1028. }
  1029. //==============================================================================
  1030. return 0;
  1031. }
  1032. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1033. {
  1034. TogglePlayerControllable(playerid, 1);
  1035. if(dialogid == 1)
  1036. {
  1037. if(response == 0)
  1038. {
  1039. SendClientMessage(playerid, AMARELO, "Ok, Entendo que não queria logar-se agora, quando quiser Use: /login (Senha)!");
  1040. return 1;
  1041. }
  1042. if(response >= 1)
  1043. {
  1044. if(strlen(inputtext) == 0)
  1045. {
  1046. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "=-= FilterScript TAdmin - Logando =-=", "Seja Bem Vindo novamente ao nosso servidor\nDigite sua senha logo abaixo para continuar com\nsua diversão no Brasil CityStar's\n\n", "Logar", "Esperar");
  1047. return 1;
  1048. }
  1049. format(gstring,sizeof(gstring),"/logar %s",inputtext);
  1050. OnPlayerCommandText(playerid,gstring);
  1051. return 1;
  1052. }
  1053. return 1;
  1054. }
  1055. if(dialogid == 2)
  1056. {
  1057. if(response == 0)
  1058. {
  1059. SendClientMessage(playerid, AMARELO, "Ok, Entendo que não queria registrar-se agora, quando quiser Use: /registrar (senha)!");
  1060. return 1;
  1061. }
  1062. if(response >= 1)
  1063. {
  1064. if(strlen(inputtext) == 0)
  1065. {
  1066. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "=-= FilterScript TAdmin - Registrando =-=", "Olá, vejo que é a sua primeira vez em nosso serivodr\nPor Favor, digite sua senha a baixo para que possa\nse registrar e logo em seguida logar em nosso servidor\n\n", "Registrar", "Esperar");
  1067. return 1;
  1068. }
  1069. format(gstring,sizeof(gstring),"/registrar %s",inputtext);
  1070. OnPlayerCommandText(playerid,gstring);
  1071. return 1;
  1072. }
  1073. return 1;
  1074. }
  1075. return 1;
  1076. }
  1077. //===STOCKS
  1078. strtok(const string[], &index)
  1079. {
  1080. new length = strlen(string);
  1081. while ((index < length) && (string[index] <= ' '))
  1082. {
  1083. index++;
  1084. }
  1085.  
  1086. new offset = index;
  1087. new result[20];
  1088. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  1089. {
  1090. result[index - offset] = string[index];
  1091. index++;
  1092. }
  1093. result[index - offset] = EOS;
  1094. return result;
  1095. }
  1096. stock ini_GetKey( line[] )
  1097. {
  1098. new keyRes[256];
  1099. keyRes[0] = 0;
  1100. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  1101. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  1102. return keyRes;
  1103. }
  1104.  
  1105. stock ini_GetValue( line[] )
  1106. {
  1107. new valRes[256];
  1108. valRes[0]=0;
  1109. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  1110. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  1111. return valRes;
  1112. }
  1113. stock RG(playerid)
  1114. {
  1115. new string[128];
  1116. new sendername[MAX_PLAYER_NAME];
  1117. new Dinheiro = PlayerInfo[playerid][pGrana];
  1118. new Roupa = PlayerInfo[playerid][pSkin];
  1119. GetPlayerName(playerid, sendername, sizeof(sendername));
  1120. SendClientMessage(playerid, CINZA, "=-= SEUS DOCUMENTOS =-=");
  1121. format(string, 256, "Nome: (%s) Dinheiro(%d) Skin: (%d)", sendername, Dinheiro, Roupa);
  1122. SendClientMessage(playerid, CINZA, string);
  1123. return 1;
  1124. }
Advertisement
Add Comment
Please, Sign In to add comment