09.02.2015, 22:58
ola pessoal queria pedir uma ajuda ae pra vcs que entendem de pawno bem ae. queria colocar um sistema de status dos adm's no /admins. tipo se eles estiverem ocupado ou disponivel.
//Й sу criar uma variavel e usar os valores 0 quando tiver ocupado e 1 quando tiver disponivel.
new statsadm[MAX_PLAYERS];
//Quando o Player for "trabalhar" vc usa:
statsadm[playerid] = 1;
//Quando o Player for ficar ocupado vc usa:
statsadm[playerid] = 0;
//Aui esta um exemplo que vc pode no seu comando /admins por meio de format.
stock PegarStatus(playerid)
{
new stats[20];
switch(statsadm[playerid])
{
case 0: { stats = "Ocupado"; }
case 1: { stats = "Disponнvel"; }
}
return stats;
}
CMD:meunome(playerid)
{
new string[75];
format(string,sizeof(string), "Seu Nome й:%s e Seu Status й:%s", Nome(playerid), PegarStatus(playerid));
SendClientMessage(playerid, -1 , string);
return 1;
}
//Essa й a funзгo criada anteriormente.
stock PegarStatus(playerid)
{
new stats[20];
switch(statsadm[playerid])
{
case 0: { stats = "Ocupado"; }
case 1: { stats = "Disponнvel"; }
}
return stats;
}
// E essa й uma funзгo que uso para pegar o nome do player, existem outros jeitos, mas esse eu acho o mais compacto =)
stock Nome(playerid)
{
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
return nome;
}
new bool:statsadm[MAX_PLAYERS] = true;
statsadm[playerid] = true;
statsadm[playerid] = false;
PHP код:
|
stock PegarStatus(playerid)
{
static stats[20];
stats = statsadm[playerid] == true ? ("Disponнvel") : ("Ocupado");
return stats;
}
new bool:statsadm[MAX_PLAYERS] = true;
CMD:admins(playerid)
{
static string[75], bool:count = false, aname[MAX_PLAYER_NAME];
SendClientMessage(playerid, 0x00FF80AA, "[ADMINS] Administradores Onlines no servidor!");
for( new i = 0; i <GetMaxPlayers( ) ; i++ )
{
if(IsPlayerConnected(i))
{
GetPlayerName(i, aname, sizeof(aname));
format(string,sizeof(string), "%s :: %s", aname, PegarStatus(i));
SendClientMessage(playerid, 0xFFFF00AA , string);
count = true;
}
}
if(count == false) return SendClientMessage(playerid, -1, "[ADMINS] {FF0000}No momento nгo tem admins online no servidor!");
return 1;
}
stock PegarStatus(playerid)
{
new stats[20];
stats = statsadm[playerid] == true ? ("Disponнvel") : ("Ocupado");
return stats;
}
PHP код:
|
cara esse й o comando: queria colocar o status nele.
COMMAND:admins(playerid, params[]) { // Setup local variables new AdminList[500], Name[24]; // Send the command to all admins so they can see it SendAdminText(playerid, "/admins", params); // Check if the player has logged in if (APlayerData[playerid][LoggedIn] == true) { // Scan through all players for (new i; i < MAX_PLAYERS; i++) { // Check if this player is connected if (IsPlayerConnected(i)) { // Get the name of the player GetPlayerName(i, Name, sizeof(Name)); // Check if this player is an RCON admin if (IsPlayerAdmin(i)) { // Add all admin players to the list format(AdminList, 500, "%s {FFFFFF}%s {FFFFFF}(id: {FF8000}%i{FFFFFF}) - {FF8000}%s {FFFFFF}(Level de adm {FF8000}%i{FFFFFF})\n", AdminList, Name, i, AdminLevelName[APlayerData[i][PlayerLevel]], APlayerData[i][PlayerLevel]); // Add the name of the admin-player to the list // Re-start the for loop (skipping the remaining code for this iteration) continue; } //Check if that player is an admin (using the PlayerLevel) if (APlayerData[i][PlayerLevel] > 0) { // Add all admin players to the list format(AdminList, 500, "%s {FFFFFF}%s {FFFFFF}(id: {FF8000}%i{FFFFFF}) - {FF8000}%s {FFFFFF}(Level de adm {FF8000}%i{FFFFFF})\n", AdminList, Name, i, AdminLevelName[APlayerData[i][PlayerLevel]], APlayerData[i][PlayerLevel]); // Add the name of the admin-player to the list } } } // Check if there were admin-names added to the list if (strlen(AdminList) > 0) ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_MSGBOX, "Admins Online:", AdminList, "OK", "Cancelar"); else SendClientMessage(playerid, 0xFF0000FF, "Administraзгo Offline no Momento!"); // No admins are online } else return 0; // Let the server know that this was a valid command return 1; } |
COMMAND:admins(playerid, params[])
{
new AdminList[500], Name[24];
SendAdminText(playerid, "/admins", params);
if(APlayerData[playerid][LoggedIn] == false) return SendClientMessage(playerid, -1, "[ ERRO ] {FF0000}Vocк nгo estб logado no servidor!");
for(new i; i < MAX_PLAYERS; i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i, Name, sizeof(Name));
if(IsPlayerAdmin(i))
{
format(AdminList, 500, "%s {FFFFFF}%s {FFFFFF}(id: {FF8000}%i{FFFFFF}) - {FF8000}%s {FFFFFF}(Level de adm {FF8000}%i{FFFFFF}) [%s]\n", AdminList, Name, i, AdminLevelName[APlayerData[i][PlayerLevel]], APlayerData[i][PlayerLevel], PegarStatus(i));
continue;
}
if(APlayerData[i][PlayerLevel] > 0) format(AdminList, 500, "%s {FFFFFF}%s {FFFFFF}(id: {FF8000}%i{FFFFFF}) - {FF8000}%s {FFFFFF}(Level de adm {FF8000}%i{FFFFFF}) [%s]\n", AdminList, Name, i, AdminLevelName[APlayerData[i][PlayerLevel]], APlayerData[i][PlayerLevel], PegarStatus(i));
}
}
if(strlen(AdminList) > 0) ShowPlayerDialog(playerid, DialogNoResponse, DIALOG_STYLE_MSGBOX, "Admins Online:", AdminList, "OK", "Cancelar");
else SendClientMessage(playerid, 0xFF0000FF, "Administraзгo Offline no Momento!");
return 1;
}
Tente assim e utilizando o sistema que jб deixei acima.
PHP код:
|