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;
}