[Duda] Maximos usos
#1

Bueno, estoy editando el FS DE Nicolas Cadenas de marihuana y quiero saver como establecer una X cantidad de usos.. en mi caso yo le agrege semillas al Sistema entonces con 6 semillas podes plantar 6 plantas sin que se pase.. osea si no tenes mas semillas no se puede.. yo lo que hice fue esto

Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext,"/PlantarMarihuana", true) == 0)
	{
        if(IsPlayerConnected(playerid))
        {
            if(Plantada[playerid] == 0) // si la variable esta en 0 te manda un mensaje de aviso
            {
            SendClientMessage(playerid, GRIS, "No tienes Semillas");
            return 1;
            }
   			Plantada[playerid] -= 2; // esta es la parte que me complica.. osea.. si se cumple la funcion te quite semillas.. pero no me funciona :S
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid,X,Y,Z);
	    	ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
            MarihuanaPlantada[playerid] = 6;
	    	GameTextForPlayer(playerid, "~w~Plantando~g~ Marihuana...", 3000, 3);
			SetTimerEx("PlantarMarihuana",3000,0,"d",playerid);
		}
		return 1;
	}
	if(strcmp(cmdtext, "/semillas", true) == 0)
	{
	    Plantada[playerid] = 6; // que te de 6 semillas osea 6 veces para plantar
	    SendClientMessage(playerid, GRIS, "Has comprado 6 semillas!");
	    return 1;
	 }
Reply
#2

pawn Код:
//Arriba de todo del GM/FS
new conteo[MAX_PLAYERS] = 0;
new terminarTimer;
#define tiempo_Usado 5000

//En la funcion del comando
conteo[playerid] ++;

//Dentro del comando, pero arriba de todo
if(conteo[playerid] == 3)
{
    SendClientMessage(playerid, -1, "debes esperar 5 segundos para volver a usar el comando!.");
    terminarTimer = SetTimer("Cargartimer", tiempo_Usado, true);
    return 1;
}

//Alfinal del GM/FS o donde kieras
forward Cargartimer(playerid);
public Cargartimer(playerid)
{
    conteo[playerid] = 0;
    KillTimer(terminarTimer);
    return 1;
}
EDIT:

pawn Код:
if(strcmp(cmdtext,"/PlantarMarihuana", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Plantada[playerid] == 0) // si la variable esta en 0 te manda un mensaje de aviso
            {
                SendClientMessage(playerid, GRIS, "No tienes Semillas");
                return 1;
            }
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid,X,Y,Z);
            ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
            MarihuanaPlantada[playerid] = 6;
            Plantada[playerid] --; //<----------
            GameTextForPlayer(playerid, "~w~Plantando~g~ Marihuana...", 3000, 3);
            SetTimerEx("PlantarMarihuana",3000,0,"d",playerid);
        }
        return 1;
    }
    if(strcmp(cmdtext, "/semillas", true) == 0)
    {
        Plantada[playerid] = 6; // que te de 6 semillas osea 6 veces para plantar
        SendClientMessage(playerid, GRIS, "Has comprado 6 semillas!");
        return 1;
    }
Reply
#3

a lo que me refiero es que si usas el comando mas de 6 veces no te deje ya que tenes 6 semillas , osea.. yo compro 6 semillas y list.. al crear las 6 plantas y quiero crear mas me diga que no tnego semillas a eso me refiero
Reply
#4

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext,"/PlantarMarihuana", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            if(Plantada[playerid] == 0) // si la variable esta en 0 te manda un mensaje de aviso
            {
            SendClientMessage(playerid, GRIS, "No tienes Semillas");
            return 1;
            }
            Plantada[playerid] -2; //si colocas -2 no crees tu que a esa variable le resta dos ?? si tiene 5 queda en tres // te complicas porque le colocas un signo el cual no va :S
            new Float:X, Float:Y, Float:Z;
            GetPlayerPos(playerid,X,Y,Z);
            ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);
            MarihuanaPlantada[playerid] = 6;
            GameTextForPlayer(playerid, "~w~Plantando~g~ Marihuana...", 3000, 3);
            SetTimerEx("PlantarMarihuana",3000,0,"d",playerid);
        }
        return 1;
    }
    if(strcmp(cmdtext, "/semillas", true) == 0)
    {
if(GetPlayerMoney(playerid) >= 1000)
{
        Plantada[playerid] = 6; // que te de 6 semillas osea 6 veces para plantar
        SendClientMessage(playerid, GRIS, "Has comprado 6 semillas!");
       GivePlayerMoney(playerid,-1000);
}
else
{
SendClientMessage(playerid, GRIS, "No tienes dinero para comprar drogas!");
}
 return 1;
     }
Reply
#5

Gracias Loco, yo habia probando en poner el " - " en la variable pero me tiraba error, graciassss!
Reply
#6

Perdon por el doble post.. esta linea me tira error

Plantada[playerid] -1;

me dice

(54) : warning 215: expression has no effect
Reply
#7

Quote:
Originally Posted by sonnk
Посмотреть сообщение
Perdon por el doble post.. esta linea me tira error

Plantada[playerid] -1;

me dice

(54) : warning 215: expression has no effect
pawn Код:
Plantada[playerid]--;
Reply
#8

Listo, muchas gracias por la ayuda capos!!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)