Advertisement
Guest User

Untitled

a guest
Apr 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 1.77 KB | None | 0 0
  1. #include <YSI\y_timers>
  2.  
  3. #define GetPlayerExperience(%0)         PlayerData[%0][Experience]
  4. #define GivePlayerExperience(%0, %1)    PlayerData[%0][Experience] += %1
  5. #define ResetPlayerExperience(%0)       PlayerData[%0][ExperienceLevel] == 0
  6.  
  7. #define GetPlayerLevel(%0)              PlayerData[%0][ExperienceLevel]
  8. #define UpgradePlayerLevel(%0, %1)      PlayerData[%0][ExperienceLevel] += %1
  9.  
  10. #define GetPlayerLevelCost(%0)          PlayerData[%0][NextLevelCost]
  11. #define UpgradePlayerLevelCost(%0, %1)  PlayerData[%0][NextLevelCost] += %1
  12.  
  13. #define MAX_PLAYER_LEVEL        30
  14.  
  15. #define EXPERIENCE_GROWING_TIME 60000
  16. #define EXPERIENCE_PER_GT       1
  17.  
  18. #define UNTIL_5                 30
  19. #define UNTIL_10                60
  20. #define UNTIL_15                90
  21. #define UNTIL_20                120
  22. #define UNTIL_25                150
  23. #define UNTIL_30                180
  24.  
  25. ptask UpgradeExperience[EXPERIENCE_GROWING_TIME](playerid)
  26. {
  27.     if(PlayerData[playerid][PlayerOnline] && GetPlayerLevel(playerid) != MAX_PLAYER_LEVEL)
  28.     {
  29.         GivePlayerExperience(playerid, 1);
  30.  
  31.         if(GetPlayerExperience(playerid) >= GetPlayerLevelCost(playerid))
  32.         {
  33.             UpgradePlayerLevel(playerid, 1);
  34.             ResetPlayerExperience(playerid);
  35.  
  36.             switch(GetPlayerLevelCost(playerid))
  37.             {
  38.                 case 0...4: UpgradePlayerLevelCost(playerid, UNTIL_5);
  39.                 case 5...9: UpgradePlayerLevelCost(playerid, UNTIL_10);
  40.                 case 10...14: UpgradePlayerLevelCost(playerid, UNTIL_15);
  41.                 case 15...19: UpgradePlayerLevelCost(playerid, UNTIL_20);
  42.                 case 20...24: UpgradePlayerLevelCost(playerid, UNTIL_25);
  43.                 case 25...29: UpgradePlayerLevel(playerid, UNTIL_30);
  44.             }
  45.         }
  46.     }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement