Saltar al contenido
  • Global

    Global

    Chatroom Rules

    • NO SE DA SOPORTE EN CHATBOX
    • NO SPAM
    • NO FLOOD

Publicaciones recomendadas

  • Usuario
Publicado (editado)

Bueno hola a todos vengo con este tuto que es para crear zonas pacificas o para cualquier otra cosa xD

Empezemos,

Necesitamos el streamer de "incognito"

¿de donde me lo bajo? Click aqui

Utilizaremos los siguientes parámetros y funciones:

OnPlayerEnterDynamicArea(playerid, areaid);
OnPlayerLeaveDynamicArea(playerid, areaid);
native CreateDynamicRectangle(Float:minx, Float:miny, Float:maxx, Float:maxy, worldid = -1, interiorid = -1, playerid = -1)

Necesitamos crear una variable:

 

new mivariable;

 

Luego de haber creado nuestra variable haremos lo siguiente: Sacar las siguientes Coordenadas:

MinX
MinY
-------
MaxX
MaxY

Ahi dos formas de sacarlas pero dire la mas sencilla para que no se compliquen, necesitamos el siguiente programa:

Dame Click para bajar

ya descargado vamos a sacar las coordenadas:

 

-1 paso: Abrimos el Xtreme Vehicle Plotter:

 

1-1.jpg

-2 paso: Marcamos un rectángulo en un lugar que queramos:

2-1.jpg

-3 paso: Una vez marcada nos apareserá un cuadro, le damos a "GangZones & World Broundaries":

 

3-1.jpg

 

-4 paso: Luego de enmarcar los gangs, completamos los cuadros:

4.jpg

-5 paso: Luego de llenar todos los cuadros, nos aparecerá el código ya creado.

5.jpg

 

del gzone solo sacaremos las cordenadas por ejemplo:

 

ejemplo = GangZoneCreate(-2732,623, -2066,984, -2312,219, -840,807);

 

debemos quitar las comas de mas y remplazarlas por puntos:

solo las que estan con rojo debemos quitar las negras las dejamos.

nos quedaria algo asi:

GangZoneCreate(-2732.623, -2066.984, -2312.219, -840.807);

pero eso del gangzone solo es para sacar las coordenadas que necesitamos en este caso esta:

-2732.623, -2066.984, -2312.219, -840.807

Luego de eso iremos al callback OnGameModeInit y copiaremos lo siguiente:

 

mivariable = CreateDynamicRectangle(minx, miny, maxx, maxy, -1, -1, -1);///en minx, miny, maxx, maxy ban las cordenadas que sacamos recien y -1, -1, -1 dejalos asi como estan

Ahora para hacer que cuando un jugador entre a dicha área haga acciones contra el como Remover armas, dar, etc.

forward OnPlayerEnterDynamicArea(playerid, areaid);
public OnPlayerEnterDynamicArea(playerid, areaid)
{
if(areaid == mivariable)
{
GameTextForPlayer(playerid, "~w~Has entrado a una zona pacifica\n~b~Armas Prohibidas!", 4000, 3); //Texto que aparecerá en la pantalla del jugador
ResetPlayerWeapons(playerid); //Le quitará las armas si quieres que le remueva para un segundo debes aser un timer pero eso si quieres me lo preguntas despues
}
return 1;
}

Eso hará que cuando entre, haga una accion.

 

Ahora para que cuando salga cumpla otra función determinada:


forward OnPlayerLeaveDynamicArea(playerid, areaid);
public OnPlayerLeaveDynamicArea(playerid, areaid)
{
if(areaid == mivariable)
{
GameTextForPlayer(playerid, "~w~Has salido de la zona pacifica\n~b~armas permitidas!", 4000, 3); //Texto que aparecerá al salir de dicha area
// Aquí puedes agregar más funciones como GivePlayerWeapon etc.
}
return 1;
}

 

Bueno y eso seria todo el tutorial, es algo sencillo.

Si me faltó algo o puse algo mal, avisen para corregirlo c:.

Espero que les sirva

Creditos : M4Ty4S yo solo modifique un poco el tuto

Editado por Zecker
  • Usuario
Publicado

Y si no tengo streamer como lo hago?? Y tambien como bloqueo un cmd si estoy en la zona

 

1- Te lo bajas

2- creas una variable booleana que se cambie a true si estas en zona y al comando se lo agregas poniendole la condicion

  • Usuario
Publicado

en el fondo es lo mismo, xq igual teni usar la condicion, y la funcion isplayerinarea retorna un booleano en el fondo es como crear una variable booleana, es mas ocupas menos recursos ocupando una variable

Invitado
Este tema está cerrado a nuevas respuestas.
  • Explorando recientemente   0 miembros

    • No hay usuarios registrados viendo esta página.
×
×
  • Crear nuevo...