Noticias:

Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate

Menú Principal

GangZone's

Iniciado por Swarlog, Ene 29, 2023, 08:18 PM

Tema anterior - Siguiente tema

Swarlog

Introducción: ¿Qué es un GangZone?

Los GangZone´s son los colores semitransparentes ubicados en el mapa en el modo de un jugador del GTA San Andreas que delimitan el territorio de las distintas bandas. Ver la siguiente imagen para mas información:
En SA-MP podemos manipularlas a nuestro antojo, que es lo que veremos en esta guía: las distintas funciones que nos permiten ello.
ATENCIÓN: solo se permite un máximo de 1024 GangZone´s, pero vamos, que no creo que muchos excedan ello.

Obtener coordenadas para un GangZone
[/color][/size][/u][/b]
El GangZone no se crea solo a nuestro antojo obviamente. Debemos definir las coordenadas (Xmin, Ymin, Xmax y Ymax) , es decir, la superficie que abarcará el GangZone. Para ello recomiendo el programa Debes de estar registrado para poder ver el contenido indicado. Registrate o Conectate, con el cual podremos obtener fácil e intuitivamente las coordenadas.

GangZoneCreate
[/color][/size][/u][/b]
Esta función nos permite crear el GangZone. SOLO CREARLO, para mostrarla y demás cosas usaremos otras funciones. Además SIEMPRE debe definirse con una variable. La variable digamos que será la "ID" del GangZone.
Parámetros:
Xmin: coordenada Xmin.
Ymin: coordenada Ymin.
Xmax: coordenada Xmax.
Ymax: coordenada Ymax.
No os quiero meter en dificultades de sacar manualmente estas coordenadas, así que reitero mi recomendación de usar Xtreme Vehicle Plotter.

Ejemplo de uso:
new GangGroove; //Definimos la variable que utilizaremos para el GangZone

public OnGameModeInit()
{
GangGroove = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319); //Creamos el GangZone con sus coordenadas.
//demás codigo...
return 1;
}

GangZoneDestroy
[/color][/size][/u][/b]
Esta función nos permite destruir un GangZone. Solo tiene un parametro que es la ID, es decir, la variable con la cual la hemos definido.

Ejemplo de uso:
new GangGroove; //Definimos la variable que utilizaremos para el GangZone
forward ChauGangGroove();

public OnGameModeInit()
{
GangGroove = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319); //Creamos el GangZone con sus coordenadas.
SetTimer("ChauGangGroove", 10000, false); //Creamos un timer que llamará la función "ChauGangGroove en 10 segundos.
//demás codigo...
return 1;
}

public ChauGangGroove()
{
GangZoneDestroy(GangGroove); //Destruimos el "GangGroove"
print("El gangzone de groove streete ha sido destruido"); //Enviamos un mensaje a la consola
return 1;
}

GangZoneShowForPlayer & GangZoneShowForAll
[/color][/size][/u][/b]
Estas funciones nos permiten mostrar un GangZone a uno o mas jugadores, incluso todos. Recordar que por defecto los GangZones no son visibles.
Parámetros:
ID: id del jugador al cual se le mostrará el gangzone (SOLO EN GangZoneShowForPlayer).
Zona: id del gangzone a mostrar.
Color: el color que tendrá nuestro gangzone

Ejemplo de uso:
new GangGroove;

public OnGameModeInit()
{
GangGroove = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319); //Creamos el GangZone con sus coordenadas.
//demás codigo...
return 1;
}

public OnPlayerScode(playerid)
{
//Para un jugador
GangZoneShowForPlayer(playerid, GangGroove, -1);
return 1;
}

public ShowGangTodos(playerid)
{
//Para todos
GangZoneShowForAll( GangGroove, -1);
return 1;
}

GangZoneHideForPlayer & GangZoneHideForAll
[/color][/size][/u][/b]
Estas funciones nos permiten ocultar un GangZone a uno o mas jugadores, incluso todos.
Parámetros:
ID: id del jugador al cual se le ocultará el gangzone (SOLO EN GangZoneHideForPlayer).
Zona: id del gangzone a ocultar

Ejemplo de uso:
new GangGroove;

public OnGameModeInit()
{
GangGroove = GangZoneCreate(1248.011, 2072.804, 1439.348, 2204.319); //Creamos el GangZone con sus coordenadas.

return 1;
}

public OnPlayerDisconnect(playerid)
{
GangZoneHideForPlayer(playerid, GangGroove);
return 1;
}

public OnGameModeExit(playerid)
{
GangZoneHideForAll(GangGroove);

GangZoneFlashForPlayer & GangZoneFlashForAll
[/color][/size][/u][/b]
Estas funciones nos permitirán hacer titilar gangzones para uno o más jugadores, incluso todos.
Parámetros:
ID: id del jugador a quien le parpadeara la gangzone (SOLO en GangZoneFlashForPlayer).
Zona: la zona que parpadeará.
Color: color en el cual parpadeará.

Ejemplo de uso:
public OnPlayerDeath(playerid)
{
if(gTeam == 0) return GangZoneFlashForAll(playerid, GangGroove);
else return GangZoneFlashForPlayer(playerid, GangGroove);
return 1;
}

GangZoneStopFlashForPlayer & GangZonStopFlashForAll
[/color][/size][/u][/b]
Estas funciones nos permitirán hacer dejar de titilar gangzones para uno o más jugadores, incluso todos.
Parámetros:
ID: id del jugador a quien le dejará de parpadear la gangzone (SOLO en GangZoneStopFlashForPlayer).
Zona: la zona que dejará de parpadea.

Ejemplo de uso:
public OnPlayerDeath(playerid)
{
if(gTeam == 0) return GangZoneFlashForAll(playerid, GangGroove);
else return GangZoneStopFlashForPlayer(playerid, GangGroove);
return 1;
}
____________________________________________________
Pues ya, eso es todo. SI hay algún error avisen. Esta semana también posteare como hacer un script de TurfsWar.
Un saludo.
[/i]

By Niyai