Raised This Month: $ Target: $400
 0% 

Rank plugin.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Salepate
Junior Member
Join Date: Jan 2007
Old 01-08-2007 , 01:58   Re: Rank plugin.
Reply With Quote #1

If you only need to know his frags, you'd better use
Code:
get_user_frags(id)
It will free some memory instead of using arrays. you will be sure that it will contain kills.
Salepate is offline
SweatyBanana
BANNED
Join Date: Sep 2005
Location: LOL
Old 01-08-2007 , 02:33   Re: Rank plugin.
Reply With Quote #2

Do not post here if you don't know what you are talking about.. He is getting the users rank stats.. Not just in game kills for that map/round/connection/whatever.
SweatyBanana is offline
Send a message via AIM to SweatyBanana Send a message via Yahoo to SweatyBanana
dutchmeat
Senior Member
Join Date: Sep 2006
Old 01-08-2007 , 05:43   Re: Rank plugin.
Reply With Quote #3

Aiml4x you should use [ small ] tags when posting a snippet


Quote:
Originally Posted by SweatyBanana View Post
Do not post here if you don't know what you are talking about.. He is getting the users rank stats.. Not just in game kills for that map/round/connection/whatever.
Actually he is, stats[0] are the kills, but the difference between user_frags and this stats thing is that the stats function gets the kills out a file.

Quote:
Syntax:

get_user_stats ( index, stats[8], bodyhits[8] )
Type:

Native
Notes:

Gets overall stats which are stored in file on server and updated on every respawn or user disconnect. Function returns the position in stats by differece in kills to deaths.
And you should also clean up your code.
here is a debug version:

Code:
#include <amxmodx> #include <amxmisc> #include <csstats> #define HUD_INTERVAL 1.0 #define RANK_NOTHING 0 #define RANK_PRIVATE 1 #define RANK_PRIVATE_FIRST_CLASS 2 #define RANK_CORPORAL 3 #define RANK_SERGEANT 4 #define RANK_STAFF_SERGEANT 5 #define RANK_GUNNERY_SERGEANT 6 #define RANK_MASTER_SERGEANT 7 #define RANK_COMMAND_SERGEANT 8 #define RANK_SECOND_LIEUTENANT 9 #define RANK_FIRST_LIEUTENANT 10 #define RANK_COLONEL 11 #define RANK_BRIGADIER_GENERAL 12 #define RANK_MAJOR_GENERAL 13 #define RANK_LIEUTENANT_GENERAL 14 #define RANK_GENERAL 15 #define RANK_GENERAL_OF_THE_ARMY 16 #define MAXRANKS 17 new PlayerRank[33] new const RANKS[MAXRANKS][] = {  "None",  "Private",  "Private First Class",  "Corporal",  "Sergeant",  "Staff Sergeant",  "Gunnery Sergeant",  "Master Sergeant",  "Command Sergeant",  "Second Lieutenant",  "First Lieutenant",  "Colonel",  "Brigadier General",  "Major General",  "Lietenant General",  "General",  "General of the Army" } public plugin_init() {  register_plugin("Rank Display", "1.0", "Dutchmeat") } public client_putinserver(id) {  set_task(HUD_INTERVAL, "ShowHUD", id)  return PLUGIN_HANDLED } public ShowHUD(id)     {    if(!is_user_connected(id))   return 0    new stats[8]  new hits[8]  get_user_stats(id, stats, hits)    new name[33]  get_user_name(id, name, 32)    if(stats[0] < 100)  {   PlayerRank[id] = RANK_NOTHING   console_print(id,"Debug 1")  }  else if(stats[0] >= 100 || stats[0] <= 200)  {   PlayerRank[id] = RANK_PRIVATE   console_print(id,"Debug 2")  }  else if(stats[0] >= 201 || stats[0] <= 400)  {   PlayerRank[id] = RANK_PRIVATE_FIRST_CLASS   console_print(id,"Debug 3")  }  else if(stats[0] >= 401 || stats[0] <= 800)  {   PlayerRank[id] = RANK_CORPORAL   console_print(id,"Debug 4")  }  else if(stats[0] >= 801 || stats[0] <= 1000)  {   PlayerRank[id] = RANK_SERGEANT   console_print(id,"Debug 5")  }  else if(stats[0] >= 1001 || stats[0] <= 2000)  {   PlayerRank[id] = RANK_STAFF_SERGEANT   console_print(id,"Debug 6")  }  else if(stats[0] >= 2001 || stats[0] <= 4000)  {   PlayerRank[id] = RANK_GUNNERY_SERGEANT   console_print(id,"Debug 7")  }  else if(stats[0] >= 4001 || stats[0] <= 8000)  {   PlayerRank[id] = RANK_MASTER_SERGEANT   console_print(id,"Debug 8")  }  else if(stats[0] >= 8001 || stats[0] <= 10000)  {   PlayerRank[id] = RANK_COMMAND_SERGEANT   console_print(id,"Debug 9")  }  else if(stats[0] >= 10001 || stats[0] <= 12000)  {   PlayerRank[id] = RANK_SECOND_LIEUTENANT   console_print(id,"Debug 10")  }  else if(stats[0] >= 12001 || stats[0] <= 15000)  {   PlayerRank[id] = RANK_FIRST_LIEUTENANT   console_print(id,"Debug 11")  }  else if(stats[0] >= 15001 || stats[0] <= 20000)  {   PlayerRank[id] = RANK_COLONEL   console_print(id,"Debug 12")  }  else if(stats[0] >= 20001 || stats[0] <= 40000)  {   PlayerRank[id] = RANK_BRIGADIER_GENERAL   console_print(id,"Debug 13")  }  else if(stats[0] >= 40001 || stats[0] <= 50000)  {   PlayerRank[id] = RANK_MAJOR_GENERAL   console_print(id,"Debug 14")  }  else if(stats[0] >= 50001 || stats[0] <= 80000)  {   PlayerRank[id] = RANK_LIEUTENANT_GENERAL   console_print(id,"Debug 15")  }  else if(stats[0] >= 80001 || stats[0] <= 100000)  {   PlayerRank[id] = RANK_GENERAL   console_print(id,"Debug 16")  }  else if(stats[0] >= 100001)  {   PlayerRank[id] = RANK_GENERAL_OF_THE_ARMY   console_print(id,"Debug 17")  }  console_print(id,"PlayerRank: %d",PlayerRank[id])  console_print(id,"Stats 0: %d",stats[0])  set_hudmessage(237, 245, 9, 0.0, 0.6, 0, 6.0, 12.0)  show_hudmessage(id, "[%s - %s] Kills: %i", name, RANKS[PlayerRank[id]], stats[0])    set_task(HUD_INTERVAL, "ShowHUD", id)    return PLUGIN_HANDLED }
__________________
before you criticize someone, you should walk a mile in their shoes. that way, when you criticize them, you're a mile away and you have their shoes.
dutchmeat is offline
SweatyBanana
BANNED
Join Date: Sep 2005
Location: LOL
Old 01-09-2007 , 01:44   Re: Rank plugin.
Reply With Quote #4

