Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- $$$$$\ $$\ $$\ ™
- \__$$ | $$ | $$ |
- $$ | $$$$$$\ $$ | $$\ $$\ $$\ $$\ $$$$$$\ $$$$$$$\
- $$ | \____$$\ $$ | $$ |$$ | $$ | $$ |$$ __$$\ $$ __$$\
- $$\ $$ | $$$$$$$ |$$$$$$ / $$ | $$ | $$ |$$ / $$ |$$ | $$ |
- $$ | $$ |$$ __$$ |$$ _$$< $$ | $$ | $$ |$$ | $$ |$$ | $$ |
- \$$$$$$ |\$$$$$$$ |$$ | \$$\ \$$$$$\$$$$ |\$$$$$$ |$$$$$$$ |
- \______/ \_______|\__| \__| \_____\____/ \______/ \_______/
- _____________________________
- | Created By Jakwob™ |
- | Do not claim its your own |
- |________©2014 Jakwob™________| */
- #define FILTERSCRIPT
- #include <a_samp>
- #include <zcmd>
- #include <YSI\y_ini>
- #include <sscanf2>
- #define UserPath "Levels/%s.ini"
- #define SCM SendClientMessage
- #define DIALOG_RANKHELP 3010
- #define DIALOG_MYRANK 3011
- enum RankInfo
- {
- xp,
- level,
- prestige
- }
- new rInfo[MAX_PLAYERS][RankInfo];
- public OnFilterScriptInit()
- {
- return 1;
- }
- stock Path(playerid)
- {
- new str[128],name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- format(str,sizeof(str),UserPath,name);
- return str;
- }
- forward loadaccount_user(playerid, name[], value[]);
- public loadaccount_user(playerid, name[], value[])
- {
- INI_Int("XP",rInfo[playerid][xp]);
- INI_Int("Level",rInfo[playerid][level]);
- INI_Int("Prestige",rInfo[playerid][prestige]);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- INI_ParseFile(Path(playerid),"loadaccount_%s",.bExtra = true, .extra = playerid);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new INI:file = INI_Open(Path(playerid));
- INI_SetTag(file,"Player Levels");
- INI_WriteInt(file,"XP",rInfo[playerid][xp]);
- INI_WriteInt(file,"Level",rInfo[playerid][level]);
- INI_WriteInt(file,"Prestige",rInfo[playerid][prestige]);
- INI_Close(file);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- rInfo[killerid][xp] += 1;
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- if(rInfo[playerid][xp] > 100)//Levels
- {
- new str[85];
- rInfo[playerid][level] ++;
- rInfo[playerid][xp] = 0;
- GivePlayerMoney(playerid, 50000);
- format(str, sizeof(str), "~g~Level up~n~~r~Your level: ~w~%d", rInfo[playerid][level]);
- GameTextForPlayer(playerid, str, 8000, 1);
- }
- if(rInfo[playerid][level] > 100)//Prestige levels
- {
- new str[85];
- rInfo[playerid][prestige] ++;
- rInfo[playerid][xp] = 0;
- rInfo[playerid][level] = 0;
- GivePlayerMoney(playerid, 1000000);
- format(str, sizeof(str), "~g~prestiged~n~~r~Prestige level: ~w~%d", rInfo[playerid][prestige]);
- GameTextForPlayer(playerid, str, 8000, 1);
- }
- return 1;
- }
- CMD:myrank(playerid, params[])
- {
- new str[300];
- format(str, sizeof(str), "XP: %d\nLevel: %d\nPrestige: %d\n", rInfo[playerid][xp], rInfo[playerid][level],rInfo[playerid][prestige]);
- ShowPlayerDialog(playerid, DIALOG_MYRANK, DIALOG_STYLE_MSGBOX, "Your Rank", str, "Close", "");
- return 1;
- }
- CMD:rankhelp(playerid, params[])
- {
- new str[300], str1[1000];
- format(str, sizeof(str), "\n{FFFFFF}** {FF9900}XP {FFFFFF}**\n");
- strcat(str1, str);
- format(str, sizeof(str), "\nXP can be gained by many methods.\nKilling Players - 1 XP\nExample - 4 XP\nExample - 2 XP\n");
- strcat(str1, str);
- format(str, sizeof(str), "\n{FFFFFF}** {FF9900}Leveling up {FFFFFF}**\n");
- strcat(str1, str);
- format(str, sizeof(str), "\nUpon leveling up you will recieve a cash bonus each time you level up.\n");
- strcat(str1, str);
- format(str, sizeof(str), "\n{FFFFFF}** {FF9900}Prestige {FFFFFF}**\n");
- strcat(str1, str);
- format(str, sizeof(str), "\nWhen you reach the maximum level you will Prestige\nYou will recieve a huge cash bonus of $1 million each time you prestige.\n");
- strcat(str1, str);
- ShowPlayerDialog(playerid, DIALOG_RANKHELP, DIALOG_STYLE_MSGBOX, "Rank Help", str1, "Close", "");
- return 1;
- }
- CMD:givexp(playerid, params[])
- {
- new ammount, ID, TargetName[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME], str[128];
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "ERROR: You need to be an admin to use this command!");
- if(sscanf(params, "ui", ID, ammount)) return SendClientMessage(playerid, -1, "USAGE: /givexp <playerid> <1-99>");
- if(ammount < 1 || ammount > 99) return SendClientMessage(playerid, -1, "ERROR: Invalid XP ammount. Number must be between 1 and 99.");
- if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"ERROR: Player is not connected.");
- {
- GetPlayerName(ID,TargetName,MAX_PLAYER_NAME);
- GetPlayerName(playerid,PlayerName, MAX_PLAYER_NAME);
- format(str, sizeof(str), "%s Has given you %d XP", PlayerName, ammount);
- SendClientMessage(ID, -1, str);
- format(str, sizeof(str), "You have given you %s %d XP", TargetName, ammount);
- SendClientMessage(playerid, -1, str);
- rInfo[ID][xp] += ammount;
- }
- return 1;
- }
- CMD:givelvl(playerid, params[])
- {
- new ammount, ID, TargetName[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME], str[128];
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "ERROR: You need to be an admin to use this command!");
- if(sscanf(params, "ui", ID, ammount)) return SendClientMessage(playerid, -1, "USAGE: /givelevel <playerid> <1-99>");
- if(ammount < 1 || ammount > 99) return SendClientMessage(playerid, -1, "ERROR: Invalid XP ammount. Number must be between 1 and 99.");
- if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"ERROR: Player is not connected.");
- {
- GetPlayerName(ID,TargetName,MAX_PLAYER_NAME);
- GetPlayerName(playerid,PlayerName, MAX_PLAYER_NAME);
- format(str, sizeof(str), "%s Has given you %d levels", PlayerName, ammount);
- SendClientMessage(ID, -1, str);
- format(str, sizeof(str), "You have given you %s %d levels", TargetName, ammount);
- SendClientMessage(playerid, -1, str);
- rInfo[ID][level] += ammount;
- }
- return 1;
- }
- CMD:giveprestige(playerid, params[])
- {
- new ammount, ID, TargetName[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME], str[128];
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "ERROR: You need to be an admin to use this command!");
- if(sscanf(params, "ui", ID, ammount)) return SendClientMessage(playerid, -1, "USAGE: /giveprestige <playerid> <1-99>");
- if(ammount < 1 || ammount > 99) return SendClientMessage(playerid, -1, "ERROR: Invalid XP ammount. Number must be between 1 and 99.");
- if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"ERROR: Player is not connected.");
- {
- GetPlayerName(ID,TargetName,MAX_PLAYER_NAME);
- GetPlayerName(playerid,PlayerName, MAX_PLAYER_NAME);
- format(str, sizeof(str), "%s Has given you %d prestige", PlayerName, ammount);
- SendClientMessage(ID, -1, str);
- format(str, sizeof(str), "You have given you %s %d prestiges", TargetName, ammount);
- SendClientMessage(playerid, -1, str);
- rInfo[ID][prestige] += ammount;
- }
- return 1;
- }
- CMD:resetrank(playerid, params[])
- {
- new ID, TargetName[MAX_PLAYER_NAME], PlayerName[MAX_PLAYER_NAME], str[128];
- if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid, -1, "ERROR: You need to be an admin to use this command!");
- if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "USAGE: /resetrank <playerid>");
- if(!IsPlayerConnected(ID))return SendClientMessage(playerid,-1,"ERROR: Player is not connected.");
- {
- GetPlayerName(ID,TargetName,MAX_PLAYER_NAME);
- GetPlayerName(playerid,PlayerName, MAX_PLAYER_NAME);
- format(str, sizeof(str), "%s Has rest your rank", PlayerName);
- SendClientMessage(ID, -1, str);
- format(str, sizeof(str), "You have rest %s's Rank", TargetName);
- SendClientMessage(playerid, -1, str);
- rInfo[ID][xp] = 0;
- rInfo[ID][level] = 0;
- rInfo[ID][prestige] = 0;
- }
- return 1;
- }
- //Example of usages of xp/levels/prestige
- CMD:veh(playerid, params[])
- {
- if(rInfo[playerid][prestige] < 1) return SendClientMessage(playerid, -1, "You need to be Prestige level 1");
- {
- new Float:x,Float:y,Float:z, Float:a,veh;
- GetPlayerPos(playerid,x,y,z);
- GetPlayerFacingAngle(playerid, a);
- veh = CreateVehicle(402,x,y,z,a,-1,-1,-1);
- PutPlayerInVehicle(playerid,veh,0);
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement