Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <YSI\y_timers>
- #include <dini>
- #define FILTERSCRIPT
- // Colours
- #define YELLOW 0xFFFF00FF
- #define RED 0xE85454FF
- #define GREEN 0x33AA33FF
- #define BLUE 0x33CCFFFF
- #define ORANGE 0xFFAA00FF
- #define GREY 0xAFAFAFFF
- #define PINK 0xFFC0CBFF
- #define NAVY 0x000080FF
- #define GOLD 0xB8860BFF
- #define LGREEN 0x00FD4DFF
- #define TEAL 0x008080FF
- #define BROWN 0xA52A2AFF
- #define AQUA 0xF0F8FFFF
- #define BLACK 0x000000FF
- #define WHITE 0xFFFFFFFF
- #define CHAT_LOCAL 0xADABD1FF
- #define CHAT_RADIO 0xCFD1ABFF
- // Embedding Colours
- #define C_YELLOW "{FFFF00}"
- #define C_RED "{E85454}"
- #define C_GREEN "{33AA33}"
- #define C_BLUE "{33CCFF}"
- #define C_ORANGE "{FFAA00}"
- #define C_GREY "{AFAFAF}"
- #define C_PINK "{FFC0CB}"
- #define C_NAVY "{000080}"
- #define C_GOLD "{B8860B}"
- #define C_LGREEN "{00FD4D}"
- #define C_TEAL "{008080}"
- #define C_BROWN "{A52A2A}"
- #define C_AQUA "{F0F8FF}"
- #define C_BLACK "{000000}"
- #define C_WHITE "{FFFFFF}"
- #define C_SPECIAL "{0025AA}"
- // File paths
- #define PlayerPath "data/score/%s.ini"
- new Text:ScoreDraw[MAX_PLAYERS];
- stock SetPlayerScoreEx(playerid, score) // Fixes memory editing on scores. They're important, after all!
- {
- //Initialize everything.
- if(!IsPlayerConnected(playerid)) return;
- SetPlayerScore(playerid, score);
- // How should the score be shown?
- new drawstring[13];
- if(score < 10) format(drawstring, sizeof(drawstring), "S:000000%i", score);
- else if(score < 100) format(drawstring, sizeof(drawstring), "S:00000%i", score);
- else if(score < 1000) format(drawstring, sizeof(drawstring), "S:0000%i", score);
- else if(score < 10000) format(drawstring, sizeof(drawstring), "S:000%i", score);
- else if(score < 100000) format(drawstring, sizeof(drawstring), "S:00%i", score);
- else if(score < 1000000) format(drawstring, sizeof(drawstring), "S:0%i", score);
- else if(score < 10000000) format(drawstring, sizeof(drawstring), "S:%i", score);
- else format(drawstring, sizeof(drawstring), "Allah! Too much");
- // Draw the new string!
- TextDrawSetString(ScoreDraw[playerid], drawstring);
- }
- public OnPlayerConnect(playerid)
- {
- SetPlayerScoreEx(playerid, 0);
- // Setup local variables
- new ply_Name[MAX_PLAYER_NAME], file[128];
- // Stylize the score draw.
- ScoreDraw[playerid] = TextDrawCreate(499.000000, 94.000000, "");
- TextDrawSetShadow(ScoreDraw[playerid], 1);
- TextDrawColor(ScoreDraw[playerid], 0x7ADEFFAA);
- TextDrawAlignment(ScoreDraw[playerid], 0);
- TextDrawFont(ScoreDraw[playerid], 3);
- TextDrawLetterSize(ScoreDraw[playerid], 0.5935, 2.4);
- TextDrawSetOutline(ScoreDraw[playerid], 1);
- TextDrawSetProportional(ScoreDraw[playerid], 1);
- GetPlayerName(playerid, ply_Name, sizeof ply_Name);
- format(file, sizeof file, PlayerPath, ply_Name);
- if(!dini_Exists(file)){
- dini_Create(file);
- dini_IntSet(file, "ply_Score", 0);
- }
- else{
- SetPlayerScoreEx(playerid, dini_Int(file, "ply_Score"));
- }
- defer IncreasePlayerScore(playerid);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid, ScoreDraw[playerid]);
- return 1;
- }
- timer IncreasePlayerScore[15 * 60000](playerid)
- {
- // Setup local variables
- new ply_Name[MAX_PLAYER_NAME], file[128], string[128];
- GetPlayerName(playerid, ply_Name, sizeof ply_Name);
- format(file, sizeof file, PlayerPath, ply_Name);
- SetPlayerScoreEx(playerid, GetPlayerScore(playerid) + 1);
- if(dini_Exists(file)){
- dini_IntSet(file, "ply_Score", GetPlayerScore(playerid));
- }
- format(string, sizeof string, ""C_YELLOW" > "C_BLUE"You have played 15 minutes and received a score point!");
- SendClientMessage(playerid, -1, string);
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid != INVALID_PLAYER_ID)
- {
- // Setup local variables
- new ply_Name[MAX_PLAYER_NAME], file[128];
- GetPlayerName(killerid, ply_Name, sizeof ply_Name);
- format(file, sizeof file, PlayerPath, ply_Name);
- SetPlayerScoreEx(killerid, GetPlayerScore(killerid) + 1);
- if(dini_Exists(file)){
- dini_IntSet(file, "ply_Score", GetPlayerScore(killerid));
- }
- }
- TextDrawHideForPlayer(killerid, ScoreDraw[playerid]);
- return 1;
- }
Add Comment
Please, Sign In to add comment