Raised This Month: $12 Target: $400
 3% 

XP + Level + Rank System v2.2


Post New Thread Reply   
 
Thread Tools Display Modes
srdjandragicevic335
New Member
Join Date: Jan 2019
Old 01-09-2019 , 15:49   Re: XP + Level + Rank System v2.2
Reply With Quote #111

Hey bro, big fan of your mod! Would it be possible to change rank names?
If its possible
Id like these
15 Private
14 Corporal
13 Sergeant
12 Liuetenat
11 Contender
10 Challenger
9 Rival
8 Duelist
7 General
6 Marshal
5 Gladiator
4 Tactician
3 Prestigious
2 Battlemaster
1 Bloodthirsty

Last edited by srdjandragicevic335; 01-09-2019 at 16:01.
srdjandragicevic335 is offline
CrAzY MaN
Senior Member
Join Date: Mar 2017
Location: India
Old 01-10-2019 , 09:01   Re: XP + Level + Rank System v2.2
Reply With Quote #112

Yeah, it's possible.
Just open .sma file, change names, compile, and put it on your server.

Sorry, I can't manage my time in this work nowadays as I'm busy playing football at national level.
__________________

Last edited by CrAzY MaN; 01-10-2019 at 09:03.
CrAzY MaN is offline
keshav_zm
Junior Member
Join Date: Jan 2019
Old 02-23-2019 , 16:48   Re: XP + Level + Rank System v2.2
Reply With Quote #113

How to completely off , Prefix of , Plugin , cuz


When someone types .
2 Chats comes up simultaneously
One with my sv plugin of admin prefix and another one with Prefix of this plugin such as ,[Noobest] and all
keshav_zm is offline
Faiz ali
New Member
Join Date: Apr 2019
Old 04-09-2019 , 08:05   Re: XP + Level + Rank System v2.2
Reply With Quote #114

Crazy man i change the rank names but it showing the same rank i change the map but rank names does not change please help me

Last edited by Faiz ali; 04-09-2019 at 08:07.
Faiz ali is offline
CrAzY MaN
Senior Member
Join Date: Mar 2017
Location: India
Old 04-10-2019 , 00:46   Re: XP + Level + Rank System v2.2
Reply With Quote #115

I checked it. It's working fine.
Maybe your other plugins are affecting or you're doing something wrong.
__________________
CrAzY MaN is offline
TALINSKA
Junior Member
Join Date: Aug 2017
Old 10-29-2019 , 21:45   Re: XP + Level + Rank System v2.2
Reply With Quote #116

This plugin running on my server and the save is on nick, but if i change my name when i'm on the server, xp, rank and level from the old nick stay on the new one.

Can anybody help me? Please
TALINSKA is offline
Antic
New Member
Join Date: Mar 2020
Location: Bucharest
Old 03-18-2020 , 06:00   Re: XP + Level + Rank System v2.2
Reply With Quote #117

