Is it possible to combine two enums?
#1

I have player enum and I have faction info members enum.

Player enum has all stuff for player (score, cash, skill, adminlevel, etc.)

Faction Info members enum has this:

org5_member1[24],
org5_member2[24],
org5_member3[24],
org5_member4[24],
org5_member5[24],
org5_member6[24],
org5_member7[24],
org5_member8[24],
org5_member9[24],
org5_member10[24],
org5_member11[24],
org5_member12[24],
org5_member13[24],
org5_member14[24],
org5_member15[24],
org5_member16[24],
org5_member17[24],
org5_member18[24],
org5_member19[24],
org5_member20[24]

In this faction enum variables are used to store players name, for example if faction leader invites online player or uninvite offline player that certain org5_memberNN[24] will be edited and in case it is empty faction slot would be "Empty" in other case "Name_Surname".

That works okay, now i have a question, is it possible to get player enum stats for example org5_member6 [pAdminLevel] ?

Can I approach player statistics over org5_member6 (for example) and get some info from player enum and how?

I hope you understood me.
Reply
#2

You can do that if the player is connected, or in the case you know how, you can call that player's file with whatever database you're using. Treat these values as if they were player names.
Reply
#3

Quote:
Originally Posted by Troydere
Посмотреть сообщение
You can do that if the player is connected, or in the case you know how, you can call that player's file with whatever database you're using. Treat these values as if they were player names.
can you show me code example?
Reply
#4

I'll explain it with dini as it is easy af.

Код:
GetOrg5Member6InfoForHaxPurposes()
{
	new userfail[128],isheadmin;
	format(userfail,sizeof userfail,"/users/%s.ini",org5_member6);
	isheadmin = dini_Get(userfail, "AdminLevel"); // or however you've named it in your database
	SendClientMessageToAll(-1,"%s is admin level %d!",org5_member6,isheadmin);
	return 1;
}
There may be mistakes, but you should get the idea from it.

You have the player's name stored in 'org5_member6'. Use it to get the player's file.

If the player is online, you can loop through players to compare the names, and get the info from him

Код:
new playname[24];
for(new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
{
	GetPlayerName(i,playname,sizeof playname);
	if(strcmp(org5_member6,playname)) continue;
	return PlayerInfo[i][Admin]
}
Or something
Reply
#5

Thanks very much for helping it!

I asked for that because i have leader command /allmembers that lists all those orgmembers (online and offline) in one dialog. Now i would just like to add their pRank, pOrgTime and other stuff that is in player enum.

You think we could get it work for offline players as well?

I uploaded /allmembers command so you might get clear idea: http://pastebin.com/5y7tTEtm

Код:
format(JLstring, sizeof(JLstring), "\n13: %s", OrgMemberSlots[org5_member13]);
		strcat(strings, JLstring);
		format(JLstring, sizeof(JLstring), "\n14: %s", OrgMemberSlots[org5_member14]);
		strcat(strings, JLstring);
		format(JLstring, sizeof(JLstring), "\n15: %s", OrgMemberSlots[org5_member15]);
		strcat(strings, JLstring);
for example i copy this code, i would now like to add after OrgMemberSlots[org5_member15], pRank, pAnotherVar, pAnotherVar2, ... that is in player enum
Reply
#6

someone?
Reply
#7

First, you can make this:
Quote:

org5_member1[24],
org5_member2[24],
org5_member3[24],
org5_member4[24],
org5_member5[24],
org5_member6[24],
org5_member7[24],
org5_member8[24],
org5_member9[24],
org5_member10[24],
org5_member11[24],
org5_member12[24],
org5_member13[24],
org5_member14[24],
org5_member15[24],
org5_member16[24],
org5_member17[24],
org5_member18[24],
org5_member19[24],
org5_member20[24]

To:

Quote:

org5_member[19][24]

Secondle, are you using mysql?
Reply
#8

Im not using mysql, Im using yini.

For what should i get those two brackets?
Reply
#9

someone?
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)