Quote:
Originally Posted by SweatyBanana View Post
He is getting the users rank stats.. Not just in game kills for that map/round/connection/whatever.
Notice the underlined words?

I said that he is pulling the users stats..
SweatyBanana is offline
Send a message via AIM to SweatyBanana Send a message via Yahoo to SweatyBanana
MaximusBrood
Veteran Member
Join Date: Sep 2005
Location: The Netherlands
Old 01-09-2007 , 03:43   Re: Rank plugin.
Reply With Quote #5

Instead of those endless if branches, just loop.

Code:
#include <amxmodx> #include <amxmisc> #include <csstats> #define HUD_INTERVAL 1.0 #define RANK_NOTHING 0 #define RANK_PRIVATE 1 #define RANK_PRIVATE_FIRST_CLASS 2 #define RANK_CORPORAL 3 #define RANK_SERGEANT 4 #define RANK_STAFF_SERGEANT 5 #define RANK_GUNNERY_SERGEANT 6 #define RANK_MASTER_SERGEANT 7 #define RANK_COMMAND_SERGEANT 8 #define RANK_SECOND_LIEUTENANT 9 #define RANK_FIRST_LIEUTENANT 10 #define RANK_COLONEL 11 #define RANK_BRIGADIER_GENERAL 12 #define RANK_MAJOR_GENERAL 13 #define RANK_LIEUTENANT_GENERAL 14 #define RANK_GENERAL 15 #define RANK_GENERAL_OF_THE_ARMY 16 #define MAXRANKS 17 new PlayerRank[33] new const rankNames[MAXRANKS][] = {  "None",  "Private",  "Private First Class",  "Corporal",  "Sergeant",  "Staff Sergeant",  "Gunnery Sergeant",  "Master Sergeant",  "Command Sergeant",  "Second Lieutenant",  "First Lieutenant",  "Colonel",  "Brigadier General",  "Major General",  "Lietenant General",  "General",  "General of the Army" } new const rankXP[MAXRANKS] = {     0, 100, 200, 400, 800, 1000, 2000, 4000, 8000, 10000, 12000, 15000, 20000, 40000, 50000, 80000, 100000 } public plugin_init() {  register_plugin("Rank Display", "0.1", "gaben") } public client_putinserver(id) {     set_task(HUD_INTERVAL, "ShowHUD", id)     return PLUGIN_HANDLED } public ShowHUD(id)     {       if(!is_user_connected(id))         return 0       static stats[8], hits[8], name[33]     get_user_stats(id, stats, hits)     get_user_name(id, name, 32)       new currentPlayerRank = 0;     while(currentPlayerRank < (MAXRANKS - 1))     {         if(stats[0] >= rankXP[currentPlayerRank + 1])             ++currentPlayerRank;         else             break;     }         //I have no idea why you are storing the rank here, maybe you're planning to use it later     PlayerRank[id] = currentPlayerRank;         set_hudmessage(237, 245, 9, 0.0, 0.6, 0, 6.0, 12.0)     show_hudmessage(id, "[%s - %s] Kills: %i", name, rankNames[currentPlayerRank], stats[0])       set_task(HUD_INTERVAL, "ShowHUD", id)       return PLUGIN_HANDLED }
__________________
Released six formerly private plugins. Not active here since ages.
MaximusBrood is offline
dutchmeat
Senior Member
Join Date: Sep 2006
Old 01-09-2007 , 04:16   Re: Rank plugin.
Reply With Quote #6

Quote:
Originally Posted by SweatyBanana View Post
Notice the underlined words?

I said that he is pulling the users stats..
See the difference,

user stats = kills deaths hits, etc...
user stats[0] = kills
user frags = kills
__________________
before you criticize someone, you should walk a mile in their shoes. that way, when you criticize them, you're a mile away and you have their shoes.
dutchmeat is offline
Reply



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 22:30.


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