[Ajuda] Erro no sistema de Administraзгo
#1

Eai galera tudo bem? espero que sim.

Bom vamos lб.

Estou fazendo minha GM do zero e estou enfrentando vбrios problemas pois sou novo em programaзгo de pawno, entгo venho aqui pedir a ajuda de vocкs.

Eu planejo ter 5 cargos de administraзгo no meu servidor, entгo fiz esse comando /setadmin aqui logo abaixo.

Код:
CMD:setadmin(playerid, params[])
{
	if(!IsPlayerAdmin(playerid) ) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Comando invalido!");
	new string[220], jogador[24], ID, level;
	if(sscanf(params, "ud", ID, level)) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Use: /setadmin [id] [level]");
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Jogador invбlido!");
	if(level < 0 || level > 5) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | O level para ADM й de 0 a 5");
	GetPlayerName(ID, jogador, 24);
	format(string, sizeof(string), "| SERVER | O(A) Admin(a) %s promoveu o jogador %s a membro da administraзгo!", GetPlayerNameEx(playerid), jogador);
	SendClientMessageToAll(0x0099CCAA, string);

	return 1;
}
Nгo sei se esta tudo correto, dentro de game ele demonstra estar tudo certinho.

Aqui esta a stock dos cargos.

Код:
stock CargoAdmin(playerid)
{
    new var[17];
    switch(pAdmin[playerid])
    {
        case 1: var = "Colaborador";
        case 2: var = "Ajudante";
        case 3: var = "Sub-mod";
        case 4: var = "Moderador(a)";
        case 5: var = "Admin";
    }
    return var;
}
Essa stock vou usar nos comandos, para separar cada comando para cada cargo por exemplo esse logo abaixo.

Код:
CMD:dargrana(playerid, params[])
{
    new id, quantidade, jogador[24], admin[24], string[128], strg[128];
	if(pAdmin[playerid] == 3 || pAdmin[playerid] == 4 || pAdmin[playerid] == 5)
	return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Comando invбlido!");
    if(sscanf(params, "dd", id, quantidade)) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Use: /dargrana [id] [grana]");
    {
        if(!IsPlayerConnected(id)) return SendClientMessage(playerid, 0xF50A0EFF, "| ERRO | Jogador invбlido!");
        GetPlayerName(id, jogador, 24);
        GetPlayerName(playerid, admin, 24);
        format(string, sizeof(string), "| SERVER | O(A) %s(a) %s lhe deu R$ %d.", CargoAdmin(playerid), admin, quantidade);
        format(strg, sizeof(strg), "| INFO | Vocк deu R$ %d para %s.", quantidade, jogador);
        GivePlayerMoney(id, quantidade);
        SendClientMessage(id, 0x0099CCAA, string);
        SendClientMessage(playerid, 0x0099CCAA, strg);

	}
	return 1;
}
Os ъnicos que terгo acesso a esse comando sгo do cargo numero 3 pra cima.


Aqui esta minha public "OnPlayerText"

Код:
public OnPlayerText(playerid, text[])
{
 	switch (pAdmin[playerid]) // A variavel de Admin
	{
		case 0: // se й Level 0
		{
        	new string[256];
        	format(string,sizeof(string),"{FFFFFF}%s{FFFFFF} [%d]{FFFFFF} diz: %s ",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
	    case 1: // se й Level 1
	    {
        	new string[256];
        	format(string,sizeof(string),"%s{FFFFFF} [{FFFB00}Colaborador{FFFFFF}] [%d]{FFFFFF} diz: %s",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
    	case 2: // se й Level 2
    	{
        	new string[256];
        	format(string,sizeof(string),"%s{FFFFFF} [{F77707}Ajudante{FFFFFF}] [%d]{FFFFFF} diz: %s",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
    	case 3: // se й Level 3
    	{
        	new string[256];
        	format(string,sizeof(string),"%s{FFFFFF} [{0DA1DB}Sub-mod{FFFFFF}] [%d]{FFFFFF} diz: %s",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
    	case 4: // se й Level 4
    	{
        	new string[256];
        	format(string,sizeof(string),"%s{FFFFFF} [{DE0720}Moderador{FFFFFF}] [%d]{FFFFFF} diz: %s",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
    	case 5: // se й Level 5
    	{
        	new string[256];
        	format(string,sizeof(string),"%s{FFFFFF} [{41A310}Admin{FFFFFF}] [%d]{FFFFFF} diz: %s",GetPlayerNameEx(playerid), playerid,text);
        	SendClientMessageToAll(playerid,string);
    	}
    }
	return 0;
}

Meu erro й que quando eu entro em game e uso o /setadmin 0 1 por exemplo, o cargo nгo vai, tipo a tag no chat nгo aparece, e a tag em cima da cabeзa do chatbubble tambйm nгo aparece. No exemplo ai, eu dei colaborador pra min, e no comando que eu dei como exemplo sу pode usar do cargo 3 pra cima, eu com o cargo de colaborador (1) consigo usar o /dargrana, e quem nem mesmo logou na rcon consegue usar qualquer um dos comandos.

Nгo sei como resolver isso agradeзo se alguйm me ajudar.

Caso nгo tenham entendido posso explicar de uma maneira mais simplificada.
Reply


Messages In This Thread
Erro no sistema de Administraзгo - by WB - 26.01.2018, 00:51
Re: Erro no sistema de Administraзгo - by Marllun - 26.01.2018, 01:15
Re: Erro no sistema de Administraзгo - by WB - 26.01.2018, 01:27
Re: Erro no sistema de Administraзгo - by WB - 26.01.2018, 01:40
Re: Erro no sistema de Administraзгo - by Gguiz - 26.01.2018, 01:44
Re: Erro no sistema de Administraзгo - by WB - 26.01.2018, 01:49
Re: Erro no sistema de Administraзгo - by WB - 26.01.2018, 01:53
Re: Erro no sistema de Administraзгo - by Marllun - 26.01.2018, 01:57

Forum Jump:


Users browsing this thread: 7 Guest(s)