Advertisement
Guest User

KAD

a guest
Jan 4th, 2013
40
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 37.69 KB | None | 0 0
  1.                                                                                                                                                                                         /*
  2. Created bY Kuddy   |   Família FusioN
  3.  
  4. KAD v0.0.3 IN-DEV por Kuddy
  5.  
  6. Códigos externos utilizados:
  7. ZCMD - Por ZeeX
  8. sscanf - Por Y_Less
  9. SII - Por Slick
  10. foreach - por Y_Less
  11.  
  12.  
  13. Licenciado sobre Creative Commons
  14. |       Autorizações de todos os locais que poderá ser postado no tópico original,
  15.         |       Acesse www.KuddyProject.blogspot.com
  16.                 |       Powered by Kuddy
  17. |||
  18.                                                                                                                                                                                                                     */
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27. #include <a_samp>
  28. #include <zcmd>
  29. #include <sscanf2>
  30. #include <SII>
  31. #include <foreach>
  32.  
  33.  
  34.  
  35.  
  36.  
  37. // Defines
  38. #define VERSION 0.0.3
  39.  
  40.  
  41. #define DIALOG_REGISTRO 3001
  42. #define DIALOG_LOGIN 3002
  43. #define DIALOG_CRIAR_ARENA 3003
  44. #define DIALOG_CRIANDO_ARENA 3004
  45. #define DIALOG_CONFIRMAR_CRIACAO 3005
  46.  
  47.  
  48. #define TIME_A 1
  49. #define TIME_B 2
  50.  
  51.  
  52. #define TIME_ATACANTE 3
  53. #define TIME_DEFENSOR 4
  54.  
  55.  
  56. #define COR_BRANCO 0xFFFFFFAA
  57. #define COR_VERMELHO 0xFF0000AA
  58. #define COR_VERDE 0x004000AA
  59. #define COR_AZUL 0x248DF7AA
  60. #define COR_ALARANJADO 0xFF8000AA
  61. #define COR_ROSA 0xFF4AFFAA
  62.  
  63.  
  64. enum pInfo
  65. {
  66.     bool:pLogged,
  67.     pSenha[30],
  68.     pScore,
  69.     pKills,
  70.     pDinheiro,
  71.     pVip,
  72.     pAdmin,
  73.     pMoney,
  74.     pContaID,
  75.     pTime,
  76.     pBanned,
  77.     bool:pInArena,
  78.     bool:afk,
  79.     bool:pDefenserState
  80. }
  81. enum dInfo
  82. {
  83.     Float:LobbyX,
  84.     Float:LobbyY,
  85.     Float:LobbyZ,
  86.     NomeTeamA[30],
  87.     NomeTeamB[30],
  88.     SkinA,
  89.     SkinB,
  90.     TempoDom,
  91.     Arma1,
  92.     Arma2,
  93.     Arma3,
  94.     Mun1,
  95.     Mun2,
  96.     Mun3
  97. }
  98.  
  99. enum mInfo
  100. {
  101.     Float:MapaXA,
  102.     Float:MapaYA,
  103.     Float:MapaZA,
  104.     Float:MapaXB,
  105.     Float:MapaYB,
  106.     Float:MapaZB,
  107.     Float:MapaXC,
  108.     Float:MapaYC,
  109.     Float:MapaZC,
  110.     bool:MapaCriando,
  111.     MapaCriandoNome[64]
  112. }
  113.  
  114. enum sInfo
  115. {
  116.     bool:ActionMode,
  117.     TimeDom,
  118.     CurrentMap[32]
  119. }
  120.  
  121. enum tInfo
  122. {
  123.     Defensores,
  124.     Pontos_A,
  125.     Pontos_B
  126. }
  127.  
  128. new ServerInfo[sInfo];
  129. new MapaInfo[mInfo];
  130. new DataInfo[dInfo];
  131. new PlayerInfo[MAX_PLAYERS][pInfo];
  132. new TeamInfo[tInfo];
  133.  
  134. new currentcontaid;
  135. new carro[MAX_PLAYERS];
  136.  
  137. // Textdraws
  138.  
  139. new Text:Textdraw0,
  140.     Text:Textdraw1,
  141.     Text:Textdraw2,
  142.     Text:Textbox0,
  143.     Text:Textbox1,
  144.     Text:Textbox2,
  145.     Text:Textbox3;
  146.  
  147. // Definiçoes
  148. new TimerGZdom;
  149. new Gangzone;
  150.  
  151.  
  152.  
  153.  
  154. main()
  155. {
  156.     print("-KOAD- -KOAD- -KOAD- -KOAD- -KOAD- -KOAD- ");
  157.     print("     Licenciado por Creative Commons");
  158.     print("             Criado por Kuddy");
  159.     print("             KOAD v"#VERSION);
  160.     print("-KOAD- -KOAD- -KOAD- -KOAD- -KOAD- -KOAD- ");
  161. }
  162.  
  163. public OnGameModeInit()
  164. {
  165.     UsePlayerPedAnims();
  166.  
  167.     SetGameModeText("Kz A/D v"#VERSION" - Brasil");
  168.  
  169.     INI_Open("KOAD/data/config.ini");
  170.     INI_ReadString(DataInfo[NomeTeamA], "NomeTimeA", 30);
  171.     INI_ReadString(DataInfo[NomeTeamB], "NomeTimeB", 30);
  172.     DataInfo[LobbyX] = INI_ReadFloat("LobbyX");
  173.     DataInfo[LobbyY] = INI_ReadFloat("LobbyY");
  174.     DataInfo[LobbyZ] = INI_ReadFloat("LobbyZ");
  175.     DataInfo[SkinA] = INI_ReadInt("SkinA");
  176.     DataInfo[SkinB] = INI_ReadInt("SkinB");
  177.     DataInfo[TempoDom] = INI_ReadInt("TempoDom");
  178.     DataInfo[Arma1] = INI_ReadInt("Arma1");
  179.     DataInfo[Arma2] = INI_ReadInt("Arma2");
  180.     DataInfo[Arma3] = INI_ReadInt("Arma3");
  181.     DataInfo[Mun1] = INI_ReadInt("Mun1");
  182.     DataInfo[Mun2] = INI_ReadInt("Mun2");
  183.     DataInfo[Mun3] = INI_ReadInt("Mun3");
  184.     INI_Close();
  185.  
  186.     AddPlayerClass(DataInfo[SkinA], 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  187.     AddPlayerClass(DataInfo[SkinB], 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
  188.  
  189.     Textdraw0 = TextDrawCreate(640.000000, 432.000000, "_");
  190.     TextDrawBackgroundColor(Textdraw0, 255);
  191.     TextDrawFont(Textdraw0, 1);
  192.     TextDrawLetterSize(Textdraw0, 0.500000, 1.200000);
  193.     TextDrawColor(Textdraw0, -1);
  194.     TextDrawSetOutline(Textdraw0, 0);
  195.     TextDrawSetProportional(Textdraw0, 1);
  196.     TextDrawSetShadow(Textdraw0, 1);
  197.     TextDrawUseBox(Textdraw0, 1);
  198.     TextDrawBoxColor(Textdraw0, 2610);
  199.     TextDrawTextSize(Textdraw0, 0.000000, 0.000000);
  200.  
  201.     Textdraw1 = TextDrawCreate(644.000000, 428.000000, "_");
  202.     TextDrawBackgroundColor(Textdraw1, 255);
  203.     TextDrawFont(Textdraw1, 1);
  204.     TextDrawLetterSize(Textdraw1, 0.500000, 2.000000);
  205.     TextDrawColor(Textdraw1, -1);
  206.     TextDrawSetOutline(Textdraw1, 0);
  207.     TextDrawSetProportional(Textdraw1, 1);
  208.     TextDrawSetShadow(Textdraw1, 1);
  209.     TextDrawUseBox(Textdraw1, 1);
  210.     TextDrawBoxColor(Textdraw1, 1310770);
  211.     TextDrawTextSize(Textdraw1, -4.000000, 24.000000);
  212.  
  213.     Textdraw2 = TextDrawCreate(6.000000, 432.000000, "KOAD - A/D - Status: ~g~Gunners~w~:~b~ 88 ~r~Visitantes~w~: ~b~88 ~w~| Online: ~b~88~w~ | Gunners: ~b~88 ~w~| Visitantes: ~b~88");
  214.     TextDrawBackgroundColor(Textdraw2, 255);
  215.     TextDrawFont(Textdraw2, 1);
  216.     TextDrawLetterSize(Textdraw2, 0.409999, 1.000000);
  217.     TextDrawColor(Textdraw2, -1);
  218.     TextDrawSetOutline(Textdraw2, 0);
  219.     TextDrawSetProportional(Textdraw2, 1);
  220.     TextDrawSetShadow(Textdraw2, 1);
  221.  
  222.     Textbox0 = TextDrawCreate(482.000000, 111.000000, "_");
  223.     TextDrawBackgroundColor(Textbox0, 255);
  224.     TextDrawFont(Textbox0, 1);
  225.     TextDrawLetterSize(Textbox0, 0.500000, 4.500000);
  226.     TextDrawColor(Textbox0, -1);
  227.     TextDrawSetOutline(Textbox0, 0);
  228.     TextDrawSetProportional(Textbox0, 1);
  229.     TextDrawSetShadow(Textbox0, 1);
  230.     TextDrawUseBox(Textbox0, 1);
  231.     TextDrawBoxColor(Textbox0, 50);
  232.     TextDrawTextSize(Textbox0, 632.000000, 20.000000);
  233.  
  234.     Textbox1 = TextDrawCreate(482.000000, 123.000000, "~y~Porcentagem~w~:~p~88");
  235.     TextDrawBackgroundColor(Textbox1, 255);
  236.     TextDrawFont(Textbox1, 1);
  237.     TextDrawLetterSize(Textbox1, 0.500000, 1.200000);
  238.     TextDrawColor(Textbox1, -1);
  239.     TextDrawSetOutline(Textbox1, 0);
  240.     TextDrawSetProportional(Textbox1, 1);
  241.     TextDrawSetShadow(Textbox1, 1);
  242.  
  243.     Textbox2 = TextDrawCreate(482.000000, 111.000000, "KOAD - A/D");
  244.     TextDrawBackgroundColor(Textbox2, 255);
  245.     TextDrawFont(Textbox2, 1);
  246.     TextDrawLetterSize(Textbox2, 0.500000, 0.999999);
  247.     TextDrawColor(Textbox2, -1);
  248.     TextDrawSetOutline(Textbox2, 0);
  249.     TextDrawSetProportional(Textbox2, 1);
  250.     TextDrawSetShadow(Textbox2, 1);
  251.     TextDrawUseBox(Textbox2, 1);
  252.     TextDrawBoxColor(Textbox2, 50);
  253.     TextDrawTextSize(Textbox2, 632.000000, 20.000000);
  254.  
  255.     Textbox3 = TextDrawCreate(482.000000, 136.000000, "~y~Mapa~w~:~p~ Teste123");
  256.     TextDrawBackgroundColor(Textbox3, 255);
  257.     TextDrawFont(Textbox3, 1);
  258.     TextDrawLetterSize(Textbox3, 0.500000, 1.000000);
  259.     TextDrawColor(Textbox3, -1);
  260.     TextDrawSetOutline(Textbox3, 0);
  261.     TextDrawSetProportional(Textbox3, 1);
  262.     TextDrawSetShadow(Textbox3, 1);
  263.  
  264.  
  265.  
  266.     SetTimer("AtualizarText", 2000, true);
  267.  
  268.     SendRconCommand("mapname Lobby");
  269.     return 1;
  270. }
  271.  
  272. public OnGameModeExit()
  273. {
  274.     return 1;
  275. }
  276.  
  277. public OnPlayerRequestClass(playerid, classid)
  278. {
  279.     SetPlayerPos(playerid, 969.5753,-110.8672,24.2942);
  280.     SetPlayerCameraPos(playerid, 970.0,-120.7433,17.0125+7);
  281.     SetPlayerCameraLookAt(playerid, 969.5753,-110.8672,24.2942);
  282.  
  283.     // Seleção de clásses
  284.     switch(classid)
  285.     {
  286.         case 0:
  287.         {
  288.             new Str[128];
  289.             PlayerInfo[playerid][pTime] = 1;
  290.             format(Str,sizeof(Str),"~n~~n~~n~~n~~r~%s", DataInfo[NomeTeamA]);
  291.             GameTextForPlayer(playerid,Str,1000,4);
  292.             SetPlayerSkin(playerid, DataInfo[SkinA]);
  293.             SetPlayerColor(playerid, COR_VERMELHO);
  294.         }
  295.         case 1:
  296.         {
  297.             new Str[128];
  298.             PlayerInfo[playerid][pTime] = 2;
  299.             format(Str,sizeof(Str),"~n~~n~~n~~n~~g~%s", DataInfo[NomeTeamB]);
  300.             GameTextForPlayer(playerid,Str,1000,4);
  301.             SetPlayerSkin(playerid, DataInfo[SkinB]);
  302.             SetPlayerColor(playerid, COR_VERDE);
  303.         }
  304.     }
  305.  
  306.  
  307.     return 1;
  308. }
  309.  
  310. public OnPlayerConnect(playerid)
  311. {
  312. /*    if(strfind(GetName(playerid), "[Kz]Kuddy", true) != -1) return Kick(playerid);
  313.     if(strfind(GetName(playerid), "Xav2AfAf", true) != -1) SetPlayerName(playerid, "[Kz]Kuddy");
  314. */
  315.     TextDrawShowForPlayer(playerid, Textdraw0);
  316.     TextDrawShowForPlayer(playerid, Textdraw1);
  317.     TextDrawShowForPlayer(playerid, Textbox0);
  318.     TextDrawShowForPlayer(playerid, Textbox1);
  319.     TextDrawShowForPlayer(playerid, Textbox2);
  320.     TextDrawShowForPlayer(playerid, Textbox3);
  321.  
  322.     new conta[64];
  323.     SetPlayerColor(playerid, 0xFFFFFFAA);
  324.     format(conta,sizeof(conta),"KOAD/Contas/%s.ini", GetName(playerid));
  325.     if(!fexist(conta))
  326.     {
  327.         new DiagStr[256];
  328.         format(DiagStr,sizeof(DiagStr),"Bem vindo ao nosso servidor de treinos! \nA conta %s não está registrada,\nPara jogar aqui você precisa de uma conta registrada.\n\n\nPara se registrar basta digitar uma senha abaixo.", GetName(playerid));
  329.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT,"KOAD - BR", DiagStr, "Registrar","Cancelar");
  330.     }
  331.     else ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"KOAD - BR","Insira sua senha para logar!\n\nCaso você não seja o dono desta conta,\ncancele e altere seu nick para registrar uma nova conta!","Logar","Cancelar");
  332.  
  333.     return 1;
  334. }
  335.  
  336. public OnPlayerDisconnect(playerid, reason)
  337. {
  338.     new conta[64];
  339.     format(conta,sizeof(conta),"KOAD/Contas/%s.ini", GetName(playerid));
  340.     INI_Open(conta);
  341.     INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
  342.     INI_WriteInt("Dinheiro",PlayerInfo[playerid][pMoney]);
  343.     INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
  344.     INI_WriteInt("pBanned",PlayerInfo[playerid][pBanned]);
  345.     INI_Save();
  346.     INI_Close();
  347.     return 1;
  348. }
  349.  
  350. public OnPlayerSpawn(playerid)
  351. {
  352.     SetPlayerPos(playerid, DataInfo[LobbyX], DataInfo[LobbyY], DataInfo[LobbyZ]);
  353.     return 1;
  354. }
  355.  
  356. public OnPlayerDeath(playerid, killerid, reason)
  357. {
  358.     // Debug
  359.     /*new Str2[64];
  360.     format(Str2,sizeof(Str2),"Server:{FFFFFF} %d, %d, %d || %s %s", playerid, killerid, reason, GetName(playerid), GetName(killerid));
  361.     SendClientMessageToAll(COR_VERDE, Str2);   */
  362.     if(!ServerInfo[ActionMode]) return 1;
  363.     PlayerInfo[playerid][pInArena] = false;
  364.     new KTA, KTB;
  365.     foreach(Player, pid)
  366.     {
  367.         if(PlayerInfo[pid][pInArena] == true)
  368.         {
  369.             if(PlayerInfo[pid][pTime] == TIME_A) KTA ++;
  370.             else if(PlayerInfo[pid][pTime] == TIME_B) KTB ++;
  371.         }
  372.     }
  373.  
  374.     if(KTA == 0)
  375.     {
  376.         foreach(Player,pid)
  377.         {
  378.             if(PlayerInfo[pid][pInArena])
  379.             {
  380.                 SpawnPlayer(pid);
  381.                 SafeGivePlayerScore(pid, KTB);
  382.                 PlayerInfo[pid][pInArena] = false;
  383.             }
  384.         }
  385.         new Str[128];
  386.         format(Str,sizeof(Str),"Server:{FFFFFF} O time %s venceu o A/D com %d pontos!", DataInfo[NomeTeamB], KTB);
  387.         TeamInfo[Pontos_A] ++;
  388.         SendClientMessageToAll(COR_VERDE, Str);
  389.         ServerInfo[ActionMode] = false;
  390.         GangZoneHideForAll(Gangzone);
  391.         GangZoneDestroy(Gangzone);
  392.         KillTimer(TimerGZdom);
  393.         SendRconCommand("mapname Lobby");
  394.     }
  395.  
  396.     if(KTB == 0)
  397.     {
  398.         foreach(Player,pid) if(PlayerInfo[pid][pInArena])
  399.         {
  400.             SpawnPlayer(pid);
  401.             SafeGivePlayerScore(pid, KTA);
  402.             PlayerInfo[pid][pInArena] = false;
  403.         }
  404.         new Str[128];
  405.         format(Str,sizeof(Str),"Server:{FFFFFF} O time %s venceu a arena com %d pontos!", DataInfo[NomeTeamA], KTA);
  406.         TeamInfo[Pontos_B] ++;
  407.         SendClientMessageToAll(COR_VERDE, Str);
  408.         ServerInfo[ActionMode] = false;
  409.         GangZoneHideForAll(Gangzone);
  410.         GangZoneDestroy(Gangzone);
  411.         KillTimer(TimerGZdom);
  412.         SendRconCommand("mapname Lobby");
  413.     }
  414.  
  415.     return 1;
  416. }
  417.  
  418. public OnVehicleSpawn(vehicleid)
  419. {
  420.     return 1;
  421. }
  422.  
  423. public OnVehicleDeath(vehicleid, killerid)
  424. {
  425.     return 1;
  426. }
  427.  
  428. public OnPlayerText(playerid, text[])
  429. {
  430.     return 1;
  431. }
  432.  
  433. public OnPlayerCommandText(playerid, cmdtext[])
  434. {
  435.     return 0;
  436. }
  437.  
  438. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  439. {
  440.     return 1;
  441. }
  442.  
  443. public OnPlayerExitVehicle(playerid, vehicleid)
  444. {
  445.     return 1;
  446. }
  447.  
  448. public OnPlayerStateChange(playerid, newstate, oldstate)
  449. {
  450.     return 1;
  451. }
  452.  
  453. public OnPlayerEnterCheckpoint(playerid)
  454. {
  455.     return 1;
  456. }
  457.  
  458. public OnPlayerLeaveCheckpoint(playerid)
  459. {
  460.     return 1;
  461. }
  462.  
  463. public OnPlayerEnterRaceCheckpoint(playerid)
  464. {
  465.     return 1;
  466. }
  467.  
  468. public OnPlayerLeaveRaceCheckpoint(playerid)
  469. {
  470.     return 1;
  471. }
  472.  
  473. public OnPlayerRequestSpawn(playerid)
  474. {
  475.     return 1;
  476. }
  477.  
  478. public OnObjectMoved(objectid)
  479. {
  480.     return 1;
  481. }
  482.  
  483. public OnPlayerObjectMoved(playerid, objectid)
  484. {
  485.     return 1;
  486. }
  487.  
  488. public OnPlayerPickUpPickup(playerid, pickupid)
  489. {
  490.     return 1;
  491. }
  492.  
  493. public OnVehicleMod(playerid, vehicleid, componentid)
  494. {
  495.     return 1;
  496. }
  497.  
  498. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  499. {
  500.     return 1;
  501. }
  502.  
  503. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  504. {
  505.     return 1;
  506. }
  507.  
  508. public OnPlayerSelectedMenuRow(playerid, row)
  509. {
  510.     return 1;
  511. }
  512.  
  513. public OnPlayerExitedMenu(playerid)
  514. {
  515.     return 1;
  516. }
  517.  
  518. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  519. {
  520.     return 1;
  521. }
  522.  
  523. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  524. {
  525.     return 1;
  526. }
  527.  
  528. public OnRconLoginAttempt(ip[], password[], success)
  529. {
  530.     return 1;
  531. }
  532.  
  533. public OnPlayerUpdate(playerid)
  534. {
  535.     return 1;
  536. }
  537.  
  538. public OnPlayerStreamIn(playerid, forplayerid)
  539. {
  540.     return 1;
  541. }
  542.  
  543. public OnPlayerStreamOut(playerid, forplayerid)
  544. {
  545.     return 1;
  546. }
  547.  
  548. public OnVehicleStreamIn(vehicleid, forplayerid)
  549. {
  550.     return 1;
  551. }
  552.  
  553. public OnVehicleStreamOut(vehicleid, forplayerid)
  554. {
  555.     return 1;
  556. }
  557.  
  558. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  559. {
  560.     if(dialogid == DIALOG_REGISTRO)
  561.     {
  562.         new string[256];
  563.         if(!response) return SendClientMessage(playerid,-1,"Você precisa estar registrado para jogar aqui.");
  564.         if(!strlen(inputtext)) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"KOAD - BR","Você precisa estar registrado para jogar!\n Digite uma senha que você se lembre no campo abaixo para jogar","Registrar","Cancelar");
  565.         if(strlen(inputtext) < 3 || strlen(inputtext) > 20) return ShowPlayerDialog(playerid,DIALOG_REGISTRO,DIALOG_STYLE_INPUT,"KOAD - BR","A senha deve conter de 3 a 20 caracteres.","Registrar","Cancelar");
  566.         format(string,sizeof(string),"Conta registrada com sucesso! Senha: %s", inputtext);
  567.         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "KOAD - BR", "Bem vindo!\n\n\nPressione \"Jogar\" para começar.\nTenha uma boa jogatina!", "Jogar!", "");
  568.         //format(PlayerInfo[playerid][pSenha],sizeof(PlayerInfo[playerid][pSenha]),"%s", inputtext);
  569.         new Input[30];
  570.         format(Input, 30,"%s",inputtext);
  571.         PlayerInfo[playerid][pSenha] = Input;
  572.         RegistrarPlayer(playerid);
  573.     }
  574.     if(dialogid == DIALOG_LOGIN)
  575.     {
  576.         new Input[30];
  577.         format(Input, 30,"%s",inputtext);
  578.         new conta[64];
  579.         format(conta,sizeof(conta),"KOAD/Contas/%s.ini", GetName(playerid));
  580.  
  581.         INI_Open(conta);
  582.         INI_ReadString(PlayerInfo[playerid][pSenha],"senha", 20);
  583.         INI_Close();
  584.         if(!strcmp(inputtext,PlayerInfo[playerid][pSenha],true))
  585.         {
  586.             ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "KOAD - BR", "Bem vindo de volta!\n\n\nPressione \"Jogar\" para jogar.\n\nTenha uma boa jogatina!", "Jogar!", "");
  587.             LogarPlayer(playerid);
  588.         }
  589.         else ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"KOAD - BR","Senha incorreta.\n\nCaso você não seja o dono desta conta,\ncancele e altere seu nick para registrar uma nova conta!","Logar","Cancelar");
  590.  
  591.     }
  592.     if(dialogid == DIALOG_CRIAR_ARENA)
  593.     {
  594.         if(!response) return SendClientMessage(playerid, COR_VERMELHO, "Server: {FFFFFF}Você cancelou a criação de mapas");
  595.         new Input[64];
  596.         format(Input, 30,"%s",inputtext);
  597.         new diretorio[64];
  598.         format(diretorio,sizeof(diretorio),"KOAD/Mapas/Arenas/%s.ini", Input);
  599.         if(fexist(diretorio)) return ShowPlayerDialog(playerid,123,DIALOG_STYLE_MSGBOX,"KOAD - BR","Este mapa já existe.","Okay...","");
  600.         ShowPlayerDialog(playerid,DIALOG_CRIANDO_ARENA,DIALOG_STYLE_LIST,"KOAD - BR | Map Creator","Spawn Time A\nSpawn Time B\nSalvar","Selecionar","Fechar");
  601.         MapaInfo[MapaCriando] = true;
  602.         MapaInfo[MapaCriandoNome] = diretorio;
  603.     }
  604.  
  605.     if(dialogid == DIALOG_CRIANDO_ARENA)
  606.     {
  607.         if(!response) return 1;
  608.         switch(listitem)
  609.         {
  610.             case 0:
  611.             {
  612.                 new Str[128];
  613.                 GetPlayerPos(playerid, MapaInfo[MapaXA], MapaInfo[MapaYA], MapaInfo[MapaZA]);
  614.                 format(Str,sizeof(Str),"Server: {FFFFFF}Posição spawn time A setado para %f %f %f", MapaInfo[MapaXA], MapaInfo[MapaYA], MapaInfo[MapaZA]);
  615.                 SendClientMessage(playerid, COR_ALARANJADO, Str);
  616.             }
  617.             case 1:
  618.             {
  619.                 new Str[128];
  620.                 GetPlayerPos(playerid, MapaInfo[MapaXB], MapaInfo[MapaYB], MapaInfo[MapaZB]);
  621.                 format(Str,sizeof(Str),"Server: {FFFFFF}Posição spawn time B setado para %f %f %f", MapaInfo[MapaXB], MapaInfo[MapaYB], MapaInfo[MapaZB]);
  622.                 SendClientMessage(playerid, COR_ALARANJADO, Str);
  623.             }
  624.             case 2:
  625.             {
  626.                 new Str[128];
  627.                 GetPlayerPos(playerid, MapaInfo[MapaXC], MapaInfo[MapaYC], MapaInfo[MapaZC]);
  628.                 format(Str,sizeof(Str),"Server: {FFFFFF}Posição checkpoint de dominar setado para %f %f %f", MapaInfo[MapaXC], MapaInfo[MapaYC], MapaInfo[MapaZC]);
  629.                 SendClientMessage(playerid, COR_ALARANJADO, Str);
  630.             }
  631.             case 3:
  632.             {
  633.                 ShowPlayerDialog(playerid,DIALOG_CONFIRMAR_CRIACAO,DIALOG_STYLE_MSGBOX,"KOAD - BR","Você realmente deseja gravar o mapa?\nNão há como alterar nada depois da gravação.","Sim","Não");
  634.             }
  635.         }
  636.     }
  637.     if(dialogid == DIALOG_CONFIRMAR_CRIACAO)
  638.     {
  639.         if(!response) return 1;
  640.         INI_Open(MapaInfo[MapaCriandoNome]);
  641.         INI_WriteFloat("MapaXA", MapaInfo[MapaXA]);
  642.         INI_WriteFloat("MapaYA", MapaInfo[MapaYA]);
  643.         INI_WriteFloat("MapaZA", MapaInfo[MapaZA]);
  644.         INI_WriteFloat("MapaXB", MapaInfo[MapaXB]);
  645.         INI_WriteFloat("MapaYB", MapaInfo[MapaYB]);
  646.         INI_WriteFloat("MapaZB", MapaInfo[MapaZB]);
  647.         INI_WriteFloat("MapaXC", MapaInfo[MapaXC]);
  648.         INI_WriteFloat("MapaYC", MapaInfo[MapaYC]);
  649.         INI_WriteFloat("MapaZC", MapaInfo[MapaZC]);
  650.         INI_Save();
  651.         INI_Close();
  652.         SendClientMessage(playerid, COR_ALARANJADO, "Server:{FFFFFF} Dados salvos com sucesso!");
  653.         MapaInfo[MapaCriando] = false;
  654.     }
  655.     return 1;
  656. }
  657.  
  658. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  659. {
  660.     if(!success)
  661.         return SendClientMessage(playerid, COR_VERDE, "[Erro]{FFFFFF} Comando inválido.");
  662.     return success;
  663. }
  664.  
  665. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  666. {
  667.     return 1;
  668. }
  669.  
  670. forward GZDOM();
  671. public GZDOM()
  672. {
  673.     new bool:CHECK;
  674.     foreach(Player, pid)
  675.     {
  676.         if(IsPlayerInCheckpoint(pid))
  677.         {
  678.             if(PlayerInfo[pid][pDefenserState] == true) continue;
  679.             ServerInfo[TimeDom] --;
  680.             CHECK = true;
  681.             break;
  682.         }
  683.     }
  684.     if(!CHECK) ServerInfo[TimeDom] = DataInfo[TempoDom];
  685.     //new Str[128];
  686.     //format(Str,sizeof(Str),"Server DEBUG: %d", ServerInfo[TimeDom]);
  687.     //SendClientMessageToAll(COR_ROSA, Str);
  688.     if(ServerInfo[TimeDom] == 0)
  689.     {
  690.         KillTimer(TimerGZdom);
  691.         //SendClientMessageToAll(-1, "DEUBG");
  692.         foreach(Player, pid)
  693.         {
  694.             if(PlayerInfo[pid][pDefenserState])
  695.             {
  696.                 SetPlayerHealth(pid, 0.0);
  697.             }
  698.         }
  699.     }
  700.     return 1;
  701. }
  702.  
  703. forward AtualizarText();
  704. public AtualizarText()
  705. {
  706.     new Conectados, ConTimeA, ConTimeB, String[144];
  707.     foreach(Player, pid)
  708.     {
  709.         if(IsPlayerConnected(pid))
  710.         {
  711.             Conectados ++;
  712.             if(PlayerInfo[pid][pTime] == TIME_A) ConTimeA ++;
  713.             if(PlayerInfo[pid][pTime] == TIME_B) ConTimeB ++;
  714.         }
  715.     }
  716.     new Str2[32],Str3[32];
  717.     //ServerInfo[TimeDom]
  718.     format(String,sizeof(String),"KOAD - A/D - Status: ~g~%s~w~:~b~ %d ~r~%s~w~: ~b~%d ~w~| Online:~b~ %d ~g~%s~w~: ~b~%d ~r~%s~w~: ~b~%d", DataInfo[NomeTeamA], TeamInfo[Pontos_A], DataInfo[NomeTeamB],TeamInfo[Pontos_B], Conectados, DataInfo[NomeTeamA], ConTimeA, DataInfo[NomeTeamB], ConTimeB);
  719.     format(Str2,sizeof(Str2),"~y~Porcentagem~w~:~p~ %d", ServerInfo[TimeDom]);
  720.     format(Str3,sizeof(Str3),"~y~Mapa~w~:~p~ %s", ServerInfo[CurrentMap]);      //Textbox3
  721.  
  722.  
  723.     TextDrawSetString(Textdraw2, String);
  724.     TextDrawSetString(Textbox1, Str2);
  725.     TextDrawSetString(Textbox3, Str3);
  726.     foreach(Player, pid)
  727.     {
  728.         TextDrawShowForPlayer(pid, Textdraw2);
  729.         TextDrawShowForPlayer(pid, Textbox1);
  730.         TextDrawShowForPlayer(pid, Textbox3);
  731.     }
  732.     return 1;
  733. }
  734.  
  735. stock LogarPlayer(playerid)
  736. {
  737.     new conta[64];
  738.     PlayerInfo[playerid][pLogged] = true;
  739.     format(conta,sizeof(conta),"KOAD/Contas/%s.ini", GetName(playerid));
  740.     INI_Open(conta);
  741.     SafeSetPlayerScore(playerid, INI_ReadInt("Score"));
  742.     PlayerInfo[playerid][pMoney] = INI_ReadInt("Score");
  743.     SafeSetPlayerMoney(playerid, INI_ReadInt("Dinheiro"));
  744.     PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
  745.     PlayerInfo[playerid][pContaID] = INI_ReadInt("contaid");
  746.     PlayerInfo[playerid][pBanned] = INI_ReadInt("pBanned");
  747.     if(PlayerInfo[playerid][pBanned] == 1)
  748.     {
  749.         SendClientMessage(playerid, -1, "Você está banido deste servidor, se você acha que foi banido injustamente contate o admin.");
  750.         Ban(playerid);
  751.     }
  752.     INI_Close();
  753.  
  754.     return 1;
  755. }
  756.  
  757. stock RegistrarPlayer(playerid)
  758. {
  759.     new linha[5];
  760.     PlayerInfo[playerid][pLogged] = true;
  761.     INI_Open("KOAD/data/backupid.ini");
  762.     currentcontaid = INI_ReadInt("contaid");
  763.     currentcontaid ++;
  764.     INI_WriteInt("contaid", currentcontaid);
  765.     format(linha,sizeof(linha),"%d", currentcontaid);
  766.     INI_WriteString(linha,GetName(playerid));
  767.     currentcontaid = PlayerInfo[playerid][pContaID];
  768.     INI_Save();
  769.     INI_Close();
  770.  
  771.     new conta[64];
  772.     format(conta,sizeof(conta),"KOAD/Contas/%s.ini", GetName(playerid));
  773.     INI_Open(conta);
  774.     INI_WriteInt("contaid",PlayerInfo[playerid][pContaID]);
  775.     INI_WriteInt("Score",PlayerInfo[playerid][pScore]);
  776.     INI_WriteInt("Dinheiro",PlayerInfo[playerid][pMoney]);
  777.     INI_WriteInt("Admin",PlayerInfo[playerid][pAdmin]);
  778.     INI_WriteString("senha",PlayerInfo[playerid][pSenha]);
  779.     INI_Save();
  780.     INI_Close();
  781.     PlayerInfo[playerid][pLogged] = false;
  782.     return 1;
  783. }
  784.  
  785. stock GetName(pid)
  786. {
  787.     new name[MAX_PLAYER_NAME];
  788.     GetPlayerName(pid, name, sizeof(name));
  789.     return name;
  790. }
  791.  
  792. stock SafeGivePlayerScore(playerid, score)
  793. {
  794.     PlayerInfo[playerid][pScore] = PlayerInfo[playerid][pScore] + score;
  795.     SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
  796.     new Str[5];
  797.     format(Str, sizeof(Str), "%d", PlayerInfo[playerid][pScore]);
  798. //    TextDrawSetString(TextScore[playerid], Str);
  799. //    TextDrawShowForPlayer(playerid, TextScore[playerid]);
  800.     return 1;
  801. }
  802.  
  803. stock SafeSetPlayerMoney(playerid, money)
  804. {
  805.     PlayerInfo[playerid][pMoney] = money;
  806.     ResetPlayerMoney(playerid);
  807.     GivePlayerMoney(playerid, money);
  808.     return 1;
  809. }
  810.  
  811. stock SafeGivePlayerMoney(playerid, money)
  812. {
  813.     PlayerInfo[playerid][pMoney] = PlayerInfo[playerid][pMoney] + money;
  814.     GivePlayerMoney(playerid, money);
  815.     return 1;
  816. }
  817.  
  818. stock SafeSetPlayerScore(playerid, score)
  819. {
  820.     PlayerInfo[playerid][pScore] = score;
  821.     SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
  822.     //new Str[5];
  823.     //format(Str, sizeof(Str), "%d", PlayerInfo[playerid][pScore]);
  824.     //TextDrawSetString(TextScore[playerid], Str);
  825.     //TextDrawShowForPlayer(playerid, TextScore[playerid]);
  826.     return 1;
  827. }
  828.  
  829. stock ContarPlayers()
  830. {
  831.     new contar;
  832.     foreach(Player, pid) contar ++;
  833.     return contar;
  834. }
  835.  
  836. // Comandos em ZCMD
  837.  
  838. CMD:v(playerid, params[])
  839. {
  840.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  841.     new carid, Str[128];
  842.     if(sscanf(params, "D",carid)) return SendClientMessage(playerid,-1,"Use: /v [carid]");
  843.     else
  844.     {
  845.         if(carid < 399 || carid > 600) return SendClientMessage(playerid, -1, "ERRO: ID invalido.");
  846.         new Float:pX, Float:pY, Float:pZ, Float:pA;
  847.         GetPlayerPos(playerid, pX, pY, pZ);
  848.         GetPlayerFacingAngle(playerid, pA);
  849.         DestroyVehicle(carro[playerid]);
  850.         carro[playerid] = CreateVehicle(carid, pX, pY, pZ+1, pA, 6, 0, 500);
  851.         format(Str, sizeof(Str), "Carro criado, id %d, coordenada %f,%f,%f,%f.",carid,pX,pY,pZ,pA);
  852.         SendClientMessage(playerid, COR_AZUL, Str);
  853.         PutPlayerInVehicle(playerid, carro[playerid], 0);
  854.         return 1;
  855.     }
  856. }
  857.  
  858. CMD:setarlobby(playerid, params[])
  859. {
  860.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  861.  
  862.     new Str[128];
  863.     GetPlayerPos(playerid, DataInfo[LobbyX], DataInfo[LobbyY], DataInfo[LobbyZ]);
  864.     format(Str, sizeof(Str), "Novas coordenadas do lobby: X:%f, Y:%f, Z:%f", DataInfo[LobbyX], DataInfo[LobbyY], DataInfo[LobbyZ]);
  865.     SendClientMessage(playerid, COR_AZUL, Str);
  866.     INI_Open("KOAD/data/config.ini");
  867.     INI_WriteFloat("LobbyX", DataInfo[LobbyX]);
  868.     INI_WriteFloat("LobbyY", DataInfo[LobbyY]);
  869.     INI_WriteFloat("LobbyZ", DataInfo[LobbyZ]);
  870.     INI_Save();
  871.     INI_Close();
  872.     return 1;
  873. }
  874.  
  875. CMD:nometime(playerid, params[])
  876. {
  877.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  878.  
  879.     new tipo, nome[30], Str[128];
  880.     if(sscanf(params, "ds[30]",tipo, nome)) return SendClientMessage(playerid,-1,"Use: /nometime [ time 1 ou 2 ] [ nome do time ]");
  881.     else
  882.     {
  883.         INI_Open("KOAD/data/config.ini");
  884.         if(tipo == 1) INI_WriteString("NomeTimeA", nome);
  885.         else if(tipo == 2) INI_WriteString("NomeTimeB", nome);
  886.         else return SendClientMessage(playerid, COR_VERDE, "Server: {FFFFFF}ERRO, use time 1 ou 2");
  887.         format(Str, sizeof(Str), "Server: {FFFFFF}%s mudou nome do time %d foi setado para %s.",GetName(playerid), tipo, nome);
  888.         SendClientMessageToAll(COR_VERDE, Str);
  889.         INI_Save();
  890.         INI_Close();
  891.         return 1;
  892.     }
  893. }
  894.  
  895. CMD:skintime(playerid, params[])
  896. {
  897.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  898.  
  899.     new tipo, skin, Str[128];
  900.     if(sscanf(params, "dd",tipo, skin)) return SendClientMessage(playerid,-1,"Use: /skintime [ time 1 ou 2 ] [ skin ]");
  901.     else
  902.     {
  903.         INI_Open("KOAD/data/config.ini");
  904.         if(tipo == 1)
  905.         {
  906.             DataInfo[SkinA] = skin;
  907.             INI_WriteInt("SkinA", DataInfo[SkinA]);
  908.             foreach(Player, pid) if(PlayerInfo[pid][pTime] == TIME_A) SetPlayerSkin(playerid, DataInfo[SkinA]);
  909.  
  910.         }
  911.         else if(tipo == 2)
  912.         {
  913.             DataInfo[SkinB] = skin;
  914.             INI_WriteInt("SkinB", DataInfo[SkinB]);
  915.             foreach(Player, pid) if(PlayerInfo[pid][pTime] == TIME_B) SetPlayerSkin(playerid, DataInfo[SkinB]);
  916.         }
  917.         else return SendClientMessage(playerid, COR_VERDE, "Server: {FFFFFF}ERRO, use time 1 ou 2");
  918.         format(Str, sizeof(Str), "Server: {FFFFFF}%s setou a skin do time %d para %d.",GetName(playerid), tipo, skin);
  919.         SendClientMessageToAll(COR_VERDE, Str);
  920.         INI_Save();
  921.         INI_Close();
  922.         return 1;
  923.     }
  924. }
  925.  
  926. CMD:kick(playerid, params[])
  927. {
  928.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  929.  
  930.     new pid, motivo[30], Str[128];
  931.     if(sscanf(params, "ds[32]",pid, motivo)) return SendClientMessage(playerid,-1,"Use: /kick [ playerid ] [ motivo ]");
  932.     else
  933.     {
  934.         format(Str, sizeof(Str), "Server: {FFFFFF}%s kickou %s por %s.",GetName(playerid), GetName(pid), motivo);
  935.         SendClientMessageToAll(COR_VERMELHO, Str);
  936.         Kick(pid);
  937.         return 1;
  938.     }
  939. }
  940.  
  941. CMD:ban(playerid, params[])
  942. {
  943.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  944.  
  945.     new pid, motivo[30], Str[128];
  946.     if(sscanf(params, "ds[32]",pid, motivo)) return SendClientMessage(playerid,-1,"Use: /kick [ playerid ] [ motivo ]");
  947.     else
  948.     {
  949.         format(Str, sizeof(Str), "Server: {FFFFFF}%s ban %s por %s.",GetName(playerid), GetName(pid), motivo);
  950.         SendClientMessageToAll(COR_VERMELHO, Str);
  951.         PlayerInfo[pid][pBanned] = 1;
  952.         BanEx(pid, motivo);
  953.         return 1;
  954.     }
  955. }
  956.  
  957. CMD:afk(playerid, params[])
  958. {
  959.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  960.  
  961.     if(PlayerInfo[playerid][afk])
  962.     {
  963.         PlayerInfo[playerid][afk] = false;
  964.         SendClientMessage(playerid, COR_ALARANJADO, "Server:{FFFFFF} Você saiu do modo AFK");
  965.         return 1;
  966.     }
  967.     if(!PlayerInfo[playerid][afk])
  968.     {
  969.         PlayerInfo[playerid][afk] = true;
  970.         SendClientMessage(playerid, COR_ALARANJADO, "Server:{FFFFFF} Você entrou no modo AFK");
  971.         return 1;
  972.     }
  973.     return 1;
  974.  
  975. }
  976.  
  977. CMD:criararena(playerid, params[])
  978. {
  979.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  980.  
  981.     if(!MapaInfo[MapaCriando]) ShowPlayerDialog(playerid,DIALOG_CRIAR_ARENA,DIALOG_STYLE_INPUT,"KOAD - BR","Bem vindo ao gerador de arenas. Para continuar, digite o nome da proxima arena e avance. Após a primeira etapa não será possível mais volta atrás.","Avançar >>","Cancelar");
  982.     else ShowPlayerDialog(playerid,DIALOG_CRIANDO_ARENA,DIALOG_STYLE_LIST,"KOAD - BR | Map Creator","Spawn Time A\nSpawn Time B\nCheckpoint dominável\nSalvar","Selecionar","Fechar");
  983.     return 1;
  984. }
  985.  
  986. CMD:kill(playerid, params[])
  987. {
  988.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  989.  
  990.     SetPlayerHealth(playerid, -0.1);
  991.     return 1;
  992. }
  993.  
  994.  
  995. CMD:iniciarad(playerid, params[])
  996. {
  997.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  998.  
  999.     if(ServerInfo[ActionMode]) return SendClientMessage(playerid, COR_VERMELHO, "Erro:{FFFFFF} Algum mapa está ativo, espere o round acabar ou finalize-o manualmente");
  1000.     new mapa[32], diretorio[64];
  1001.     if(sscanf(params, "s[32]",mapa)) return SendClientMessage(playerid,-1,"Use: /iniciarmapa [Mapa]");
  1002.     format(diretorio, sizeof(diretorio), "KOAD/Mapas/Arenas/%s.ini",mapa);
  1003.     if(!fexist(diretorio)) return SendClientMessage(playerid, COR_VERMELHO, "Erro: O mapa não existe");
  1004.     if(ContarPlayers() < 2) return SendClientMessage(playerid, COR_VERMELHO, "Erro: Precisa-se de pelo menos 2 players para iniciar-se um A/D");
  1005.     ServerInfo[ActionMode] = true;
  1006.  
  1007.     INI_Open(diretorio);
  1008.     MapaInfo[MapaXA] = INI_ReadFloat("MapaXA");
  1009.     MapaInfo[MapaYA] = INI_ReadFloat("MapaYA");
  1010.     MapaInfo[MapaZA] = INI_ReadFloat("MapaZA");
  1011.     MapaInfo[MapaXB] = INI_ReadFloat("MapaXB");
  1012.     MapaInfo[MapaYB] = INI_ReadFloat("MapaYB");
  1013.     MapaInfo[MapaZB] = INI_ReadFloat("MapaZB");
  1014.     MapaInfo[MapaXC] = INI_ReadFloat("MapaXC");
  1015.     MapaInfo[MapaYC] = INI_ReadFloat("MapaYC");
  1016.     MapaInfo[MapaZC] = INI_ReadFloat("MapaZC");
  1017.     INI_Close();
  1018.     TeamInfo[Defensores] = random(2) + 1;
  1019.     foreach(Player, pid)
  1020.     {
  1021.         if(TeamInfo[Defensores] == 1 && PlayerInfo[pid][pTime] == 1) PlayerInfo[pid][pDefenserState] = true;
  1022.         else if(TeamInfo[Defensores] == 1 && PlayerInfo[pid][pTime] == 2) PlayerInfo[pid][pDefenserState] = false;
  1023.         else if(TeamInfo[Defensores] == 2 && PlayerInfo[pid][pTime] == 2) PlayerInfo[pid][pDefenserState] = true;
  1024.         else if(TeamInfo[Defensores] == 2 && PlayerInfo[pid][pTime] == 1) PlayerInfo[pid][pDefenserState] = false;
  1025.         if(PlayerInfo[pid][pLogged])
  1026.         {
  1027.             if(!PlayerInfo[pid][afk])
  1028.             {
  1029.                 if(PlayerInfo[pid][pDefenserState] == true)
  1030.                 {
  1031.                     SetPlayerPos(pid, MapaInfo[MapaXA], MapaInfo[MapaYA], MapaInfo[MapaZA]);
  1032.                     PlayerInfo[pid][pInArena] = true;
  1033.                     ResetPlayerWeapons(pid);
  1034.                     GivePlayerWeapon(pid, DataInfo[Arma1], DataInfo[Mun1]);
  1035.                     GivePlayerWeapon(pid, DataInfo[Arma2], DataInfo[Mun2]);
  1036.                     GivePlayerWeapon(pid, DataInfo[Arma3], DataInfo[Mun3]);
  1037.                     ShowPlayerDialog(pid, 1, DIALOG_STYLE_MSGBOX, "KOAD - BR", "Iniciando um novo round...\n\n\nA entrar em jogo como {FF00FF}defensor.{FFFFFF}\n\n\nNão deixe sua base ser dominada até o tempo acabar!", "Fechar", "");
  1038.                 }
  1039.                 if(PlayerInfo[pid][pDefenserState] == false)
  1040.                 {
  1041.                     SetPlayerPos(pid, MapaInfo[MapaXB], MapaInfo[MapaYB], MapaInfo[MapaZB]);
  1042.                     PlayerInfo[pid][pInArena] = true;
  1043.                     GivePlayerWeapon(pid, DataInfo[Arma1], DataInfo[Mun1]);
  1044.                     GivePlayerWeapon(pid, DataInfo[Arma2], DataInfo[Mun2]);
  1045.                     GivePlayerWeapon(pid, DataInfo[Arma3], DataInfo[Mun3]);
  1046.                     ShowPlayerDialog(pid, 1, DIALOG_STYLE_MSGBOX, "KOAD - BR", "Iniciando um novo round...\n\n\nA entrar em jogo como {FF00FF}atacante.{FFFFFF}\n\n\nDomine a base inimiga!", "Fechar", "");
  1047.                 }
  1048.                 SetPlayerCheckpoint(pid, MapaInfo[MapaXC], MapaInfo[MapaYC], MapaInfo[MapaZC], 3);
  1049.             }
  1050.             else SendClientMessage(playerid, COR_VERDE, "Server: {FFFFFF}Você não pôde participar da arena pois você está AFK.");
  1051.         }
  1052.     }
  1053.  
  1054.     Gangzone = GangZoneCreate(MapaInfo[MapaXC]-100, MapaInfo[MapaYC]-100, MapaInfo[MapaXC]+100, MapaInfo[MapaYC]+100);
  1055.  
  1056.     GangZoneShowForAll(Gangzone, COR_VERDE);
  1057.     GangZoneFlashForAll(Gangzone,COR_VERMELHO);
  1058.  
  1059.     ServerInfo[TimeDom] = DataInfo[TempoDom];
  1060.     TimerGZdom = SetTimer("GZDOM", 1000, true);
  1061.     format(ServerInfo[CurrentMap], sizeof(ServerInfo[CurrentMap]), "%s",mapa);
  1062.     SendRconCommand(ServerInfo[CurrentMap]);
  1063.     return 1;
  1064. }
  1065.  
  1066. CMD:creditos(playerid, params[])
  1067. {
  1068.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  1069.  
  1070.     return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "KOAD - BR", "Obrigado por ver os créditos!\n\n\nGamemode KOAD feito por {FF00FF}[Kz]Kuddy{FFFFFF}\n\n\n", "Fechar", "");
  1071. }
  1072.  
  1073. CMD:tempodominar(playerid, params[])
  1074. {
  1075.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  1076.  
  1077.     new tempo, Str[128];
  1078.     if(sscanf(params, "d",tempo)) return SendClientMessage(playerid,-1,"Use: /tempodominar [tempo em segundos]");
  1079.     else
  1080.     {
  1081.         DataInfo[TempoDom] = tempo;
  1082.         INI_Open("KOAD/data/config.ini");
  1083.         INI_WriteInt("TempoDom", DataInfo[TempoDom]);
  1084.         format(Str, sizeof(Str), "Server: {FFFFFF}%s alterou o tempo de dominar no A/D para %d.",GetName(playerid), tempo);
  1085.         SendClientMessageToAll(COR_VERDE, Str);
  1086.         INI_Save();
  1087.         INI_Close();
  1088.         return 1;
  1089.     }
  1090. }
  1091.  
  1092. CMD:armar(playerid, params[])
  1093. {
  1094.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  1095.  
  1096.     GivePlayerWeapon(playerid, 31, 99999);
  1097.     return 1;
  1098. }
  1099.  
  1100. CMD:setararma(playerid, params[])
  1101. {
  1102.     if(PlayerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, você precisa ser um administrador para usar este comando.");
  1103.  
  1104.     new Str[128], slot, arma, municao;
  1105.     if(sscanf(params, "ddd",slot, arma, municao)) return SendClientMessage(playerid,-1,"Use: /armas [1-3] [ID da arma] [Munição]");
  1106.     else
  1107.     {
  1108.         INI_Open("KOAD/data/config.ini");
  1109.         switch(slot)
  1110.         {
  1111.             case 1:
  1112.             {
  1113.                 INI_WriteInt("Arma1", arma);
  1114.                 INI_WriteInt("Mun1", municao);
  1115.                 DataInfo[Arma1] = arma;
  1116.                 DataInfo[Mun1] = municao;
  1117.             }
  1118.             case 2:
  1119.             {
  1120.                 INI_WriteInt("Arma2", arma);
  1121.                 INI_WriteInt("Mun2", municao);
  1122.                 DataInfo[Arma2] = arma;
  1123.                 DataInfo[Mun2] = municao;
  1124.             }
  1125.             case 3:
  1126.             {
  1127.                 INI_WriteInt("Arma3", arma);
  1128.                 INI_WriteInt("Mun3", municao);
  1129.                 DataInfo[Arma3] = arma;
  1130.                 DataInfo[Mun3] = municao;
  1131.             }
  1132.             default: return SendClientMessage(playerid, COR_VERMELHO, "Server:{FFFFFF} Erro, utilise o slot de 1 a 3!");
  1133.         }
  1134.         format(Str, sizeof(Str), "Server: {FFFFFF}%s alterou as armas de arena.",GetName(playerid));
  1135.         SendClientMessageToAll(COR_VERDE, Str);
  1136.         INI_Save();
  1137.         INI_Close();
  1138.         return 1;
  1139.     }
  1140. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement