Jump to content

[HELP] Elevator System


Nexus#

Recommended Posts

Good night everyone, sorry for my bad English but I need you to please help me with something.

You see, I have these lines, I managed to do that when requesting it from the outside is fine but I have a problem and it is the following: I call the elevator from floor 1 and if it is open on floor 2, it goes down to floor 1 and the doors of floor 2 are still open. on the other hand it would be great if it helped me


--========== VARIABLES / ELEVADOR ==========--
local elevatorPanel = nil;
local Puerta_Cerrada = -1439.36511

local Puerta_Derecha_Abierta = -1437.36511
local Puerta_Izquierda_Abierta = -1441.36511

local tiempo = 2000


--========== CREACION OBJETOS / ELEVADOR ==========--
local Puerta_Derecha = createObject ( 3051, 2856.999, Puerta_Cerrada, 11.853, 0, 0, 180) 
local Puerta_Izquierda = createObject ( 3029, 2856.999, Puerta_Cerrada, 11.853, 0, 0, 180) 

local Elevador = createObject ( 14822, 2856.999, -1439.36511, 11.853, 0, 0, 180) 

local Tablero = createObject ( 2922, 2859.33574, -1436.90222, 11.17586, 0, 0, -90) 


--========== CREACION PUERTAS EXTRAS / ELEVADOR ==========--
local Puerta_Derecha1 = createObject ( 3051, 2856.999, Puerta_Cerrada, 11.853, 0, 0, 180) 
local Puerta_Izquierda1 = createObject ( 3029, 2856.999, Puerta_Cerrada, 11.853, 0, 0, 180) 
local Puerta_Derecha2 = createObject ( 3051, 2856.999, Puerta_Cerrada, 24.494, 0, 0, 180) 
local Puerta_Izquierda2 = createObject ( 3029, 2856.999, Puerta_Cerrada, 24.494, 0, 0, 180) 
local Puerta_Derecha3 = createObject ( 3051, 2856.999, Puerta_Cerrada, 28.866, 0, 0, 180) 
local Puerta_Izquierda3 = createObject ( 3029, 2856.999, Puerta_Cerrada, 28.866, 0, 0, 180) 
local Puerta_Derecha4 = createObject ( 3051, 2856.999, Puerta_Cerrada, 33.243, 0, 0, 180) 
local Puerta_Izquierda4 = createObject ( 3029, 2856.999, Puerta_Cerrada, 33.243, 0, 0, 180) 
local Puerta_Derecha5 = createObject ( 3051, 2856.999, Puerta_Cerrada, 37.626, 0, 0, 180) 
local Puerta_Izquierda5 = createObject ( 3029, 2856.999, Puerta_Cerrada, 37.626, 0, 0, 180) 

--========== CREACION ZONAS PISOS / ELEVADOR ==========--
local piso1 = createColCuboid ( 2859.55435, -1437.36792, 10.17586, 1, 1, 2 )
local piso2 = createColCuboid ( 2859.55435, -1437.36792, 22.77586, 1, 1, 2 )
local piso3 = createColCuboid ( 2859.55435, -1437.36792, 27.17586, 1, 1, 2 )
local piso4 = createColCuboid ( 2859.55435, -1437.36792, 31.47586, 1, 1, 2 )
local piso5 = createColCuboid ( 2859.55435, -1437.36792, 35.77586, 1, 1, 2 )
--local piso6 = createColCuboid ( 2859.55435, -1437.36792, 10.17586, 1, 1, 2 )
--local piso7 = createColCuboid ( 2859.55435, -1437.36792, 10.17586, 1, 1, 2 )
--local piso8 = createColCuboid ( 2859.55435, -1437.36792, 10.17586, 1, 1, 2 )
local mover_piso = createColCuboid ( 2857.55435, -1437.66792, 10.17586, 1, 1, 43 )


--========== FUNCIONES ABRIR Y CERRAR / ELEVADOR ==========--
function Abrir_Puertas()
    moveObject(Puerta_Derecha, tiempo , 2857.00049, Puerta_Derecha_Abierta, 11.853)
    moveObject(Puerta_Izquierda, tiempo , 2857.00049, Puerta_Izquierda_Abierta, 11.853)
end

function Cerrar_Puertas()
    moveObject(Puerta_Derecha, tiempo , 2857.00049, Puerta_Cerrada, 11.853)
    moveObject(Puerta_Izquierda, tiempo , 2857.00049, Puerta_Cerrada, 11.853)
end

function Llamar_ELEVADOR( theElement, matchingDimension )
    if isElementWithinColShape( localPlayer, piso2 ) then
        setElementData (source, "PISO2", false)
        if ( theElement == localPlayer ) then 
            outputChatBox( "El Elevador esta en camino para el: PISO 2",255,0,0, true)
            moveObject(Elevador, 4000 , 2856.999, -1439.36511, 24.494)

            moveObject(Puerta_Derecha, 4000 , 2856.999, Puerta_Cerrada, 24.494)
            moveObject(Puerta_Izquierda, 4000 , 2856.999, Puerta_Cerrada, 24.494)
        
            setTimer(moveObject, 6000, 1, Puerta_Derecha, 4000, 2857.00049, Puerta_Derecha_Abierta, 24.494)
            setTimer(moveObject, 6000, 1, Puerta_Izquierda, 4000, 2857.00049, Puerta_Izquierda_Abierta, 24.494)
            setTimer(moveObject, 6000, 1, Puerta_Derecha2, 4000, 2857.00049, Puerta_Derecha_Abierta, 24.494)
            setTimer(moveObject, 6000, 1, Puerta_Izquierda2, 4000, 2857.00049, Puerta_Izquierda_Abierta, 24.494)
        else
            outputChatBox( "El Elevador ya se encuentra en el piso",255,0,0, true)
        end

    elseif isElementWithinColShape( localPlayer, piso1 ) then
        setElementData (source, "PISO1", false)
        if ( theElement == localPlayer ) then 
            outputChatBox( "El Elevador esta en camino para el: PISO 1",255,0,0, true)
            moveObject(Elevador, 4000 , 2856.999, -1439.36511, 11.853)

            moveObject(Puerta_Derecha, 4000 , 2856.999, Puerta_Cerrada, 11.853)
            moveObject(Puerta_Izquierda, 4000 , 2856.999, Puerta_Cerrada, 11.853)
        
            setTimer(moveObject, 6000, 1, Puerta_Derecha, 4000, 2857.00049, Puerta_Derecha_Abierta, 11.853)
            setTimer(moveObject, 6000, 1, Puerta_Izquierda, 4000, 2857.00049, Puerta_Izquierda_Abierta, 11.853)
            setTimer(moveObject, 6000, 1, Puerta_Derecha1, 4000, 2857.00049, Puerta_Derecha_Abierta, 11.853)
            setTimer(moveObject, 6000, 1, Puerta_Izquierda1, 4000, 2857.00049, Puerta_Izquierda_Abierta, 11.853)
        else
            outputChatBox( "El Elevador ya se encuentra en el piso",255,0,0, true)
        end
    end
end
addEventHandler("onClientColShapeHit", root, Llamar_ELEVADOR)

--========== ELEVADOR ==========--
Revelación

 spacer.png

 

Edited by Nexus#
lua code
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...