Code:
Quote:
#include <amxmodx> #include <fvault> #include <cstrike> #include <wm_play> #define maxranks 20 #define maxlevels 50 #define xPrefix "System" #define RANKS_Noobest 0 #define RANKS_Noob 1 #define RANKS_Newbiee 2 #define RANKS_Easy 3 #define RANKS_Normal 4 #define RANKS_Hard 5 #define RANKS_Expert 6 #define RANKS_SuperExpert 7 #define RANKS_Specialist 8 #define RANKS_Leader 9 #define RANKS_Amateur 10 #define RANKS_Pro 11 #define RANKS_SuperPro 12 #define RANKS_Heroic 13 #define RANKS_God 14 #define RANKS_SuperGod 15 #define RANKS_ArmyGunner 16 #define RANKS_SpecialForces 17 #define RANKS_Sniper 18 #define RANKS_Rambo 19 new const VERSION[] = "1.1" new SzMaxPlayers, SzSayText; new playerPrefix,rankLevelBonus,rankSaveType; new const db_save[] = "cs_rank_system" new level[33], xp[33], rank[33], g_status_sync new SzGTeam[3][] = { "Spectator", "Terrorist", "Counter-Terrorist" } new const xp_num[maxlevels+1] = { 15, 70, 150, 250, 350, 450, 550, 650, 750, 850, 950, 1050, 1150, 1250, 1350, 1450, 1550, 1650, 1750, 1850, 1950, 2050, 2150, 2250, 2350, 2450, 2550,2650, 2750, 2850, 2950, 3050, 3150, 3250, 3350, 3450, 3550, 3650, 3750, 3850, 3950, 4050, 4150, 4250, 4350, 4450, 4550, 4650, 4750, 5000 } new const ranks_names[maxranks][]= { "Noobest", "Noob", "Newbiee", "Easy", "Normal", "Hard", "Expert", "SuperExpert", "Specialist", "Leader", "Amateur", "Pro", "SuperPro", "Heroic", "God", "SuperGod", "ArmyGunner", "SpecialForces", "Sniper", "Rambo", } public plugin_init() { register_plugin("XP + LEVEL + RANK SYSTEM", VERSION, AUTHOR) // system of xp+lvl+rank playerPrefix = register_cvar("Player Prefix", "1") //1-Prefix by RANK, 2-Prefix by LEVEL rankLevelBonus = register_cvar("Level Up Bonus", "0") // Amount of money when passing level. rankSaveType = register_cvar("XP Save Type", "2") // 1 - IP || 2 - Nick || 3 - SteamID register_cvar("XPLvlRankSystem", VERSION, FCVAR_SERVER | FCVAR_SPONLY ) //Search for variable on Gametracker.com register_event("StatusValue", "showStatus", "be", "1=2", "2!0") register_event("StatusValue", "hideStatus", "be", "1=1", "2=0") register_clcmd("say", "hook_say"); register_clcmd("say_team", "hook_say_team"); register_dictionary("cs_rank_system.txt"); SzSayText = get_user_msgid ("SayText"); SzMaxPlayers = get_maxplayers(); register_message(SzSayText, "MsgDuplicate"); g_status_sync = CreateHudSyncObj() } /*---------------------------------------------------------------------------------------------------------------- -HUD OF THE GAME ----------------------------------------------------------------------------------------------------------------*/ public hud_status(id) { if(!is_user_alive(id) || !is_user_connected(id) ) return; if(level[id] >= maxlevels) { static r, g, b; r = random_num(0, 255), g = random_num(0, 255), b = random_num(0, 255); set_hudmessage(r, g, b, 0.80, -1.0, 0, 1.0, 1.1, 0.0, 0.0, -1) show_hudmessage(id,"» Level: %d/%d^n» Rank: %s^n» XP: %d/%d", level[id], maxlevels, ranks_names[rank[id]], xp[id], xp[id]) } else { set_hudmessage(255, 255, 255, 0.80, -1.0, 0, 1.0, 1.1, 0.0, 0.0, -1) show_hudmessage(id,"» Level: %d/%d^n» Rank: %s^n» XP: %d/%d", level[id], maxlevels, ranks_names[rank[id]], xp[id], xp_num[level[id]]) } } /*---------------------------------------------------------------------------------------------------------------- -CHAT PREFIX ----------------------------------------------------------------------------------------------------------------*/ public MsgDuplicate(id){ return PLUGIN_HANDLED; } public hook_say(id) { new SzMessages[192], SzName[32]; new SzAlive = is_user_alive(id); read_args(SzMessages, 191); remove_quotes(SzMessages); get_user_name(id, SzName, 31); if(!is_valid_msg(SzMessages)) return PLUGIN_CONTINUE; switch(get_pcvar_num(playerPrefix)) { case 1 :(SzAlive ? format(SzMessages, 191, "^4[%s] ^3%s : ^1%s", ranks_names[rank[id]], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[%s] ^3%s : ^1%s", ranks_names[rank[id]], SzName, SzMessages)); case 2 :(SzAlive ? format(SzMessages, 191, "^4[Level %d] ^3%s : ^1%s", level[id], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^4[Level %d] ^3%s : ^1%s", level[id], SzName, SzMessages)); } for(new i = 1; i <= SzMaxPlayers; i++) { if(!is_user_connected(i)) continue; message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i); write_byte(id); write_string(SzMessages); message_end(); } return PLUGIN_CONTINUE; } public hook_say_team(id) { new SzMessages[192], SzName[32]; new SzAlive = is_user_alive(id); new SzGetTeam = get_user_team(id); read_args(SzMessages, 191); remove_quotes(SzMessages); get_user_name(id, SzName, 31); if(!is_valid_msg(SzMessages)) return PLUGIN_CONTINUE; switch(get_pcvar_num(playerPrefix)) { case 1 : (SzAlive ? format(SzMessages, 191, "^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], ranks_names[rank[id]], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[%s] ^3%s : ^1%s", SzGTeam[SzGetTeam], ranks_names[rank[id]], SzName, SzMessages)); case 2 : (SzAlive ? format(SzMessages, 191, "^1(%s) ^4[Level %d] ^3%s : ^1%s", SzGTeam[SzGetTeam], level[id], SzName, SzMessages) : format(SzMessages, 191, "^1*DEAD* ^1(%s) ^4[Level %d] ^3%s : ^1%s", SzGTeam[SzGetTeam], level[id], SzName, SzMessages)); } for(new i = 1; i <= SzMaxPlayers; i++) { if(!is_user_connected(i)) continue; if(get_user_team(i) != SzGetTeam) continue; message_begin(MSG_ONE, get_user_msgid("SayText"), {0, 0, 0}, i); write_byte(id); write_string(SzMessages); message_end(); } return PLUGIN_CONTINUE; } bool:is_valid_msg(const SzMessages[]) { if( SzMessages[0] == '@' || !strlen(SzMessages)){ return false; } return true; } /*---------------------------------------------------------------------------------------------------------------- -EVENT TO ADD XP ----------------------------------------------------------------------------------------------------------------*/ public client_death(killer, victim, weapon, hitplace) { new victim_name[32] get_user_name(victim, victim_name, charsmax(victim_name)) new killer_team = get_user_team(killer) new victim_team = get_user_team(victim) //NORMAL KILL if((killer != victim) && !(killer_team == victim_team) && !(hitplace == HIT_HEAD) && !(weapon == CSW_HEGRENADE) && !(weapon == CSW_KNIFE)) { xp[killer]++ client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_NORMAL_KILL", victim_name) } //HEADSHOT if(hitplace == HIT_HEAD && !(weapon == CSW_KNIFE) && !(killer_team == victim_team)) { xp[killer]+=3 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_HEADSHOT_KILL", victim_name) } //KNIFE KILL if(weapon == CSW_KNIFE && !(hitplace == HIT_HEAD) && !(killer_team == victim_team)) { xp[killer]+=5 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_KNIFE_KILL", victim_name) } //KNIFE + HEADSHOT if(weapon == CSW_KNIFE && (hitplace == HIT_HEAD) && !(killer_team == victim_team)) { xp[killer]+=7 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_KNIFE_HEAD_KILL", victim_name) } //GRENADE KILL if(weapon == CSW_HEGRENADE && (killer != victim) && !(killer_team == victim_team)) { xp[killer]+=5 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_GRENADE_KILL", victim_name) } //SUICIDE if(killer == victim) { xp[killer]-=2 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_SUICIDE") } //TEAM KILL if(killer != victim && (killer_team == victim_team)) { xp[killer]-=10 client_print_color(killer, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_TEAM_KILL") } check_level(killer, 1) save_data(killer) } /*---------------------------------------------------------------------------------------------------------------- -CHECK LEVEL OF ADD ++ ----------------------------------------------------------------------------------------------------------------*/ public check_level(id, sound) { if(!is_user_connected(id)) return PLUGIN_HANDLED; new name[32]; get_user_name(id, name, 31) if(level[id] < maxlevels) { while(xp[id] >= xp_num[level[id]]) { level[id]++ if(sound) { if(level[id] == maxlevels) { client_print_color(id, "!g[%s] %L", xPrefix, LANG_PLAYER, "MSG_MAXLVL_ID", level[id]) client_print_color(0, "!g[%s] %L",xPrefix, LANG_PLAYER, "MSG_MAXLVL_ALL", name, level[id]) client_cmd(0, "spk ambience/wolfhowl02.wav") return PLUGIN_HANDLED } client_print_color(id,"!g[%s] %L",xPrefix,LANG_PLAYER, "MSG_RAISE_LEVEL_ID", get_pcvar_num(rankLevelBonus)) client_print_color(0, "!g[%s] %L",xPrefix,LANG_PLAYER, "MSG_RAISE_LEVEL_ALL", name, get_pcvar_num(rankLevelBonus)) cs_set_user_money(id, cs_get_user_money(id) + get_pcvar_num(rankLevelBonus)) client_cmd(0, "spk ambience/lv_fruit1.wav") set_ranks(id) } } } // Bug Preventions... (Back to top) if(level[id] == maxlevels && xp[id] > xp_num[level[id]-1]) { xp[id] = xp_num[level[id]-1] save_data(id) } if(level[id] >= maxlevels) { level[id] = maxlevels xp[id] = xp_num[level[id]-1] save_data(id) } return PLUGIN_HANDLED } /*---------------------------------------------------------------------------------------------------------------- -SET THE RANK POSITION ----------------------------------------------------------------------------------------------------------------*/ public set_ranks(id) { if(level[id] <= 2) rank[id] = RANKS_Noobest if(level[id] >= 2) rank[id] = RANKS_Noob if(level[id] >= 5) rank[id] = RANKS_Newbiee if(level[id] >= 8) rank[id] = RANKS_Easy if(level[id] >= 11) rank[id] = RANKS_Normal if(level[id] >= 14) rank[id] = RANKS_Hard if(level[id] >= 17) rank[id] = RANKS_Expert if(level[id] >= 20) rank[id] = RANKS_SuperExpert if(level[id] >= 23) rank[id] = RANKS_Specialist if(level[id] >= 26) rank[id] = RANKS_Leader if(level[id] >= 29) rank[id] = RANKS_Amateur if(level[id] >= 32) rank[id] = RANKS_Pro if(level[id] >= 33) rank[id] = RANKS_SuperPro if(level[id] >= 36) rank[id] = RANKS_Heroic if(level[id] >= 43) rank[id] = RANKS_God if(level[id] >= 43) rank[id] = RANKS_SuperGod if(level[id] >= 43) rank[id] = RANKS_ArmyGunner if(level[id] >= 43) rank[id] = RANKS_SpecialForces if(level[id] >= 43) rank[id] = RANKS_Sniper if(level[id] >= 43) rank[id] = RANKS_Rambo } /*---------------------------------------------------------------------------------------------------------------- -SAVE LEVEL, XP AND RANK ----------------------------------------------------------------------------------------------------------------*/ public save_data(id) { if(!is_user_connected(id)) return PLUGIN_HANDLED; new auth[40], data[50] switch(get_pcvar_num(rankSaveType)) { case 1: get_user_ip(id, auth, charsmax(auth), 1) case 2: get_user_name(id, auth, charsmax(auth)) case 3: get_user_authid(id, auth, charsmax(auth)) } formatex(data, charsmax(data), "%d %d", level[id], xp[id]) fvault_pset_data(db_save, auth, data) return PLUGIN_HANDLED; } /*---------------------------------------------------------------------------------------------------------------- -LOAD DATA ----------------------------------------------------------------------------------------------------------------*/ public client_authorized(id) { new auth[40], data[50], x1[10], x2[10] switch(get_pcvar_num(rankSaveType)) { case 1: get_user_ip(id, auth, charsmax(auth), 1) case 2: get_user_name(id, auth, charsmax(auth)) case 3: get_user_authid(id, auth, charsmax(auth)) } fvault_get_data(db_save, auth, data, charsmax(data)) parse(data, x1, charsmax(x1), x2, charsmax(x2)) level[id] = str_to_num(x1) xp[id] = str_to_num(x2) set_task(2.0, "set_ranks", id) check_level(id, 0) set_task(1.1, "hud_status", id, _, _, "b") } /*---------------------------------------------------------------------------------------------------------------- -SHOW XP BY LOOKING AT THE PERSON ----------------------------------------------------------------------------------------------------------------*/ public showStatus(id) { if(!is_user_bot(id) && is_user_connected(id)) { new name[32], pid = read_data(2) get_user_name(pid, name, 31) new xxx = get_user_team(id) new xxx2 = get_user_team(pid) static r, g, b; r = random_num(0, 255), g = random_num(0, 255), b = random_num(0, 255); if (xxx == xxx2) // friend { set_hudmessage(r, g, b, -1.0, 0.60, 1, 0.01, 3.0, 0.01, 0.01, -1) ShowSyncHudMsg(id, g_status_sync, "Name: %s^nRank: %s^nLevel: %d^nXP: %d/%d", name, ranks_names[rank[pid]], level[pid], xp[pid], xp_num[level[pid]]) } } } public hideStatus(id) { ClearSyncHud(id, g_status_sync) } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1046\\ f0\\ fs16 \n\\ par } */ /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang16393\\ f0\\ fs16 \n\\ par } */
Hello , i can't compile this , i have this errors : fatal error 100: cannot read from file: "fvault" fatal error 100: cannot read from file: "wm_play" i have them and still not working
Hello , i can't compile this , i have this errors :
fatal error 100: cannot read from file: "fvault"
fatal error 100: cannot read from file: "wm_play"

