- STEAM_0:0:131115464
-
- e2coder
-
Дверь из фолыча:
Код:@name Miniature Vault @persist [ Begin Ind Tick Foward ]:number @persist [ Access Opening Right Rotary ]:number @persist [ DoorMat WallMat Openkey CloseKey ]:string @persist [E O]:entity # settings ######## OpenKey = "T" CloseKey = "G" # /settings ####### interval(100) if(changed(first())){ Begin = 1 E=entity() O=owner() } if(Begin == 1){ Tick = Tick + 1 }else{ Tick = 0 } if(Tick == 100 ){ Begin = 0 } #print(Tick) function holka(#Ind:number, HPos:vector, HParent:entity, HScale:vector, HAng:angle, HModel:string, HColor:vector, HMaterial:string ){ Ind++ holoCreate(Ind) holoPos(Ind,HParent:toWorld(HPos)) holoParent(Ind,HParent) holoScale(Ind,HScale) holoAng(Ind,HAng) holoModel(Ind,HModel) holoColor(Ind,HColor) holoMaterial(Ind,HMaterial) } if(Tick == 10){ DoorMat = "models/props_canal/canal_bridge_railing_01c" WallMat = "models/props_canal/canal_bridge_railing_01a" #Door holka(vec(0,0,75),E,vec(3,3,0.7),ang(90,0,90),"hq_tube",vec(111),DoorMat) holka(vec(0,0,0),holoEntity(1),vec(2.99,2.99,0.3),ang(90,0,90),"hq_cylinder",vec(111),DoorMat) holka(vec(0,0,-4),holoEntity(1),vec(1,1,0.35),ang(90,0,90),"hq_cylinder",vec(218, 218, 60),DoorMat) #Proem holka(vec(0,0,75),E,vec(4.09,4.09,1.51),ang(90,0,90),"hq_tube_thin",vec(218, 218, 60),WallMat) #walls holka(vec(25,0,0),holoEntity(4),vec(5,11,0.1),ang(0,90,0),"hq_box",vec(218, 218, 60),WallMat) holka(vec(-25,0,0),holoEntity(4),vec(5,11,0.1),ang(0,90,0),"hq_box",vec(218, 218, 60),WallMat) holka(vec(0,45,0),holoEntity(4),vec(1.5,3.5,4.1),ang(0,90,0),"hq_box",vec(218, 218, 60),WallMat) holka(vec(0,-45,0),holoEntity(4),vec(1.5,3.5,4.1),ang(0,90,0),"hq_box",vec(218, 218, 60),WallMat) } if(Tick == 20){ #Door holka(vec(0,0,4),holoEntity(1),vec(1,1,0.35),ang(90,0,90),"hq_tube",vec(111),DoorMat) #manipulator holka(vec(0,0,45),holoEntity(4),vec(0.8,0.8,1),ang(90,0,90),"hq_cylinder",vec(0),WallMat) #number holka(vec(-1,0,-5.1),holoEntity(1),vec(0.7),ang(0,0,0),"models/sprops/misc/alphanum/alphanum_a.mdl",vec(0),WallMat) } if(Tick == 15){ for(I = 100,118){ holoCreate(I) X = ( (360/9) *I )+ 30 Z=19 holoScale(I,vec(0.69,0.69,0.49)) holoModel(I,"prism") holoPos(I,holoEntity(1):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(90+X,0,0)) holoMaterial(I,DoorMat) holoColor(I,vec(111)) holoParent(I,holoEntity(1)) } } if(Tick == 20){ for(I = 200,218){ holoCreate(I) X = ( (360/9) *I )+ 30 Z=19 holoScale(I,vec(0.3,0.68,0.5)) holoModel(I,"cube") holoPos(I,holoEntity(1):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(90+X,0,0)) holoMaterial(I,DoorMat) holoColor(I,vec(111)) holoParent(I,holoEntity(1)) } } if(Tick == 25){ for(I = 300,318){ holoCreate(I) X = ( (360/9) *I )+ 30 Z=10 holoScale(I,vec(0.3,0.68,1)) holoModel(I,"cube") holoPos(I,holoEntity(1):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(90+X,0,0)) holoMaterial(I,DoorMat) holoColor(I,vec(111)) holoParent(I,holoEntity(1)) } } # lines if(Tick == 30){ for(I = 400,418){ holoCreate(I) X = ( (360/9) *I )+10 Z=21 holoScale(I,vec(0.4,1.5,1)) holoModel(I,"cube") holoPos(I,holoEntity(4):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(X,0,0)) holoMaterial(I,WallMat) holoColor(I,vec(218, 218, 60)) holoParent(I,holoEntity(4)) } } if(Tick == 35){ for(I = 500,518){ holoCreate(I) X = ( (360/9) *I )+10 Z=18 holoScale(I,vec(0.2,1.49,0.7)) holoModel(I,"cube") holoPos(I,holoEntity(4):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(X,0,0)) holoMaterial(I,WallMat) holoColor(I,vec(218, 218, 60)) holoParent(I,holoEntity(4)) } } # wall angles if(Tick == 45){ for(I = 800,818){ holoCreate(I) X = ( (360/4) *I )+45 Z=28 holoScale(I,vec(2.4,1.49,1.3)) holoModel(I,"prism") holoPos(I,holoEntity(4):toWorld( vec( sin(X)*Z,cos(X)*Z,0))) holoAng(I,ang(90+X,0,0)) holoMaterial(I,WallMat) holoColor(I,vec(218, 218, 60)) holoParent(I,holoEntity(4)) } } if( changed(Tick == 50) ){ holoCreate(420) holoCreate(520) holoColor(420,vec(218,218,60)) holoColor(520,vec(218,218,60)) holoMaterial(420,WallMat) holoMaterial(520,WallMat) holoScale(420,vec(0.55,1.5,1)) holoScale(520,vec(0.2,1.49,0.7)) holoPos(420,holoEntity(407):toWorld(vec(0.9,-18,0))) holoPos(520,holoEntity(506):toWorld(vec(0,-18,0))) holoAng(420,holoEntity(407):angles()) holoAng(520,holoEntity(506):angles()) } if(O:keyPressed(OpenKey) & Access == 0){ Access = 1 } if(Access == 1){ Opening = Opening + 1 }elseif(Access == 2){Opening = 45 Access = 3} if(Access == 1 & Opening == 45){ Opening = 45 holoParent(1,10) Access = 2 } if(Access == 3){ Opening = Opening - 1 } if(Access == 3 & Opening == 25){ Opening = 25 Access = 4 } if(Access == 4){ Right = Right + 1 Rotary = Rotary + 2} if(Access == 4 & Right == 45){ Right = 44 Rotary = 90 holoParent(1,E) Access = 5} if(Access == 5){ Opening = Opening - 1 } if(Access == 5 & Opening == -20){ Opening = -20 print("Full") Access = 6} holoPos(10,holoEntity(4):toWorld(vec(0,Right,45-Opening))) holoAng(1,ang(90+Rotary,0,90)) if(O:keyPressed(CloseKey) & Access == 6){ Access = 7 } if(Access == 7){ Opening = Opening + 1 } if(Access == 7 & Opening == 25){ Opening = 25 holoParent(1,10) Access = 8 } if(Access == 8){ Right = Right - 1 Rotary = Rotary - 2 } if(Access == 8 & Right == 0){ Right = 0 Rotary = 0 Access = 9 } if(Access == 9){ Opening = Opening + 1 } if(Access == 9 & Opening == 45){ Opening = 45 holoParent(1,E) Access = 10 } if(Access == 10){ Opening = Opening - 1 } if(Access == 10 & Opening == 0){ Opening == 0 print("Full") Access =0}
Код:@name window test @persist [I] User:entity Cursor:vector2 @persist [Background,Panel,Plate,Button,Window,WindowKontur,WindowXbox]:number @persist [WindowXtext]:number @persist @inputs E:wirelink @inputs @outputs @outputs if(first()){ EE=entity() FindInSphere=findInSphere(EE:pos(),30) findIncludeClass("entity") FindEGP = find() AutoLink = EE:createWire(FindEGP,"E","wirelink") } if(AutoLink == 1){ E:egpClear() } ######################################################################## interval(50) Background = 1 GlobalTextBox = 2 GlobalTextLines = 3 GlobalText = 4 Panel = 5 PanelKontur = 6 WindowButton = 7 #button Window = 8 WindowKontur = 9 WindowXbox = 10 #button WindowXtext = 11 SensorChest = 12 #button SensorChestText = 13 ChestBoxOnScreen = 14 ChestOPEN = 15 ChestOPENtext = 16 ChestCLOSE = 17 ChestCLOSEtext = 18 ChestGate = 19 User = E["User",entity] Cursor = E:egpCursor(User) if(first()){ EE = E:entity() } ######################################################################## function panel(){ #background E:egpBox(Background,vec2(256,256),vec2(512,512)) E:egpColor(Background,vec(15,15,25)) #GlobalTextBox E:egpBoxOutline(GlobalTextBox,vec2(256,15),vec2(512,30)) E:egpColor(GlobalTextBox,vec(255,15,25)) #GlobalTextLines E:egpBoxOutline(GlobalTextLines,vec2(256,15),vec2(200,30)) E:egpColor(GlobalTextLines,vec(255,15,25)) #GlobalText E:egpText(GlobalText,"Shindools Corporation",vec2(175,8)) E:egpColor(GlobalText,vec(255,15,25)) #Panel E:egpBoxOutline(Panel,vec2(256,487),vec2(512,50)) E:egpColor(Panel,vec(50,15,15)) #PanelKontur E:egpBox(PanelKontur,vec2(256,487),vec2(510,48)) E:egpColor(PanelKontur,vec(25,15,15)) #WindowButton E:egpBox(WindowButton,vec2(26,488),vec2(45)) E:egpColor(WindowButton,vec(50,255,50)) } function number wirelink:windowB(Cursor:vector2,ID:number){ local BPOS = This:egpPos(ID) local BSIZE = This:egpSize(ID)/2 local Inrange = inrange(Cursor,BPOS - BSIZE,BPOS + BSIZE) Pressed = Inrange & User:keyUse() return Pressed } if(first()) { E:egpClear() #power on panel() } function window(){ #Window E:egpBox(Window,vec2(50,361),vec2(100,200)) E:egpColor(Window,vec(50,50,100)) #WindowKontur E:egpBoxOutline(WindowKontur,vec2(50,361),vec2(100,200)) E:egpColor(WindowKontur,vec(255,0,0)) #WindowXbox E:egpBox(WindowXbox,vec2(93,269),vec2(13)) E:egpColor(WindowXbox,vec(100)) #WindowXtext E:egpText(WindowXtext,"X",vec2(88,259)) E:egpColor(WindowXtext,vec(255,0,0)) #SensorChest E:egpRoundedBox(SensorChest,vec2(50,300),vec2(80,20)) E:egpColor(SensorChest,vec(20,20,35)) #SensorChestText E:egpText(SensorChestText,"Chest",vec2(30,290)) E:egpColor(SensorChestText,vec(30,30,150)) } if(E:windowB(Cursor,WindowButton)) { window() #window button } function number wirelink:windowX(Cursor:vector2,ID:number){ local BPOS = This:egpPos(ID) local BSIZE = This:egpSize(ID)/2 local Inrange = inrange(Cursor,BPOS - BSIZE,BPOS + BSIZE) Pressed = Inrange & User:keyUse() return Pressed } function number wirelink:chestButton(Cursor:vector2,ID:number){ local BPOS = This:egpPos(ID) local BSIZE = This:egpSize(ID)/2 local Inrange = inrange(Cursor,BPOS - BSIZE,BPOS + BSIZE) Pressed = Inrange & User:keyUse() return Pressed } if(E:windowX(Cursor,WindowXbox)) { E:egpClear() panel() #X window button } # EE = E:entity() Angles = EE:angles()#+ang(0,90,90) function chest(){ #ChestBoxOnScreen E:egpBox(ChestBoxOnScreen,vec2(390,250),vec2(200,350)) E:egpColor(ChestBoxOnScreen,vec(50,50,100)) #ChestOPEN E:egpRoundedBox(ChestOPEN,vec2(330,100),vec2(60,20)) E:egpColor(ChestOPEN,vec(60,60,200)) #ChestOPENtext E:egpText(ChestOPENtext,"Open",vec2(310,90)) E:egpColor(ChestOPENtext,vec(255)) #ChestCLOSE E:egpRoundedBox(ChestCLOSE,vec2(330,130),vec2(60,20)) E:egpColor(ChestCLOSE,vec(60,60,200)) #ChestCLOSEtext E:egpText(ChestCLOSEtext,"Close",vec2(310,120)) E:egpColor(ChestCLOSEtext,vec(255)) #ChestGate E:egpBox(ChestGate,vec2(420,250),vec2(120,330)) E:egpColor(ChestGate,vec(25,25,70)) #[ holoCreate(1) holoModel(1,"models/props_c17/FurnitureDrawer001a_Chunk02.mdl") #EE = E:entity() holoAng(1,ang(0,90,90)) holoScale(1,vec(2)) holoPos(1,EE:toWorld(vec(-23,10,-30))) holoMaterial(1,"phoenix_storms/wood_dome") holoColor(1,vec(15,15,55)) holoShadow(1,0) ]# } if(E:windowX(Cursor,SensorChest)) { E:egpClear() panel() chest() #chest button } #[ function chestOPEN(){ if( OpenDistance == 0 & ) } +vec chestOPEN() ]#
- Хочу доступ к E2P
Последнее редактирование: