[AYUDA] Limitar uso del boton a 7
#1

Pues que
el jugador esta aciendo una anim de beber cerveza entonces cuando pulsa 7 veces
le desaparece la botella de la mano
si me pueden ayudar les estare muy agradecido
Reply
#2

si estas preguntando lo que yo creo podes hacer eso asi mira:
pawn Код:
new Botella; //definis una variable global(dejabo de los includes o donde quieras. [Pero no dentro de una funcion!]
pawn Код:
// este es el comando para que salga la botella
if(strcmp(cmd, "/beber", true) == 0){
   
      SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
      SendClientMessage(playerid, COLOR_ORANGE, "Advertencia: Cuidado, no bebas mucho o terminaras ebrio!");

    return 1;
    }
pawn Код:
// para que deje la botella despues de usarla 5 veces(en este caso)
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    if(newkeys == KEY_FIRE && GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER){
      if(Botella == 5){
        SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
      }
      else return Botella++;
    }
    return 1;
}
espero que te sirva

Etidato:
debes agregar
pawn Код:
Botella = 0;
debajo de:
pawn Код:
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
ya que si nono podras volver a tomar
Reply
#3

Muchas gracias!
Reply
#4

En realidad para que esto de resultado, necesitamos crear una variable disponible para todos los jugadores, por lo que ese codigo cambiarнa a:

pawn Код:
new Botella[MAX_PLAYERS];
pawn Код:
if(strcmp(cmd, "/beber", true) == 0)
{
  SetPlayerSpecialAction(playerid, SPECIAL_ACTION_DRINK_BEER);
  SendClientMessage(playerid, COLOR, "Advertencia: Cuidado, no bebas mucho o terminaras ebrio!");
  return 1;
}
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
  if(newkeys == KEY_FIRE && GetPlayerSpecialAction(playerid) == SPECIAL_ACTION_DRINK_BEER)
  {
    if(Botella[playerid] >= 7) // con esto checkeamos la cuenta del jugador (si es igual o mayor a 7)
    {
      SetPlayerSpecialAction(playerid, SPECIAL_ACTION_NONE);
      SendClientMessage(playerid, COLOR, "Se te ha acabado tu botella!");
    }
    else return Botella[playerid] ++; // si no ha llegado a los 7, se agrega uno
  }
  return 1;
}
Si no fuera asi, entonces todos los jugadores sumaran puntos a la unica variable Botella, 7 a la misma vez haciendolo causarнa que la botella se acabara de una vez...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)