[Duda]. Problema al returnar un format..
#1

pawn Код:
CMD:pauser(playerid, params[])
{
    if (!gPlayerInfo[playerid][pOp] && !gPlayerInfo[ playerid ][ pAlevel ]) return SendClientMessage(playerid, -1, "You're not an operator");
    new player, pnname[MAX_PLAYER_NAME], str[ 75 ];
    if( sscanf ( params, "u", player)) return SendClientMessage(playerid, -1, "Usage: /pauser [ playerid ]");
    if(!IsPlayerConnected(player) || player == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "This player is not connected..");
    if(afksecs[ player ] > 1)
    {
        GetPlayerName(player, pnname, MAX_PLAYER_NAME);
        format(str, 75, "{00a0b0}%s[%d] {FFFFFF}has been afk for {00a0b0}%d {FFFFFF}seconds ", pnname, player, afksecs[ player ]);
        SendClientMessage(playerid, -1, str);
    }else return SendClientMessage(playerid, -1, "{FFFFFF}- {00a0b0}This player is not pausing {FFFFFF}!");  return 1;
}
hace poco me hice este comando.. el problema es que, returna return SendClientMessage(playerid, -1, "{FFFFFF}- {00a0b0}This player is not pausing {FFFFFF}!"); pero no el tiempo que el jugador a estado fuera.. el comando si funciona, solo es el return, algun tip?
Reply
#2

pawn Код:
CMD:pauser(playerid, params[])
{
    if (!gPlayerInfo[playerid][pOp] && !gPlayerInfo[ playerid ][ pAlevel ]) return SendClientMessage(playerid, -1, "You're not an operator");
    new player, pnname[MAX_PLAYER_NAME], str[ 75 ];
    if( sscanf ( params, "u", player)) return SendClientMessage(playerid, -1, "Usage: /pauser [ playerid ]");
    if(!IsPlayerConnected(player) || player == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "This player is not connected..");
    if(afksecs[ player ] > 1)
    {
        GetPlayerName(player, pnname, MAX_PLAYER_NAME);
        format(str, 75, "{00a0b0}%s[%d] {FFFFFF}has been afk for {00a0b0}%d {FFFFFF}seconds ", pnname, player, afksecs[ player ]);
        SendClientMessage(playerid, -1, str);
    }
    else
        SendClientMessage(playerid, -1, "{FFFFFF}- {00a0b0}This player is not pausing {FFFFFF}!");  
    return 1;
}
Asi?
Reply
#3

nope, no funciona :/.
Reply
#4

Podrias darme un poco mas de detalles de lo que requieres/necesitas, por que no lo entendi muy bien
Reply
#5

cual es la varible del tiempo ??
Reply
#6

Pasame la variable afkseconds donde la tengas definida, para asi ver major.
Reply
#7

Les posteo todo el comando..

pawn Код:
CMD:pauser(playerid, params[])
{
    if (!gPlayerInfo[playerid][pOp] && !gPlayerInfo[ playerid ][ pAlevel ]) return SendClientMessage(playerid, -1, "You're not an operator");
    new player, pnname[MAX_PLAYER_NAME], str[ 75 ];
    if( sscanf ( params, "u", player)) return SendClientMessage(playerid, -1, "Usage: /pauser [ playerid ]");
    if(!IsPlayerConnected(player) || player == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, "This player is not connected..");
    if(afksecs[ player ] > 1)
    {
        GetPlayerName(player, pnname, MAX_PLAYER_NAME);
        format(str, 75, "{00a0b0}%s[%d] {FFFFFF}has been afk for {00a0b0}%d {FFFFFF}seconds ", pnname, player, afksecs[ player ]);
        SendClientMessage(playerid, -1, str);
    }else SendClientMessage(playerid, -1, "{FFFFFF}- {00a0b0}This player is not pausing {FFFFFF}!");
    return 1;
}
pawn Код:
OnPlayerUpdate(playerid)
{
      if(afksecs[ playerid ] > 2)
    {
        AfkOn[ playerid ] = true;
      //player is back from being afk...
    }
    afksecs[ playerid ] = 0;
    return true;
}
pawn Код:
forward afkChecker();
public afkChecker()
{
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(i))
        afksecs[i]++;
        if(afksecs[ i ] == 2)
        {
            //Player is paused...
        }
    }
    return 1;
}
Reply
#8

Debe ser porque no usaste el afkChecker, lo ultimo que posteaste que es lo que activa la suma de los segundos.
Reply
#9

Quote:
Originally Posted by Paglia
Посмотреть сообщение
Debe ser porque no usaste el afkChecker, lo ultimo que posteaste que es lo que activa la suma de los segundos.
Disculpa no te entiendo..
Reply
#10

quizas te sirva :S
pawn Код:
CMD:pausers(playerid)
{
return cmd_afklist(playerid);
}
CMD:afklist(playerid)
{
    new count=0;
        new string[256],temp[50],Name[MAX_PLAYER_NAME];
        strcat(string, "{33FF00}");
        foreach(Player, i){
           if (IsPlayerConnected(i)){
              if(IsPaused[i] == 1){
              GetPlayerName(i,Name,sizeof(Name));
                  format(temp, 60, "%s(Id:%i)\n",Name,i);
                          strcat(string, temp);
                          count++;
          }
           }
        }
        format(temp, 60, "{00FFE6}AFK players, count: %d",count);
        if (count > 0)ShowPlayerDialog(playerid,3221,DIALOG_STYLE_MSGBOX,temp,string ,"OK","");
        else ShowPlayerDialog(playerid,3222,DIALOG_STYLE_MSGBOX,"{00a0b0}%s[%d] {FFFFFF}has been afk for {00a0b0}%d {FFFFFF}seconds ","{FFFFFF}- {00a0b0}This player is not pausing {FFFFFF}!" ,"OK","");
        return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)