Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #undef MAX_PLAYERS
- #define MAX_PLAYERS 32
- new pRank[MAX_PLAYERS];
- new pScore[MAX_PLAYERS];
- new gRankScore[] = {
- 100, // Rank 2
- 250, // Rank 3
- 500, // Rank 4
- 1000 // Rank 5
- };
- new gRankTitles[][] = {
- "Recruit", // Rank 1
- "Newbie", // Rank 2
- "Some other title", // Rank 3
- "Some other title" // Rank 4
- };
- #define GetMaxLevel sizeof(gRankScore)
- main() {}
- stock GivePlayerScore(playerid, score=1)
- {
- //SetPlayerScore(playerid, GetPlayerScore(playerid)+score);
- pScore[playerid] += score;
- if(pRank[playerid] == GetMaxLevel)
- {
- print("MAX LEVEL REACHED");
- return 1; // Max level, stop.
- }
- while(pScore[playerid] >= gRankScore[pRank[playerid]])
- {
- print("RANK UP");
- pRank[playerid]++;
- new szString[128], pName[MAX_PLAYER_NAME] = "Mike";
- format(szString, sizeof(szString), "%s (%i) levelled up! Level: %i (%s)", pName, playerid, pRank[playerid]+1, gRankTitles[pRank[playerid]]);
- SendClientMessageToAllBut(playerid, -1, szString);
- print(szString);
- printf("LEVEL: %i/%i", pRank[playerid], GetMaxLevel);
- if(pRank[playerid] == GetMaxLevel)
- {
- print("MAX LEVEL");
- format(szString, sizeof(szString), "You reached the max level (%s - %i)!", gRankTitles[GetMaxLevel-1], GetMaxLevel);
- return SendClientMessage(playerid, -1, szString);
- }
- }
- if(pRank[playerid] != GetMaxLevel) printf("Score needed for level %i (%s): %i", pRank[playerid]+2, gRankTitles[pRank[playerid]+1], gRankScore[pRank[playerid]]-pScore[playerid]);
- return 1;
- }
- stock SendClientMessageToAllBut(playerid, color, msg[])
- {
- for(new i=0; i<MAX_PLAYERS; i++)
- {
- if(i != playerid) SendClientMessage(i, color, msg);
- }
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- GivePlayerScore(0, strval(cmd));
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment