elõször is kell a játékos változója...
legyen pl két frakció:
enum frakciok
{
cop,
medic,
van, //hogy van e a játékosnak munkája
};
new pFrakcio[MAX_PLAYERS][frakciok];
dini a mentéshez:
#include <dini>
betöltés
public OnPlayerConect(playerid)
{
new n[24],f[128];GetPlayerName(playerid,n,24);format(f,128,\"users/%s.ini\",n);
pFrakcio[playerid][cop] = dini_Int(f,\"Rendormunka\");
pFrakcio[playerid][medic] = dini_Int(f,\"Mentosmunka\");
pFrakcio[playerid][van] = dini_Int(f,\"Vanmunka\");
return 1;
}
mentés
public OnPlayerDisconnect(playerid,reason)
{
new n[24],f[128];GetPlayerName(playerid,n,24);format(f,128,\"users/%s.ini\",n);
dini_IntSet(f,\"Rendormunka\",pFrakcio[playerid][cop]);
dini_IntSet(f,\"Mentosmunka\",pFrakcio[playerid][medic]);
dini_IntSet(f,\"Vanmunka\",pFrakcio[playerid][van]);
return 1;
}
parancsok:
CMD:cop(playerid,params[])
{
if(IsPlayerAdmin(playerid))
{
new who,n[24],n2[24],s[128];
GetPlayerName(playerid,n,24);
if(sscanf(params,\"u\",who)) return SendClientMessage(playerid,-1,\"/cop [iD/NAME]\");
GetPlayerName(who,n2,24);
if(pFrakcio[who][cop]==0)
{
format(s,128,\"RCON Admin %s kinevezte %s-t rendõrnek\",n,n2);
SendClientMessageToAll(-1,s);
pFrakcio[who][cop]=1;
pFrakcio[who][van]=1;
}
else if(pFracio[who][cop]==1)
{
format(s,128,\"RCON Admin %s elvette %s rendõrjogát\",n,n2);
SendClientMessageToAll(-1,s);
pFrakcio[who][cop]=0;
pFrakcio[who][van]=0;
}
}
return 1;
}
és ugyanez a másiknál is.. .igaz ebbe nincsenek rangok, mert ez rögtönzött (jah rögtönzött: félórát elvett mert kislaptopról vok
)