SA-MP Forums Archive
[Duda]. Problema al returnar un format.. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Duda]. Problema al returnar un format.. (/showthread.php?tid=453656)



[Duda]. Problema al returnar un format.. - Strier - 25.07.2013

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?


Respuesta: [Duda]. Problema al returnar un format.. - xSDx - 25.07.2013

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?


Respuesta: [Duda]. Problema al returnar un format.. - Strier - 25.07.2013

nope, no funciona :/.


Respuesta: [Duda]. Problema al returnar un format.. - xSDx - 25.07.2013

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


Respuesta: [Duda]. Problema al returnar un format.. - Parka - 25.07.2013

cual es la varible del tiempo ??


Re: [Duda]. Problema al returnar un format.. - Paglia - 25.07.2013

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


Respuesta: [Duda]. Problema al returnar un format.. - Strier - 25.07.2013

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



Re: [Duda]. Problema al returnar un format.. - Paglia - 25.07.2013

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


Respuesta: Re: [Duda]. Problema al returnar un format.. - Strier - 26.07.2013

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..


Respuesta: [Duda]. Problema al returnar un format.. - RafaelZam - 26.07.2013

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