16.09.2017, 02:10
Que forma tenйis de hacer los sistemas que os complicбis vosotros solos.
Siempre puedes aсadir:
Encima de:
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;
}
pawn Код:
printf("ManoIzq %d - Cargador %d", ManoIzq, Cargador);
pawn Код:
if(ManoIzq != Cargador) return SendClientMessage(playerid, Rojo, "* No puedes recargar este arma con este objeto.");