PedroEduardo

[GameMode] Base DOF2 0.5

Nov 9th, 2016
464
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 10.71 KB | None | 0 0
  1. //===========================================//
  2. //** System : GameMode Base DOF2 v0.5         ( http://forum.sa-mp.com/showthread.php?p=3824052 )
  3. //** Credits: Pedro Eduardo
  4. //===========================================//
  5.  
  6. //======================================[ INCLUDES ]====================================||
  7. #include    a_samp
  8. #include    DOF2
  9. #include    zcmd
  10.  
  11. #define     DarMoney(%0,%1) ResetPlayerMoney(%0) && GivePlayerMoney(%0,%1)
  12. //======================================[ DIALOGOS ]====================================||
  13. #define     DIALOG_REGISTRO             0
  14. #define     DIALOG_LOGIN                1
  15.  
  16. #define     DIALOG_NICK                 2
  17. #define     DIALOG_SENHA                3
  18. #define     DIALOG_SKIN                 4
  19. #define     DIALOG_SCORE                5
  20. #define     DIALOG_DINHEIRO             6
  21. //======================================[ INICIO ]======================================||
  22. main(){}
  23.  
  24. enum pInfo
  25. {
  26.     pAdmin,
  27.     pSkin,
  28.     Float:pPosX,
  29.     Float:pPosY,
  30.     Float:pPosZ,
  31.     pInterior,
  32.     pScore,
  33.     pDinheiro
  34. }
  35.  
  36. new Dados[MAX_PLAYERS][pInfo];
  37. new Conta[256];
  38.  
  39. //=====================================[ CALLBACKS ]====================================||
  40. public OnGameModeInit()
  41. {
  42.     SetGameModeText("Modo livre");
  43.     UsePlayerPedAnims();                                                               
  44.     return  1;
  45. }
  46.  
  47. public OnGameModeExit()
  48. {
  49.     DOF2_Exit();
  50.     return 1;
  51. }
  52.  
  53. public OnPlayerConnect(playerid)
  54. {
  55.     //=================================[ LOGIN/REGISTRO ]===============================||
  56.     format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  57.     if(!DOF2_FileExists(Conta))
  58.     {
  59.         ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "REGISTRO", "Registrar!", "Registrar", "Sair");
  60.     }
  61.     else
  62.     {
  63.         ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN", "Logar", "Conectar", "Sair");
  64.     }
  65.     //==================================================================================||
  66.     return 1;
  67. }
  68.  
  69. public OnPlayerDisconnect(playerid, reason)
  70. {
  71.     //=================================[ SALVANDO CONTAS ]==============================||
  72.     format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  73.     DOF2_SetInt(Conta, "Admin", Dados[playerid][pAdmin]);
  74.     DOF2_SetInt(Conta, "Skin", Dados[playerid][pSkin]);
  75.     DOF2_SetInt(Conta, "Dinheiro", GetPlayerMoney(playerid));
  76.     DOF2_SetInt(Conta, "Score", GetPlayerScore(playerid));
  77.    
  78.     new Float:X, Float:Y, Float:Z;
  79.     GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
  80.     DOF2_SetFloat(Conta, "PosX", X);
  81.     DOF2_SetFloat(Conta, "PosY", Y);
  82.     DOF2_SetFloat(Conta, "PosZ", Z);
  83.     DOF2_SetInt(Conta, "Interior", GetPlayerInterior(playerid));
  84.    
  85.     DOF2_SaveFile();
  86.     //==================================================================================||
  87.     return 1;
  88. }
  89.  
  90. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  91. {
  92.     //=================================[ DIALOG_REGISTRO ]==============================||
  93.     if(dialogid == DIALOG_REGISTRO)
  94.     {
  95.         if(response)
  96.         {
  97.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite Sua Senha Para Se Registrar!", "Registrar", "Sair");
  98.            
  99.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  100.             DOF2_CreateFile(Conta);
  101.             DOF2_SetString(Conta, "Senha", inputtext);
  102.             DOF2_SaveFile();
  103.            
  104.             CriarConta(playerid);
  105.             CarregarConta(playerid);
  106.             return 1;
  107.         }
  108.         else
  109.         {
  110.             return Kick(playerid);
  111.         }
  112.     }
  113.     //=================================[ DIALOGO   LOGIN ]==============================||
  114.     if(dialogid == DIALOG_LOGIN)
  115.     {
  116.         if(response)
  117.         {
  118.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN", "Logar", "Conectar", "Sair");
  119.            
  120.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  121.             if(strcmp(inputtext, DOF2_GetString(Conta, "Senha"), true))
  122.             {
  123.                 ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "LOGIN", "Entrar no servidor","Entrar", "Sair");
  124.                 return SendClientMessage(playerid, -1, "Senha incorreta!");
  125.             }
  126.             else //se conseguir logar
  127.             {
  128.                 CarregarConta(playerid);
  129.                 return 1;
  130.             }
  131.         }
  132.         else
  133.         {
  134.             return Kick(playerid);
  135.         }
  136.     }
  137.     //=================================[ DIALOGO    NICK ]==============================||
  138.     if(dialogid == DIALOG_NICK)
  139.     {
  140.         if(response)
  141.         {
  142.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_NICK, DIALOG_STYLE_INPUT, "Mudar Nick", "para mudar de nick, digite-a abaixo.", "Mudar", "Voltar");
  143.            
  144.             new mensagem[54], local[60],novo[60];
  145.             format(local, 60, "Contas/%s.ini",Nome(playerid));
  146.             format(mensagem, 54, "O Jogado %s, mudou seu nick para %s", Nome(playerid),inputtext);
  147.             SendClientMessageToAll( -1, mensagem);
  148.             format(novo, 60, "Contas/%s.ini", inputtext);
  149.             DOF2_RenameFile(local, novo);
  150.             SetPlayerName(playerid, inputtext);
  151.         }
  152.         else
  153.         {
  154.             return 0;
  155.         }
  156.         return 1;
  157.     }
  158.     //=================================[ DIALOGO   SENHA ]==============================||
  159.     if(dialogid == DIALOG_SENHA)
  160.     {
  161.         if(response)
  162.         {
  163.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_SENHA, DIALOG_STYLE_INPUT, "Mudar Senha", "para mudar de senha, digite-a abaixo.", "Mudar", "Voltar");
  164.            
  165.             new String01[128];
  166.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  167.             DOF2_SetString(Conta, "Senha", inputtext);
  168.             DOF2_SaveFile();
  169.             format(String01, sizeof(String01), "{12FF05}Sua nova senha é {25E01B}'%s' tire um print para n esquecer apertando [f8]", inputtext);
  170.             SendClientMessage(playerid, -1, String01);
  171.         }
  172.         else
  173.         {
  174.             return 0;
  175.         }
  176.         return 1;
  177.     }
  178.     //=================================[ DIALOGO    SKIN ]==============================||
  179.     if(dialogid == DIALOG_SKIN)
  180.     {
  181.         if(response)
  182.         {
  183.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Mudar Skin", "para mudar de skin, digite-a abaixo.", "Mudar", "Voltar");
  184.            
  185.             new String01[128];
  186.             format(String01, sizeof(String01), "Você colocou a Skin Número %i", strval(inputtext));
  187.             SendClientMessage(playerid, -1, String01);
  188.            
  189.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));     
  190.             Dados[playerid][pSkin] = strval(inputtext);
  191.             DOF2_SetInt(Conta, "Skin", Dados[playerid][pSkin]);
  192.             DOF2_SaveFile();
  193.             SetPlayerSkin(playerid,strval(inputtext));
  194.         }
  195.         else
  196.         {
  197.             return 0;
  198.         }
  199.         return 1;
  200.     }
  201.     //=================================[ DIALOGO    SCORE ]==============================||
  202.     if(dialogid == DIALOG_SCORE)
  203.     {
  204.         if(response)
  205.         {
  206.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_SCORE, DIALOG_STYLE_INPUT, "Mudar Score", "para mudar de score, digite-a abaixo.", "Mudar", "Voltar");
  207.            
  208.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  209.             new String01[128];
  210.             format(String01, sizeof(String01), "Você colocou %i de Score", strval(inputtext));
  211.             SendClientMessage(playerid, -1, String01);
  212.             DOF2_SetString(Conta, "Score", inputtext);
  213.             DOF2_SaveFile();
  214.             SetPlayerScore(playerid,strval(inputtext));
  215.         }
  216.         else
  217.         {
  218.             return 0;
  219.         }
  220.         return 1;
  221.     }
  222.     //=================================[ DIALOGO    DINHEIRO ]==============================||
  223.     if(dialogid == DIALOG_DINHEIRO)
  224.     {
  225.         if(response)
  226.         {
  227.             if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_DINHEIRO, DIALOG_STYLE_INPUT, "Mudar Dinheiro", "para mudar de dinheiro, digite-a abaixo.", "Mudar", "Voltar");
  228.            
  229.             format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  230.             new String01[128];
  231.             format(String01, sizeof(String01), "Você colocou %iR$ na sua conta", strval(inputtext));
  232.             SendClientMessage(playerid, -1, String01);
  233.             DOF2_SetString(Conta, "Dinheiro", inputtext);
  234.             DOF2_SaveFile();
  235.             DarMoney(playerid,strval(inputtext));
  236.         }
  237.         else
  238.         {
  239.             return 0;
  240.         }
  241.         return 1;
  242.     }
  243.     return 1;
  244. }
  245.  
  246. public OnPlayerSpawn(playerid)
  247. {
  248.     SetPlayerSkin(playerid, Dados[playerid][pSkin]);
  249.     return 1;
  250. }
  251.  
  252. CriarConta(playerid)
  253. {
  254.     format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  255.    
  256.     DOF2_SetInt(Conta, "Admin", 0);
  257.     DOF2_SetInt(Conta, "Skin", 98);
  258.     DOF2_SetInt(Conta, "Dinheiro", 500);
  259.     DOF2_SetInt(Conta, "Score", 0);
  260.     DOF2_SetInt(Conta, "PosX", 2000);
  261.     DOF2_SetInt(Conta, "PosY", 2000);
  262.     DOF2_SetInt(Conta, "PosZ", 13);
  263.     DOF2_SetInt(Conta, "Interior", 0);
  264.     DOF2_SaveFile();
  265. }
  266.  
  267. CarregarConta(playerid)
  268. {
  269.     format(Conta, sizeof(Conta), "Contas/%s.ini", Nome(playerid));
  270.    
  271.     Dados[playerid][pAdmin] = DOF2_GetInt(Conta, "Admin");
  272.     Dados[playerid][pSkin] = DOF2_GetInt(Conta, "Skin");
  273.     Dados[playerid][pDinheiro] = DOF2_GetInt(Conta, "Dinheiro");
  274.     Dados[playerid][pScore] = DOF2_GetInt(Conta, "Score");
  275.     Dados[playerid][pPosX] = DOF2_GetInt(Conta, "PosX");
  276.     Dados[playerid][pPosY] = DOF2_GetInt(Conta, "PosY");
  277.     Dados[playerid][pPosZ] = DOF2_GetInt(Conta, "PosZ");
  278.     Dados[playerid][pInterior] = DOF2_GetInt(Conta, "Interior");
  279.    
  280.     SetPlayerScore(playerid, Dados[playerid][pScore]);
  281.     DarMoney(playerid, Dados[playerid][pDinheiro]);
  282.     SetPlayerInterior(playerid, Dados[playerid][pInterior]);
  283.     SetSpawnInfo(playerid, 1, Dados[playerid][pSkin], Dados[playerid][pPosX], Dados[playerid][pPosY], Dados[playerid][pPosZ], 269.15, 0, 0, 0, 0, 0, 0);
  284.     SpawnPlayer(playerid);
  285. }
  286.  
  287. //=====================================================================================||
  288.  
  289. Nome(playerid)
  290. {
  291.     new pNome[MAX_PLAYER_NAME];
  292.     GetPlayerName(playerid, pNome, 24);
  293.     return pNome;
  294. }
  295.  
  296. //=============================[Comandos]==============================================||
  297.  
  298. CMD:mudarsenha(playerid)
  299. {
  300.     return ShowPlayerDialog(playerid, DIALOG_SENHA, DIALOG_STYLE_INPUT, "Mudar Senha", "para mudar de senha, digite-a abaixo.", "Mudar", "Voltar");
  301. }
  302.  
  303. CMD:mudarnick(playerid)
  304. {
  305.     return ShowPlayerDialog(playerid, DIALOG_NICK, DIALOG_STYLE_INPUT, "Mudar Nick", "para mudar de nick, digite-a abaixo.", "Mudar", "Voltar");
  306. }
  307.  
  308. CMD:skin(playerid)
  309. {
  310.     return ShowPlayerDialog(playerid, DIALOG_SKIN, DIALOG_STYLE_INPUT, "Mudar Skin", "para mudar de skin, digite-a abaixo.", "Mudar", "Voltar");
  311. }
  312.  
  313. CMD:score(playerid)
  314. {
  315.     return ShowPlayerDialog(playerid, DIALOG_SCORE, DIALOG_STYLE_INPUT, "Mudar Score", "para mudar de Score, digite-a abaixo.", "Mudar", "Voltar");
  316. }
  317.  
  318. CMD:dinheiro(playerid)
  319. {
  320.     return ShowPlayerDialog(playerid, DIALOG_DINHEIRO, DIALOG_STYLE_INPUT, "Mudar dinheiro", "para dar dinheiro pra vc, digite-a abaixo.", "Mudar", "Voltar");
  321. }
  322.  
  323. CMD:viraradmin(playerid)
  324. {
  325.     if(Dados[playerid][pAdmin] == 1) return SendClientMessage(playerid, -1, "Você já é admin");
  326.     Dados[playerid][pAdmin] = 1;
  327.     DOF2_SetInt(Conta, "Admin", Dados[playerid][pAdmin]);
  328.     DOF2_SaveFile();
  329.     return SendClientMessage(playerid, -1, "Você virou admin nivel 1 :)");
  330. }
  331.  
  332. CMD:adm(playerid)
  333. {
  334.     if(Dados[playerid][pAdmin] == 0) return SendClientMessage(playerid, -1, "Você não é admin");
  335.     SendClientMessage(playerid, -1, "Confimado! Você é ilu.. ");
  336.     return SendClientMessage(playerid, -1, " Admin* ");
  337. }
Add Comment
Please, Sign In to add comment