[Tutorial] Creando restricciones if
#1

[Tutorial] Creando restricciones if



їQuй son las restricciones if?

Las restricciones if son para limitar una o mбs funciones, es decir, para que puedan suceder tiene que pasar algo. Por ejemplo:
pawn Код:
if(IsPlayerConnected(playerid))
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Estбs conectado");
}
Lo que ocurre en el ejemplo es esto: El parametro if limita la funciуn SendClientMessage sуlo si el jugador estб conectado.




Tipos de restricciones dentro del if

Hay varios tipos de restricciones dentro del if, los pondrй a continuaciуn:

1. Comparar Numeros: Puedes comparar si un nъmero es mayor, menor, igual, etc:



1.1:
1.2:
1.3:
1.4:
1.5:
1.6:



">"
"=>"
"<"
"<="
"=="
"!="



Compara si el nъmero es mayor a otro.
Compara si el nъmero es mayor o igual a otro.
Compara si el nъmero es menor a otro.
Compara si el nъmero es menor o igual a otro.
Compara si el nъmero es igual a otro.
Compara si el nъmero no es igual a otro.






2. Comparar Textos: Puedes comparar si un texto es igual a otro, sus caracteres, etc:



2.1:
2.2:
2.3:



strcmp(texto1, texto2, false)
strlen(texto) *Funciуn numйrica* Nъmero
strval(texto) *Funciуn numйrica* Nъmero



Compara si el texto1 es igual al texto2, si lo son retornarб 1, si no lo son retornarб 0.
Compara si la cantidad de caracteres del texto es mayor, igual, menor, etc que el nъmero.
Compara si el valor del nъmero es mayor, igual, menor, etc que el nъmero.






3. Varias restricciones a la vez:
Usando "&&" se pueden poner varias restricciones dentro de un if, el "&&" representarнa la palabra "y", por ejemplo:
pawn Код:
if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Estбs conectado y estбs en un vehнculo");
}
Ahн se estбn usando 2 restricciones dentro de un mismo if, de esta forma podemos reducir el tamaсo de nuestro script.



4. Varias restricciones no concecutivas, es decir, si no es una es la otra, el "||" serнa la palabra "у" (un poco confuso):
Usando "||" se pueden poner varias restricciones en un mismo if que no se procesarбn todas juntas:
pawn Код:
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN || GetPlayerWeapon(playerid) == WEAPON_ROCKETLAUNCHER)
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Tenйs un arma prohibida");
  Kick(playerid);
}
Ahн se estan usando 2 restricciones que si no es una serб la otra, de esta forma evitamos usar mбs restricciones if, reduciendo nuestro script. Si no usбramos "||" podrнamos hacer esto:
pawn Код:
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN)
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Tenйs un arma prohibida");
  Kick(playerid);
}

if(GetPlayerWeapon(playerid) == WEAPON_ROCKETLAUNCHER)
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Tenйs un arma prohibida");
  Kick(playerid);
}



Ejemplos
Cadena de restricciones variadas para poder dar dinero al jugador:
pawn Код:
new Hora, Minuto, Segundo;
gettime(Hora, Minuto, Segundo);

// Si el jugador estб conectado y la hora es desde las 18 hasta las 20
if(IsPlayerConnected(playerid) && Hora >= 18 && Hora <= 20)
{  // tambien se podria poner GetPlayerMoney dentro de la cadena anterior, pero preferн ponerlo luego para separar un poco los terminos. Esto es opcional
  if(GetPlayerMoney(playerid) <= 5000)
  {
    GivePlayerMoney(playerid, 100);
  }
}

Verificar si el jugador estб en un бrea:
pawn Код:
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);

if(X >= 1000.0 && X <= 2000.0 && Y > 1000.0 && Y < 2000.0)
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Estбs dentro del бrea de combate!");
}

Verificar si el jugador esta aprentado la tecla correr o la tecla saltar:
pawn Код:
new Keys, ud, lr;
GetPlayerKeys(playerid, Keys, ud, lr);

if(Keys == KEY_SPRINT || Keys == KEY_JUMP)
{
  SendClientMessage(playerid, 0xFFFFFFFF, "Estбs precionando las teclas correctas");
}



Bueno este es el final del tutorial, espero que les sea ъtil y les guste
Reply
#2

Quote:
Originally Posted by MrDeath
[Tutorial] Creando restricciones if

Construyendo... Perdon sin querer aprete postear en vez de Previsualizar XD
ami tambien me paso men no te preocupes
Reply
#3

Habrб que esperar para ver tu maravilloso tutorial
Reply
#4

Quote:
Originally Posted by CristianTdj
Habrб que esperar para ver tu maravilloso tutorial
si tambien estoy ansioso para aprender mas del IF^^
Reply
#5

¬¬ veremos que onda este tutorial cuando salga :P
Reply
#6

Muy Bueno MrDeath te felicito y gracias
Reply
#7

esta muy lindo el tutorial che....


en cuanto a lo de "&&" y "||" se puede decir que "&&" es igual a la palabra "y" y que "||" es igual a "o"
entonces:
pawn Код:
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN || GetPlayerWeapon(playerid) == WEAPON_ROCKETLAUNCHER)
{
se puede traducir :
"Si(el arma que tiene el jugador (playerid) es la MINIGUN o el arma que tiene el jugador (playerid) es el ROCHETLAUNCHER)entonces..."

y
pawn Код:
if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
{
se puede traducir:
"si(el jugador esta conectado (playerid) y el jugador (playerid) esta en un vehiculo) entonces..."
Reply
#8

Quote:
Originally Posted by the_chaoz
esta muy lindo el tutorial che....


en cuanto a lo de "&&" y "||" se puede decir que "&&" es igual a la palabra "y" y que "||" es igual a "o"
entonces:
pawn Код:
if(GetPlayerWeapon(playerid) == WEAPON_MINIGUN || GetPlayerWeapon(playerid) == WEAPON_ROCKETLAUNCHER)
{
se puede traducir :
"Si(el arma que tiene el jugador (playerid) es la MINIGUN o el arma que tiene el jugador (playerid) es el ROCHETLAUNCHER)entonces..."

y
pawn Код:
if(IsPlayerConnected(playerid) && IsPlayerInAnyVehicle(playerid))
{
se puede traducir:
"si(el jugador esta conectado (playerid) y el jugador (playerid) esta en un vehiculo) entonces..."
-.-, soy un tarado xD. Si lo hubiese puesto seria mas entendible, ahora lo agrego. Gracias a todos por los comentarios
Reply
#9

Excelent post
Reply
#10

como hago un if si el jugador no tiene x cantidad de dinero no puede hacer x cosa ?
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)