Page 5 of 7 FirstFirst ... 34567 LastLast
Results 41 to 50 of 69

Thread: Saving a variable client-side (persistently)

  1. #41
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Using this?
    Code:
    player setClientCvar("cl_allowdownload", "1");
    Can libcod enforce it before player connects?

  2. #42
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    Quote Originally Posted by agribilos View Post
    Using this?
    Code:
    player setClientCvar("cl_allowdownload", "1");
    Can libcod enforce it before player connects?
    Yes, it can.
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  3. #43
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Ok thanks. I'll give it a try when i install libcod.

  4. #44
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    I need a little help.
    Saving the players stats and updating them works fine using the functions from _stattracking.gsc (the non mysql version). Now i am trying to add a hud for displaying them. So because my coding experience is limited i tried modifying _hud_playerscore.gsc to test. I made a file called _myhud.gsc that contains :
    Code:
    init()
    {
    	
    	level thread onPlayerConnect();
    
    
    }
    
    onPlayerConnect()
    {
    	for(;;)
    	{
    		level waittill("connecting", player);
    
    		player thread onPlayerSpawned();
    		player thread onJoinedTeam();
    		player thread onJoinedSpectators();
    		player thread onUpdatePlayerScoreHUD();
    	}
    }
    
    onJoinedTeam()
    {
    	self endon("disconnect");
    	
    	for(;;)
    	{
    		self waittill("joined_team");
    		self thread removePlayerHUD();
    	}
    }
    
    onJoinedSpectators()
    {
    	self endon("disconnect");
    	
    	for(;;)
    	{
    		self waittill("joined_spectators");
    		self thread removePlayerHUD();
    	}
    }
    
    onPlayerSpawned()
    {
    	self endon("disconnect");
    	
    	for(;;)
    	{
    		self waittill("spawned_player");
    
    
    		if(!isdefined(self.hud_deaths))
    		{
    		    self.hud_deaths = newClientHudElem(self);
    		    self.hud_deaths.horzAlign = "left";
    		    self.hud_deaths.vertAlign = "top";
    		    self.hud_deaths.x = 36;
    		    self.hud_deaths.y = 46;
    		    self.hud_deaths.font = "default";
    		    self.hud_deaths.fontscale = 2;
    		    self.hud_deaths.archived = false;
    		}
    
    
    		self thread updatePlayerScoreHUD();
    	}
    }
    
    onUpdatePlayerScoreHUD()
    {
    	for(;;)
    	{
    		self waittill("update_playerscore_hud");
    		
    		self thread updatePlayerScoreHUD();
    	}
    }
    
    updatePlayerScoreHUD()
    {
    	if(isDefined(self.hud_deaths))
    		deaths = self getstat("deaths");
    		self.hud_deaths setValue(deaths);
    }
    
    removePlayerHUD()
    {
    
    	if(isDefined(self.hud_deaths))
    		self.hud_deaths destroy();
    }
    I tried calling _myhud.gsc within _stattracking.gsc in the init function.

    Code:
    init()
    {
        game["menu_clientcmd"] = "clientcmd";
        precacheMenu(game["menu_clientcmd"]);
    
        init_stattracking();
        init_ranks();
        thread waitforconnect();
        thread scanForBan();
    	thread maps\mp\gametypes\_myhud::init();
    
    }
    When i try to run server i get this error:

    Code:
    ******* script compile error *******
    uninitialised variable 'deaths': (file 'maps/mp/gametypes/_myhud.gsc', line 86)
      self.hud_deaths setValue(deaths);
                               *
    ************************************
    ********************
    ERROR: script compile error
    (see console for details)
    ********************
    ----- Server Shutdown -----
    Sending heartbeat to cod2master.activision.com
    ==== ShutdownGame ====
    Any help would be highly appreciated

  5. #45
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    Change

    Code:
    updatePlayerScoreHUD()
    {
    	if(isDefined(self.hud_deaths))
    		deaths = self getstat("deaths");
    		self.hud_deaths setValue(deaths);
    }
    to

    Code:
    updatePlayerScoreHUD()
    {
    	if(isDefined(self.hud_deaths))
            {
    		deaths = self getstat("deaths");
    		self.hud_deaths setValue(deaths);
            }
    }
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  6. The Following User Says Thank You to IzNoGoD For This Useful Post:

    agribilos (21st May 2020)

  7. #46
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Ok that was too obvious for me to see
    I also had to add #include maps\mp\gametypes\_stattracking; in _myhud.gsc and rename init() to init1()
    Now it loads fine without error but allways displays zero.
    Do i need to rename the functions in _myhud.gsc ? They have the same name as in _hud_playerscore.gsc. Does it cause any conflict if i don't?

    Edit:
    Forgot to tell that i tested it local on my pc playing alone and throwing grenades to my self. If it means anything.
    Last edited by agribilos; 21st May 2020 at 15:52.

  8. #47
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Ok i managed to fix it. Was some dumb declaration i made (for debugging perposes) in spawnPlayer() function. Now it displays correctly.

  9. #48
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Ok so i made a basic hud for displaying some of the player stats i use. It's probably not the most efficient one (especially the part with the rank names) but i want to share it anyways. Suggestions and corrections are welcome.

    Code:
    #include maps\mp\gametypes\_stattracking;
    
    init1()
    {
    
    	game["deaths"] = &"^6Total Deaths: ^7";
    	game["kills"] = &"^3Total kills: ^7";
    	game["headshots"] = &"^3Headshots: ^7";
    	game["suicides"] = &"^6Suicides: ^7";
    	game["rank"] = &"^8Rank: ^5";
    	game["killstreak"] = &"^3Longest Killstreak: ^7";
    	game["melee"] = &"^3Melee kills: ^7";
    	game["teamkills"] = &"^6Team kills: ^7";
    
    	precacheShader("white");
    	precacheString(game["deaths"]);
    	precacheString(game["kills"]);
    	precacheString(game["headshots"]);
    	precacheString(game["melee"]);
    	precacheString(game["suicides"]);
    	precacheString(game["rank"]);
    	precacheString(game["killstreak"]);
    	precacheString(game["teamkills"]);
    
    
    	level thread onPlayerConnect();
    	level thread ranknamesinit();
    }
    
    onPlayerConnect()
    {
    	for(;;)
    	{
    		level waittill("connecting", player);
    
    		player thread onPlayerSpawned();
    		player thread onJoinedTeam();
    		player thread onJoinedSpectators();
    		player thread onUpdatePlayerScoreHUD();
    		
    	}
    }
    
    onJoinedTeam()
    {
    	self endon("disconnect");
    	
    	for(;;)
    	{
    		self waittill("joined_team");
    		self thread removePlayerHUD();
    	}
    }
    
    onJoinedSpectators()
    {
    	self endon("disconnect");
    	
    	for(;;)
    	{
    		self waittill("joined_spectators");
    		self thread removePlayerHUD();
    	}
    }
    
    onPlayerSpawned()
    {
    	self endon("disconnect");
    		offset=0;
    	gametype = getCvar("g_gametype");
    	frf="0";
    	frf= getCvar("scr_friendlyfire");
    	if(gametype == "tdm")
    		offset=25;
    	
    	for(;;)
    	{
    		self waittill("spawned_player");
    		
    		if(!isdefined(self.hud_kills))
    		{
    		    self.hud_kills = newClientHudElem(self);
    		    self.hud_kills.horzAlign = "left";
    		    self.hud_kills.vertAlign = "top";
    		    self.hud_kills.x = 10;
    		    self.hud_kills.y = 50 + offset;
    		    self.hud_kills.font = "default";
    		    self.hud_kills.fontscale = .8;
    		    self.hud_kills.archived = false;
    			self.hud_kills.label = game["kills"];
    		}
    		
    		if(!isdefined(self.hud_deaths))
    		{
    		    self.hud_deaths = newClientHudElem(self);
    		    self.hud_deaths.horzAlign = "left";
    		    self.hud_deaths.vertAlign = "top";
    		    self.hud_deaths.x = 10;
    		    self.hud_deaths.y = 58 + offset;
    		    self.hud_deaths.font = "default";
    		    self.hud_deaths.fontscale = .8;
    		    self.hud_deaths.archived = false;
    			self.hud_deaths.label = game["deaths"];
    		}
    		
    		if(!isdefined(self.hud_suicides))
    		{
    		    self.hud_suicides = newClientHudElem(self);
    		    self.hud_suicides.horzAlign = "left";
    		    self.hud_suicides.vertAlign = "top";
    		    self.hud_suicides.x = 10;
    		    self.hud_suicides.y = 66 + offset;
    		    self.hud_suicides.font = "default";
    		    self.hud_suicides.fontscale = .8;
    		    self.hud_suicides.archived = false;
    			self.hud_suicides.label = game["suicides"];
    		}
    		
    		if(!isdefined(self.hud_headshots))
    		{
    		    self.hud_headshots = newClientHudElem(self);
    		    self.hud_headshots.horzAlign = "left";
    		    self.hud_headshots.vertAlign = "top";
    		    self.hud_headshots.x = 10;
    		    self.hud_headshots.y = 74 + offset;
    		    self.hud_headshots.font = "default";
    		    self.hud_headshots.fontscale = .8;
    		    self.hud_headshots.archived = false;
    			self.hud_headshots.label = game["headshots"];
    		}
    		
    		if(!isdefined(self.hud_melee))
    		{
    		    self.hud_melee = newClientHudElem(self);
    		    self.hud_melee.horzAlign = "left";
    		    self.hud_melee.vertAlign = "top";
    		    self.hud_melee.x = 10;
    		    self.hud_melee.y = 82 + offset;
    		    self.hud_melee.font = "default";
    		    self.hud_melee.fontscale = .8;
    		    self.hud_melee.archived = false;
    			self.hud_melee.label = game["melee"];
    		}
    		
    		if(!isdefined(self.hud_lkillstr))
    		{
    		    self.hud_lkillstr = newClientHudElem(self);
    		    self.hud_lkillstr.horzAlign = "left";
    		    self.hud_lkillstr.vertAlign = "top";
    		    self.hud_lkillstr.x = 10;
    		    self.hud_lkillstr.y = 90 + offset;
    		    self.hud_lkillstr.font = "default";
    		    self.hud_lkillstr.fontscale = .8;
    		    self.hud_lkillstr.archived = false;
    			self.hud_lkillstr.label = game["killstreak"];
    		}
    		
    		if(!isdefined(self.hud_rank))
    		{
    		    self.hud_rank = newClientHudElem(self);
    		    self.hud_rank.horzAlign = "left";
    		    self.hud_rank.vertAlign = "top";
    		    self.hud_rank.x = 10;
    		    self.hud_rank.y = 98 + offset;
    		    self.hud_rank.font = "default";
    		    self.hud_rank.fontscale = .8;
    		    self.hud_rank.archived = false;
    			self.hud_rank.label = game["rank"];
    		}
    		
    		if(!isdefined(self.hud_teamkills) && gametype=="tdm" && frf=="1")
    		{
    		    self.hud_teamkills = newClientHudElem(self);
    		    self.hud_teamkills.horzAlign = "left";
    		    self.hud_teamkills.vertAlign = "top";
    		    self.hud_teamkills.x = 10;
    		    self.hud_teamkills.y = 106 + offset;
    		    self.hud_teamkills.font = "default";
    		    self.hud_teamkills.fontscale = .8;
    		    self.hud_teamkills.archived = false;
    			self.hud_teamkills.label = game["teamkills"];
    		}
    		
    		
    		
    		self thread updatePlayerScoreHUD();
    	}
    }
    
    onUpdatePlayerScoreHUD()
    {
    	for(;;)
    	{
    		self waittill("update_playerscore_hud");
    		self thread updatePlayerScoreHUD();
    	}
    }
    
    updatePlayerScoreHUD()
    {
    	if(isDefined(self.hud_deaths))
    	{
    		deaths = self getstat("deaths");
    		self.hud_deaths setValue(deaths);
    	}
    		
    	if(isDefined(self.hud_headshots))
    	{
    		headshots = self getstat("headshots");
    		self.hud_headshots setValue(headshots);
    	}
    	
    	if(isDefined(self.hud_kills))
    	{
    		kills= self getstat("kills");
    		self.hud_kills setValue(kills);
    	}
    	
    	if(isdefined(self.hud_suicides))
    	{
    		suicides= self getstat("suicides");
    		self.hud_suicides setValue(suicides);
    	}
    	
    	if(isdefined(self.hud_melee))
    	{
    		melee= self getstat("meleekills");
    		self.hud_melee setValue(melee);
    	}
    	
    	if(isdefined(self.hud_lkillstr))
    	{
    		lkillstr= self getstat("longest_killstreak");
    		self.hud_lkillstr setValue(lkillstr);
    	}
    	
    	if(isdefined(self.hud_rank))
    	{
    		rank= self getstat("rank");
    		self getrankname(rank);
    	}
    	
    	if(isdefined(self.hud_teamkills))
    	{
    		teamkills= self getstat("teamkills");
    		self.hud_teamkills setValue(teamkills);
    	}
    }
    
    removePlayerHUD()
    {
    
    
    	if(isDefined(self.hud_deaths))
    		self.hud_deaths destroy();
    		
    	if(isDefined(self.hud_headshots))
    		self.hud_headshots destroy();
    	
    	if(isDefined(self.hud_kills))
    		self.hud_kills destroy();
    	
    	if(isdefined(self.hud_suicides))
    		self.hud_suicides destroy();
    	
    	
    	if(isdefined(self.hud_melee))
    		self.hud_melee destroy();
    	
    	
    	if(isdefined(self.hud_lkillstr))
    		self.hud_lkillstr destroy();
    
    	
    	if(isdefined(self.hud_rank))
    		self.hud_rank destroy();
    		
    	if(isdefined(self.hud_teamkills))
    		self.hud_teamkills destroy();
    	
    }
    
    getrankname(rank)
    {
    	switch(rank)
    	{
    	case 0:
    		self.hud_rank setText(game["0"]);
    		break;
    		
    	case 1:
    		self.hud_rank setText(game["1"]);
    		break;
    	
    	case 2:
    		self.hud_rank setText(game["2"]);
    		break;
    	
    	case 3:
    		self.hud_rank setText(game["3"]);
    		break;
    	
    	case 4:
    		self.hud_rank setText(game["4"]);
    		break;	
    		
    	case 5:
    		self.hud_rank setText(game["5"]);
    		break;
    		
    	case 6:
    		self.hud_rank setText(game["6"]);
    		break;
    	
    	case 7:
    		self.hud_rank setText(game["7"]);
    		break;
    
    	case 8:
    		self.hud_rank setText(game["8"]);
    		break;
    		
    	case 9:
    		self.hud_rank setText(game["9"]);
    		break;
    		
    	case 10:
    		self.hud_rank setText(game["10"]);
    		break;
    		
    	case 11:
    		self.hud_rank setText(game["11"]);
    		break;
    		
    	case 12:
    		self.hud_rank setText(game["12"]);
    		break;
    		
    	case 13:
    		self.hud_rank setText(game["13"]);
    		break;
    		
    	case 14:
    		self.hud_rank setText(game["14"]);
    		break;
    		
    	case 15:
    		self.hud_rank setText(game["15"]);
    		break;
    
    	case 16:
    		self.hud_rank setText(game["16"]);
    		break;
    				
    	case 17:
    		self.hud_rank setText(game["17"]);
    		break;
    		
    	case 18:
    		self.hud_rank setText(game["18"]);
    		break;
    
    	case 19:
    		self.hud_rank setText(game["19"]);
    		break;
    
    	case 20:
    		self.hud_rank setText(game["20"]);
    		break;
    
    	case 21:
    		self.hud_rank setText(game["21"]);
    		break;
    				
    	case 22:
    		self.hud_rank setText(game["22"]);
    		break;
    		
    	case 23:
    		self.hud_rank setText(game["23"]);
    		break;
    
    	case 24:
    		self.hud_rank setText(game["24"]);
    		break;
    	
    	case 25:
    		self.hud_rank setText(game["25"]);
    		break;
    		
    	case 26:
    		self.hud_rank setText(game["26"]);
    		break;
    	
    	case 27:
    		self.hud_rank setText(game["27"]);
    		break;
    	
    	case 28:
    		self.hud_rank setText(game["28"]);
    		break;
    	
    	case 29:
    		self.hud_rank setText(game["29"]);
    		break;	
    		
    	case 30:
    		self.hud_rank setText(game["30"]);
    		break;
    		
    	case 31:
    		self.hud_rank setText(game["31"]);
    		break;
    	
    	case 32:
    		self.hud_rank setText(game["32"]);
    		break;
    
    	case 33:
    		self.hud_rank setText(game["33"]);
    		break;
    		
    	case 34:
    		self.hud_rank setText(game["34"]);
    		break;
    		
    	case 35:
    		self.hud_rank setText(game["35"]);
    		break;
    		
    	case 36:
    		self.hud_rank setText(game["36"]);
    		break;
    		
    	case 37:
    		self.hud_rank setText(game["37"]);
    		break;
    		
    	case 38:
    		self.hud_rank setText(game["38"]);
    		break;
    		
    	case 39:
    		self.hud_rank setText(game["39"]);
    		break;
    		
    	case 40:
    		self.hud_rank setText(game["40"]);
    		break;
    
    	case 41:
    		self.hud_rank setText(game["41"]);
    		break;
    				
    	case 42:
    		self.hud_rank setText(game["42"]);
    		break;
    		
    	case 43:
    		self.hud_rank setText(game["43"]);
    		break;
    
    	case 44:
    		self.hud_rank setText(game["44"]);
    		break;
    
    	case 45:
    		self.hud_rank setText(game["45"]);
    		break;
    
    	case 46:
    		self.hud_rank setText(game["46"]);
    		break;
    				
    	case 47:
    		self.hud_rank setText(game["47"]);
    		break;
    		
    	case 48:
    		self.hud_rank setText(game["48"]);
    		break;
    
    	case 49:
    		self.hud_rank setText(game["49"]);
    		break;
    		
    	case 50:
    		self.hud_rank setText(game["50"]);
    		break;
    		
    	case 51:
    		self.hud_rank setText(game["51"]);
    		break;
    
    	case 52:
    		self.hud_rank setText(game["52"]);
    		break;
    
    	case 53:
    		self.hud_rank setText(game["53"]);
    		break;
    
    	case 54:
    		self.hud_rank setText(game["54"]);
    		break;
    				
    	}
    }
    	
    	
    ranknamesinit()
    {
    game["0"] = &"Private First Class";
    game["1"] = &"Private First Class I"; 
    game["2"] = &"Private First Class II";
    game["3"] = &"Lance Corporal";
    game["4"] = &"Lance Corporal I";
    game["5"] = &"Lance Corporal II";
    game["6"] = &"Corporal";
    game["7"] = &"Corporal I";
    game["8"] = &"Corporal II";
    game["9"] = &"Sergeant";
    game["10"] = &"Sergeant I";
    game["11"] = &"Sergeant II";
    game["12"] = &"Staff Sergeant";
    game["13"] = &"Staff Sergeant I";
    game["14"] = &"Staff Sergeant II";
    game["15"] = &"Gunnery Sergeant";
    game["16"] = &"Gunnery Sergeant I";
    game["17"] = &"Gunnery Sergeant II";
    game["18"] = &"Master Sergeant";
    game["19"] = &"Master Sergeant I";
    game["20"] = &"Master Sergeant II";
    game["21"] = &"Master Gunnery Sergeant";
    game["22"] = &"Master Gunnery Sergeant I";
    game["23"] = &"Master Gunnery Sergeant II";
    game["24"] = &"2nd Lieutenant";
    game["25"] = &"2nd Lieutenant I";
    game["26"] = &"2nd Lieutenant II";
    game["27"] = &"1st Lieutenant";
    game["28"] = &"1st Lieutenant I";
    game["29"] = &"1st Lieutenant II";
    game["30"] = &"Captain";
    game["31"] = &"Captain I";
    game["32"] = &"Captain II";
    game["33"] = &"Major";
    game["34"] = &"Major I";
    game["35"] = &"Major II";
    game["36"] = &"Lt. Colonel";
    game["37"] = &"Lt. Colonel I";
    game["38"] = &"Lt. Colonel II";
    game["39"] = &"Colonel";
    game["40"] = &"Colonel I";
    game["41"] = &"Colonel II";
    game["42"] = &"Brigadier General";
    game["43"] = &"Brigadier General I";
    game["44"] = &"Brigadier General II";
    game["45"] = &"Major General";
    game["46"] = &"Major General I";
    game["47"] = &"Major General II";
    game["48"] = &"Lieutenant General";
    game["49"] = &"Lieutenant General I";
    game["50"] = &"Lieutenant General II";
    game["51"] = &"General";
    game["52"] = &"General I";
    game["53"] = &"General II";
    game["54"] = &"Commander";
    precacheString(game["0"]);
    precacheString(game["1"]);
    precacheString(game["2"]);
    precacheString(game["3"]);
    precacheString(game["4"]);
    precacheString(game["5"]);
    precacheString(game["6"]);
    precacheString(game["7"]);
    precacheString(game["8"]);
    precacheString(game["9"]);
    precacheString(game["10"]);
    precacheString(game["11"]);
    precacheString(game["12"]);
    precacheString(game["13"]);
    precacheString(game["14"]);
    precacheString(game["15"]);
    precacheString(game["16"]);
    precacheString(game["17"]);
    precacheString(game["18"]);
    precacheString(game["19"]);
    precacheString(game["20"]);
    precacheString(game["21"]);
    precacheString(game["22"]);
    precacheString(game["23"]);
    precacheString(game["24"]);
    precacheString(game["25"]);
    precacheString(game["26"]);
    precacheString(game["27"]);
    precacheString(game["28"]);
    precacheString(game["29"]);
    precacheString(game["30"]);
    precacheString(game["31"]);
    precacheString(game["32"]);
    precacheString(game["33"]);
    precacheString(game["34"]);
    precacheString(game["35"]);
    precacheString(game["36"]);
    precacheString(game["37"]);
    precacheString(game["38"]);
    precacheString(game["39"]);
    precacheString(game["40"]);
    precacheString(game["41"]);
    precacheString(game["42"]);
    precacheString(game["43"]);
    precacheString(game["44"]);
    precacheString(game["45"]);
    precacheString(game["46"]);
    precacheString(game["47"]);
    precacheString(game["48"]);
    precacheString(game["49"]);
    precacheString(game["50"]);
    precacheString(game["51"]);
    precacheString(game["52"]);
    precacheString(game["53"]);
    precacheString(game["54"]);
    
    }
    Last edited by agribilos; 22nd May 2020 at 17:42. Reason: I forgot to add the teamkills parts.

  10. #49
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts
    PHP Code:
    getrankname(rank)
    {
        if(
    rank >= && rank game["rankname"].size)
            
    self.hud_rank setText(game["rankname"][rank]);
    }
        
        
    ranknamesinit()
    {
        
    game["rankname"] = [];
        
    game["rankname"][0] = &"Private First Class";
        
    game["rankname"][1] = &"Private First Class I"
        
    game["rankname"][2] = &"Private First Class II";
        
    game["rankname"][3] = &"Lance Corporal";
        
    game["rankname"][4] = &"Lance Corporal I";
        
    game["rankname"][5] = &"Lance Corporal II";
        
    game["rankname"][6] = &"Corporal";
        
    game["rankname"][7] = &"Corporal I";
        
    game["rankname"][8] = &"Corporal II";
        
    game["rankname"][9] = &"Sergeant";
        
    game["rankname"][10] = &"Sergeant I";
        
    game["rankname"][11] = &"Sergeant II";
        
    game["rankname"][12] = &"Staff Sergeant";
        
    game["rankname"][13] = &"Staff Sergeant I";
        
    game["rankname"][14] = &"Staff Sergeant II";
        
    game["rankname"][15] = &"Gunnery Sergeant";
        
    game["rankname"][16] = &"Gunnery Sergeant I";
        
    game["rankname"][17] = &"Gunnery Sergeant II";
        
    game["rankname"][18] = &"Master Sergeant";
        
    game["rankname"][19] = &"Master Sergeant I";
        
    game["rankname"][20] = &"Master Sergeant II";
        
    game["rankname"][21] = &"Master Gunnery Sergeant";
        
    game["rankname"][22] = &"Master Gunnery Sergeant I";
        
    game["rankname"][23] = &"Master Gunnery Sergeant II";
        
    game["rankname"][24] = &"2nd Lieutenant";
        
    game["rankname"][25] = &"2nd Lieutenant I";
        
    game["rankname"][26] = &"2nd Lieutenant II";
        
    game["rankname"][27] = &"1st Lieutenant";
        
    game["rankname"][28] = &"1st Lieutenant I";
        
    game["rankname"][29] = &"1st Lieutenant II";
        
    game["rankname"][30] = &"Captain";
        
    game["rankname"][31] = &"Captain I";
        
    game["rankname"][32] = &"Captain II";
        
    game["rankname"][33] = &"Major";
        
    game["rankname"][34] = &"Major I";
        
    game["rankname"][35] = &"Major II";
        
    game["rankname"][36] = &"Lt. Colonel";
        
    game["rankname"][37] = &"Lt. Colonel I";
        
    game["rankname"][38] = &"Lt. Colonel II";
        
    game["rankname"][39] = &"Colonel";
        
    game["rankname"][40] = &"Colonel I";
        
    game["rankname"][41] = &"Colonel II";
        
    game["rankname"][42] = &"Brigadier General";
        
    game["rankname"][43] = &"Brigadier General I";
        
    game["rankname"][44] = &"Brigadier General II";
        
    game["rankname"][45] = &"Major General";
        
    game["rankname"][46] = &"Major General I";
        
    game["rankname"][47] = &"Major General II";
        
    game["rankname"][48] = &"Lieutenant General";
        
    game["rankname"][49] = &"Lieutenant General I";
        
    game["rankname"][50] = &"Lieutenant General II";
        
    game["rankname"][51] = &"General";
        
    game["rankname"][52] = &"General I";
        
    game["rankname"][53] = &"General II";
        
    game["rankname"][54] = &"Commander";
        for(
    0game["rankname"].sizei++)
            
    precachestring(game["rankname"][i]);

    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

  11. The Following User Says Thank You to IzNoGoD For This Useful Post:

    agribilos (22nd May 2020)

  12. #50
    Private
    Join Date
    Apr 2020
    Posts
    66
    Thanks
    28
    Thanked 14 Times in 13 Posts
    Thank you for the correction. I will try it as soon as possible.

    If i modify the getstat() function like this it returns the rank name instead of the rank number. Is there a way to put the result in an array to use in the hud? Because i tried and it gave me error about not being localized string. Sorry for asking too many questions...

    Code:
    getstat(stat)
    {
        
    	switch(stat)
    	{
    		case "rank":
    		return level.ranks[self.stats["rank"]].name;
    	}
    	
    	if(!isdefined(stat))
            return;
        if(!isdefined(self) || !isplayer(self))
            return;
        if(!isdefined(self.stats[stat]))
            return 0;
        else
            return self.stats[stat];
    }

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •