SA-MP Forums Archive
[AYUDA] Limitar uso del boton a 7 - 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: [AYUDA] Limitar uso del boton a 7 (/showthread.php?tid=119796)



[AYUDA] Limitar uso del boton a 7 - pooooolo - 09.01.2010

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


Re: [AYUDA] Limitar uso del boton a 7 - TheChaoz - 09.01.2010

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


Re: [AYUDA] Limitar uso del boton a 7 - pooooolo - 09.01.2010

Muchas gracias!


Re: [AYUDA] Limitar uso del boton a 7 - Miguel - 10.01.2010

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