Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by Skelt

  1. I've been using Arma Edit for a few months now, and last night, well, this morning I was running through some scripts and for some reason my arma edit simply stopped working. It would act as if it was going to load, it would show the program was active on my windows hot bar, but the program would not "maximize". I tried repairing the program, but the end fix was a to remove/reinstall the program. TL/DR:: After opening 5+ scripts (open:change:save:close) arma edit stopped working entirely. I'm just curious why this happened? Has this happened to you?
  2. Hello, I am creating a mission which has a specific need to overhaul the way accuracy works. In short, I need to create an aimbot script. I am having some trouble finding a good starting point for the script and hope you guys could share some pseudocode with your thoughts of the best way to implement it. basically I am trying to: while the player is alive or in some main game loop: -gather enemies which are around the player <=100 meters and near the player's cursor. -firedEvent handler (I would think) to essentially re-aim the projectile -- It would be easy to just set the targets health to 1.. but then you could visually miss, and still kill an enemy, which is bad juju. Edit 2: Is there a way to raycast from the player? I have seen some scripts that appear to just turn your character to the enemy.. and that unfortunately is not enough, I need something that truly makes you accurate. ie: call bis_fnc_dirTo //is not enough I would not suggest posting real functional code to this thread and rather keep it more theoretical, with more thorough explanation and working code in private message, just because this type of code can be detrimental to online play in the right hands. If you absolutely must know:
  3. Thanks Beerkan, those are a huge help! I am going to continue to research this before I start. I hope others may also include more implementation theories they may have, what eventHandler, bis functions, specific scripting commands they may use, and when/what they would detect, overall just general logic and or pseudocode. Thanks again, you've been a great help already Beerkan.
  4. Thanks Beerkan, but what if the projectile misses the target? I am going to start with 100% accuracy to enemy units within the players cursor, then from there, create a further algorithm to control hits / misses. I guess there is no point in conceiling the reasoning behind this script as I did with a spoiler in my first post, I am making a mission that uses mechanics similar to an RTS (Real Time Strategy) type game. Which makes it very difficult to aim. I'd like the players cursor to move to, and lock onto enemies within range, and within close proximity to the players cursor, then provide 100% accuracy to the closest selection. ---------- Post added at 06:16 PM ---------- Previous post was at 06:05 PM ---------- It doesn't have to be a elegant solution by any means, any old hack job will do. hmm, so fired event handler > capture the caliber fired > delete it > spawn new projectiles aimed at closest selections > setHit to that selection? ---------- Post added at 06:24 PM ---------- Previous post was at 06:16 PM ---------- Well thinking over cursorTarget; that is going to return an object, and not a selection of the object, so it would seem getting the selection that the projectile is going to hit will have to be in the greater algorithm.
  5. The quote came from this old BI thread, it may be deprecated but I don't really see why it would be. It is almost seeming as though I am going to have to delete the projectile spawned when the player fires (if possible), then replace those projectiles with ones that target the nearest selection.. The only problem I see with this, is that taking into account the weapon caliber... spawning a standard round no matter the weapon seems doable, but selecting the correct round for the weapon from the CfgWeapons might take too long and break the script...
  6. That could be the case, not really sure of the intent of your comment but thanks. Is there a way to detect which selection the player is aiming at or the closest selection?
  7. Is there a way to manipulate the angle of the camera? My offsets are about how I'd like, however I need to rotate along the X axis to look down just a few degrees. edit: guess ill de-bin it and have a look around.
  8. Hello, I apologize is this seems obvious: If you have your mod folder, with your data and config.cpp in it, is there a way to incorporate it into the .pbo of your mission? for example: missionName.altis ->mod_folder_name -config.cpp ->data_folder Can I somehow #include these items in the description.ext? The syntax seems friendly enough. Or must I package my mod separately from my mission. I would imagine this is the case but figured I would ask. This is my first time working with mods. Thanks. In case mod content matters: The mod is comprised of units and animations. The units inherit from default classes but use custom anims which are in the data_folder. They also use custom skins and identities.
  9. The mission is a Co-Op survival mission similar to DayZ or Wasteland. It has a number of different configuration possibilities. I am aiming for 10 man Co-op but I do plan to make a dedicated server version for those wanting more players or enemies. The mod, as I mentioned at the bottom of the first post is units / animations / skins / identities (faces). :) Yeah, that would be sweet if it would, maybe if I put the config.cpp in the mission folder and .pbo'd it, it'd work. I will try it out at some point. I think I have at least another week before I will be doing any alpha testing. If I can get the mission and mod to combine into one I will post back here. Also I will be checking this post periodically to see if someone has tried this in the past. Thanks for the replies. I appreciate it.
  10. Skelt

    Zombie Script

    Hello there, I am not sure if you are intentionally recreating this, but here is a package that has exactly what you are looking for: http://dynamiczombiesandbox.com/ It has loot, zombies, custom damage handling. It is based on the old Arma 2 zombie scripts, and the guy Craig who made DZS added a few very useful functions. The only issue with DZS is the zombies don't patrol, they simply stand around until they spot a player (aggro distance can be configured). Once spotted, a message is broadcast to other zombies and before you know it you have quite the horde on your hands. I use a very heavily modified version of DZS for my current project.
  11. Yeah I have used that and wasn't sure if it was my script that was bad or my call. Thanks! I will give that a try right now. Thank you guys much!! I will update this post if need be
  12. Hello, I'm using DAC to spawn some objects, which works just fine, however, I am trying to call a script when the objects are created. Basically I want to delete the object that DAC spawns and swap in a loot type item that can be placed in the player inventory. Right now I am having trouble detecting the objects DAC spawns. I am not sure if this is correct syntax but it looks good to me; no matter where I call this I can't detect my dac objects (that includes from the dac_config_objects). I would assume there is a problem with my code. I have tried several variants, but this one seems like it should at least detect the objects. _objArray = []; _objArray = nearObjects [getPos player,"object_class_name"],50];//set to -1 to search entire map? _x = 0; { _object = _objArray select _x; _actObj =_object addAction [""Pickup Item"",""pickupItem.sqf""]; //also tried just doing: _object addAction, and not assigning it to a variable. //_objArray = _objArray - [_object];//added this in just to see if it would make a difference and it did not. _x = _x+1; } forEach _objArray; I think I am going to have to create an event handler "init" however I can't find an example of this event handler in use. Thanks.
  13. Skelt

    Patch 1.24 (Bootcamp Update) Feedback

    Well.. that is rough. I guess I will have to look on the bright side at least it is free content and was released with good intentions to introduce new players to the game. I guess I will go see exactly which mods this broke so I can watch their release threads for an update.
  14. Skelt

    Patch 1.24 (Bootcamp Update) Feedback

    Do you use Steam? Do we just delete the pbo as usual? Did it modify other files? I need to rollback too.
  15. Skelt

    Patch 1.24 (Bootcamp Update) Feedback

    How do I correctly roll-back from this update? It has broken various sounds I am using for a custom mission I am making. I'd prefer my sounds work while I wait on updated versions of them. I do not plan to use this Bootcamp feature. I would not have updated to this manually, Steam did it while I was away. Thanks.
  16. I accidentally posted this in the wrong forum yesterday morning, hopefully someone here can help. Trying to get a unit to use a custom animation. Just a walk and idle would be fine. All of my configs are in config.cpp: class CfgPatches { class my_unit_file { units[] = {}; weapons[] = {}; requiredVersion = 0.00; requiredAddons[] = {"A3_Characters_F_Common", "A3_Characters_F"}; version = "1.01"; }; }; class CfgVehicleClasses { class myUnit { displayName = "MY_UNIT"; }; }; class CfgSkeltons { class Default { isDiscrete = 1; skeletonInherit = ""; skeletonBones[] = {}; }; class OFP2_ManSkeleton { isDiscrete = 1; skeletonInherit=""; skeletonBones[]= { "Pelvis","", "Spine","Pelvis", "Spine1","Spine", "Spine2","Spine1", "Spine3","Spine2", "Camera","Pelvis", "weapon","Spine1", "launcher","Spine1", //Head skeleton in hierarchy "neck","Spine3", "neck1","neck", "head","neck1", //New facial features "Face_Hub","head", "Face_Jawbone","Face_Hub", "Face_Jowl","Face_Jawbone", "Face_chopRight","Face_Jawbone", "Face_chopLeft","Face_Jawbone", "Face_LipLowerMiddle","Face_Jawbone", "Face_LipLowerLeft","Face_Jawbone", "Face_LipLowerRight","Face_Jawbone", "Face_Chin","Face_Jawbone", "Face_Tongue","Face_Jawbone", "Face_CornerRight","Face_Hub", "Face_CheekSideRight","Face_CornerRight", "Face_CornerLeft","Face_Hub", "Face_CheekSideLeft","Face_CornerLeft", "Face_CheekFrontRight","Face_Hub", "Face_CheekFrontLeft","Face_Hub", "Face_CheekUpperRight","Face_Hub", "Face_CheekUpperLeft","Face_Hub", "Face_LipUpperMiddle","Face_Hub", "Face_LipUpperRight","Face_Hub", "Face_LipUpperLeft","Face_Hub", "Face_NostrilRight","Face_Hub", "Face_NostrilLeft","Face_Hub", "Face_Forehead","Face_Hub", "Face_BrowFrontRight","Face_Forehead", "Face_BrowFrontLeft","Face_Forehead", "Face_BrowMiddle","Face_Forehead", "Face_BrowSideRight","Face_Forehead", "Face_BrowSideLeft","Face_Forehead", "Face_Eyelids","Face_Hub", "Face_EyelidUpperRight","Face_Hub", "Face_EyelidUpperLeft","Face_Hub", "Face_EyelidLowerRight","Face_Hub", "Face_EyelidLowerLeft","Face_Hub", "EyeLeft","Face_Hub", "EyeRight","Face_Hub", //Left upper side "LeftShoulder","Spine3", "LeftArm","LeftShoulder", "LeftArmRoll","LeftArm", "LeftForeArm","LeftArmRoll", "LeftForeArmRoll","LeftForeArm", "LeftHand","LeftForeArmRoll", "LeftHandRing","LeftHand", "LeftHandRing1","LeftHandRing", "LeftHandRing2","LeftHandRing1", "LeftHandRing3","LeftHandRing2", "LeftHandPinky1","LeftHandRing", "LeftHandPinky2","LeftHandPinky1", "LeftHandPinky3","LeftHandPinky2", "LeftHandMiddle1","LeftHand", "LeftHandMiddle2","LeftHandMiddle1", "LeftHandMiddle3","LeftHandMiddle2", "LeftHandIndex1","LeftHand", "LeftHandIndex2","LeftHandIndex1", "LeftHandIndex3","LeftHandIndex2", "LeftHandThumb1","LeftHand", "LeftHandThumb2","LeftHandThumb1", "LeftHandThumb3","LeftHandThumb2", //Right upper side "RightShoulder","Spine3", "RightArm","RightShoulder", "RightArmRoll","RightArm", "RightForeArm","RightArmRoll", "RightForeArmRoll","RightForeArm", "RightHand","RightForeArmRoll", "RightHandRing","RightHand", "RightHandRing1","RightHandRing", "RightHandRing2","RightHandRing1", "RightHandRing3","RightHandRing2", "RightHandPinky1","RightHandRing", "RightHandPinky2","RightHandPinky1", "RightHandPinky3","RightHandPinky2", "RightHandMiddle1","RightHand", "RightHandMiddle2","RightHandMiddle1", "RightHandMiddle3","RightHandMiddle2", "RightHandIndex1","RightHand", "RightHandIndex2","RightHandIndex1", "RightHandIndex3","RightHandIndex2", "RightHandThumb1","RightHand", "RightHandThumb2","RightHandThumb1", "RightHandThumb3","RightHandThumb2", //Left lower side "LeftUpLeg","Pelvis", "LeftUpLegRoll","LeftUpLeg", "LeftLeg","LeftUpLegRoll", "LeftLegRoll","LeftLeg", "LeftFoot","LeftLegRoll", "LeftToeBase","LeftFoot", //Right lower side "RightUpLeg","Pelvis", "RightUpLegRoll","RightUpLeg", "RightLeg","RightUpLegRoll", "RightLegRoll","RightLeg", "RightFoot","RightLegRoll", "RightToeBase","RightFoot" }; // location of pivot points (local axes) for hierarchical animation pivotsModel="A3\anims_f\data\skeleton\SkeletonPivots.p3d"; }; }; class CfgModels { class Default { sectionsInherit=""; sections[] = {}; skeletonName = ""; }; class ArmaMan : Default { htMin = 60; htMax = 1800; afMax = 30; mfMax = 0; mFact = 1; tBody = 37; sections[]= { "osobnost","Head_Injury","Body_Injury","l_leg_injury","l_arm_injury","r_arm_injury","r_leg_injury","injury_body", "injury_legs", "injury_hands", "clan","clan_sign","Camo","CamoB","Camo1","Camo2","personality","hl", "injury_head" }; skeletonName = "OFP2_ManSkeleton"; }; class Animations { class myIdle { type = "direct"; source = "user"; selection = ""; axis = ""; memory = 1; sourceAddress="loop"; minValue = 0; maxValue = 0; angle0 = 0; angle1 = "rad -360"; }; class myWalk { type = "translation"; source = "user"; selection = ""; axis = ""; memory = 1; sourceAddress="loop"; minValue = 0; maxValue = 1; angle0 = 0; angle1 = "rad -360"; }; }; }; class CfgMovesBasic; class CfgMovesMaleSdr: CfgMovesBasic { skeletonName="OFP2_ManSkeleton"; gestures="CfgGesturesMale"; class States { //Idle1 class AidlPercMstpSnonWnonDnon_AI; //Standard A3 civi idle class myIdle : AidlPercMstpSnonWnonDnon_AI { looped = 1; speed = -5; file = "\my_unit_file\data\anims\myIdle.rtm"; //thought to be replaced by myIdle canBlendStep = 0; minPlayTime= 0.95; //If they are the same, use ConnectTo[] instead. //InterpolateTo[] = //{ // "AidlPercMstpSnonWnonDnon_AI", 0.5 //}; }; //Walk Forward class AmovPercMwlkSnonWnonDf; //Standard a3 civi walk class myWalk : AmovPercMwlkSnonWnonDf { looped = 1; speed = -5; file = "\my_unit_file\data\anims\myWalk.rtm"; //thought to be replaced by myWalk canBlendStep = 0; minPlayTime=0.95; //InterpolateTo[] = //{ // "AmovPercMwlkSnonWnonDf", 0.5 //}; }; }; }; //CfgVehicles--------------- class CfgVehicles { class C_man_polo_1_F; class myguy1: C_man_polo_1_F { side = 3; scope = 2; author = "Bones"; vehicleClass = "myUnit"; uniformClass = "my_texture"; displayName = "My Unit In Game"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"\my_unit_file\data\clothing\my_texture.paa"}; }; //CfgWeapons--------------- class CfgWeapons { // Uniforms class U_C_Poloshirt_blue; class UniformItem; class my_texture: U_C_Poloshirt_blue { scope = 2; displayName = "My Unit In Game"; hiddenSelectionsTextures[] = {"\my_unit_file\data\clothing\my_texture.paa"}; class ItemInfo: UniformItem { uniformModel = "-"; uniformClass = "my_texture"; containerClass = "Supply50"; mass = 50; hiddenSelections[] = {"Camo"}; }; }; }; I can get my custom skins into the game, but they inherit from BI civilian units. You can probably tell from my config I have a bit of trouble understanding how it all works together. If someone could tell me how to get this unit to use a custom walk/run, and idle animation I'd be ecstatic. My report file is clean and the units show in the editor, but after many of tries and changes to the configs, I can't get him to change his animation. I was planning on leaving everything in the config.cpp, don't particularly see a need to separate them.
  17. Hey teaCup, you were exactly right my friend. I did not have my ConnectTo / InterpolateTo-From in correctly -- I had animation names in the array rather than class names. I got my animations working, but I had to go with what seems like an odd implementation because of CfgMovesMaleSdr / CfgMovesBasic in regard to the Actions class. Seemed like no matter what I tried it would always pop up a missing action (state). So in order to get around incorporating the entire 4000 or so lines of class Actions I used CfgMovesAnimal_Base_F which got around the missing actions and appears so far to work for my AIs. I am just now testing it. So far so good, I havn't noticed any funny behavior but it will need a few more hours of testing. Do you happen to know any way around the missing actions (class Actions : MyActions {...}; gives missing actions at run-time) when inheriting from CfgMovesMaleSdr / CfgMovesBasic. I will probably be editing my first post in this thread to change it to a tutorial for getting animations into the game for other people who are in, and will be in my position in the future. Thanks again for your help teaCup, it was extremely valuable to my project.
  18. Getting errors: That is the collision mesh from the CfgMoves reference. Not sure why it is saying it can't open it. Any thoughts? Thanks Fixed: Just removed it all together... Still have some funny behavior: My AI plays the correct idle animation, but they are stuck in that loop, and cannot move otherwise. Also, for some reason the change is impacting the player controls, the player also get's stuck in what ever animation he enters.
  19. That is exactly what I needed, although easier than expected! (moves = ). That is incredibly important to my implementation! Right now I have my full framework in place (besides for the variantsPlayer[]={}; which I will add now), just need to plug in my rtm files and begin debugging this bad boy haha. Man, you guys got me straightened out in no time flat! I'd imagine I will run into something, but for now: to the code!
  20. Ah thank you, I had been looking for something that would work; I guess my google search criteria was not up to snuff, because all I found was people saying it was prohibited by BI to de-bin it. Yeah I followed that thread and incorporated it into my config thinking it somehow worked with CfgModel & CfgSkeleton. From looking at CfgMovesBasic & CfgMovesMaleSdr, it seemed as though I would put in the animation I wanted to change, then link it to my custom file: //Warning! This code is not valid and for illustration purposes only! class CfgMovesBasic; class CfgMovesMaleSdr: CfgMovesBasic { skeletonName="OFP2_ManSkeleton"; gestures="CfgGesturesMale"; class States { //Idle1 class AidlPercMstpSnonWnonDnon_AI; //<---------- I thought I put the animation I wanted to change here class myIdle : AidlPercMstpSnonWnonDnon_AI //<---------inherited from it here { looped = 1; speed = -5; file = "\my_unit_file\data\anims\myIdle.rtm"; //<-----chose my new animation here canBlendStep = 0; minPlayTime= 0.95; }; I have a bunch of .rtm animation files from Arma 2, which I have read from a BI developer they should work just fine provided they are not facial animations. Definitely moving in the right direction with you guys help though!! Done Sir! Done! Can't say I am sad to see them go, I thought it seemed awfully strange to have a need to define which bone would be effected by an animation... Edit: You are also quite correct with my lovely misspelling of Skeletons... you'd think with a name like Skelt I might get that one right lol. Sometimes it doesn't pay to stare at code all night :) That seems like the best option for me. Looking at github, I found a nice example (first class shown only, the rest can be found here): // Generated by unRap v1.06 by Kegetys class CfgMovesMaleSdr : CfgMovesBasic { skeletonName = "OFP2_ManSkeleton"; gestures = "CfgGesturesMale"; class States { class DeadState : Default { actions = "DeadActions"; file = "\ca\Anims\Characters\data\Anim\Sdr\dth\pne\stp\ras\Rfl\AdthPpneMstpSrasWrflDnon_1"; speed = 1.67; looped = "false"; onLandBeg = "true"; onLandEnd = "true"; soundEnabled = "false"; terminal = "true"; canPullTrigger = "true"; headBobMode = 2; ConnectTo[] = {}; InterpolateTo[] = {}; }; Looking through it, it would appear I will need to define each animation individually, which isn't too much of a problem because I only need a few. But as in some examples, it shows: variantsPlayer[] = {"AinvPknlMstpSnonWnonDnon_medic0", 0.15, "AinvPknlMstpSnonWnonDnon_medic1", 0.15, "AinvPknlMstpSnonWnonDnon_medic2"... If I just point the file location to the first (in this example _medic0), will the engine automatically know where to look for the following animations? It looks as though only one file can be pointed to per class. Could you give me the bare bones inheritance framework? I have my units, I'm putting together the class: MyCustomMoves : CfgMovesMaleSdr class States { class myIdle { //---> my anim data <--- }; }; Still a bit shotty as how to get my vehicle class man to inherit and use them, but I have a bit of coding to do before I get to that. Thank you all so much for your helpful replies*
  21. Yeah, I decided to define them in config.cpp for now while I get things working (still should work the same). Although I am unsure of their proper nesting / order, or even if that matters at all. It would appear most of the mods I have been through that made significant changes all have their configs in binary, which is not user friendly at all, or if I can get into them, they are related to A2, which doesn't help much either.
  22. Ah, I thought I was in the config forum.. it's been a long night :| Thanks for the reply. I'm going to break for a bit and perhaps when I return I'll find my answer. Moved this question to correct forum: Here
  23. I have custom skinned Civilians(using a BI model and hidden selections); which I have configed and pbo'd into the game. They work great, look great; but I'd really like to give them some different animations -- just move forward and rotate for navigation, maybe an idle or two as well. I have the animations I need in the correct format, I just can't seem to find anywhere which details the way to config in custom unit animations to be used by my custom skinned civies. I have looked at pretty much everything on google for "Arma 3 Custom Animations" and have been to the wiki several dozen times (this morning) and looked at the required configs, which did not help much. Lots of stuff on CfgSkeletons / CfgModel but not much on making them animate any differently than what is defaulted by BI. Not much out there on CfgAnimations. If I could find the default BI config for unit animation not in binary form I'd probably be able to swap out the few animations I need relatively easily. Maybe someone could point me to a resource? Thanks.
  24. Yeah no problem, once I get things cleaned up.
  25. No, in DAC_Change_Weapons ... it didn't seem to work right anyways, but it seems to give the right access to the units as they are created. Not sure how it will work in MP but since it's how DAC normally would update the weapons carried by the AI I think it should work just fine for what I need. The only drawback I can see so far is the fact that I can only determine one custom load-out for all sides, the second you call the weapons config on a unit it gets the default random loadout from DAC_Change_Weapons. (Which works well if you want say.. all of one side to be randomly equipped. -- just be sure you have some uniforms for the side you choose to equip with this!) Edit: I think making it selectable wouldn't be all that hard providing you know where to look, just check the side of the unit prior to conducting business. ---------- Post added at 06:49 PM ---------- Previous post was at 06:22 PM ---------- Probably going to experiment with RUSSIAN GRU and OMON SPETSNAZ for A3 by massi, look pretty nice and full class names list.