Hop til indhold
Stavox

Detect af doors


Expel

Recommended Posts

Ved outputs skriver du Fade, så wire du din smart door med E2'en. Når det er gjort lave du en boks.

Hvis Fade = 1 så er smartdoor'en åben, er Fade = 0 så er den lukket.

 

if(Fade == 1) {

        EGP:egpColor(1,vec4(0,255,0,255))

}elseif(Fade == 0){

       EGP:egpColor(1,vec4(255,0,0,255))

}

 

tror det er noget lignende det der.

Link til kommentar
Del på andre sites

Ok 

@Scaled eller @Mic kan i prøve at forklare mig hvad jeg skal skrive i mit if statement

fordi min siger fejl vedrørende "No such function: number:isFaded(void) at line 58, char 15"

det her er min kode

 

@name Base kontrol
@inputs EGP:wirelink User:entity
@outputs Printer Raiddoor1
@persist VRaiddoor1
@trigger 

function number entity:isFaded() {
    return This:getMaterial() == "sprites/heatwave"
}

function number wirelink:egpButton(Index:number,Player:entity){
 Pos=This:egpPos(Index)
 Size=This:egpSize(Index)/2
 return inrange(This:egpCursor(Player),Pos-Size,Pos+Size)
}

function home(){
 EGP:egpClear()
 EGP:egpBox(1, vec2(256,206), vec2(700,700))
 
 #box 1
 EGP:egpBox(2, vec2(256,100), vec2(350,150))
 EGP:egpColor(2,50,50,50,250)
 EGP:egpBox(3, vec2(256,39), vec2(350,25))
 EGP:egpColor(3,0,0,0,250)
 EGP:egpText(8,"D"+oe()+"re", vec2(230,25))
 EGP:egpSize(8,25)
 
 #box 2
 EGP:egpBox(4, vec2(256,256), vec2(350,150))
 EGP:egpColor(4,50,50,50,250)
 EGP:egpBox(5, vec2(256,195), vec2(350,25))
 EGP:egpColor(5,0,0,0,250)
 EGP:egpText(9,"Adgang", vec2(215,180))
 EGP:egpSize(9,25)
 
 #box 3
 EGP:egpBox(6, vec2(256,412), vec2(350,150))
 EGP:egpColor(6,50,50,50,250)
 EGP:egpBox(7, vec2(256,352), vec2(350,25))
 EGP:egpColor(7,0,0,0,250)
 EGP:egpText(10,"Lockdown", vec2(215,337))
 EGP:egpSize(10,25)
}



function doors(){
 EGP:egpClear()
 EGP:egpBox(1, vec2(256,206), vec2(700,700))
 
 EGP:egpBox(2, vec2(256,100), vec2(350,40))
 EGP:egpColor(2,50,50,50,250)
 EGP:egpText(9,"Raid d"+oe()+"r 1", vec2(100,90))
 EGP:egpSize(9,25)
 EGP:egpBox(10, vec2(270,100), vec2(60,30))
 EGP:egpBox(11, vec2(375,100), vec2(60,30))
 if(Raiddoor1:isFaded()){
  print("hej")   
 }


 
 EGP:egpBox(3, vec2(256,150), vec2(350,40))
 EGP:egpColor(3,50,50,50,250)
 
 EGP:egpBox(4, vec2(256,200), vec2(350,40))
 EGP:egpColor(4,50,50,50,250)
 
 EGP:egpBox(5, vec2(256,250), vec2(350,40))
 EGP:egpColor(5,50,50,50,250)
 
 EGP:egpBox(6, vec2(256,300), vec2(350,40))
 EGP:egpColor(6,50,50,50,250)
 
 EGP:egpBox(7, vec2(256,350), vec2(350,40))
 EGP:egpColor(7,50,50,50,250)
 
 EGP:egpBox(8, vec2(256,400), vec2(350,40))
 EGP:egpColor(8,50,50,50,250)
}

if(first()){
 home() 
}

if(EGP:egpButton(2,User)){
 doors()
}

ved godt at koden måske er lidt shit men er ikke så god til e2 igen.

Link til kommentar
Del på andre sites

18 minutter siden, ibex123 skrev:

Ok 

@Scaled eller @Mic kan i prøve at forklare mig hvad jeg skal skrive i mit if statement

Hvis du bruger den funktion jeg har skrevet kan du f.eks. bare skrive følgende for at finde ud af om Prop er faded - og prop skal være en entity.

if(Prop:isFaded()) {
	print("yes")
}

 

Link til kommentar
Del på andre sites

35 minutter siden, ibex123 skrev:

ok @Scaled nu siger den ikke fejl med den detecter stadig ikke om døren er åben eller ej

@Scaled jeg kan ikke linke min smart door op til min e2 når den er sat som et entity i @outputs

Den jeg gav dig in-game for lidt siden virker - hvis den ikke virker for dig er det fordi, at du gør noget andet forkert, men jeg ved ikke hvad.

Jeg testede den på både smart door og fading door og der var ingen problemer overhovedet. Den printede "yes" så snart døren var åben.

Link til kommentar
Del på andre sites

