[HELP]Show Players Rank Above Players Head/Name
#1

I got this code from SA-MP Wiki but what would I add to it to make it show players ranks. (I'm using ZCMD Rank System)
Code:
public OnPlayerConnect(playerid)
{
    new Text3D:label = Create3DTextLabel("Hello, I am new here!", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
    return 1;
}
And this is the code that is in my ZCMD that is the command to display rank:
Code:
public GetPlayerRankInfo(playerid)
{
    new Pname[50], string[250], tmp[50] = "Your Current Rank: "#COL_GREEN#"", rank[18], score;
    GetPlayerName(playerid, Pname, 50);
    score = GetPlayerScore(playerid);
}
Reply
#2

Anyone help please? Is it too hard to script?
Reply
#3

Quote:
Originally Posted by Eminem 2ka9
View Post
Anyone help please? Is it too hard to script?
Is it too hard to be patient ?

Anyway, I still don't know what you mean. You want the rank to show above the character ?
Reply
#4

Is rank a variable which is stored in PlayerInfo array or something? Give me the var. Ill tell you how to code it.
Reply
#5

To be honest I'm a noob nuff said. I have patients it's just I posted this before and now answers, anyways This (ZCMD) Is apart of a filterscript. I Would either like to call a remote function to the filterscript from the gamemode, either that or just straight from the filterscript.

Heres the entire Rank System (ZCMD)

Code:
//====================================Made By Naruto_Emilio===============================================//

#include < a_samp >

#include < zcmd >

#define SNIPER_CLASS 1

#define AIRMAN_CLASS 2

#define FLAMETHROWER_CLASS 3

#define ASSAULT_CLASS 4

#define ENGINEER_CLASS 5

#define COLOR_WHITE 0xFFFFFFFF

#define COL_GREEN 		   "{6EF83C}"

#define COL_WHITE          "{FFFFFF}"

#define COLOR_RED 		   0xAA3333AA

#define COLOR_GREEN 	   0x33AA33AA

//======================CLASSES FUNCTIONS=====================//
new gPlayerClass[MAX_PLAYERS];

public OnPlayerRequestClass(playerid, classid)

{

 	gPlayerClass[playerid] = ASSAULT_CLASS;

    return 1;

}

new PickedClass[MAX_PLAYERS] = 0;


//=========================Commands===========================//

		CMD:penisface(playerid, params[]) //already done (switch class)

		{

		TogglePlayerControllable(playerid, 0);

		ShowPlayerDialog(playerid, 1, DIALOG_STYLE_LIST, "Classes", "Assault\nSniper\nPilot\nEngineer\nPyroman", "Select", "Cancel");

	  	SetPlayerVirtualWorld(playerid, 0);

		return 1;

		}

		CMD:rankvehicles(playerid, params[])

		{
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hydra:"#COL_WHITE#"Major [300 Score]");

		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Hunter:"#COL_WHITE#"Lieutenant Major [250 Score]");

		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Seasparrow:"#COL_WHITE#"Corporal [30 Score]");

		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Tank:"#COL_WHITE#"Officer [85 Score]");

		return 1;

		}

		CMD:classhelp(playerid, params[])
		{
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Assault: "#COL_WHITE#" Weapon: Desert Eagle + m4 + Tear Gas. "#COL_GREEN#"Rank: Trainee Score: 0");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"AirMan "#COL_WHITE#"Weapon: 9mm, MP5, Grenades. [PILOT PLANES], "#COL_GREEN#"Rank: Lieutenant Colonel Score: 1150");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"FlareThrower "#COL_WHITE#" Weapon: FireThrower, Desert Eagle, Ak_47 "#COL_GREEN#"Rank: Captain Score 400");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Engineer "#COL_WHITE#"Weapon: 9mm, Tec9, Rocket Launcher "#COL_GREEN#"Rank: Sergeant Score: 250");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"Sniper "#COL_WHITE#"Weapon: Sniper + Silenced 9mm, mp5. "#COL_GREEN#"Rank: Private Score: 10");
		return 1;
		}
		CMD:rankhelp(playerid, params[])

		{

		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rank: "#COL_WHITE#"To see your currently rank.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/ranklist:"#COL_WHITE#"To see server ranks.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/bonuses: "#COL_WHITE#"To see rank Bonuses.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/weaponbonus: "#COL_WHITE#"to see weapon bonuses.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/rankvehicles "#COL_WHITE#" To see the rank vehicles.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/switchclass "#COL_WHITE#" To see the Class System.");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/classhelp "#COL_WHITE#" For More information about class system");
		SendClientMessage(playerid, COLOR_WHITE, ""#COL_GREEN#"/credits:"#COL_WHITE#" To see who made that script.");

		return 1;

		}

		CMD:rank(playerid, params[])

		{

		GetPlayerRankInfo(playerid);

		return 1;

		}
		CMD:bonuses(playerid, params[])
		
		{
		
		SendClientMessage(playerid, COLOR_WHITE, "General Of The Army: [Armour: 100][Health: 100][Money: 3.000.000][Weapon: /weaponbonus].");

		return 1;

		}
		CMD:ranklist(playerid, params[])

		{

		ShowPlayerDialog(playerid,1300,DIALOG_STYLE_MSGBOX,"{00FF00}Ranks List","{FFFFFF}Private: 0 score\nCorporal: 30 score\nSergeant: 50 score\nOfficer: 85 score\nLieutenant Major: 250 score\nCaptain: 300 score\nMajor: 400 score\nColonel: 500 score\nGeneral: 750 score\nField Marshall: 1000 score\nMaster Of War: 1500 score","Open","Close");

		return 1;

		}
		
		CMD:weaponbonus(playerid, params[])

		{

		SendClientMessage(playerid, COLOR_WHITE, "Master Of War: [Weapon: Desert Eagle: 550 , Sawn Off: 100, M4: 500, Sniper: 50, Rocket Lancher: 5]");

		return 1;

		}
		
		

//===============================================Rank Bonus======================================================//
forward Bonus(playerid);
public Bonus(playerid)
{
    if(GetPlayerScore(playerid) >= 1500)
    {
    SendClientMessage(playerid, COLOR_RED, "Good job sir, You are the Master Of War Now You got some bonuses [/bonuses]to see the rank bonus");
    GivePlayerWeapon(playerid, 35, 5);//Rocket Launcher [EDITABLE]
    GivePlayerWeapon(playerid, 34, 50);//sniper[EDITABLE]
    GivePlayerWeapon(playerid, 31, 500);//m4[EDITABLE]
    GivePlayerWeapon(playerid, 26, 100);//sawn[EDITABLE]
    GivePlayerWeapon(playerid, 24, 550);//desert eagle[EDITABLE]
    SetPlayerArmour(playerid, 100);//[EDITABLE]
    SetPlayerHealth(playerid, 100);//[EDITABLE]
    GivePlayerMoney(playerid, 3000000);//[EDITABLE]
    return 1;
    }
    return 1;

}
//===========================GetPlayerRankInfo Function==================================//
forward GetPlayerRankInfo(playerid);
public GetPlayerRankInfo(playerid)
{
    new Pname[50], string[250], tmp[50] = "Your Current Rank: "#COL_GREEN#"", rank[18], score;
    GetPlayerName(playerid, Pname, 50);
    score = GetPlayerScore(playerid);
    switch(score) {
        case 0..29: {
            rank = "Private";
        }
        case 30..49: {
            rank = "Corporal";
        }
        case 50..84: {
            rank = "Sergeant";
        }
        case 85..249: {
            rank = "Officer";
        }
        case 250..299: {
            rank = "Lieutenant Major";
        }
        case 300..399: {
            rank = "Captain";
        }
        case 400..499: {
            rank = "Major";
        }
        case 500..749: {
            rank = "Colonel";
        }
        case 750..999: {
            rank = "General";
        }
        case 1000..1499: {
            rank = "Field Marshall";
        }
        default: {
            rank = "Master Of War";
        }
    }
    strcat(tmp, rank);
    SendClientMessage(playerid, COLOR_WHITE, tmp);
    format(string, sizeof(string),"Name:%s - Your Current Score: "#COL_GREEN#"%d",Pname, score);
    SendClientMessage(playerid, COLOR_WHITE, string);
    return 1;
}
//===========================SPECIAL VEHICLES===================================//

public OnPlayerStateChange(playerid, newstate, oldstate)

{

	new vehicleid = GetPlayerVehicleID(playerid);
	
    if(GetVehicleModel(vehicleid) == 425 && GetPlayerScore(playerid) < 250)

    {
        SendClientMessage(playerid, COLOR_RED, "You need at least rank Lieutenant Major to fly a Hunter(250 Score) /rank to view yours");
        RemovePlayerFromVehicle(playerid);
    }

    if(GetVehicleModel(vehicleid) == 520)
	{
    if(GetPlayerScore(playerid) < 500 && GetPlayerSkin(playerid) != 121)
    {
        SendClientMessage(playerid, COLOR_RED, "Rank Major & Special Ops Team Required!(500 Score)  /rank to view yours");
        RemovePlayerFromVehicle(playerid);
    }
}



    if(GetVehicleModel(vehicleid) == 432 && GetPlayerScore(playerid) < 85)

    {

	    SendClientMessage(playerid, COLOR_RED, "You need To be At least a Officer rank to ride a Tank(85 Score) /rank to view yours");
        RemovePlayerFromVehicle(playerid);

    }

    if(GetVehicleModel(vehicleid) == 447 && GetPlayerScore(playerid) < 30)

    {

	    SendClientMessage(playerid, COLOR_RED, "You need at least a Corporal rank to fly a Sea Sparrow(30 Score) /rank to view yours");
        RemovePlayerFromVehicle(playerid);

    }

}
//============================Dialog System===================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
			{
			    if(response)
			    	{

						if(GetPlayerScore(playerid) <= 0)//Private
						{

						SetPlayerSkin(playerid, 287);
						SendClientMessage(playerid, COLOR_WHITE, "You chose the assault as your class.");
			            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
			            gPlayerClass[playerid] = ASSAULT_CLASS;
			            PickedClass[playerid] = 1;
			            SetPlayerVirtualWorld(playerid, 0);
						TogglePlayerControllable(playerid, 1);
						GivePlayerWeapon(playerid, 24, 200);
						GivePlayerWeapon(playerid, 31, 500);
						GivePlayerWeapon(playerid, 17, 5);
						}
						}


                if(listitem == 1)//sniper DONE
			        {
						if(GetPlayerScore(playerid) <= 10)//Private

						{

							SetPlayerSkin(playerid, 122);
			         		SendClientMessage(playerid, COLOR_WHITE, "You chose the Sniper as your class.");
				            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
				            gPlayerClass[playerid] = SNIPER_CLASS;
				            PickedClass[playerid] = 1;
				            SetPlayerVirtualWorld(playerid, 0);
				            TogglePlayerControllable(playerid, 1);
							GivePlayerWeapon(playerid, 23, 500);
						    GivePlayerWeapon(playerid, 34, 100);
						    GivePlayerWeapon(playerid, 29, 200);

					}
                        else
					{
						SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Private class [/rank to see yours]");
   						TogglePlayerControllable(playerid, 0);
					}
				}


				if(listitem == 2)//pilot DONE
			        {
							if(GetPlayerScore(playerid) <= 1150)//Lieutenant Colonel

							{

							SetPlayerSkin(playerid, 61);
			         		SendClientMessage(playerid, COLOR_WHITE, "You chose the Pilot as your class.");
				            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
				            gPlayerClass[playerid] = AIRMAN_CLASS;
				            PickedClass[playerid] = 1;
				            SetPlayerVirtualWorld(playerid, 0);
				            TogglePlayerControllable(playerid, 1);
						    GivePlayerWeapon(playerid, 22, 50);
						    GivePlayerWeapon(playerid, 29, 500);
						    GivePlayerWeapon(playerid, 16, 5);

					}
     						else
					{
						SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Lieutenant Colonel class [/rank to see yours]");
   						TogglePlayerControllable(playerid, 0);
					}
				}
			    if(listitem == 3)//Engineer
			        {
							if(GetPlayerScore(playerid) <= 250)//Sergeant

							{
                            SetPlayerSkin(playerid, 285);
     	    				SendClientMessage(playerid, COLOR_WHITE, "You chose the Engineer as your class.");
				            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
				            gPlayerClass[playerid] = ENGINEER_CLASS;
				            PickedClass[playerid] = 1;
				            SetPlayerVirtualWorld(playerid, 0);
				            TogglePlayerControllable(playerid, 1);
						    GivePlayerWeapon(playerid, 22, 100);
						    GivePlayerWeapon(playerid, 32, 500);
						    GivePlayerWeapon(playerid, 35, 5);


					}
					        else
					{
						SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Sergeant class [/rank to see yours]");
   						TogglePlayerControllable(playerid, 0);
					}
				}

		        if(listitem == 4)//FlameThrower
			        {
							if(GetPlayerScore(playerid) <= 400)//CAPTAIN

							{

							SetPlayerSkin(playerid, 144);
			         		SendClientMessage(playerid, COLOR_WHITE, "You chose the Flamethrower as your class.");
				            SendClientMessage(playerid, COLOR_WHITE, "You can type /switchclass to change your class again.");
				            gPlayerClass[playerid] = FLAMETHROWER_CLASS;
				            PickedClass[playerid] = 1;
				            SetPlayerVirtualWorld(playerid, 0);
				            TogglePlayerControllable(playerid, 1);
						    GivePlayerWeapon(playerid, 24, 200);
						    GivePlayerWeapon(playerid, 30, 200);
						    GivePlayerWeapon(playerid, 37, 200);


					}
					        else
					{
						SendClientMessage(playerid, COLOR_WHITE, "You need to be atleast Captain class [/rank to see yours]");
   						TogglePlayerControllable(playerid, 0);
					}
				}
                return 1;
		}
return 1;
}
Your Variable should be There!!
Reply
#6

Yea, it's there.

But be more specific, what do you want to do at this script?

Regards
Reply
#7

Why dont you simplify your code a bit. Give me your player enum. Ill tell you what to do!
Reply
#8

I don't see any enum on my filterscript, so Here it is on my gamemode
Code:
enum PData
{
        Level
}

#pragma tabsize 0
#define neondialog 8131

new Text:HealthBar[19];
#if defined FILTERSCRIPT
How more specific can I be? I just want to show the persons rank "Major" or "General" Above the persons head/name Like just above the character
Reply
#9

WHy you don't use:

Attach3DTexTLabelToPlayer?
Reply
#10

That's what I'm talking about!!!! I already added it in the description look!!
Code:
pu
blic OnPlayerConnect(playerid)
{
    new Text3D:label = Create3DTextLabel("Hello, I am new here!", 0x008080FF, 30.0, 40.0, 50.0, 40.0, 0);
    Attach3DTextLabelToPlayer(label, playerid, 0.0, 0.0, 0.7);
    return 1;
}
But How would I edit this to make it show my rank instead of "Hello, I'm new Here!"??
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)