Advertisement
losnato

[FilterScript] Sistema de level

Mar 31st, 2012
1,308
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.85 KB | None | 0 0
  1. #include    <   a_samp  >
  2. #include    <   dof2    >
  3. #include    <   zcmd    >
  4. #include    <   sscanf  >
  5. #include    <   foreach >
  6.  
  7. new
  8.     Respeito[MAX_PLAYERS],
  9.     RespeitoReq[MAX_PLAYERS],
  10.     Level[MAX_PLAYERS],
  11.     JTPRR[MAX_PLAYERS];
  12.  
  13. #define     SCM                         SendClientMessage
  14. #define     SCMTA                       SendClientMessageToAll
  15.  
  16. #define     TempoParaReceberPayday      30*60000//Tempo que o player tem que ficar online para receber o payday (30 minutos)
  17.  
  18. Payday();
  19. SalvarLevel(playerid);
  20. CarregarLevel(playerid);
  21. TempoParaReceber(playerid);
  22.  
  23. public OnFilterScriptInit()
  24. {
  25.     SetTimer("Payday", 1000, true);
  26.     return 1;
  27. }
  28.  
  29. public OnFilterScriptExit()
  30. {
  31.     DOF2_Exit();
  32.     return 1;
  33. }
  34.  
  35. public Payday()
  36. {
  37.     new hora, minuto, segundo;
  38.     gettime(hora, minuto, segundo);
  39.     if(minuto == 00)
  40.     {
  41.         if(segundo == 00)
  42.         {
  43.             foreach(Player, i)
  44.             {
  45.                 if(JTPRR[i] == 1)
  46.                 {
  47.                     SalvarLevel(i);
  48.                     SCMTA(-1, "Hora do payday!");
  49.                     Respeito[i]++;
  50.                     if(RespeitoReq[i] == Respeito[i])
  51.                     {
  52.                         Level[i]++;
  53.                         Respeito[i] = 0;
  54.                         RespeitoReq[i] = Level[i]*4;
  55.                         SCM(i, -1, "Level UP!");
  56.                     }
  57.                 }
  58.             }
  59.         }
  60.     }
  61.     return 1;
  62. }
  63.  
  64. public OnPlayerSpawn(playerid)
  65. {
  66.     CarregarLevel(playerid);
  67.     SetTimerEx("TempoParaReceber", TempoParaReceberPayday, false, "i", playerid);
  68.     return 1;
  69. }
  70.  
  71. public TempoParaReceber(playerid)
  72. {
  73.     return JTPRR[playerid] = 1;
  74. }
  75.  
  76. public SalvarLevel(playerid)
  77. {
  78.     new arquivo[128]; format(arquivo, 128, "Level/%s.txt", GetPlayerNameEx(playerid));
  79.     if(!DOF2_FileExists(arquivo)) return DOF2_CreateFile(arquivo);
  80.     DOF2_SetInt(arquivo, "Level", Level[playerid]);
  81.     DOF2_SetInt(arquivo, "Respeito", Respeito[playerid]);
  82.     DOF2_SetInt(arquivo, "Respeito Requerido", RespeitoReq[playerid]);
  83.     DOF2_SaveFile();
  84.     return 1;
  85. }
  86.  
  87. public CarregarLevel(playerid)
  88. {
  89.     new arquivo[128]; format(arquivo, 128, "Level/%s.txt", GetPlayerNameEx(playerid));
  90.     if(!DOF2_FileExists(arquivo)) return 1;
  91.     Level[playerid] = (playerid, DOF2_GetInt(arquivo, "Level"));
  92.     Respeito[playerid] = (playerid, DOF2_GetInt(arquivo, "Respeito"));
  93.     RespeitoReq[playerid] = (playerid, DOF2_GetInt(arquivo, "Respeito Requerido"));
  94.     return 1;
  95. }
  96.  
  97. CMD:status(playerid)
  98. {
  99.     new string[128];
  100.     format(string, 128, "Level: %d   |   Respeito: %02d/%02d", Level[playerid], Respeito[playerid], RespeitoReq[playerid]);
  101.     return SCM(playerid, -1, string);
  102. }
  103.  
  104. stock GetPlayerNameEx(playerid)
  105. {
  106.     new Nome[MAX_PLAYER_NAME]; GetPlayerName(playerid, Nome, MAX_PLAYER_NAME);
  107.     return Nome;
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement