enum InfoPlayer { Fundador, Senha, Skin, Score, Matou, Morreu, Dinheiro };
Olб forum samp, eu gostaria de uma ajuda pra fazer um comando /Admins, sou novo em pawno, to comeзando agora e nгo estou conseguindo criar o comando, estou me perdendo.
enum de informaзхes: Code:
enum InfoPlayer { Fundador, Senha, Skin, Score, Matou, Morreu, Dinheiro }; |
CMD:admins(playerid){
new String[128],
Nome[24];
for(new i; i < MAX_PLAYERS; ++i){
if(IsPlayerConnected(i) && /*sua varialvel*/[i][Fundador]){
GetPlayerName(i,Nome,24);
format(String,100,"%s (id:%d) й um fundador",Nome,i);
SendClientMessage(playerid,-1,String);
}
}
return 1;
}
Certo, ficou legal, mas como faзo pra adicionar novos cargos no comando?
|
Player_Informacoes[][PlayerLevel] = 1; //isso setarб o player de ajudante
Player_Informacoes[][PlayerLevel] = 2; //isso setarб o player de Administrador
Player_Informacoes[][PlayerLevel] = 3; //isso setarб o player de Gerente
Player_Informacoes[playerid][PlayerLevel] = 0;//isso serб usado para remover o adm ou setar level do adm para 0.
enum Meu_Enum //O enum servirar para ser usado em nossa futura variavel Player_Informacoes
{
PlayerLevel
};
new Player_Informacoes[MAX_PLAYERS][Meu_Enum]; //aqui criamos a variavel Player_Informacoes para o slot maximo de playes no servidor.
CMD:admins(playerid)
{
new String[128],
Nome[24];
for(new i; i < MAX_PLAYERS; ++i)//abrimos um loop que correrб por todos os players...
{
if(IsPlayerConnected(i))//isso vai checar se o player estб conectado, e se estiver vai dar continuidade ao loop.
{
if(Player_Informacoes[i][PlayerLevel] == 1) // se o level do player for 1
{
String = "Ajudante";// setarб a string que guardarб o cargo de nosso players para Ajudante.
}
else if(Player_Informacoes[i][PlayerLevel] == 2) // caso nгo for e se for igual a 2 setara nossa string para Administrador
{
String = "Administrador";
}
else if(Player_Informacoes[i][PlayerLevel] == 3) // aso nгo for e se for igual a 2 setara nossa string para Gerente
{
String = "Gerente";
}
/*se por acaso vocк quiser criar mais um level;
else if(Player_Informacoes[i][PlayerLevel] == 4)
{
String = "Nome Cargo";
}
e assim sucessivamente atй criar todos leveis que vc deseja*/
GetPlayerName(i,Nome,24);//pegando o nome do admin
new string[128],stringa[300];
format(string,sizeof(string),"{33AA33}Nome\t{FF0000}ID\t{FFFF00}Cargo\n{33AA33}%s\t{FF0000}%i\t{FFFF00}%s\n",Nome,i,String);
strcat(stringa,string);
ShowPlayerDialog(playerid, 2345, DIALOG_STYLE_TABLIST_HEADERS, "Admins Online:",stringa,"Fechar",#);
}
}
return 1;
}
enum InfoPlayer { Fundador, Gerente, Admin, Senha, Skin, Score, Matou, Morreu, Dinheiro };
Senha = jubileu Score = 0 Matou = 0 Morreu = 0 Dinheiro = 0 Fundador = 0 Gerente = 0 Admin = 0
Senha = jubileu Score = 0 Matou = 0 Morreu = 0 Dinheiro = 0 Fundador = 1 Gerente = 1 Admin = 1
CMD:dararma(playerid, params[]) { if(Player[playerid][Fundador] <= 0) return SendClientMessage(playerid, COLOR_ERRO, "[ERRO] Vocк nгo tem permissгo!"); // Se a conta for level 0 no fundador ele nгo vai conseguir usar o comando, entгo fica mais fбcil pra mim new id, armaid, balas; if(sscanf(params, "ddd", id, armaid, balas)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Uso correto: /DarArma [ ID ] [ Arma ID ] [ Muniзгo ]"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Ninguem online com esse ID!"); if(armaid < 1 || armaid > 46) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] ID de arma invбlida!"); if(balas < 1 || balas > 1000) return SendClientMessage(playerid, COLOR_ERRO, "[ x ] Use no mнnimo 1 de muniзгo e no maximo 1000!"); GivePlayerWeapon(id, armaid, balas); format(gStr, sizeof(gStr), "[ > ] Voce deu a arma %s com %d de municao para o(a) jogador(a) %s", GetArmaNome(armaid), balas, pNome(id)); SendClientMessage(playerid, COLOR_AMARELO, gStr); format(gStr, sizeof(gStr), "[ > ] %s lhe deu a arma %s com %d de municao.", pNome(playerid), GetArmaNome(armaid), balas); SendClientMessage(id, COLOR_AMARELO, gStr); return 1; }
CMD:admins(playerid)
{
new String[128],
Nome[24],
string[128],
AdminList[400];
for(new i; i < MAX_PLAYERS; ++i)
{
if(IsPlayerConnected(i))
{
if(Player[playerid][Admin] == 1) String = "Administrador";
if(Player[playerid][Gerente] == 2) String = "Gerente";
if(Player[playerid][Fundador] == 3) String = "Fundador";
GetPlayerName(i,Nome,24);
format(string,sizeof(string),"{33AA33}Nome\t{FF0000}ID\t{FFFF00}Cargo\n{33AA33}%s\t{FF0000}%i\t{FFFF00}%s\n",Nome,i,String);
strcat(AdminList,string);
if (strlen(AdminList) > 0)
ShowPlayerDialog(playerid, 2345, DIALOG_STYLE_TABLIST_HEADERS, "# Administraзгo",AdminList,"Fechar",#);
else
SendClientMessage(playerid, 0xff0000ff,"[x] Nгo hб membros da administraзгo online no momento!");
}
}
return 1;
}
String[128]
PHP Code:
|
CMD:Admins(playerid)
{
new STR[250], AdminON, Counts;
for(new x = 0; x < MAX_PLAYERS; x++)
{
if(IsPlayerConnected(x))
{
new Aname[25];
GetPlayerName(x, Aname, 25);
if(Player_Informacoes[playerid][PlayerLevel] == 1)
{
format(STR, 1400, "{FFFFFF}%s {33AAFF}[ Administrador(a) ] {FF0000}[ %d ]\n", Aname, x);
AdminON++;
}
else if(Player_Informacoes[playerid][PlayerLevel] == 2)
{
format(STR, 1400, "{FFFFFF}%s {FFFF00}[ Gerente(a) ] {FF0000}[ %d ]\n", Aname, x);
AdminON++;
}
else if(Player_Informacoes[playerid][PlayerLevel] == 3)
{
format(STR, 1400, "{FFFFFF}%s {FF8000}[ Fundador(a) ] {FF0000}[ %d ]\n", Aname, x);
AdminON++;
}
Counts++;
}
if(AdminON == 0)
{
ShowPlayerDialog(playerid, 5000, DIALOG_STYLE_MSGBOX, "Administradores:", "{FF0000}Nбo hб administrador ( ADM ) online no momento!'", "Fechar", "");
}
else if(AdminON == 1)
{
ShowPlayerDialog(playerid, 5001, DIALOG_STYLE_LIST, "Administradores:", STR, "Fechar", "");
}
}
return 1;
}
CMD:admins(playerid)
{
new String[30],
Nome[24],
string[100],
AdminList[100];
for(new i; i <= GetPlayerPoolSize(); ++i)
{
if(IsPlayerConnected(i))
{
if(Player[playerid][Admin] == 1) String = "Administrador";
else if(Player[playerid][Gerente] == 2) String = "Gerente";
else String = "Fundador";
GetPlayerName(i,Nome,24);
format(string,sizeof(string),"%s %s[%d]",String,Nome,i);
strcat(AdminList,string);
}
}
if (strlen(AdminList) > 0)
ShowPlayerDialog(playerid, 2345,DIALOG_STYLE_MSGBOX, "# Administraзгo",AdminList,"Fechar",#);
else
SendClientMessage(playerid, 0xff0000ff,"[x] Nгo hб membros da administraзгo online no momento!");
return 1;
}
COMMAND:admins(playerid, params[]) { new String[15], Nome[MAX_PLAYER_NAME], string[50], AdminList[400]; for(new j=GetPlayerPoolSize(),i; i!=j; ++i) { if( IsPlayerConnected(i) && Player[i][Admin] ) { GetPlayerName(i, Nome, sizeof Nome); switch(Player[ i ][Admin]) { case 1:String = "Administrador"; case 2:String = "Gerente"; case 3:String = "Fundador"; } format( string, sizeof string),"Nome %s ID %i Cargo %s\r\n", Nome, i, String); strcat( AdminList, string, sizeof AdminList); } if(!strlen(AdminList)) { SendClientMessage(playerid, 0xff0000ff,"[x] Nгo hб membros da administraзгo online no momento!"); } else { ShowPlayerDialog(playerid, 2345, DIALOG_STYLE_MSGBOX, "# Administraзгo",AdminList,"Fechar",#); } } return 1; }