Error. -
Glimma - 16.12.2012
Buenas, intentй hacer un comando llamado /silenciador y /qsilenciador, el /silenciador sirve para darme una 9mm silenciada teniendo una 9mm, y el /qsilenciador sirve para darme una 9mm si tengo una 9mm silenciada..
Ahora, no funcionan, ya que si uso /silenciador, por mбs que tenga silenciador, por mбs que no tengo una 9mm silenciada o sea lo que sea me aparece "Usted ya tiene una pistola colt .45 silenciada en mano", y si uso /qsilenciador pasa lo mismo, me aparece "Usted ya tiene una pistola colt .45 en mano"..
pawn Код:
enum jInfo
{
jWep,
jAmmo,
jSilenciador
};
new JugadorInfo[MAX_PLAYERS][jInfo];
pawn Код:
zcmd(silenciador, playerid, params[])
{
new string[128];
if(JugadorInfo[playerid][jWep] <= 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 silenciada en mano.");
if(GetPlayerWeapon(playerid) == 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
{
JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
JugadorInfo[playerid][jWep] = 1;
GivePlayerWeapon(playerid, 23, JugadorInfo[playerid][jAmmo]);
JugadorInfo[playerid][jSilenciador] -= 1;
}
return 1;
}
zcmd(qsilenciador, playerid, params[])
{
new string[128];
if(JugadorInfo[playerid][jWep] <= 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 en mano.");
if(GetPlayerWeapon(playerid) == 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
{
JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
JugadorInfo[playerid][jWep] = 1;
GivePlayerWeapon(playerid, 22, JugadorInfo[playerid][jAmmo]);
JugadorInfo[playerid][jSilenciador] += 1;
}
return 1;
}
El silenciador (jSilenciador) se consigue con el comando /test1;
pawn Код:
zcmd(test1, playerid, params[])
{
JugadorInfo[playerid][jSilenciador] += 1;
return 1;
}
Respuesta: Error. -
oOFotherOo - 16.12.2012
pawn Код:
zcmd(silenciador, playerid, params[])
{
new string[128];
if(!JugadorInfo[playerid][jSilenciador] == 2) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 silenciada en mano.");
if(!GetPlayerWeapon(playerid) == 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
{
JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
JugadorInfo[playerid][jWep] = 1;
GivePlayerWeapon(playerid, 23, JugadorInfo[playerid][jAmmo]);
JugadorInfo[playerid][jSilenciador] = 2;
}
return 1;
}
zcmd(qsilenciador, playerid, params[])
{
new string[128];
if(!JugadorInfo[playerid][jSilenciador] == 1) return SendClientMessage(playerid, COLOR_GRAD2, "Usted ya tiene una pistola colt .45 en mano.");
if(!GetPlayerWeapon(playerid) == 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
{
JugadorInfo[playerid][jAmmo] = GetPlayerAmmo(playerid);
format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
JugadorInfo[playerid][jWep] = 1;
GivePlayerWeapon(playerid, 22, JugadorInfo[playerid][jAmmo]);
JugadorInfo[playerid][jSilenciador] = 1;
}
return 1;
}
Prueba asi aver.
Respuesta: Error. -
CaptainMactavish - 16.12.2012
pawn Код:
zcmd(silenciador, playerid, params[])
{
new string[128];
if(GetPlayerWeapon(playerid) != 22) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45.");
else
{
format(string, sizeof(string), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /qsilenciador.");
GivePlayerWeapon(playerid, 23, GetPlayerAmmo(playerid));
}
return 1;
}
zcmd(qsilenciador, playerid, params[])
{
new string[128];
if(GetPlayerWeapon(playerid) != 23) return SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 silenciada.");
else
{
format(string, sizeof(string), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
ProxDetector(20.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
GivePlayerWeapon(playerid, 22, GetPlayerAmmo(playerid));
}
return 1;
}
Al parecer no sabes como funcionan las clausulas if-else y los return.
La variable de silenciador estб al pedo, porque si tiene el arma ID 23 (pistola silenciador) entonces tiene una 9mm.
Respuesta: Error. -
OTACON - 16.12.2012
O_O , Le Estas haciendo un script para ponerle silenciador a un arma ke ya hay por defecto con silenciador. o_O
Respuesta: Error. -
Glimma - 16.12.2012
No, no entendiste, es para ponerle silenciador a la 9mm normal.
Respuesta: Error. -
OTACON - 16.12.2012
pawn Код:
static
SilenciadorAmmo[MAX_PLAYERS],
Ammostr[128];
COMMAND:silenciador(playerid, params[])
{
switch(GetPlayerWeapon(playerid))
{
case 22:
{
SilenciadorAmmo[playerid] = GetPlayerAmmo(playerid);
format(Ammostr, sizeof(Ammostr), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /silenciador.");
GivePlayerWeapon(playerid, 23, SilenciadorAmmo[playerid]);
}
case 23:
{
SilenciadorAmmo[playerid] = GetPlayerAmmo(playerid);
format(Ammostr, sizeof(Ammostr), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
GivePlayerWeapon(playerid, 22, SilenciadorAmmo[playerid]);
}
default: SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 Con/Sin silenciador.");
}
return 1;
}
o
pawn Код:
COMMAND:silenciador(playerid, params[])
{
new str[128], ammo;
ammo = GetPlayerAmmo(playerid);
switch(GetPlayerWeapon(playerid))
{
case 22:
{
format(Ammostr, sizeof(Ammostr), "* %s toma un silenciador de su bolsillo, acto seguido le coloca el mismo a su pistola colt .45.", PlayerName(playerid));
ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede quitarle el silenciador a su colt .45 usando /silenciador.");
GivePlayerWeapon(playerid, 23, ammo);
}
case 23:
{
format(Ammostr, sizeof(Ammostr), "* %s le quita el silenciador a su pistola colt .45 y se guarda el mismo en su bolsillo.", PlayerName(playerid));
ProxDetector(20.0, playerid, Ammostr, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
SendClientMessage(playerid, COLOR_BLANCO, "Usted puede colocarle nuevamente el silenciador a su colt .45 usando /silenciador.");
GivePlayerWeapon(playerid, 22, ammo);
}
default: SendClientMessage(playerid, COLOR_GRAD2, "Usted no tiene en mano una pistola colt .45 Con/Sin silenciador.");
}
return 1;
}
PD: Todo En Uno y Mas Esficiente

.
PD2: Tu Problema estaba en if(JugadorInfo[playerid][jWep]
<= 1)
<= ------ Si es Menor o igual a ...
!= ----- Comprueba si es diferente a .. este es el ke debes usar
== ----- Si Es Gual a ..
Respuesta: Error. -
TiNcH010 - 16.12.2012
Quote:
Originally Posted by bytytus
!= ----- Comprueba si es igual a ..
|
De hecho, ese comprueba sino es igual a...
Respuesta: Error. -
OTACON - 16.12.2012
Quote:
Originally Posted by TiNcH010
De hecho, ese comprueba sino es igual a...
|
ah si me confundi :P