Ajuda comando /daradm -
Hiuship - 15.07.2011
Galera й o seguinte to criando um gm dm/drift do zйro sу que tentei criar varios /daradmin sу que todos dгo erro!
Alguem poderia me disponibilizar um simples ?
TIpo sу da o level escolhido ao player e manda uma mensagens pra todos dizendo que ele й o novo admin
se isso ajudar:
pawn Код:
if(strcmp(cmdtext, "/daradmin", true, 10) == 0)
{
if(AdminInfo[playerid][pAdmin] >= 3)
{
cmd = strtok(cmdtext, idx);
}
}
Nгo sei se precisa mais eu tenho as strock isNumeric e ReturnUser
Re: Ajuda comando /daradm - array13 - 15.07.2011
PHP код:
dcmd_setlevel(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new ID, level;
if(sscanf(params, "ii", ID, level)) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setlevel [id] [level]");
else if(ID == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, "Player is not connected!");
else
{
AccountInfo[ID][aLevel] = level;
SendClientMessage(ID, COLOR_GREEN, "The RCON Admin promoted you to an admin!");
}
}
return 1;
}
____________
Deme uma estrelinha se este comando foi util
Re: Ajuda comando /daradm -
arakuta - 15.07.2011
Esse seu comando ta vazio cara '-'
Re: Ajuda comando /daradm -
Hiuship - 15.07.2011
kikito seu comando й util sу que nao uso sscanf nem dcmd
mesmo assim obrigado
Re: Ajuda comando /daradm - array13 - 15.07.2011
ou:
ZCMD:
PHP код:
COMMAND:setlevel(playerid, params[])
{
// Setup local variables
new OtherPlayer, Level, Msg[128], Name[24], AdminName[24], OldLevel;
// Send the command to all admins so they can see it
SendAdminText(playerid, "/setlevel", params);
// Check if the player has logged in
if (APlayerData[playerid][LoggedIn] == true)
{
// Check if the player's admin-level is at least 5
if (APlayerData[playerid][PlayerLevel] >= 5)
{
if (sscanf(params, "ui", OtherPlayer, Level)) SendClientMessage(playerid, 0xFF0000AA, "Usage: \"/setlevel <OtherPlayer> <AdminLevel>\"");
else
{
if (IsPlayerConnected(OtherPlayer))
{
// Get the old level of the other player
OldLevel = APlayerData[OtherPlayer][PlayerLevel];
GetPlayerName(playerid, AdminName, sizeof(AdminName));
GetPlayerName(OtherPlayer, Name, sizeof(Name));
APlayerData[OtherPlayer][PlayerLevel] = Level;
if (OldLevel != Level)
{
//ver se o jogador foi promovido ou despromovido
if (OldLevel < Level)
format(Msg, 128, "Player %s has been promoted to %s by %s", Name, AdminLevelName[Level], AdminName);
if (OldLevel > Level)
format(Msg, 128, "Player %s has been demoted to %s by %s", Name, AdminLevelName[Level], AdminName);
SendClientMessageToAll(0x00FF00FF, Msg);
}
else
SendClientMessage(playerid, 0xFF0000FF, "Other player's level hasn't been changed");
}
else
SendClientMessage(playerid, 0xFF0000FF, "That player isn't online");
}
}
else
return 0;
}
else
return 0;
// vamos deixar que o servidor saiba que й um comando vбlido
return 1;
}
commandos criados por mim e testados
Re: Ajuda comando /daradm - array13 - 15.07.2011
como vocй quer fazer
PHP код:
if(strcmp(cmdtext, "/setlevel", true, 10) == 0)
{
if(IsPlayerAdmin(playerid))
{
new ID, level;
if(sscanf(params, "ii", ID, level)) SendClientMessage(playerid, COLOR_WHITE, "USAGE: /setlevel [id] [level]");
else if(ID == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, "Player is not connected!");
else
{
AccountInfo[ID][aLevel] = level;
SendClientMessage(ID, COLOR_GREEN, "The RCON Admin promoted you to an admin!");
}
}
return 1;
}
nгo foi testado
peзo desculpa por double post.nгo notei que jб tinha postado
Re: Ajuda comando /daradm -
Hiuship - 15.07.2011
Sу que denovo usaou sscanf e zcmd tambem nao uso..
## edit nao vi seu doble post foi mal
$$ Edit 2
Nao tenho sscanf e tento colocar da bug poderia me manda um simples sem zcmd sscanf e dcmd ?
Re: Ajuda comando /daradm - array13 - 15.07.2011
xiii pois й sscanf...esqueci-me
Re: Ajuda comando /daradm -
[R] ousenber [K] - 15.07.2011
o resto do comando vocк jah deve ter definido , entгo aqui:
OBS: Nгo sei se ta certo nгo costumo usar strtok... so uso ZCMD...
pawn Код:
if(strcmp(cmd, "/daradmin", true) == 0)
{
if (AdminInfo[playerid][pAdmin] <= 3) return SendClientMessage(playerid, -1, "Vocк nгo й admin ou nгo tem nivel suficiente de admin!");
{
if(IsPlayerConnected(playerid)) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, -1, "USO: /daradmin [ID/Nome] [Level 1-5]");
new Outroplayerid;
new LevelAdmin;
Outroplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
LevelAdmin = strval(tmp);
if(IsPlayerConnected(Outroplayerid)) {
if(Outroplayerid != INVALID_PLAYER_ID) {
if(LevelAdmin < 0 || LevelAdmin > 5) return SendClientMessage(playerid, -1, "Level de 1 а 5!");
new NomedoCara[MAX_PLAYER_NAME];
new NomedoCara2[MAX_PLAYER_NAME];
new string[60];
GetPlayerName(Outroplayerid, NomedoCara2, sizeof(NomedoCara2));
GetPlayerName(playerid, NomedoCara, sizeof(NomedoCara));
AdminInfo[Outroplayerid][pAdmin] = LevelAdmin;
format(string, sizeof(string), "%s lhe deu admin nivel %d", NomedoCara, LevelAdmin);
SendClientMessage(Outroplayerid, -1, string);
format(string, sizeof(string), "Vocк deu nivel de admin %d para %s", LevelAdmin, NomedoCara2);
SendClientMessage(playerid, -1, string);
}
}
}
}
return 1;
}
Re: Ajuda comando /daradm -
Nake01 - 15.07.2011
Tente...
Код:
if(strcmp(cmd,"/setadmin",true) == 0)
{
tmp = strtok(cmdtext, idx);
new player[MAX_PLAYER_NAME];
if(IsPlayerAdmin(playerid) || PlayerInfo[playerid][Admin] >= 5)
{
if(!strlen(tmp)) return SendClientMessage(playerid,COLOR_RED,"USE: /setadmin [id] [cargo]");
if(!IsNumeric(tmp)) return SendClientMessage(playerid,COLOR_WHITE,"[AVISO] Por favor digite o ID do Player.");
if(!IsPlayerConnected(strval(tmp))) return SendClientMessage(playerid,COLOR_WHITE,"[FAIL] Jogador indisponнvel.");
giveplayerid = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
new Level = strval(tmp);
new playername[24];
if(Level < 0)
{
SendClientMessage(playerid, COLOR_CYAN, "[FAIL] Level minimo 0");
return 1;
}
if(Level > 5)
{
SendClientMessage(playerid, COLOR_CYAN, "[FAIL] Level mбximo 5");
return 1;
}
GetPlayerName(giveplayerid, playername, sizeof(playername));
format(file,sizeof(file),"%s.ini",playername);
dini_Create(file);
dini_IntSet(file,"Level", Level);
PlayerInfo[giveplayerid][Admin] = dini_Int(file,"Level");
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, player, sizeof(player));
format(string, sizeof(string), "{FFFF00}Adm.Cmd:{33AAFF} O Administrador %s deu para vocк [Cargo %d] de Administrador!",player, Level);
SendClientMessage(giveplayerid, COLOR_WHITE, string);
format(string, sizeof(string), "{FFFF00}Adm.Cmd:{33AAFF} Vocк deu para %s [Cargo %d] de Administrador!", giveplayer, Level);
SendClientMessage(playerid, COLOR_WHITE, string);
}
else if(PlayerInfo[playerid][Admin] < 5) return SendClientMessage(playerid,COLOR_RED, "Vocк nгo tem permissгo para usar este comando!");
return 1;
}