![]() |
VideoWall and an Audience WIP - Printable Version +- Phoenix Garden (https://roysforum.com) +-- Forum: VX game and content (some content are compatible with V7.5) (https://roysforum.com/forum-4.html) +--- Forum: Klub 17 Mesh/Script Addon (https://roysforum.com/forum-74.html) +---- Forum: Room Addons (https://roysforum.com/forum-81.html) +---- Thread: VideoWall and an Audience WIP (/thread-602.html) |
RE: VideoWall and an Audience - trashy - 12-11-2023 (12-11-2023, 07:52 AM)OysterMug Wrote: I have 1 more large project just finished organizing, getting ready to upload V11 is next on my list RE: VideoWall and an Audience - trashy - 12-11-2023 Importing 3D objects into a Room WITH OUT HOOK 5 I have injected 3D Objects with Both Hook 4 and Hook 5 3D Objects With OUT Hook has always been on the back of my mind I got fired up when I injected the first flat screen into the StripClub Most of the better quality 3D Models available are Multi layer Mesh and Multi Texture. That's why all my first attempts failed, time after time. It has to be single layer mesh and a single texture I hesitated shareing the Stripclub and my idea for injecting Static Models There was one thing left to do and I can't do it by myself. Set position and rotation In Game! Selecting from several pre-set locations in game should be possible. So far the answer has eluded me. I was still working on the Stripclub when I decided it was time to share. Rather than trying to explain everything here is an example R9ZRoom248_Backdrop. The package contains 10 static models and a sofa. Lots of notes, explore the contents and Please Read. Only injected 2 Static Models and the Sofa in game press F12 and go to the last tab to show and hide these objects Furniture wouldn't matter but things like Wall Size Flat Screen and Static Models I will always turn OFF when room loads This will work fine but in game access to position and rotation would be much friendlier to the average user Questions answered I didn't want to maintain this download Download [To see links please log-in or register here] @OysterMug This time Imorted with AcRoom script the airplain was injected with lua update Could make a difference in v11 Mesh scripts converted with CollaTKane as a toy, it should work Have the room scripts changed in V11? RE: VideoWall and an Audience - trashy - 12-12-2023 Installed V11 and tested the Static Models Download from the post directly above Everything works including show and hide in RoomOptions The only difference is Static Models Imported with AppImport and Not Update lua script RE: VideoWall and an Audience - The End - 12-12-2023 (12-11-2023, 10:59 PM)trashy Wrote: Hook relied on LevDef files to read object location & rotation prior to loading the room. You'll probably have to do the same thing. RE: VideoWall and an Audience - The End - 12-12-2023 (12-11-2023, 10:59 PM)trashy Wrote: Hmm. doesn't seem to work. I placed all the addons in their respective folders and loaded the "empty room" retex of the Backdrop room. I then hit F12 to bring up the Customizer window, but the last tab offered nothing to turn objects on/off. Tried both VX & V11. :( Ah! You created a custom version of "Backdrop Room 248". I was reusing my own original copy. After replacing it, the mod worked just fine. Would the changes to the room have to be added to V11 so users wouldn't need to replace every room? RE: VideoWall and an Audience - trashy - 12-12-2023 (12-12-2023, 10:00 AM)OysterMug Wrote:The Models Mesh script and textures Custom.RoomObjects.....Luder\Room This is a common location can be shared by all rooms Default position and rotation set by mesh script is "0" Room script that need to be modified REQUIRED AcRoom.bs AppImport: Import The Models Mesh script into the room Update.lua: Inject the new Position and Rotation coordinates. Not Required but Important DcDress_R9ZRoom248: This is the Room Objects script allows you to show and hide Objects and of course the ActiveMod script This layout or something similar is what I'll use going forward RE: VideoWall and an Audience - daspex - 12-12-2023 (12-12-2023, 03:22 PM)trashy Wrote: Btw.,you can rotate move and switch meshes on/off via the room options tab,look at my wip project thread and download the scify room or one of marburgs last rooms to see how this works. Edit,forgot to mention that you also can change colors and brightness and stuff via the Room Options. Rotation is a bit tricky cause there isnt established automation. So you need to know the coordination values before but you can use the values out of blender for example door open/close. -- DaspexRoom201 : TheOceanLodgeWithSpaceShip if room == "Room201" then options.roomset = "Curtains Kitchen Off,Curtains Front Left Off,Curtains Front Right Off,Blanket OFF,Pillow 1 OFF,Pillow 2 OFF,Backyard Door Half/Full Open,Bathroom Door Half/Full Open,Front Door Half Open,11180%Colorize Skybox,11180%Colorize Frontwindow,11180%Colorize Pool Table,11180%Colorize Bed Set Top,11180%Colorize Spotlight,11180%Colorize Floor Carpet,11180%Colorize Kitchen Carpet,11180%Colorize JailGyno Color1,11180%Colorize JailGyno Color2,11180%Colorize Curtains" add( autoadd [[ DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Curtains Kitchen Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:wallcarpet03_wallcarpet0Shape3_1172_001_mesh"; }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Curtains Front Left Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:Wallcarpet01Left_mesh"; }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Curtains Front Right Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:Wallcarpet1Right_mesh"; }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Blanket Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:bottomsheet_1_bottomsheet_2_mesh"; }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Pillow 1 Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:pillow_mesh01_5_mesh"; }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11166++); .DressName "Pillow 2 Off"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Show I32(-1); .Target "Room:pillow_1_mesh01_6_mesh"; }; ]; }; // Rotation Stuff 1 DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11172); .DressName "Door Half Open"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(-45) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(-1.5) , F32(0) , F32(+7) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11173); .DressName "Door Open"; .DressType I32(1); .PrimaryZone :DZ_Room1+=; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(-90) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(-7.6) , F32(0) , F32(+10.9) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11174); .DressName "Door Closed"; .DressType I32(1); .PrimaryZone :DZ_Room1+=; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(0) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_Cube_001"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(0) , F32(0) , F32(0) ); }; ]; }; // Rotation Sruff 2 DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11175); .DressName "Bathroom Door Half Open"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(-45) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(+3.7) , F32(0) , F32(+6) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11176); .DressName "Bathroom Door Open"; .DressType I32(1); .PrimaryZone :DZ_Room1+=; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(-90) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(+2.4) , F32(0) , F32(+12.8) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11177); .DressName "Bathroom Door Closed"; .DressType I32(1); .PrimaryZone :DZ_Room1+=; .CmdArray [ DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(0) , F32(0) ); }; DressCmd . { .Target "Room:SDoorBoddy_CubeBathroomClosed"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(0) , F32(0) , F32(0) ); }; ]; }; // Rotation Sruff 3 DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11178); .DressName "Front Door Half Open"; .DressType I32(1); .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:SMainEntranceDoor"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(-45) , F32(0) ); }; DressCmd . { .Target "Room:SMainEntranceDoor"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(+5.8) , F32(0) , F32(-3.9) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11179); .DressName "Front Door Closed"; .DressType I32(1); .PrimaryZone :DZ_Room1+=; .CmdArray [ DressCmd . { .Target "Room:SMainEntranceDoor"; .ParamID I32(0); .Attr @ STransform .Rotation; .Value @ ( F32(90) , F32(0) , F32(0) ); }; DressCmd . { .Target "Room:SMainEntranceDoor"; .ParamID I32(0); .Attr @ STransform .Translation; .Value @ ( F32(0) , F32(0) , F32(0) ); }; ]; }; // colorize options DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Skybox Screen"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_vor-regen_3236-101_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_vor-regen_3236-101_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_vor-regen_3236-101_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Frontwindow"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_Wall1Transparent_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_Wall1Transparent_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_Wall1Transparent_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Pool Table"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201__0523_Pool_Table_v1_Diffuse_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201__0523_Pool_Table_v1_Diffuse_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201__0523_Pool_Table_v1_Diffuse_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Top Set Bed"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_BettdeckeKissen1_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_BettdeckeKissen1_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_BettdeckeKissen1_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Spotlights"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_SpotLightWhiteLamp_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_SpotLightWhiteLamp_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_SpotLightWhiteLamp_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Floor Carpet"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_material_carpet04_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_material_carpet04_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_material_carpet04_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Kitchen Carpet"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_material_carpet03_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_material_carpet03_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_material_carpet03_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize JailGyno Color1"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_HellblauStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_HellblauStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_HellblauStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize JailGyno Color2"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_BeigeStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_BeigeStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_BeigeStruktur_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; DressDescription :DressR9ZRoom201c1++_Description . { .DressID I32(11180++); .DressName "Colorize Island"; .PrimaryZone :DZ_Room1++; .CmdArray [ DressCmd . { .Target "Room:R9ZRoom201_Tr_7Moss003_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; DressCmd . { .Target "Room:R9ZRoom201_Tr_7Moss003_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorMulRGBA; .Value @ ( I32(1) , I32(1) , I32(1) , I32(1) ); }; DressCmd . { .Target "Room:R9ZRoom201_Tr_7Moss003_001_tex2d"; .ParamID I32(0); .Attr @ TransformLayer .ColorAddHSV; .Value @ ( I32(0) , I32(0) , I32(0) ); }; ]; }; ]] ) end RE: VideoWall and an Audience - The End - 12-12-2023 (12-12-2023, 03:22 PM)trashy Wrote: Try putting the modded lines for the Backdrop Room switches tab in a separate addon so the switches will always load regardless of room. That would be a big step toward a Universal Room Objects mod that lets users add objects to any room. RE: VideoWall and an Audience - daspex - 12-12-2023 (12-12-2023, 04:45 PM)OysterMug Wrote: It would be possible if the roomname could be a wildcard.The game is allways looking for scripts in “VX.RoomOptions“ in the addon folder. RE: VideoWall and an Audience - The End - 12-12-2023 (12-12-2023, 07:01 PM)Daspex Wrote: Hmm. No wildcards. But I know other mods add tabs, so there must be a way to do it. ![]() |