[AYUDA]/intentar...
#1

Hola
Me Puede ayudar a poner para que el comando /intentar se pueda usar cada 15 segundos? porfa
Reply
#2

Bueno, es algo facil... te voy a ayudar, espero que funcione, no lo he testeado pero te voy a dejar la "base"
pawn Код:
//al inicio
new IntEspera[MAX_PLAYERS];
forward IntentarTimer(playerid);
// luego en tu comando...
//  /intentar!
 if(strcmp(cmdtext, "/intentar", true) == 0)
{
 // Acб va tu funcion o lo que quieras cuando el jugador usa /intentar.
    IntEspera[playerid]=1;
    SetTimerEx("IntentarTimer", 15000, false,"i", playerid);
    return 1;
}
//LUEGO en cualquiero lugar del script pones este public Function.
public IntentarTimer(playerid)
{
IntEspera[playerid]=0;
// puedes mandar un mensaje diciendo que ya puede usar el CMD de nuevo. Como lo desees.
SendClientMessage(playerid,COLOR_RED,"Ya puedes usar /intentar de nuevo."); // puedes usar el colo que quieras
}
Reply
#3

Aja man ya hice todo pero igual no funca ._. creo que fue que coloke mal el
pawn Код:
IntEspera[playerid]=1;
    SetTimerEx("IntentarTimer", 15000, false,"i", playerid);
mal en el /intentar, miralo aver si me echas otra ayudita porfa xD
pawn Код:
/* ------------------- [ Intentar ] ----------------------------------- */
    if(strcmp(cmd, "/intentar", true) == 0)
    {
      if(IsPlayerConnected(playerid))
      {
        if(gPlayerLogged[playerid] == 0)
        {
          SendClientMessage(playerid, COLOR_GREY, "  No te has Logeado !");
          return 1;
        }
            GetPlayerName(playerid, sendername, sizeof(sendername));
            new length = strlen(cmdtext);
            while ((idx < length) && (cmdtext[idx] <= ' '))
            {
                idx++;
            }
            new offset = idx;
            new result[64];
            while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
            {
                result[idx - offset] = cmdtext[idx];
                idx++;
            }
            result[idx - offset] = EOS;
            if(!strlen(result))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "USA: /intentar [accion]");
                return 1;
            }
      new which_message = random(2);
      new name[MAX_PLAYER_NAME];
      GetPlayerName(playerid, name, sizeof(name));
      if(which_message == 0)
      {
      format(string, sizeof(string), "*%s intenta %s y lo logra", name, result);
      ProxDetector(30.0,playerid, string, COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN,COLOR_GREEN);
      }
      else if(which_message == 1)
      {
      format(string, sizeof(string), "*%s intenta %s y falla", name, result);
      ProxDetector(30.0,playerid, string, COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED,COLOR_RED);
  IntEspera[playerid]=1;
    SetTimerEx("IntentarTimer", 15000, false,"i", playerid);
      }
    }
  return 1;
  }
Reply
#4

Eh, primero que nada te recomiendo usar dcmd y sscanf... es mas entendible...
Bueno, se me olvido decirte que pongas en tu cmd arriba de "if(isplayerconnected(playerid))" :
if(IntEspera[playerid] == 1) return SendClientMessage(playerid,COLOR_TU_COLOR,"Debes esperar 15 segundos antes de usar este CMD de nuevo");
Si el problema era que puedes seguir usando el comando l oque puse arriba lo arreglaria.
Suerte.
Reply
#5

Sii me me funco Muchas Gracias =)
Reply
#6

De nada.
Zamaroht cierra el topic.
Reply
#7

ey men otra cosa xD!!! mi ultimo Problema.. no manejo mucho el Dialog... y tengo Esto:
pawn Код:
new Reglas1[] = "Las reglas se deben cumplir. Si algъn jugador no las cumple sufrirб su correspondiente castigo, y si ves a alguien que no\
las cumple denъncialo - /Reportar\
\n\n- Estб totalmente prohibido el uso de cheats/hacks. - Ban permanente.\
\n - No insultes a los demбs jugadores. - Silenciar/Kick/Ban.\
\n - No uses mods de mapas ya que podrнan ser confundidos con hacks. - Ban.\
\n - No uses mods que te influyan positivamente a ti sobre los demбs, ej: Speed Bost. - Ban."
;
new Reglas2[] = "\n- No molestes a los jugadores que quieran jugar, si no quieres seguir en la batalla escribe /Afk hasta que vuelvas a conectarte. - Cбrcel/Kick.\
\n - Respeta tanto a jugadores como a Administradores. Segъn el grado de molestia (insultos, molestar...) se usarб un castigo u otro.\
\n\nAyuda no estб de mбs, asн que hazlo siempre que puedas, sobre todo con jugadores novatos."
;
// en command text o dcmd o lo que quieras....
    if(!strcmp(cmdtext,"/reglas",true))
    {
        new string[1024];
        format(string, sizeof(string),"%s %s",Reglas1,Reglas2);
        ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX,"Reglas",string, " V "," X ");
        return 1;
    }
que lo usare para el /ayuda, lo que me falta es el codigo que va en OnDialogResponse, para que cuando aprete el boto " V " no se me valla al Dialog De Logeo ._.
Reply
#8

Quote:
Originally Posted by Roymer
ey men otra cosa xD!!! mi ultimo Problema.. no manejo mucho el Dialog... y tengo Esto:
pawn Код:
new Reglas1[] = "Las reglas se deben cumplir. Si algъn jugador no las cumple sufrirб su correspondiente castigo, y si ves a alguien que no\
las cumple denъncialo - /Reportar\
\n\n- Estб totalmente prohibido el uso de cheats/hacks. - Ban permanente.\
\n - No insultes a los demбs jugadores. - Silenciar/Kick/Ban.\
\n - No uses mods de mapas ya que podrнan ser confundidos con hacks. - Ban.\
\n - No uses mods que te influyan positivamente a ti sobre los demбs, ej: Speed Bost. - Ban."
;
new Reglas2[] = "\n- No molestes a los jugadores que quieran jugar, si no quieres seguir en la batalla escribe /Afk hasta que vuelvas a conectarte. - Cбrcel/Kick.\
\n - Respeta tanto a jugadores como a Administradores. Segъn el grado de molestia (insultos, molestar...) se usarб un castigo u otro.\
\n\nAyuda no estб de mбs, asн que hazlo siempre que puedas, sobre todo con jugadores novatos."
;
// en command text o dcmd o lo que quieras....
    if(!strcmp(cmdtext,"/reglas",true))
    {
        new string[1024];
        format(string, sizeof(string),"%s %s",Reglas1,Reglas2);
        ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX,"Reglas",string, " V "," X ");
        return 1;
    }
que lo usare para el /ayuda, lo que me falta es el codigo que va en OnDialogResponse, para que cuando aprete el boto " V " no se me valla al Dialog De Logeo ._.
Eso es porque tienes confundidas las ids del dialog, mira en:

pawn Код:
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX,"Reglas",string, " V "," X "); //Id 3
Mira a ver cual tienes en el de registro y login y cбmbialas, no las puedes mezclar.
Reply
#9

si hago eso, creo un error con el dialog de registro ¬¬!
Reply
#10

Quote:
Originally Posted by Roymer
si hago eso, creo un error con el dialog de registro ¬¬!
Por eso cбmbiale la id.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)