@ibex123


@inputs P:entity

if ( first() )
{
    
    function number entity:isFaded()
    {
        return This:getMaterial() == "sprites/heatwave"
    }
    
    
    
}

if ( P:isFaded() )
{
    print( P:isFaded() )
}

interval(500)

Hvis du gør brug af Scaled's function som virker perfect, skal du bare lige huske at den ikke opdatere E2'en.

Hvis du gør brug af det eksempel jeg har skrevet opdatere E2'en 2 gange i sekundet, pga. intervallet i bunden.

Hvorimod hvis du brugte en ranger ville den gøre det for dig, hvis det giver mening. Men scaled funktion er sejere end at bruge en ranger så lad være med det.

 

--------------------

 

@name Base kontrol
@inputs EGP:wirelink User:entity Raiddoor1:entity
@outputs Printer
@persist VRaiddoor1
if ( first() )
{
    
    function number entity:isFaded()
    {
        return This:getMaterial() == "sprites/heatwave"
    }
    function number wirelink:egpButton(Index:number,Player:entity)
    {
        Pos=This:egpPos(Index)
        Size=This:egpSize(Index)/2
        return inrange(This:egpCursor(Player),Pos-Size,Pos+Size)
    }
    
    function void home()
    {
        EGP:egpClear()
        EGP:egpBox(1, vec2(256,206), vec2(700,700))
        
        #box 1
        EGP:egpBox(2, vec2(256,100), vec2(350,150))
        EGP:egpColor(2,50,50,50,250)
        EGP:egpBox(3, vec2(256,39), vec2(350,25))
        EGP:egpColor(3,0,0,0,250)
        EGP:egpText(8,"D"+oe()+"re", vec2(230,25))
        EGP:egpSize(8,25)
        
        #box 2
        EGP:egpBox(4, vec2(256,256), vec2(350,150))
        EGP:egpColor(4,50,50,50,250)
        EGP:egpBox(5, vec2(256,195), vec2(350,25))
        EGP:egpColor(5,0,0,0,250)
        EGP:egpText(9,"Adgang", vec2(215,180))
        EGP:egpSize(9,25)
        
        #box 3
        EGP:egpBox(6, vec2(256,412), vec2(350,150))
        EGP:egpColor(6,50,50,50,250)
        EGP:egpBox(7, vec2(256,352), vec2(350,25))
        EGP:egpColor(7,0,0,0,250)
        EGP:egpText(10,"Lockdown", vec2(215,337))
        EGP:egpSize(10,25)
    }
    
    function doors()
    {
        EGP:egpClear()
        EGP:egpBox(1, vec2(256,206), vec2(700,700))
        
        EGP:egpBox(2, vec2(256,100), vec2(350,40))
        EGP:egpColor(2,50,50,50,250)
        EGP:egpText(9,"Raid d"+oe()+"r 1", vec2(100,90))
        EGP:egpSize(9,25)
        EGP:egpBox(10, vec2(270,100), vec2(60,30))
        EGP:egpBox(11, vec2(375,100), vec2(60,30))
        
        EGP:egpBox(3, vec2(256,150), vec2(350,40))
        EGP:egpColor(3,50,50,50,250)
        
        EGP:egpBox(4, vec2(256,200), vec2(350,40))
        EGP:egpColor(4,50,50,50,250)
        
        EGP:egpBox(5, vec2(256,250), vec2(350,40))
        EGP:egpColor(5,50,50,50,250)
        
        EGP:egpBox(6, vec2(256,300), vec2(350,40))
        EGP:egpColor(6,50,50,50,250)
        
        EGP:egpBox(7, vec2(256,350), vec2(350,40))
        EGP:egpColor(7,50,50,50,250)
        
        EGP:egpBox(8, vec2(256,400), vec2(350,40))
        EGP:egpColor(8,50,50,50,250)
    }

    home()
}

if(EGP:egpButton(2,User))
{
    doors()
}

if( Raiddoor1:isFaded() )
{
    print("Doeren er aaben")
}
interval(500)

Det er din E2, med funktionen. Det er bare ikke så smart at have et interval kørende, da det bruger mange serverresourcer når du bruger det i størrere E2'er.

Hvordan er det du vil bruge E2'en? Du må jo ikke have en indicator der siger, hvis din dør er åben, da det er imod regel 3.30

Link til kommentar
Del på andre sites

16 timer siden, ibex123 skrev:

hvordan får jeg en e2 til at tjekke om en dør(smart door eller fading door) er åben eller om den er lukket. altså skal have en box til at være rød hvis den er åben og grøn hvis den er åben

Har lavet denne e2 som du er velkommen til at bruge. Hvis du vil lave et andet design skal du nok lige lave nogen flere timers i den.

 

 

Link til kommentar
Del på andre sites

Arkiveret

Dette emne er nu arkiveret og er lukket for yderligere svar

Gæst
Dette emne er nu lukket for yderligere svar
×
×
  • Tilføj...

COOKIE- OG PRIVATLIVSPOLITIK PÅ STAVOX.DK

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privatlivspolitik - Vilkår for brug.