Jump to content

San Andreas Multiplayer: Script - Systems Manager


Recommended Posts

Posted

Salut!

O sa va arat un sistem de Managers Basic

Acest tutorial il fac pentru scripterii incepatorii.Il puteti modifica sau sa l avansati.

 

In primul rand trebuie sa enumeram functia "Manager"

 

enum pInfo {
	pManager
};

 

Dupa facem comanda respectiva pentru a acorda manager

 

YCMD:setmanager(playerid, params[], help) {
	if(PlayerInfo[playerid][pAdmin] >= 6  || EstiFondator(playerid)) {
		new item[50],id[64],userid,query[256];
		if(sscanf(params, "s[64]s[64]",id,item)) {
			sendPlayerSyntax(playerid, "Syntax: /setmanager <PlayerID/Name> <Manager>");
			sendPlayerSyntax(playerid, "Managers: (0) None, (1) Departamente, (2) Mafii, (3) Pasnice, (4) Mixte");
			return 1;
		}
		new cont = MySQLCheckAccount(id);
		if(cont == 0) return sendPlayerError(playerid, "Acest nume nu a fost gasit in baza de date!");
		userid = GetPlayerID(id);
		if((strcmp(item, "0", true) == 0) || (strcmp(item, "None", true) == 0)){
			PlayerInfo[userid][pManager] = 0;
			SCMf(playerid, COLOR_GREY, "I-ai scos managerul lui %s ",GetName(userid));
		}else if((strcmp(item,  "1", true) == 0) || (strcmp(item, "Departamente", true) == 0)){
			PlayerInfo[userid][pManager] = 1;
			SCMf(playerid, COLOR_GREY, "I-ai dat lui %s Manager Departamente ",GetName(userid));
		} else if ((strcmp(item, "2", true) == 0) || (strcmp(item, "Mafii", true) == 0)) {
			PlayerInfo[userid][pManager] = 2;
			SCMf(playerid, COLOR_GREY, "I-ai dat lui %s Manager Mafii",GetName(userid));
		} else if((strcmp(item, "3", true) == 0) || (strcmp(item, "Pasnice", true) == 0)){
			PlayerInfo[userid][pManager] = 3;
			SCMf(playerid, COLOR_GREY, "I-ai dat lui %s Manager Pasnice",GetName(userid));
		} else if((strcmp(item, "4", true) == 0) || (strcmp(item, "Hitman", true) == 0)){
			PlayerInfo[userid][pManager] = 4;
			SCMf(playerid, COLOR_GREY, "I-ai dat lui %s Manager Mixte",GetName(userid));
		}
		mysql_format(SQL,query, sizeof query, "UPDATE users SET `Manager`='%d' WHERE `ID`='%d'",PlayerInfo[playerid][pManager],PlayerInfo[userid][pSQLID]); 			
        mysql_tquery(SQL, query, "", "");
	} else return sendPlayerError(playerid, AdminOnly);
	return 1;
}

 

Daca vreti sa arate toti managerii pe server faceti un stock ca sa definiti toate managerii adica  sa numai arate 1,2,3,4 si sa arate direct ce manager este.

 

stock GetManagerRank(playerid) {
	new string[32];
	switch(PlayerInfo[playerid][pManager]) {
	    case 1: string = "Manager x";
	    case 2: string = "Manager y";
	    case 3: string = "Manager z";
	    case 4: string = "Manager a";
	}
	return string;
}

 

Si dupa sa facem comanda [/managers].

 

YCMD:managers(playerid, params[], help)
{
    if(IsPlayerConnected(playerid))
	{
        new count = 0,string[200],sendername[30];
		SendClientMessage(playerid, COLOR_SERVER, "----Manageri Online----------------------------------------------------");
		foreach(Player,i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pManager] != 0)
				{
					GetPlayerName(i, sendername,  sizeof(sendername));
					format(string, 256, "%s - %s (%d)",GetManagerRank(i),sendername,i);
					SendClientMessage(playerid, COLOR_WHITE, string);
					count++;
				}
			}
		}
		if(count == 0) SendClientMessage(playerid,COLOR_WHITE,"* Nu sunt manageri conectati.");
		SCM(playerid, COLOR_SERVER, "----------------------------------------------------------------------------");
	}
	return 1;
}

 

 

Sper ca v-am ajutat.

Posted

Am uitat sa precizez in acest turoail eu am niste functii in el de exemplu

 

SCMf si sendPlayerError

 

Poftiti stock-urile

 

Stock sendPlayerError

 

stock sendPlayerError(playerid, const text[], va_args<>)
{
	new string[256];
	va_format(string, 256, text, va_start<2>);

	strins(string, "Eroare: {FFFFFF}", 0);
	SCM(playerid, COLOR_ERROR, string);
	return true;
}

 

 

Stock SCMf

 

stock SCMf(playerid, colour, const fmat[], va_args<>) {
	new UsageString[256]; va_format(UsageString, 128, fmat, va_start<3>);
	return SCM(playerid, colour, UsageString);
}

 

In urmatorul tutorial o sa va arat ce fac aceste stock-uri.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...