Pawno-Script

Todos Nos Ayudamos

Conectarse

Recuperar mi contraseña

Últimos temas

» [GM] Stunts Universe 100% Español (Stunts/Races/Drift)
Vie Ene 31, 2014 5:43 pm por Hunter_white

» [FS] Animaciones
Miér Dic 18, 2013 7:06 pm por Raby

» Policias vs Terroristas
Jue Ago 01, 2013 1:46 am por Dani Duende

» [FS] Sistema de reportes por dialog
Vie Mayo 24, 2013 5:29 pm por Eric_espinosa

» Abrir portones con las teclas
Vie Mayo 24, 2013 4:48 pm por Eric_espinosa

» [FilterScript] Armas en la espalda o cinturon.
Dom Nov 11, 2012 10:44 am por Axel_x360

» [Servdor] "Los Simuladores RP", gran apertura!! V1.2
Miér Oct 24, 2012 6:09 pm por Shampier17

» [FS] Sistema Neon (0.3c)
Dom Oct 07, 2012 8:01 pm por felipepalacios

» [Tutorial] Cargar Objetos
Vie Oct 05, 2012 4:28 pm por Venedetto

Diciembre 2016

LunMarMiérJueVieSábDom
   1234
567891011
12131415161718
19202122232425
262728293031 

Calendario Calendario

Navegación

Estadísticas

Nuestros miembros han publicado un total de 91 mensajes en 79 argumentos.

Tenemos 128 miembros registrados.

El último usuario registrado es migueleex.

¿Quién está en línea?

En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Ninguno


La mayor cantidad de usuarios en línea fue 43 el Lun Abr 11, 2016 1:48 am.


    [TUTORIAL]Crear puertas automaticas o por comando

    Comparte

    Reex
    Administrador
    Administrador

    Mensajes : 64
    Fecha de inscripción : 21/01/2011
    Localización : Argentina

    [TUTORIAL]Crear puertas automaticas o por comando

    Mensaje  Reex el Jue Ene 27, 2011 12:29 am

    Bueno este es un tutorial muy simple para crear puertas por comando o automaticas:

    Ya sea para crear una puerta automatica o por comando debemos definir la variable que contendra la puerta:

    Spoiler:
    new Puerta;

    Una vez definida la variable debemos crear nuestra puerta y asignarla a la variable anteriormente creada:

    Spoiler:
    //Si van a crear la puerta en un GameMode, en OnGameModeInit() agregamos
    Puerta = CreateObject(modelodepuerta, coordenadaX, coordenadaY, coordenadaZ, rotacionX, rotacionY, rotacionZ);

    //Si por el contrario la van a crear en un FilterScript, en OnFilterScriptInit() agregamos
    Puerta = CreateObject(modelodepuerta, coordenadaX, coordenadaY, coordenadaZ, rotacionX, rotacionY, rotacionZ);

    Bien ya tenemos nuestra puerta creada y asignada a nuestra variable.

    Puerta Por Comandos

    Spoiler:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/abrir", cmdtext, true) == 0) //para abrir la puerta
    {

    if(IsPlayerInRangeOfPoint(playerid, 15.0, coordenadaX, coordenadaY, coordenadaZ)){ //si el jugador no esta en un radio de 15.0 a la puerta no lo dejara usar el comando. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
    MoveObject(Puerta, coordenadaX, coordenadaY, coordenadaZ, 3.0); //mueve nuestra puerta hasta las coordenadas de la puerta abierta. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (ABIERTA))
    return SendClientMessage(playerid, 0x28F943FF, "Server: Has abierto la puerta");
    }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Debes estar cerca de la puerta para usar este comando");
    }

    if (strcmp("/cerrar", cmdtext, true) == 0) //cerrar
    {

    if(IsPlayerInRangeOfPoint(playerid, 15.0, coordenadaX, coordenadaY, coordenadaZ)){ //si el jugador no esta en un radio de 15.0 a la puerta no lo dejara usar el comando. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
    MoveObject(Puerta, coordenadaX, coordenadaY, coordenadaZ, 3.0); //mueve nuestra puerta hasta las coordenadas de la puerta abierta. (Reemplazar las coordenadas por las coordenadas de nuestra puerta (CERRADA))
    return SendClientMessage(playerid, 0x28F943FF, "Server: Has cerrado la puerta");
    }else return SendClientMessage(playerid, 0xFF0000FF, "ERROR: Debes estar cerca de la puerta para usar este comando");
    }
    return 0;
    }

    y de este modo ya tendriamos nuestra puerta con comandos.


    Puerta Automatica
    Para la puerta automatica vamos a usar timers:

    Spoiler:
    //Si es unGameMode
    public OnGameModeInit()
    {
    SetTimer("PuertaCheck", 1000, 1);
    }

    //Si por el contrario es un FilterScript
    public OnFilterScriptInit()
    {
    SetTimer("PuertaCheck", 1000, 1);
    }

    Ahora que ya tenemos nuestro timer, debemos crearle su respectivo forward y luego decirle que hacer al timer:.

    Spoiler:
    forward PuertaCheck();
    public PuertaCheck()
    {
    for(new i=0; i<MAX_PLAYERS; i++){ //Creamos una variable i con cada valor de los jugadores,(seria un reemplazo de playerid)
    if(IsPlayerConnected(i)){ //si nuestro jugador (i) esta conectado entonces...
    if(IsPlayerInRangeOfPoint(i, 15.0, coordenadaX, coordenadaY, coordenadaZ)){ /si el jugador i esta dentro del rango de 15 a la puerta entonces...
    MoveObject(Puerta, coordenadaX, coordenadaY, coordenadaZ, 3.0); //abre la puerta
    //Reemplazar las coordenadas por las de la puerta abierta
    }
    else{ //si no esta en un rango de 15 a la puerta...
    MoveObject(Puerta, coordenadaX, coordenadaY, coordenadaZ, 3.0); //cierra la puerta
    //Reemplazar las coordenadas por las de la puerta cerrada
    }
    }

    }
    }

    Y de este modo ya tenemos nuestra puerta automatica.

    Explicacion de las Funciones Utilizadas

    Spoiler:
    CreateObject(objecto, coordenadaX, coordenadaY, coordenadaZ, rotacionX, rotacionY, rotacionZ);
    IsPlayerInRangeOfPoint(jugador, radio, coordenadaX, coordenadaY, coordenadaZ);
    MoveObject(ojecto, coordenadaX, coordenadaY, coordenadaZ, velocidad);
    SendClientMessage(jugador, color, "mensaje");
    SetTimer("NombredelTimer", tiempo, 0/1) // para que no se repita 0, para que se repita 1.
    //Nota: el tiempo va en milisegundos (1 segundo = 1000 milisegundos).
    IsPlayerConnected(jugador); //retorna el valor 1 si el jugador esta conectado y 0 si no lo esta.

    Creditos: SaSuKe

      Fecha y hora actual: Jue Dic 08, 2016 6:59 pm