Jump to content
Sign in to follow this  
Iron+Cross

A populated world? Animals.pbo

Recommended Posts

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) biggrin_o.gif

yours kindly mike (@ all)

-----------------------------------------------------

UPDATE

just a thought any one tried setting the MI-18 to class Butterfly yay.gif

Share this post


Link to post
Share on other sites

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

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

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

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
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

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
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
...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!wink_o.gif

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

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×