Advertisement
TioBoBf1

Untitled

Feb 28th, 2017
1,037
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //Includes//
  2.  
  3. #include <a_samp>
  4. #include <DOF2>
  5. #include <sscanf2>
  6. #include <zcmd>
  7.  
  8. //defines//
  9.  
  10. #define Verde 0x02BA3CFF
  11. #define Azul 0x008EB5FF
  12. #define Rosa 0xB30260FF
  13. #define Vermelho 0xFF122EFF
  14. #define Preto 0x000000FF
  15. #define Amarelo 0xFFFF03FF
  16. #define Branco 0xFFFFFFFF
  17. #define Dialog_Registro 1
  18. #define Dialog_Login 2
  19. #define Contas "Contas/%s.ini"
  20. #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
  21. #define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0)
  22.  
  23.  
  24. //Variaveis//
  25.  
  26. enum InfoPlayer {
  27.  
  28.     Senha,
  29.     Skin,
  30.     Score,
  31.     Matou,
  32.     Morreu,
  33.     Dinheiro,
  34.     Admin
  35.  
  36.  
  37. };
  38.  
  39. new Erro[MAX_PLAYERS];
  40. new Player[MAX_PLAYERS][InfoPlayer];
  41.  
  42. new MensagensServer[2][] =
  43. {
  44. "[!] Em caso de duvidas, procure os adms!.",
  45. "[!] Trabalha para conseguir dinheiro, ou roube"
  46. };
  47.  
  48. new Float:RandomSpawn[][] =
  49. {
  50.  
  51. {198.5705,-107.5537,1.5505},
  52. {898.2281,-1103.6245,23.6953},
  53. {1177.2325,-1321.8060,14.0605}
  54.  
  55. };
  56.  
  57. main()
  58.  
  59. {
  60.     print("\n----------------------------------");
  61.     print(" É nois cachorro ");
  62.     print("----------------------------------\n");
  63. }
  64.  
  65. //Skin selection//
  66.  
  67. public OnGameModeInit()
  68. {
  69.     // Don't use these lines if it's a filterscript
  70.     SetGameModeText("Brasil RPG");
  71.    
  72.     for(new i=0; i < 311; i++){
  73.    
  74.         AddPlayerClass(i,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);
  75.  
  76.     }
  77.    
  78.     //Timer
  79.  
  80.     SetTimer("SendMensagem", 120000, true );
  81.    
  82.     return 1;
  83. }
  84.  
  85. //Quando o game mod for finalizado//
  86.  
  87. public OnGameModeExit()
  88. {
  89.     DOF2_Exit();
  90.     return 1;
  91. }
  92.  
  93. public OnPlayerRequestClass(playerid, classid)
  94. {
  95.     SetPlayerInterior(playerid, 14);
  96.     SetPlayerPos(playerid,258.4893,-41.4008,1002.0234);
  97.     SetPlayerFacingAngle(playerid, 270.0);
  98.     SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234);
  99.     SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234);
  100.     return 1;
  101. }
  102.  
  103. public OnPlayerConnect(playerid)
  104. {
  105.     //Mensagem ao play conectar
  106.     /*
  107.     Outro tipo de comentario
  108.     */
  109.  
  110.     new string[64], Jogador[MAX_PLAYER_NAME];
  111.  
  112.     GetPlayerName(playerid, Jogador, sizeof(Jogador));
  113.    
  114.     format(string, sizeof(string), "O Jogador %s Entrou No Servidor!",Jogador);
  115.     SendClientMessageToAll(Azul, string);
  116.    
  117. // Verificar Se O Player Tem Conta No Servidor Ou Não //
  118.  
  119.     if(DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
  120.     {
  121.         ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "Brasil Real-life Login", "Digite Sua Senha Para Entrar!","Logar","Sair");
  122.     }
  123.     else
  124.     {
  125.         ShowPlayerDialog( playerid, Dialog_Registro, DIALOG_STYLE_PASSWORD, "Brasil Real-life Registro", "Digite Sua Senha Para Se Registrar!", "Registrar","Sair");
  126.     }
  127.    
  128.    
  129.     return 1;
  130. }
  131.  
  132. public OnPlayerDisconnect(playerid, reason)
  133. {
  134.     new string[64], Jogador[MAX_PLAYER_NAME];
  135.    
  136.     GetPlayerName(playerid, Jogador, sizeof(Jogador));
  137.    
  138.     new Razao[3][] = {
  139.     "(Conexão/Cash)",
  140.     "(Saiu)",
  141.     "(Kickado/Banido)"
  142.    
  143.     };
  144.    
  145.     format(string, sizeof(string), "O Jogador %s Saiu Do Servidor!%s",Jogador,Razao[reason]);
  146.    
  147.     SendClientMessageToAll(Verde, string);
  148.    
  149.     // Salvar A Conta Do Player Ao Sair Do Servidor!
  150.  
  151.     SavePlayer(playerid);
  152.    
  153.     return 1;
  154. }
  155.  
  156. public OnPlayerSpawn(playerid)
  157. {
  158.     SetPlayerInterior(playerid, 0);
  159.    
  160.     new RandomPosition = random(sizeof(RandomSpawn));
  161.    
  162.     SetPlayerPos(playerid, RandomSpawn[RandomPosition][0], RandomSpawn[RandomPosition][1], RandomSpawn[RandomPosition][2] );
  163.    
  164.     return 1;
  165. }
  166.  
  167. public OnPlayerDeath(playerid, killerid, reason)
  168. {
  169.      SetPlayerScore(playerid, GetPlayerScore(playerid) - 1);
  170.      SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
  171.      
  172.      return 1;
  173. }
  174.  
  175. public OnVehicleSpawn(vehicleid)
  176. {
  177.     return 1;
  178. }
  179.  
  180. public OnVehicleDeath(vehicleid, killerid)
  181. {
  182.     return 1;
  183. }
  184.  
  185. public OnPlayerText(playerid, text[])
  186. {
  187.     return 1;
  188. }
  189.  
  190.                    /**///comandos///**/
  191.  
  192. //COmando Ban//
  193.  
  194. CMD:banir (playerid, params[])
  195. {
  196.  
  197.     if(Player[playerid][Admin] < 1 return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Você Não Tem Permissão!. ");
  198.  
  199.     new PlayerIDBanido, Motivo[50], Mensagem[256];
  200.    
  201.     if ( sscanf( params, "us[30]", PlayerIDBanido, Motivo )) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Preto}Use: /Banir ID Motivo !." );
  202.    
  203.     if ( PlayerIDBanido == INVALID_PLAYER_ID ) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Amarelo}Player Inválido!." );
  204.    
  205.     if( strlen(Motivo) > 50 ) return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Motivo Muito Grande!.");
  206.    
  207.     format(Mensagem, sizeof(Mensagem), "[Real-life] O Admin $s Banio O Player %s! Motivo: %s!. ",GetPlayerNameEx(playerid), GetPlayerNameEx(PlayerIDBanido), Motivo);
  208.    
  209.     SendClientMessageToAll(Vermelho, Mensagem);
  210.    
  211.     Ban(PlayerIDBanido);
  212.    
  213.  
  214.     return 1;
  215. }
  216.  
  217.                            //Comando kick//
  218.  
  219. CMD:kick (playerid, params[])
  220. {
  221.  
  222.     CMD:kick(playerid, params[])
  223. {
  224.  
  225.     if(Player[playerid][Admin] < 1 return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Você Não Tem Permissão!. ");
  226.    
  227.     new PlayerIDKickado, Motivo[50], Mensagem[256];
  228.  
  229.     if ( sscanf( params, "us[30]", PlayerIDKickado, Motivo )) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Preto}Use: /Kick ID Motivo !." );
  230.  
  231.     if ( PlayerIDKickado == INVALID_PLAYER_ID ) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Amarelo}Player Inválido!." );
  232.  
  233.     if( strlen(Motivo) > 50 ) return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Motivo Muito Grande!.")
  234.    
  235.     format(Mensagem, sizeof(Mensagem), "[Real-life] O Admin $s Kickou O Player %s! Motivo: %s!. ",GetPlayerNameEx(playerid), GetPlayerNameEx(PlayerIDKickado), Motivo);
  236.  
  237.     SendClientMessageToAll(Vermelho, Mensagem);
  238.    
  239.     Kick(PlayerIDCikado);
  240.  
  241.     return 1;
  242. }
  243.  
  244. CMD:setadmin (playerid, params[])
  245. {
  246.  
  247.     if(!IsPlayerAdmin(playerid) ££ Player[playerid][Admin] < 5  ) return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Você Não Tem Permissão!. ");
  248.    
  249.     new PlayerIDSetado, Level, Mensagem[256];
  250.    
  251.     if ( sscanf( params, "ud", PlayerIDSetado, Level )) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Preto}Use: /Kick ID Motivo !." );
  252.    
  253.     if ( PlayerIDSetado == INVALID_PLAYER_ID ) return SendClientMessage( playerid, Vermelho, "[REAL-LIFE]: {Amarelo}Player Inválido!." );
  254.    
  255.     if( Level > 5 ££ Level < 1 ) return SendClientMessage(playerid, Vermelho, "[REAL-LIFE]: {Preto}Use Somente Levels De 1 Á 5!.")
  256.    
  257.     format(Mensagem, sizeof(Mensagem), "[Real-life] O Admin $s Setou ADM Para %s! Level: %d!. ",GetPlayerNameEx(playerid), GetPlayerNameEx(PlayerIDSetado), Level);
  258.  
  259.     SendClientMessageToAll(Vermelho, Mensagem);
  260.    
  261.     Player[PlayerIDSetado][Admin] = Level;
  262.    
  263.     return 1;
  264.  
  265. }
  266.  
  267.  
  268.  
  269. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  270. {
  271.     return 1;
  272. }
  273.  
  274. public OnPlayerExitVehicle(playerid, vehicleid)
  275. {
  276.     return 1;
  277. }
  278.  
  279. public OnPlayerStateChange(playerid, newstate, oldstate)
  280. {
  281.     return 1;
  282. }
  283.  
  284. public OnPlayerEnterCheckpoint(playerid)
  285. {
  286.     return 1;
  287. }
  288.  
  289. public OnPlayerLeaveCheckpoint(playerid)
  290. {
  291.     return 1;
  292. }
  293.  
  294. public OnPlayerEnterRaceCheckpoint(playerid)
  295. {
  296.     return 1;
  297. }
  298.  
  299. public OnPlayerLeaveRaceCheckpoint(playerid)
  300. {
  301.     return 1;
  302. }
  303.  
  304. public OnRconCommand(cmd[])
  305. {
  306.     return 1;
  307. }
  308.  
  309. public OnPlayerRequestSpawn(playerid)
  310. {
  311.     return 1;
  312. }
  313.  
  314. public OnObjectMoved(objectid)
  315. {
  316.     return 1;
  317. }
  318.  
  319. public OnPlayerObjectMoved(playerid, objectid)
  320. {
  321.     return 1;
  322. }
  323.  
  324. public OnPlayerPickUpPickup(playerid, pickupid)
  325. {
  326.     return 1;
  327. }
  328.  
  329. public OnVehicleMod(playerid, vehicleid, componentid)
  330. {
  331.     return 1;
  332. }
  333.  
  334. public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
  335. {
  336.     return 1;
  337. }
  338.  
  339. public OnVehicleRespray(playerid, vehicleid, color1, color2)
  340. {
  341.     return 1;
  342. }
  343.  
  344. public OnPlayerSelectedMenuRow(playerid, row)
  345. {
  346.     return 1;
  347. }
  348.  
  349. public OnPlayerExitedMenu(playerid)
  350. {
  351.     return 1;
  352. }
  353.  
  354. public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
  355. {
  356.     return 1;
  357. }
  358.  
  359. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  360. {
  361.     return 1;
  362. }
  363.  
  364. public OnRconLoginAttempt(ip[], password[], success)
  365. {
  366.     return 1;
  367. }
  368.  
  369. public OnPlayerUpdate(playerid)
  370. {
  371.     return 1;
  372. }
  373.  
  374. public OnPlayerStreamIn(playerid, forplayerid)
  375. {
  376.     return 1;
  377. }
  378.  
  379. public OnPlayerStreamOut(playerid, forplayerid)
  380. {
  381.     return 1;
  382. }
  383.  
  384. public OnVehicleStreamIn(vehicleid, forplayerid)
  385. {
  386.     return 1;
  387. }
  388.  
  389. public OnVehicleStreamOut(vehicleid, forplayerid)
  390. {
  391.     return 1;
  392. }
  393.  
  394. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  395. {
  396.     switch(dialogid){
  397.  
  398.     case Dialog_Registro:
  399.     {
  400.         if( response )
  401.         {
  402.             if( strlen( inputtext ) < 5 || strlen( inputtext ) > 20 || !strlen( inputtext ) )
  403.             {
  404.  
  405.                 ShowPlayerDialog( playerid, Dialog_Registro ,DIALOG_STYLE_PASSWORD, "Doege Registro", "Sua Senha Deve Conter No Mínimo 5 Caracteres!\nE No Máximo 20!\nTente Novamente!","Registrar","Sair" );
  406.  
  407.                 return 1;
  408.             }
  409.  
  410.             // Criar Arquivo E Colocar Os Valores //
  411.             DOF2_CreateFile( GetPlayerArquivo( playerid ) );
  412.             DOF2_SetString( GetPlayerArquivo( playerid ),"Senha", inputtext );
  413.             DOF2_SetInt( GetPlayerArquivo( playerid ), "Score" ,0 );
  414.             DOF2_SetInt( GetPlayerArquivo( playerid ), "Matou" ,0 );
  415.             DOF2_SetInt( GetPlayerArquivo( playerid ), "Morreu" ,0 );
  416.             //DOF2_SetInt( GetPlayerArquivo( playerid ), "Skin" ,0 );
  417.             DOF2_SetInt( GetPlayerArquivo( playerid ),"Dinheiro", 10000 );
  418.             DOF2_SetInt( GetPlayerArquivo( playerid ), "Admin",0 );
  419.  
  420.             SendClientMessage(playerid, 0x19B519FF, "[DOEGE]» {FFFFFF}Registrado Com Sucesso!.");
  421.  
  422.             ShowPlayerDialog( playerid, Dialog_Login ,DIALOG_STYLE_PASSWORD, "Brasil Vida-Real Login", "Digite Sua Senha Registrada Abaixo Para Fazer O Login!","Logar","Sair" );
  423.  
  424.         }
  425.         else Kick( playerid );
  426.     }
  427.  
  428.     case Dialog_Login:
  429.     {
  430.         if( response )
  431.         {
  432.             if( strlen( inputtext ) < 5 || strlen( inputtext ) > 20 || !strlen( inputtext ) )
  433.             {
  434.  
  435.                 SendClientMessage( playerid, -1, "{19B519}[VIDA-REAL]» {FFFFFF}Digite Sua Senha Corretamente!." );
  436.                 ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "Brasil Vida-Real Login","Digite Sua Senha Para Entrar!","Entrar","Sair");
  437.  
  438.                 return 1;
  439.             }
  440.             if( strcmp( inputtext, DOF2_GetString( GetPlayerArquivo( playerid ), "Senha" )) == 0 )
  441.             {
  442.  
  443.                 LoadPlayer( playerid );
  444.  
  445.                 SendClientMessage(playerid, 0x19B519FF, "[VIDA-REAL]» {FFFFFF}Logado Com Sucesso!.");
  446.  
  447.             }
  448.             else
  449.             {
  450.                 Erro[ playerid ] ++; // Aquivo adiciona + 1 a variavel erro...
  451.                 if ( Erro[ playerid ] == 5 ){ SavePlayer(playerid); Kick ( playerid ); } // se a variavel chegar a 5, kicka o player pois ele errou 5 vezes a senha.
  452.  
  453.                 SendClientMessage( playerid, Verde, "{19B519}[DOEGE]» {FFFFFF}Digite Sua Senha Corretamente!." );
  454.                 ShowPlayerDialog( playerid, Dialog_Login, DIALOG_STYLE_PASSWORD, "Doege Login","Digite Sua Senha Para Entrar!","Entrar","Sair");
  455.  
  456.             }
  457.         }
  458.         else{
  459.  
  460.          SavePlayer( playerid );
  461.          Kick( playerid );
  462.  
  463.         }
  464.     }
  465.  
  466.     }
  467.     return 1;
  468. }
  469.  
  470. public OnPlayerClickPlayer(playerid, clickedplayerid, source)
  471. {
  472.     return 1;
  473. }
  474.  
  475. forward SendMensagem();
  476.  
  477. public SendMensagem()
  478. {
  479.      new String[100];
  480.      
  481.      new RandomMensagensServer = random(sizeof(MensagensServer));
  482.      
  483.      format(String, sizeof(String), "%s",MensagensServer[RandomMensagensServer]);
  484.      
  485.      SendClientMessageToAll(Verde, String);
  486.      
  487.      return 1;
  488.  
  489. }
  490.  
  491. // Funções //
  492.  
  493. GetPlayerArquivo(playerid)
  494. {
  495.     new ArquivoPlayer[ 30 ];
  496.     format( ArquivoPlayer, sizeof( ArquivoPlayer ), Contas, GetPlayerNameEx( playerid ) );
  497.     return ArquivoPlayer;
  498. }
  499.  
  500. stock GetPlayerNameEx(playerid)
  501. {
  502.     new Nome[MAX_PLAYER_NAME];
  503.     GetPlayerName(playerid, Nome, sizeof(Nome));
  504.     return Nome;
  505. }
  506.  
  507. SavePlayer(playerid)
  508. {
  509.     if( DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
  510.     {
  511.  
  512.         DOF2_CreateFile(GetPlayerArquivo(playerid));
  513.  
  514.         //DOF2_SetInt( GetPlayerArquivo( playerid ), "Skin", Player[ playerid ][ Skin ] );
  515.         DOF2_SetInt( GetPlayerArquivo( playerid ), "Score", Player[ playerid ][ Score ] );
  516.         DOF2_SetInt( GetPlayerArquivo( playerid ), "Matou", Player[ playerid ][ Matou ] );
  517.         DOF2_SetInt( GetPlayerArquivo( playerid ), "Morreu", Player[ playerid ][ Morreu ] );
  518.         DOF2_SetInt( GetPlayerArquivo( playerid ), "Dinheiro", GetPlayerMoney( playerid ));
  519.         DOF2_SetInt( GetPlayerArquivo( playerid ), "Admin", Player[ playerid ][ Admin ] );
  520.  
  521.         DOF2_SaveFile();
  522.  
  523.     }
  524.     return 1;
  525. }
  526.  
  527. LoadPlayer(playerid)
  528. {
  529.     if( DOF2_FileExists( GetPlayerArquivo( playerid ) ) )
  530.     {
  531.         //Player[ playerid ][ Skin ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Skin" );
  532.         Player[ playerid ][ Score ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Score" );
  533.         Player[ playerid ][ Dinheiro ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Dinheiro" );
  534.         Player[ playerid ][ Admin ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Admin"  );
  535.         Player[ playerid ][ Matou ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Matou" );
  536.         Player[ playerid ][ Morreu ] = DOF2_GetInt( GetPlayerArquivo( playerid ), "Morreu" );
  537.  
  538.         SetPlayerScore( playerid, Player[ playerid ][ Score ] );
  539.         GivePlayerMoney( playerid, Player[ playerid] [ Dinheiro ] );
  540.         //SetPlayerSkin(playerid, Player[ playerid ][ Skin ] );
  541.  
  542.     }
  543.     return 1;
  544. }
  545.  
  546.  //kick| Ban//
  547.  
  548. forward Kicka(p); public Kicka(p) {
  549.     #undef Kick
  550.     Kick(p);
  551.     #define Kick(%0) SetTimerEx("Kicka", 100, false, "i", %0)
  552.     return 1;
  553. }
  554.  
  555. forward Bana(p); public Bana(p) {
  556.     #undef Ban
  557.     Ban(p);
  558.     #define Ban(%0) SetTimerEx("Bana", 100, false, "i", %0)
  559.     return 1;
  560. }
Advertisement
RAW Paste Data Copied
Advertisement