Iron+Cross 0 Posted June 7, 2007 Since we read about "GAME2"  & the whole "populated world" & interacting with locals etc. & the hint that "Arma would test some of it" got me mondering, Im sure most of us Jumped strait into Arma's inner workings as soon as we finished installing, I had a few searches for info on Animals.pbo & populated world dident come up with mutch relavent to Arma current. So heres what i found in "C:\Program Files\Bohemia Interactive\ArmA\AddOns\animals\config.bin" Quote[/b] ]class CfgPatches { class CAAnimals { units = {"SeaGull", "Hawk", "DragonFly", "HouseFly", "HoneyBee", "Mosquito"}; weapons = {}; requiredVersion = 0.100000; requiredAddons = {}; }; }; class cfgNonAiVehicles { /*extern*/ class Insect; /*extern*/ class Bird; class SeaGull: Bird { model = "\ca\animals\racekT.p3d"; singSound = {"\ca\animals\Data\Sound\gullsb", 0.001778, 1, 1}; }; class Hawk: Bird { model = "\ca\Animals\hawk.p3d"; singSound = {"\ca\animals\Data\Sound\hawk", 0.005623, 1, 1}; minHeight = 60; avgHeight = 70; maxHeight = 80; }; class DragonFly: Insect { model = "\ca\Animals\dragonfly.p3d"; flySound = {"\ca\Animals\Data\Sound\fly3final", 0.000000, 1, 1}; fsm = {"Dragonfly"}; straightDistance = 10; maxSpeed = 5; }; class ButterFly: Insect { model = "\ca\Animals\aglais_urticae.p3d"; fsm = {"Butterfly"}; moves = "CfgMovesButterfly"; minHeight = -0.100000; avgHeight = 0.300000; maxHeight = 1.500000; minSpeed = -0.100000; maxSpeed = 1; acceleration = 5; straightDistance = 2; turning = 5; reversed = 0; autocenter = 0; }; class HouseFly: Insect { model = "\ca\Animals\fly.p3d"; flySound = {"\ca\Animals\Data\Sound\fly3final", 0.000000, 1, 1}; minSpeed = -0.100000; maxSpeed = 5; minHeight = -0.100000; avgHeight = 1.400000; maxHeight = 2; straightDistance = 0.500000; }; class HoneyBee: Insect { flySound = {"\ca\Animals\Data\Sound\bee4final", 0.000000, 1, 1}; model = "\ca\Animals\honeybee.p3d"; minSpeed = -0.100000; maxSpeed = 0.200000; minHeight = -0.100000; avgHeight = 0.200000; maxHeight = 1; fsm = {"HoneyBee"}; reversed = 0; straightDistance = 0.500000; }; class Mosquito: Insect { model = "\ca\Animals\mosquito.p3d"; flySound = {"\ca\Animals\Data\Sound\mosquito4final", 0.000002, 1, 1}; minSpeed = -0.050000; maxSpeed = 2; minHeight = -0.100000; avgHeight = 1; maxHeight = 2; straightDistance = 0.400000; }; }; class CfgFSMs { class Dragonfly { class States { class Random_Move { name = "Random_Move"; class Init { function = "randomMove"; parameters = {1, -0.100000, 1.200000, 5.000000}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "SetRandom3"; class Condition { function = "moveCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "SetRandom2"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class LongerWait { name = "LongerWait"; class Init { function = "wait"; parameters = {0.800000, 2.000000}; thresholds = {}; }; class Links { class WaitCompleted { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "waitCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Init { name = "Init"; class Init { function = "setNoBackwards"; parameters = {1.000000}; thresholds = {{0, 0.500000, 0.500000}}; }; class Links { class Always { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimerRandom { name = "SetTimerRandom"; class Init { function = "setTimer"; parameters = {0.500000, 2}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "SetRandom"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class ShortWait { name = "ShortWait"; class Init { function = "wait"; parameters = {0.600000, 1.500000}; thresholds = {}; }; class Links { class WaitCompleted { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "waitCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetRandom2 { name = "SetRandom2"; class Init { function = "nothing"; parameters = {}; thresholds = {{1, 0, 1.000000}}; }; class Links { class constProbability { priority = 1.000000; to = "LongWait"; class Condition { function = "const"; parameters = {0.100000}; threshold = 1; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "LongerWait"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetRandom3 { name = "SetRandom3"; class Init { function = "nothing"; parameters = {}; thresholds = {{1, 0, 1.000000}}; }; class Links { class constProbability { priority = 1.000000; to = "LongWait"; class Condition { function = "const"; parameters = {0.150000}; threshold = 1; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "ShortWait"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class LongWait { name = "LongWait"; class Init { function = "wait"; parameters = {4.000000, 8.000000}; thresholds = {}; }; class Links { class WaitCompleted { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "waitCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetRandom { name = "SetRandom"; class Init { function = "nothing"; parameters = {}; thresholds = {{1, 0, 1.000000}}; }; class Links { class constProbability { priority = 1.000000; to = "LongMove"; class Condition { function = "const"; parameters = {0.100000}; threshold = 1; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "Random_Move"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class LongMove { name = "LongMove"; class Init { function = "randomMove"; parameters = {2.500000, -0.100000, 1.200000, 5.000000}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "SetRandom3"; class Condition { function = "moveCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "SetRandom2"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; }; initState = "Init"; finalStates = {}; }; class Butterfly { class States { class Init { name = "Init"; class Init { function = "nothing"; parameters = {}; thresholds = {{0, 0.500000, 0.500000}}; }; class Links { class Always { priority = 0.000000; to = "SetTimer"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class MoveLand { name = "MoveLand"; class Init { function = "randomMoveLand"; parameters = {2}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "SetTimer3"; class Condition { function = "moveCompletedVertical"; parameters = {}; threshold = 0; }; class Action { function = "wait"; parameters = {5, 15}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "Land"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimer3 { name = "SetTimer3"; class Init { function = "setTimer"; parameters = {4, 6}; thresholds = {}; }; class Links { class TimeElapsed { priority = 0.000000; to = "checkWait"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "switchAction"; parameters = {1}; thresholds = {}; }; }; }; }; class checkWait { name = "checkWait"; class Init { function = "nothing"; parameters = {}; thresholds = {}; }; class Links { class WaitCompleted { priority = 1.000000; to = "SetTimer"; class Condition { function = "waitCompleted"; parameters = {}; threshold = 0; }; class Action { function = "switchAction"; parameters = {0}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "SetTimer3"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimer { name = "SetTimer"; class Init { function = "setTimer"; parameters = {10, 25}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "Move"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Land { name = "Land"; class Init { function = "Land"; parameters = {}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "Wait"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Wait { name = "Wait"; class Init { function = "wait"; parameters = {3, 10}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "SetTimer3"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Move { name = "Move"; class Init { function = "randomMove"; parameters = {3}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "Continue"; class Condition { function = "moveCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "SetTimer2"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimer2 { name = "SetTimer2"; class Init { function = "setTimer"; parameters = {3, 6}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "MoveLand"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Continue { name = "Continue"; class Init { function = "nothing"; parameters = {}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "Move"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; }; initState = "Init"; finalStates = {}; }; class HoneyBee { class States { class ShortMove { name = "ShortMove"; class Init { function = "randomMove"; parameters = {0.200000}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "SetRandom"; class Condition { function = "moveCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "SetRandom"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Break { name = "Break"; class Init { function = "break"; parameters = {50.000000}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "SetTimer"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class Init { name = "Init"; class Init { function = "setNoBackwards"; parameters = {0.000000}; thresholds = {{0, 0.500000, 0.500000}}; }; class Links { class Always { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimerRandom { name = "SetTimerRandom"; class Init { function = "setTimer"; parameters = {0.500000, 2}; thresholds = {}; }; class Links { class Always { priority = 0.000000; to = "SetRandom_1"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetTimer { name = "SetTimer"; class Init { function = "setTimer"; parameters = {0.100000, 0.300000}; thresholds = {}; }; class Links { class TimeElapsed { priority = 0.000000; to = "SetTimerRandom"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetRandom { name = "SetRandom"; class Init { function = "nothing"; parameters = {}; thresholds = {{1, 0, 1.000000}}; }; class Links { class constProbability { priority = 1.000000; to = "SetRandom_1"; class Condition { function = "const"; parameters = {0.500000}; threshold = 1; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "Break"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class SetRandom_1 { name = "SetRandom_1"; class Init { function = "nothing"; parameters = {}; thresholds = {{1, 0, 1.000000}}; }; class Links { class constProbability { priority = 1.000000; to = "LongMove"; class Condition { function = "const"; parameters = {0.100000}; threshold = 1; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class Always { priority = 0.000000; to = "ShortMove"; class Condition { function = "true"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; class LongMove { name = "LongMove"; class Init { function = "randomMove"; parameters = {1.500000}; thresholds = {}; }; class Links { class MoveCompleted { priority = 1.000000; to = "SetRandom"; class Condition { function = "moveCompleted"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; class TimeElapsed { priority = 0.000000; to = "SetRandom"; class Condition { function = "timeElapsed"; parameters = {}; threshold = 0; }; class Action { function = "nothing"; parameters = {}; thresholds = {}; }; }; }; }; }; initState = "Init"; finalStates = {}; }; }; class CfgMovesButterfly { access = 0; collisionVertexPattern = {}; collisionGeomCompPattern = {}; class ManActions { default = ""; open = ""; }; class Actions { class NoActions: ManActions { upDegree = -1; turnSpeed = 1; limitFast = 5; useFastMove = 0; }; class DefaultActions: NoActions { default = "Fly"; open = "Open"; upDegree = 0; }; }; class Default { actions = "DefaultActions"; file = ""; looped = 1; reversed = 0; autocenter = 0; speed = 0.500000; onLandBeg = 0; onLandEnd = 0; predictSpeedCoef = 1; relSpeedMin = 1.000000; relSpeedMax = 1.000000; soundEnabled = 1; soundOverride = ""; soundEdge1 = 0.500000; soundEdge2 = 1; terminal = 0; equivalentTo = ""; connectAs = ""; connectFrom = {}; connectTo = {}; interpolateWith = {}; interpolateTo = {}; interpolateFrom = {}; interpolationSpeed = 6; interpolationRestart = 0; preload = 0; }; class States { class Fly: Default { file = "\ca\animals\data\rtm\Butterfly_Fly.rtm"; looped = 1; speed = -0.250000; }; class Open: Default { file = "\ca\animals\data\rtm\Butterfly_Open.rtm"; looped = 0; speed = -1; connectFrom = {"Fly", 1}; connectTo = {"Fly", 1}; }; }; class Interpolations { }; transitionsInterpolated = {}; transitionsSimple = {}; transitionsDisabled = {}; }; Here are the list of the note-worthy files contained in the (Animals.pbo) Data Rabit Seagull wolf.p3d racekT_old.p3d racekT.p3d mosquito.p3d honeybee.p3d hawk.p3d fly.p3d dragonfly.p3d aglais_urticae.p3d $PBOPREFIX$ ------------------ Note the Rabit File seems to have a full set of skins & 3d files, but ive never see one ingame. (have any of you?) So here's whats on my mind, Is this how they (BIS) intend to populate the world? & if so dose any one (acustomed to Cfg files) think they could use this in a Custom launched  MOd folder to populate the world(map) Randomly with AI People? i thought this might be cool for more enlightend mods that focus on econemy & structue rather than soley "blowing shit up" (which is good) yours kindly mike (@ all) ----------------------------------------------------- UPDATE just a thought any one tried setting the MI-18 to class Butterfly Share this post Link to post Share on other sites
dmarkwick 261 Posted June 7, 2007 I suspect that the ambient animal life as currently seen in ArmA is similar in nature to the grass, that is, it only ever "exists" around you while you're there. As soon as you leave the area, it disappears. Or rather, it kind of appears & disappears as you move around constantly. Birds seem to be slightly different, but only in scale of existence. I suppose rabbits would be the same, only limited to ground movement and more susceptible to bunching up together as though near a warren. So I guess it depends if the ground-based wandering code exists. I have never seen a butterfly or a dragonfly in the editor, and I have no idea if they are treated differently to other addons i.e. soldiers. Share this post Link to post Share on other sites
Guest Posted June 9, 2007 its not for or in the editor but ingame ive opened the file and noticed same thing about rabit ... never seen 1 in game, maybe (and i say maybe) because the game is "realistic" (and in reality this happen : ) you can only see rabit at a "specific" place in "specific" time or not implemented yet ... just have to wait to have a very good game but still have some piece of good sh** to practice ... Share this post Link to post Share on other sites
Törni 0 Posted June 10, 2007 Would still like to see dogs and cats near the populated areas. Sheep, cows, donkeys, horses. Plus a biggest one women and children as civilians. It is unbeliveable that the islands would be populated by just men and have no domestic animals at all. A guard dog would be a nasty surprise for all those spec ops sneaking around. Share this post Link to post Share on other sites
colligpip 0 Posted June 12, 2007 I seem to remember playing the demo and there was a dog barking i dont thnk ive heard that since come to think of it may be wrong. Share this post Link to post Share on other sites
Infam0us 10 Posted June 12, 2007 I seem to remember playing the demo and there was a dog barking i dont thnk ive heard that since come to think of it may be wrong. Its the same sound that was in OFP ... its only in certain missions as its a sound trigger, and does'nt "naturally" come in missions. Share this post Link to post Share on other sites
Iron+Cross 0 Posted June 15, 2007 So any ideas about how where one would start to try & get people spawned like gulls & bugs in game? as for invisible bunny wabits Europe is crawling with the little flufy eared basterds, they aint hard to spot.. Share this post Link to post Share on other sites
5133p39 16 Posted June 15, 2007 Would still like to see dogs and cats near the populated areas. Sheep, cows, donkeys, horses. Plus a biggest one women and children as civilians. It is unbeliveable that the islands would be populated by just men and have no domestic animals at all. A guard dog would be a nasty surprise for all those spec ops sneaking around. Yes, i totally agree! Finally someone gets to the point! No womens... ok, men can live with that, but only if they have some domestic animals! ;-)))) ...but to be a little productive - there was a functional dog for OFP , and someone is making a wolf for OFP (video, RAR, 25MB, found at www.ofp.info). I think its only matter of time, people will start making various stuff when(if) the tools are released. I hope it will be soon enough so i will live to see that. Share this post Link to post Share on other sites
Iron+Cross 0 Posted June 30, 2007 more a question of IFnot when unfortunately. Share this post Link to post Share on other sites
Shins 0 Posted July 3, 2007 ...but to be a little productive - there was a functional dog for OFP , and someone is making a wolf for OFP (video, RAR, 25MB, found at www.ofp.info). Holy cow! (or wolf! That wolf video is AMAZING. Did that ever get released for OFP??? I loved the Doberman dog addon for OFP but i never say that wolf mod. Looks great, anyone got a link? Share this post Link to post Share on other sites
Shins 0 Posted July 5, 2007 So the wolf is out for OFP ftp://www.ofpr.info/ofpd/unofaddons2/ITWEAS_WOLF.zip Any takers for porting this over?? Share this post Link to post Share on other sites