Hola. :)
#1

Necesito saber como se hacer para que cuando pongas el comando '/administradores' te muestre los administradores que se encuentran en linea. Y que cuando no haya administradores en linea te diga:
pawn Код:
SendClientMessage(playerid, COLOR_LIGHTRED, "There are no admins online at the moment");
Y otra cosa, cuando escribas '/numero' te salga un numero al azar por. Ejemplo: /numero 4874 o /numero 1845 (que sea de 4 dнgitos el numero)
Reply
#2

new random = 0000 + random(9999);

VarInfo = random;
Reply
#3

Para lo primero, un ejemplo:
pawn Код:
...
new
    string[36];

SendClientMessageToAll(0xFFFFFFFF, "Administradores disponibles:");
for(new i = 0; i < MAX_PLAYERS; i ++)
{
    if(IsPlayerAdmin(i))
    {
        GetPlayerName(playerid, string, sizeof(string));
        format(string, sizeof(string), "- %s (ID:%i)", string, i);
        SendClientMessageToAll(0xFFFFFFFF, string);
    }
}
...
Para lo segundo, usa la funciуn random():
pawn Код:
...
new
    string[24];
   
format(string, sizeof(string), "El nъmero fuй: %i", 1000 + random(10000));
SendClientMessageToAll(0xFFFFFFFF, string);
...
1000 + el nъmero que de random para que sea de cuatro cifras.
Reply
#4

Miren, tengo esto:

pawn Код:
new number = 1000 + random(10000);
if(sscanf(params, "i", number)) return SendClientMessage(playerid, COLOR_RED," ! Incorrect dig number");
{
    format(string, sizeof(string), " ! Your next dig number is %i", number);
    SendClientMessage(playerid, COLOR_YELLOW, string);
}
їComo le hago para que cuando lo pongas el numero mal te diga que esta mal?

Y lo del comando /admin їno podrнa ser asн?
pawn Код:
dcmd_admins(playerid, params[])
{
    new level, string[50];
    SendClientMessage(playerid, COLOR_RED2, "Online Administartors");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i) && PlayerInfo[playerid][AdminLevel] >= level)
        {
            GetPlayerName(playerid, string, sizeof(string));
            format(string, sizeof(string), "- (ID: %d) %s (Level: %i)", i, string, level);
            SendClientMessageToAll(COLOR_RED2, string);
        }
    }
    return 1;
}
Reply
#5

Quote:
Originally Posted by arturo clark
Посмотреть сообщение
Miren, tengo esto:

pawn Код:
new number = 1000 + random(10000);
if(sscanf(params, "i", number)) return SendClientMessage(playerid, COLOR_RED," ! Incorrect dig number");
{
    format(string, sizeof(string), " ! Your next dig number is %i", number);
    SendClientMessage(playerid, COLOR_YELLOW, string);
}
їComo le hago para que cuando lo pongas el numero mal te diga que esta mal?

Y lo del comando /admin їno podrнa ser asн?
pawn Код:
dcmd_admins(playerid, params[])
{
    new level, string[50];
    SendClientMessageToAll(COLOR_RED2, "Online Administartors");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i) && PlayerInfo[playerid][AdminLevel] >= level)
        {
            GetPlayerName(playerid, string, sizeof(string));
            format(string, sizeof(string), "- (ID: %d) %s (Level: %i)", i, string, level);
            SendClientMessageToAll(COLOR_RED2, string);
        }
    }
    return 1;
}
lo 1є no lo entendi y lo 2є q es level? xq solo lo definiste.
Reply
#6

Okay, ya hice lo de el comando /admin:
pawn Код:
dcmd_admins(playerid, params[])
{
    #pragma unused params
    new level, string[50];
    SendClientMessage(playerid, COLOR_RED2,"---------------------------------------");
    SendClientMessage(playerid, COLOR_RED2, "Online Administrators");
    SendClientMessage(playerid, COLOR_RED2,"---------------------------------------");
    for(new i = 0; i < MAX_PLAYERS; i ++)
    {
        if(IsPlayerConnected(i) && PlayerInfo[playerid][AdminLevel] >= level)
        {
            GetPlayerName(playerid, string, sizeof(string));
            format(string, sizeof(string), "- (ID: %d) %s (Level: %i)", i, string, PlayerInfo[playerid][AdminLevel]);
            SendClientMessageToAll(COLOR_WHITE, string);
        }
    }
    SendClientMessage(playerid, COLOR_RED2,"---------------------------------------");
    return 1;
}
Ah, the_chaoz, lo que quiero es que salga un numero al azar, para que luego lo pongas en el comando /dig. Y si no escribiste bien el numero te salga error porque no lo escribiste bien. їSe entiende? xd
Reply
#7

si lo q vos queres es q al usar un cmd le envie un numero al azar de 4 cifras, podes hacer algo asi:
pawn Код:
if(!strcmp(cmdtext, "/comando", true)){
    new rnd = random(9999);
    new str[128];
    format(str, 128, "Su numero es %.4i", rnd);
    return SendClientMessage(playerid, 0xFFFF00FF, str);
}
eso tendria q funcionar.
Reply
#8

Pero yo no lo quiero asн, aquн un el ejemplo:

Cuando pongas /numero tienes que poner un numero despuйs (/numero 4886) y si no lo escribiste bien te saldrб un error de que no lo escribiste bien.
Reply
#9

pawn Код:
dcmd_azar(playerid,params[])
{
if(!IsNumeric(params)) return SendClientMessage(playerid,COLOR_WHITE,"Escrive un numero!");
new string[30],numero;
numero = random(strval(params));
if(strlen(params) > 4) return SendClientMessage(playerid,COLOR_WHITE,"Solo puedes escrivir 4 numeros");
format(string,30,"~r~Azar:~g~%s",numero);
GameTextForPlayer(playerid,string,5000,0);
format(string,30,"Azar con: %s",numero);
SendClientMessage(playerid,COLOR_WHITE,string);
return 1;
}    


//Is numeric
stock IsNumeric(const string[])
{
 new length=strlen(string);
 if (length==0) return false;
 for (new i = 0; i < length; i++)
  {
   if (
      (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
       || (string[i]=='-' && i!=0)                       // A '-' but not at first.
       || (string[i]=='+' && i!=0)                       // A '+' but not at first.
     ) return false;
  }
 if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
 return true;
}
Reply
#10

lo que el kiere es que le de un azar
como maximo el numero despues del comando
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)