JDog 11 Posted July 2, 2010 (edited) I tried hitting "E" with the flight deck selected to make it use a separate file but it just made the whole model semi-transparent in O2. Edit: K well I need a couple days break from this before I lose interest in it. The animations and textures are driving me up a wall. Edited July 2, 2010 by JDog Share this post Link to post Share on other sites
[aps]gnat 28 Posted July 3, 2010 The animations and textures are driving me up a wall. hehehe ... yep that happens. Take a break :cool: Share this post Link to post Share on other sites
JDog 11 Posted August 7, 2010 Alright I'm back, took a little longer than expected but hopefully I can get this finished this time. Played with it some more today, texture-wise. I got it working for the most part, figured out some stuff I was wondering about before. I just want to make a "good-enough" texture for it, this being my first model I'm def not up to (or have the patience for) making a kick-ass one. Here's a new problem: Everything works fine for me but I gave the pbo to a friend to check it out with me, and he couldn't load the textures because it was pathed to the folder on my computer I work on this out of. I can't seem to make the paths relative either, or at least they aren't working in Buldozer. Any help? Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 7, 2010 Textures need to be inside your project folder, same place as the p3d file and config etc When youre in O2, every texture reference must be to your project / P drive. Share this post Link to post Share on other sites
JDog 11 Posted August 7, 2010 (edited) I see, guess I'll try and reorganize it. I've been operating out of a folder on my desktop with everything in it for quick access. textures have their own subfolder within that one. As far as testing it goes, works fine for me, but apparently only for me :) I'll try setting it up in the P drive then. Edit: Cool that did it. I'll finish up the textures and then move on to the nightmare that is animating in arma. Edited August 7, 2010 by JDog Share this post Link to post Share on other sites
JDog 11 Posted August 8, 2010 Yeeeeaaa... I don't have the patience nor the skills in any paint editing program to texture this thing that well. Think I'll just get the scripts/animations for it done and release it, maybe someone else will be brave enough to texture it lol. Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 8, 2010 Its nice work mate. I'm sure someone might step forward once a release comes near, or after first release. Just make sure your maping the model with just a few large textures that some else can update easy. Share this post Link to post Share on other sites
JDog 11 Posted August 8, 2010 (edited) So I have all the pieces spawning together off a user-placed spawn point. However, I can't seem to move it at all before or after it spawns. It takes the coordinates of the spawn point and spawns there, but I can't figure out how to adjust elevation so it sits properly on the ocean. Also having issues with it aligning to underwater terrain. I tried using "setVectorUp[0,0,1]" on the spawn point before spawning the ship but that didn't do it either. Seems I can't attach the pieces to the spawnpoint either. Edited August 8, 2010 by JDog Share this post Link to post Share on other sites
JDog 11 Posted August 8, 2010 I'm getting this error. I can't figure out how to remedy that. I think I'm doing it right, this is supposed to be the place-able object in the editor that everything else spawns off of: Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 9, 2010 Your init (a eventhandler) is meant to be inside its own class, with other event handlers; class EventHandlers { init = ............. }; Share this post Link to post Share on other sites
JDog 11 Posted August 9, 2010 That worked but I also ended up having to put 2 double quotes around the script: init = "spawn = _this execVM ""\JDOG_carrier\scr\init.sqf"";"; The only thing left is that I can't figure out how on earth to make it so that I can change it's direction/elevation. Nothing works on it. If I convert it from StaticShip to Ship, I can toy with it... but then it doesn't assemble correctly :( Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 11, 2010 Did you check the Kuznetsov scripts as I suggested? In particular the "init.sqf" Share this post Link to post Share on other sites
JDog 11 Posted August 11, 2010 Yes, but quite honestly I didn't know what each class was model-wise (the naming was awkward to someone who doesn't already know), it did a fair job of throwing me off. I'll check again tomorrow when I get back home I suppose but it isn't the easiest script to understand :D Share this post Link to post Share on other sites
JDog 11 Posted August 14, 2010 Hmm I'm about out of questions as far as the model goes, haven't given another shot at animation quite yet but here's a good one that I'm hoping there's a "yes" for.... Is it possible in any way to call upon a point/named selection in the memory LOD via script? For example if I want to properly position a jet before takeoff... could I put a vertex/selection in a spot in O2 named "takeoffPos", and then somehow call upon that selection to retrieve its position and apply it to the jet in-game? This would save me tons of time doing trial-and-error to get the position right via attachTo when I get to that point, and not just for jet positions. Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 14, 2010 Is it possible in any way to call upon a point/named selection in the memory LOD via script? For example if I want to properly position a jet before takeoff... could I put a vertex/selection in a spot in O2 named "takeoffPos", and then somehow call upon that selection to retrieve its position and apply it to the jet in-game? Yes. Place the named point in the Memory load. You could also do this for Elevator and Park positions, along with some positions for crew on the deck or island. position.sqf //---------------------------------------- //script by Gnat //---------------------------------------- // if you use it, credit me as appropraite //---------------------------------------- // Usage; // xx = [MyF18, MySHIP, "TakeOff1"] execVM "\MyShip\position.sqf" //---------------------------------------- private["_veh","_ship","_posit"]; _veh = _this select 0; _ship = _this select 1; _posit = _this select 2; _veh setposasl (_ship modeltoworld (_ship selectionposition _posit)); Share this post Link to post Share on other sites
JDog 11 Posted August 14, 2010 Awesome thanks, yea I can think of a lot to use it for. Vehicle park/catapult positions, arrestor cable positions, camera positions, etc. I'll try it out tomorrow. Share this post Link to post Share on other sites
JDog 11 Posted August 14, 2010 (edited) Hmm, since its multiple models I guess I'll just have to adapt it for that... make it so that each section of the ship is spawned with a global name I can use in this. Edit: Getting a weird problem. I put the point in the memory LOD of the .p3d that contains the resolution LOD also. In-game.. the geometry/roadways are still in place but the resolution goes to the sea floor, as does the memory lod which shares the same file. Maybe I'll try making one .p3d to hold all the memory points, since I would assume the 50x50x50 limit shouldn't matter in that since you aren't walking on/seeing it. Edit: Yea I just thought... gonna have to change my spawn script anyway. If I'm going to have animations, going to need name-variables in the global namespace for those. My spawn script is about to triple in length I think. Semi-fixed: Seems that even in its own separate .p3d it still persists. It doesn't seem the take the height coordinate of the point, that or the game resets it to the "world floor". Anyway, just adding 1 little setPos line after your script fixes it. Thanks. Edited August 14, 2010 by JDog Share this post Link to post Share on other sites
JDog 11 Posted August 16, 2010 Any usual reasons for stuttered animations? Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 17, 2010 Stuttering / jerky Animation; I was stuck with the problem for YEARS, but youre lucky, recently Mondkalb found the fix and posted it here. http://forums.bistudio.com/showthread.php?t=64969&page=5 And yes, a special Attachto script would be the best way to immobilize anything (including people) on the elevator until it reachs the top or bottom of its travel. TIP: If you are having trouble getting UserActions to appear for players, you will likely have to place some VIEW GEOMETRY near the memory point / near where the player may be facing (either on the deck or in a plane), so the game-engine throws up the action on-screen. Share this post Link to post Share on other sites
JDog 11 Posted August 17, 2010 I used to have the elevators as part of the carrier section models, I tried making one its own model so I could use attachTo with it but doesn't seem to work. If the elevator goes down while the plane is bobbing around (like the first 2 seconds after it spawns) the plane will go down with it. But once the plane's model has "settled" it won't move. I've tried making a "setPos" loop that slowly lowers the plane with the elevator, but it's almost like after the first second or two it picks up speed and goes into the ocean. Idk... Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 17, 2010 Probably need to use the memory point locations, linked to the elevator, and using a loop to keep a item close relative to the memory point. From memory, if the engine is running the vehicle will follow the elevator. So another possible solution is put fake drivers in each vehicle and start the engine while the elevator is moving. ....... unfortunately OFP/ArmA/OA was never designed for moving platforms or cargo areas. Share this post Link to post Share on other sites
JDog 11 Posted August 17, 2010 (edited) Engine being on doesn't do it. The pilot has to move, any small fraction of a nanometer will suffice. It's a minor inconvenience for players, I'm not gonna waste a whole bunch of time on it with plenty left to do. Hopefully I'll get it figured out eventually, hopefully... For the "position" value in the UserActions in the config.cpp... can it be a point in memory? If it can I'm just doin something else wrong, cuz it doesnt seem to be working for the elevator's named selection either. This is what I'm trying: class UserActions { class Elevator1Down { displayName = "Elevator Down"; position = "E1Top"; onlyforplayer = 0; radius = 7; condition = "this animationPhase ""ani_Elev1"" < 0.1"; statement = "this animate [""ani_Elev1"",-10.15]"; }; }; Edited August 17, 2010 by JDog Share this post Link to post Share on other sites
[aps]gnat 28 Posted August 17, 2010 I'm not gonna waste a whole bunch of time on it with plenty left to do. Hopefully I'll get it figured out eventually Yes, you have to be careful with 1 man project, stuff like that will send you crazy and completely put you off the project. As you said, minor inconvenience. My advice, attack the main stuff, don't let the project drag on too long (these forums are FULL of projects that went a couple months, then was never hear of again), get your first Beta out, take a small break, then go again after you get the community feedback. You'll feel better about the development cycle that way. For the "position" value in the UserActions in the config.cpp... can it be a point in memory? Huh? Thats what its meant to be. A named memory point in the memory lod. Also as I suggested, you need some view geometry nearby it (even just a cube hanging in space (that you never actually see)) to "activate" the point. ---------- Post added at 07:11 PM ---------- Previous post was at 06:59 PM ---------- FYI, something that may help when moving scripting context from one addon (that might have all the memory points and UserActions) to other nearby addon (that may actually contain something you need to animate, or other). _ship = _this select 0; _elevator1 = nearestobject [_ship, "JDG_elev1"]; _elevator2 = nearestobject [_ship, "JDG_elev2"]; etc etc nearestobject only has a seek radius of 50meters, but there are other similar commands that can seek further. nearObjects nearestObjects Share this post Link to post Share on other sites
JDog 11 Posted August 17, 2010 (edited) Wow that 2nd to last sentence threw me for a loop, had to read it multiple times. I THINK you're saying if I want to move one memory point to the other. How I have it set up right now is each section has its own memory points it needs for the animations, and then there's a single gargantuan model that is nothing but memory points for spawn positions, catapult positions, and eventually lights. I'll give that ViewGeometry thing a shot in a few minutes. Update: So I put a 3x3x3m box in the ViewGeometry LOD, in the exact position of the memory point, with the same name. No action. Hmmm... Edited August 17, 2010 by JDog Share this post Link to post Share on other sites
JDog 11 Posted August 22, 2010 (edited) Alright so, gave the actions another shot today, cannot figure it out for the life of me. Here's what I got: Within the model that has Elevator 1... there is a point in the memory LOD called "E1Top", and both a point and a 1m box also called "E1Top" in the view geometry LOD in the exact same position. The animations work fine when called by a script, and I tested the condition of the user action to make sure it works, and it returns true. I also have 'source="user";' in the model.cfg for it. For some reason I can't get it to appear. class AnimationSources { class ani_Elev1 { source="user"; animPeriod=3; initPhase=0; }; }; class UserActions { class Elevator1Down { displayName = "Elevator Down"; position = "E1Top"; radius = 7; condition = "this animationPhase ""ani_Elev1"" < 0.1"; statement = "this animate [""ani_Elev1"",-10.15]"; onlyforplayer = true; }; }; Also a quick, possibly related aside... don't think I can get lights working either. Assuming I'm just supposed to put down vertices as named selections under the name of the lights, anyway. I think I tried including the light classes also, idk was a few days ago. EDIT: Yea, gave lights another shot, still no go. I tried adding "class MarkerLights {};" to the base class each piece inherits from also. I would venture to say I'm doing something wrong with the mem lod since I can't get either lights or userActions to work, but the axes for the animations work just fine :-\ Also for the record, all the mempoints like my TestLight one and my E1Top are spawning in the correct position too, after testing each one with setPos on myself. And just because it popped into my head... the classname of each piece doesn't have to be the same as the .p3d name for stuff to work does it? Edited August 23, 2010 by JDog Share this post Link to post Share on other sites