i have them and still not working

Last edited by Antic; 03-18-2020 at 06:01.
Antic is offline
Send a message via Yahoo to Antic Send a message via Skype™ to Antic
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 03-18-2020 , 08:27   Re: XP + Level + Rank System v2.2
Reply With Quote #118

Quote:
Originally Posted by Antic View Post
Code:
Hello , i can't compile this , i have this errors :
fatal error 100: cannot read from file: "fvault"
fatal error 100: cannot read from file: "wm_play"

i have them and still not working
Hello , i can't compile this , i have this errors :
fatal error 100: cannot read from file: "fvault"
fatal error 100: cannot read from file: "wm_play"

i have them and still not working
If you have them it wouldn't say you don't have them now, would it?
Anyways, there's a much better alternative for this plugin available - https://forums.alliedmods.net/showthread.php?t=308540
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Antic
New Member
Join Date: Mar 2020
Location: Bucharest
Old 03-18-2020 , 10:10   Re: XP + Level + Rank System v2.2
Reply With Quote #119

Thanks man , i will leave a good review
Antic is offline
Send a message via Yahoo to Antic Send a message via Skype™ to Antic
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 04-07-2020 , 08:16   Re: XP + Level + Rank System v2.2
Reply With Quote #120

We don't need another xp system.

Unapproved.
__________________
HamletEagle is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 04:22.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode