Ayuda con este comando..
#1

Me pueden ayudar con este comando, lo uso y en armas como la M4 o ak47 me manda siempre esto: if(ManoIzq != Cargador){SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto."); y segъn yo lo metн bien todo, seria de gran ayuda mi querida comunidad

Код:
CMD:usar(playerid, cmdtext[])
{
new string[256];
	if(PlayerInfo[playerid][jManoDer] == 0 && PlayerInfo[playerid][jManoIzq] == 0){SendClientMessage(playerid, Rojo, "* No tienes nada en ninguna mano."); return 1;}
	new ManoDer = PlayerInfo[playerid][jManoDer], ManoDerCant = PlayerInfo[playerid][jManoDerCant];
	new ManoIzq = PlayerInfo[playerid][jManoIzq], ManoIzqCant = PlayerInfo[playerid][jManoIzqCant];
	if(ObjetoInfo[ManoDer][IDArma] > 0 && ObjetoInfo[ManoDer][Capacidad] > 1 && ManoIzq != 0) //Tiene un arma en mano derecha y algo en mano izquierda
	{
		ActualizarManos(playerid);
	    new Cargador, ArmaID = ObjetoInfo[ManoDer][IDArma];
	    switch(ArmaID)
	    {
	        case 22: Cargador = 39;
	        case 23: Cargador = 39;
			case 24: Cargador = 40;
			case 25: Cargador = 50;
			case 26: Cargador = 50;
			case 27: Cargador = 50;
			case 28: Cargador = 41;
			case 29: Cargador = 42;
			case 30: Cargador = 44;
			case 31: Cargador = 45;
			case 32: Cargador = 43;
			case 33: Cargador = 46;
			case 34: Cargador = 46;
	    }
	    if(ManoIzq != Cargador){SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto."); return 1;}
	    if(RecargarTiempo[playerid] == 1){SendClientMessage(playerid, Rojo, "* Espera 3 segundos antes de volver a recargar."); return 1;}
	    if(ArmaID != 25 && ArmaID != 26 && ArmaID != 27) //No es una escopeta
	    {
	        if(ManoIzqCant != 0){SendClientMessage(playerid, Rojo, "* Ese cargador estб vacio."); return 1;}
			ResetPlayerWeapons(playerid);
		    GivePlayerWeapon(playerid, ArmaID, ManoIzqCant);
		 	PlayerInfo[playerid][jManoIzqCant] = ManoDerCant;
		 	format(string, sizeof(string), "* %s recarga su arma.", RPN(playerid));
		    ProxDetector(5.0, playerid, string,Morado,Morado,Morado,Morado,Morado);
		    RecargarTiempo[playerid] = 1;
		    SetTimerEx("RecargarTimer", 3000, false, "i", playerid);
	 	}
	 	else
	 	{
	 	    new n;
	 	    switch(ArmaID)
	 	    {
	 	        case 25: n = 4;
	 	        case 26: n = 2;
	 	        case 27: n = 7;
	 	    }
	 	    if(GetPlayerWeaponAmmo(playerid, ArmaID) >= n){SendClientMessage(playerid, Rojo, "* No necesitas recargar este arma."); return 1;}
	 	    if(ManoIzqCant == 0){SendClientMessage(playerid, Rojo, "* No te queda municiуn."); return 1;}
	 	    new Municion = (n - GetPlayerWeaponAmmo(playerid, ArmaID));
	 	    for(new a = 0; a < Municion; a++)
	 	    {
					if(PlayerInfo[playerid][jManoIzqCant] == 0){break;}
	 	    		GivePlayerWeapon(playerid, ArmaID, 1);
	 	    		PlayerInfo[playerid][jManoIzqCant] --;
	 	    }
	 	    format(string, sizeof(string), "* %s recarga su arma.", RPN(playerid));
		    ProxDetector(5.0, playerid, string,Morado,Morado,Morado,Morado,Morado);
		    RecargarTiempo[playerid] = 1;
		    SetTimerEx("RecargarTimer", 3000, false, "i", playerid);
	 	}
	 	return 1;
	}
	return 1;
}
Reply
#2

No se yo pero

Код:
if(ManoIzq != Cargador){SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto."); return 1;}
if(RecargarTiempo[playerid] == 1){SendClientMessage(playerid, Rojo, "* Espera 3 segundos antes de volver a recargar."); return 1;}
Deberнa ir asн segъn yo...

Код:
if(ManoIzq != Cargador) return SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto.");
if(RecargarTiempo[playerid] == 1) return SendClientMessage(playerid, Rojo, "* Espera 3 segundos antes de volver a recargar.");
Reply
#3

Que forma tenйis de hacer los sistemas que os complicбis vosotros solos.

pawn Код:
CMD:usar(playerid, cmdtext[])
{
    new string[256];
    if(PlayerInfo[playerid][jManoDer] == 0 && PlayerInfo[playerid][jManoIzq] == 0)  return SendClientMessage(playerid, Rojo, "* No tienes nada en ninguna mano.");
    new ManoDer = PlayerInfo[playerid][jManoDer], ManoDerCant = PlayerInfo[playerid][jManoDerCant];
    new ManoIzq = PlayerInfo[playerid][jManoIzq], ManoIzqCant = PlayerInfo[playerid][jManoIzqCant];
    if(ObjetoInfo[ManoDer][IDArma] > 0 && ObjetoInfo[ManoDer][Capacidad] > 1 && ManoIzq != 0) //Tiene un arma en mano derecha y algo en mano izquierda
    {
        ActualizarManos(playerid);
        new Cargador, ArmaID = ObjetoInfo[ManoDer][IDArma];
        switch(ArmaID)
        {
            case 22: Cargador = 39;
            case 23: Cargador = 39;
            case 24: Cargador = 40;
            case 25: Cargador = 50;
            case 26: Cargador = 50;
            case 27: Cargador = 50;
            case 28: Cargador = 41;
            case 29: Cargador = 42;
            case 30: Cargador = 44;
            case 31: Cargador = 45;
            case 32: Cargador = 43;
            case 33: Cargador = 46;
            case 34: Cargador = 46;
        }
        if(ManoIzq != Cargador)     return  SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto.");
        if(RecargarTiempo[playerid] == 1)   return  SendClientMessage(playerid, Rojo, "* Espera 3 segundos antes de volver a recargar.");
        if(ArmaID != 25 && ArmaID != 26 && ArmaID != 27) //No es una escopeta
        {
            if(ManoIzqCant != 0){SendClientMessage(playerid, Rojo, "* Ese cargador estб vacio."); return 1;}
            ResetPlayerWeapons(playerid);
            GivePlayerWeapon(playerid, ArmaID, ManoIzqCant);
            PlayerInfo[playerid][jManoIzqCant] = ManoDerCant;
            format(string, sizeof(string), "* %s recarga su arma.", RPN(playerid));
            ProxDetector(5.0, playerid, string,Morado,Morado,Morado,Morado,Morado);
            RecargarTiempo[playerid] = 1;
            SetTimerEx("RecargarTimer", 3000, false, "i", playerid);
        }
        else
        {
            new n;
            switch(ArmaID)
            {
                case 25: n = 4;
                case 26: n = 2;
                case 27: n = 7;
            }
            if(GetPlayerWeaponAmmo(playerid, ArmaID) >= n)  return SendClientMessage(playerid, Rojo, "* No necesitas recargar este arma.");
            if(ManoIzqCant == 0)        return SendClientMessage(playerid, Rojo, "* No te queda municiуn.");
            new Municion = (n - GetPlayerWeaponAmmo(playerid, ArmaID));
            for(new a = 0; a < Municion; a++)
            {
                    if(PlayerInfo[playerid][jManoIzqCant] == 0){break;}
                    GivePlayerWeapon(playerid, ArmaID, 1);
                    PlayerInfo[playerid][jManoIzqCant] --;
            }
            format(string, sizeof(string), "* %s recarga su arma.", RPN(playerid));
            ProxDetector(5.0, playerid, string,Morado,Morado,Morado,Morado,Morado);
            RecargarTiempo[playerid] = 1;
            SetTimerEx("RecargarTimer", 3000, false, "i", playerid);
        }
        return 1;
    }
    return 1;
}
Siempre puedes aсadir:

pawn Код:
printf("ManoIzq %d - Cargador %d", ManoIzq, Cargador);
Encima de:
pawn Код:
if(ManoIzq != Cargador)     return  SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto.");
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)