Anomalies reactions, detection by scientific detector.

User avatar
2C.LiryC
Killer
Posts: 512
Joined: 16 Feb 2013, 07:58
Location: Tours, France

Anomalies reactions, detection by scientific detector.

Postby 2C.LiryC » 21 May 2016, 02:58

Hi folks.

Still experimenting with old anomalies, I end up in a very disappointed mood by not be able to have them as polished as vanilla ones are.
Two things are annoying me, the 1st one for month. So, I ask if someone have an idea.

- I can't get the mosquito_bald to show on the scientific detector.
I added it in the devices.ltx as other mods with non vanilla anomalies do (let's say an old Radium build) but it remain unseen by the scientific detector.
I looked in zones config too, to compare with spotted anomalies but haven't seen anything relevant.

- I'm a bit disappointed about old anomalies, as the hvatalka (the vegetal trap on the ground) don't react to bolts.
The same kind of feeling is getting me on this, as I checked the config files to compare the hvatalka to vanilla anomalies without finding anything.
The anomaly have the exact same settings as vanilla

Code: Select all

ignore_nonalive      = false
ignore_small      = false
ignore_artefacts   = true

The actor and mutants are activating the anomaly but it isn't reacting to a bolt.
Also, even set as an "obstacle" in the LE, this anomaly can be crossed like there's nothing (you can escape from it even when it's closed), producing a weird, unsatisfying feeling.


I still can put some liana, hvatalka, studen, puddle anomalies, even if they aren't as good as vanilla anomalies are, as I don't want to put many of those on all maps (I think vegetal ones could be found only in woods or swamps (like red forest, Darscape or Marsh, Zaton) for instance. But I would like to have these anomalies (mosquito_bald included) working as nicely as standard anomalies are.

Can it be something in the config files, about the object in the SDK, in the engine ?

Any idea(s) about how to fix these two things or even where to look would be much appreciated. Image

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 21 May 2016, 03:09

Hello,

About collision between actor and anomaly, I was thinking about game mtl for this model, perhaps we have to look it.
Or perhaps it's related to collision between dynamics ogf as dead corpses...

edit:
I think I have the explanation:
- npc use "default" game mtl, with a ph_collision box around them
- bolt use "default" game mtl, they doesn't use physics box
- others stuff as wpn, doors, boxes, items.... use a specific game mtl without physics box

Bolt react with stuff who use a specific game mtl, as the ground, cars and others, but bolt pass through npc meshes (as bolt or actor pass through vegetation).

Long time ago, I tried to edit bolt's game mtl, It was a success about collision with npc. But it was source of trouble as npc took it as a attack (because bolt is define as a wpn, "ef_weapon_type").

Imo, a "default" game mtl can not collide with another "default" game mtl. Excepts if this two objects are using physics.
So, there is two physics/collide function in the game, one related to game mtl, and the other one related to skeleton and ph_collision boxes.

In your anomalies, we have to line to define them as "physics entity". There is no cform = skeleton in .ltx.
And they use this "default" game mtl.

So, we have two ways. Try to change the game_mtl of ogf or edit anomalies section to be as a skeleton.
If think the first is the good way, as edit in .ltx is too much related to "class" and stuff in source code.
It can work fine with monsters or actor.

But there is a big problem about npc! They can not see this anomaly, so they will collide with the ogf on the ground (hvatalka as example) as they collide with physic_destroyable_object (wood box).
But they will not react. There is no hit, no death... We will have too much npc trapped in this stupid collision. They will walk on the aimap but be stopped by anomalies. :poop:
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 21 May 2016, 07:13

@Alundiao

I have a request for you.
In CoP code, GSC disable the zone ameba class as I see in object_factory_register.cpp.
Please, is it possible to activate it, copy-paste code from SoC to OpenXray engine to restore this one?

Thanks you my dear

edit: there is no ameba.cpp & ameba.h in CoP xrGame folder. They are missing.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 29 May 2016, 14:53

Looks like code is just commented out in COP source. I will uncomment and make a build.

Also I have to do this in class_registrator.script

Code: Select all

cs_register (object_factory, "CAmeba",                  "se_zones.se_zone_visual",            "ZS_AMEBA",         "zone_ameba_s")



Also I noticed something very, very important...The 'class' parameter for almost all the Anomalies are using the shoc classes not the new CS/COP classes.

For example!

Code: Select all

[zone_teleport]:zone_base
GroupControlSection   = spawn_group_zone
$spawn          = "zones\scenes\teleport"
$prefetch       = 16
class         = Z_MBALD


I think It should be ZS_MBALD according to class_registrator.script. Z_MBALD are the old SoC clsid. For CS/COP they made new clsid for the script version, like these:

Code: Select all

   ADD(CElectricBall         ,CSE_ALifeItemArtefact         ,TEXT2CLSID("SCRPTART")         ,"artefact_s");
//   ADD(CtaGameArtefact         ,CSE_ALifeItemArtefact         ,TEXT2CLSID("AF_CTA")         ,"ctaartefact_s");
   ADD(CTorch               ,CSE_ALifeItemTorch            ,TEXT2CLSID("TORCH_S")         ,"device_torch_s");
   ADD(CStalkerOutfit         ,CSE_ALifeItemCustomOutfit      ,TEXT2CLSID("E_STLK")         ,"equ_stalker_s");
   ADD(CScope               ,CSE_ALifeItem               ,TEXT2CLSID("WP_SCOPE")         ,"wpn_scope_s");
   ADD(CWeaponAK74            ,CSE_ALifeItemWeaponMagazinedWGL,TEXT2CLSID("WP_AK74")         ,"wpn_ak74_s");
   ADD(CWeaponLR300         ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_LR300")         ,"wpn_lr300_s");
   ADD(CWeaponBinoculars      ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_BINOC")         ,"wpn_binocular_s");
   ADD(CWeaponBM16            ,CSE_ALifeItemWeaponShotGun      ,TEXT2CLSID("WP_BM16")         ,"wpn_bm16_s");
   ADD(CWeaponGroza         ,CSE_ALifeItemWeaponMagazinedWGL,TEXT2CLSID("WP_GROZA")         ,"wpn_groza_s");
   ADD(CWeaponSVD            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_SVD")         ,"wpn_svd_s");
   ADD(CWeaponHPSA            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_HPSA")         ,"wpn_hpsa_s");
   ADD(CWeaponKnife         ,CSE_ALifeItemWeapon         ,TEXT2CLSID("WP_KNIFE")         ,"wpn_knife_s");
   ADD(CWeaponPM            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_PM")         ,"wpn_pm_s");
   ADD(CWeaponRG6            ,CSE_ALifeItemWeaponShotGun      ,TEXT2CLSID("WP_RG6")         ,"wpn_rg6_s");
   ADD(CWeaponRPG7            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_RPG7")         ,"wpn_rpg7_s");
   ADD(CWeaponShotgun         ,CSE_ALifeItemWeaponShotGun      ,TEXT2CLSID("WP_SHOTG")         ,"wpn_shotgun_s");
   ADD(CWeaponSVU            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_SVU")         ,"wpn_svu_s");
   ADD(CWeaponUSP45         ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_USP45")         ,"wpn_usp45_s");
   ADD(CWeaponVal            ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_VAL")         ,"wpn_val_s");
   ADD(CWeaponVintorez         ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_VINT")         ,"wpn_vintorez_s");
   ADD(CWeaponWalther         ,CSE_ALifeItemWeaponMagazined   ,TEXT2CLSID("WP_WALTH")         ,"wpn_walther_s");
   ADD(CHairsZone            ,CSE_ALifeZoneVisual         ,TEXT2CLSID("ZS_BFUZZ")         ,"zone_bfuzz_s");
   ADD(CMosquitoBald         ,CSE_ALifeAnomalousZone         ,TEXT2CLSID("ZS_MBALD")         ,"zone_mbald_s");
   ADD(CMincer               ,CSE_ALifeAnomalousZone         ,TEXT2CLSID("ZS_GALAN")         ,"zone_galant_s");
   ADD(CMincer               ,CSE_ALifeAnomalousZone         ,TEXT2CLSID("ZS_MINCE")         ,"zone_mincer_s");
   ADD(CSpaceRestrictor      ,CSE_ALifeSpaceRestrictor      ,TEXT2CLSID("SPC_RS_S")         ,"script_restr");



Classes are defined in the class_registrator.script and must match what is in object_factor_register.cpp. If you use the old SoC class names that means that these objects won't use the script binders. For example using Z_MBALD means that these anomalies aren't binding to se_zone.script. Probably why they weren't respawning artefacts?


EDIT:

I'm geting compilation errors with ameba.cpp, not sure why
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 29 May 2016, 16:16

Ok, thanks for you investigation.

The spawn of artefact is not a big problem as we can use anomaly field artefact spawner.
Our main problem is the anomaly have no collision with actor, it doesn't trap the actor in CoP as it did in SoC.

I was thinking old Class use something as physics to generate a collision between meshes.

Code: Select all

void  CAmebaZone::Affect(SZoneObjectInfo* O)
{
   CPhysicsShellHolder *pGameObject = smart_cast<CPhysicsShellHolder*>(O->object);
   if(!pGameObject) return;

   if(O->zone_ignore) return;

#ifdef DEBUG
   char l_pow[255];
   sprintf_s(l_pow, "zone hit. %.1f", Power(distance_to_center(O->object)));
   if(bDebug) Msg("%s %s",*pGameObject->cName(), l_pow);
#endif
   Fvector hit_dir;
   hit_dir.set(::Random.randF(-.5f,.5f),
      ::Random.randF(.0f,1.f),
      ::Random.randF(-.5f,.5f));
   hit_dir.normalize();


   Fvector position_in_bone_space;

   float power = Power(distance_to_center(O->object));
   float impulse = m_fHitImpulseScale*power*pGameObject->GetMass();

   //статистика по объекту
   O->total_damage += power;
   O->hit_num++;

   if(power > 0.01f)
   {
      m_dwDeltaTime = 0;
      position_in_bone_space.set(0.f,0.f,0.f);

      CreateHit(pGameObject->ID(),ID(),hit_dir,power,0,position_in_bone_space,impulse,m_eHitTypeBlowout);

      PlayHitParticles(pGameObject);
   }
}

void CAmebaZone::PhTune(dReal step)
{
   OBJECT_INFO_VEC_IT it;
   for(it = m_ObjectInfoMap.begin(); m_ObjectInfoMap.end() != it; ++it)
   {
      CEntityAlive   *EA=smart_cast<CEntityAlive*>((*it).object);
      if(EA)
      {
         CPHMovementControl* mc=EA->character_physics_support()->movement();
         if(mc)
         {
            //Fvector vel;
            //mc->GetCharacterVelocity(vel);
            //vel.invert();
            //vel.mul(mc->GetMass());
            if(distance_to_center(EA)<effective_radius())
                        mc->SetVelocityLimit(m_fVelocityLimit);
         }
      }
      
   }
}

void CAmebaZone::SwitchZoneState(EZoneState new_state)
{
   if(new_state==eZoneStateBlowout&&m_eZoneState!=eZoneStateBlowout)
   {
      CPHUpdateObject::Activate();
   }

   if(new_state!=eZoneStateBlowout&&m_eZoneState==eZoneStateBlowout)
   {
      CPHUpdateObject::Deactivate();
   }
   inherited::SwitchZoneState(new_state);
}

float CAmebaZone::distance_to_center(CObject* O)
{
   Fvector P;
   XFORM().transform_tiny(P,CFORM()->getSphere().P);
   Fvector OP;OP.set(O->Position());
   return _sqrt((P.x-OP.x)*(P.x-OP.x)+(P.x-OP.x)*(P.x-OP.x));
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 29 May 2016, 16:48

Where can I find mosquito_bald in game to test the detector?


The thing about that code, though is that there are some undefined variables that are used and weird compilation errors with physics.
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 29 May 2016, 17:10

I'm looking OGSE files (the old version without bin).

Code: Select all

;----------- Аномалия Хваталка -----------------------
[zone_hvatalka]
GroupControlSection   = spawn_group_zone
$spawn          = "zones\hvatalka"
$prefetch       = 64
class         = [b]Z_AMEBA[/b]
visual         = physics\anomaly\[b]anomaly_hvatalka[/b]

hit_impulse_scale   = 0.0
effective_radius   = 0.75 ;размер радиуса в процентах от оригинального, где действует зона
max_velocity_in_zone= 0.2
sound         = zone_mosquito_bald
postprocess      = postprocess_new

ef_anomaly_type         = 1
ef_weapon_type         = 13

artefacts   = af_rusty_thorn, 0.5, af_rusty_kristall, 0.3, af_rusty_sea-urchin,0.05
artefact_spawn_idle   = 54
artefact_spawn_rnd = 15
BirthProbability = 0.1
throw_out_power            = 5    ;импульс с которым артефакт будет выброшен из зоны в произвольном направлении
artefact_spawn_height      = 0.5 ;(м) высота на центром зоны где будет рожден артефакт

;----------- Anomaly settings -----------------------
min_start_power      = 0.15
max_start_power      = 0.25
attenuation         = 1
period            = 1
min_artefact_count   = 0
max_artefact_count   = 0

idle_particles      = ogse\anom_flies_rest
blowout_particles   = ogse\anom_flies_danger
idle_sound         = ogse\flies_rest
blowout_sound      = ogse\flies_danger

hit_type      = strike

disable_time      = -1   ;время игнорирования неживого объекта в зоне (-1 если не нужно)
disable_time_small   = 500   ;время игнорирования маленького неживого объекта в зоне (-1 если не нужно)
disable_idle_time   = -1   ;время отключения idle партиклов

ignore_nonalive      = false;
ignore_small      = false;
ignore_artefacts   = true

awaking_time      = 0
blowout_time      = 1000   
accamulate_time      = 1000

attack_animation_start      = 0
attack_animation_end      = 5000

blowout_light      = off
idle_light         = off

visible_by_detector = on

blowout_wind      = off

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;рождение артефактов во время срабатывания
spawn_blowout_artefacts = off


As I see, they used too the old class Z_ameba. And I confirm that I find a lot of this zone_hvatalka section in their all.spawn. So, this is the good lines from config.
And it work with SoC vanilla engine.

Edit: do you want to see source files for SoC, I can upload it in dp.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 29 May 2016, 17:13

No. I will try to find and make changes manually to ameba.cpp as a few things are wrong.

I see you are not in chat I will paste what I said there:

I don't remember what the ameba anomaly did
it slow the actor's movement?
I think they changed the way physics works in CS/COP which is why anomalies don't react to stalkers anymore. Reacting to player I think is done differently. Monsters I don't think use physic shells
I will look at other anomaly source files and see what changes need to be made to get ameba to work
Can already see that CreateHit is different
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 29 May 2016, 18:41

Okay, got ameba.h and ameba.cpp to compile after making some changes. The new xrGame.dll can be found here:

https://www.dropbox.com/s/pzhc6vpt3dfcp ... e.dll?dl=0


On CoC repo I made changes to class_registrator.script and several of the zones. So if you want to test ameba you can use ZS_AMEBA (requires class_registrator.script) or just plain ol' Z_AMEBA
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 30 May 2016, 13:58

@Alun, probably you fix it yet, this is Tron response:
You need check duplicates of "BoneCallbackFun".


@2C, my dear, a Macron answer for you:
Bolt reaction depends on the config settings of anomaly. Find and set to "false":

ignore_nonalive = false;
ignore_small = false;
ignore_artefacts = false;


About collision, Macron say this:
But in SoC they are passable too, and also have just shape reaction without model collision. I think it depends on the material of bones of anomaly. Try to change bone material with ActorEditor.


But I think edit the game mtl will create more problem.

So, it's look more related to ltx, who is linked to class.

I saw this difference between SoC ltx and my current one:
hit_impulse_scale = 0.0 => not the same value
effective_radius = 0.75
max_velocity_in_zone= 0.5 => no one in CoC version
ef_anomaly_type = 1 (2 in CoC)
ef_anomaly_type = 13 (14 in CoC)

min_start_power is disable in CoC & values are really different between SoC and CoC...

A lot of tests to do.

Thanks you Alun for the new file.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 30 May 2016, 14:00

PERFECT!!!!

It work without problem. I can use old .ltx from SoC.

So, Macron is right. The anomaly is now reacting to bolt with ignore_artefacts = false;
And with SoC value and lines, it's as a instakill. A bit too much.

The player is slow down when he pass through the anomaly, can't move and die!

No bug, no problem.
Thanks you Alun.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 30 May 2016, 15:01

@2C

Hello, I see mosquito_bald with scientific detector. Here is what I did:

devices.ltx

Code: Select all

zone_class_34                      = zone_mosquito_bald
zone_class_35                      = zone_mosquito_bald_weak
zone_class_36                      = zone_mosquito_bald_weak_noart
zone_class_37                      = zone_mosquito_bald_average
zone_class_38                      = zone_mosquito_bald_strong
zone_class_39                      = zone_mosquito_bald_strong_noart


ui_detector_artefact.xml

Code: Select all

   <palette id="zone_mosquito_bald" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mosquito_bald_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mosquito_bald_weak_noart" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mosquito_bald_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mosquito_bald_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mosquito_bald_strong_noart" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>



I see them for sure, because I enabled map spots for all anomaly zones and can see their position on PDA. I will leave it in code so you can see.

We are going to need new icon types for all these new zones such as mosquito bald and ameba :D

*PS: I moved this topic to public discussion. I don't want people to think forum is dead because everything is private*
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 30 May 2016, 16:09

@Alundaio, I have more info about npc & anomalies:

http://www.amk-team.ru/forum/topic/10339-redaktirovanie-dvizhka-x-ray/page-59#entry947915

comment line 70 in space_restrictor.cpp

Code: Select all

spatial.type &= ~STYPE_VISIBLEFORAI;


Googletranslate:
CSpaceRestrictor in class in the method net_Spawn remove the line
spatial.type & = ~ STYPE_VISIBLEFORAI
It may, of course, I've not discovered America, but I have no one suggested.
True, after the inclusion there is an interesting pattern. If a stalker after the first hit, survived, he just steps back and begins to throw bolts)) The truth is not quite there, where it is necessary. And it looks crooked, but I think this circuit can be switched off and connect a script, such as PM amk for


I hope it can help.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?

User avatar
2C.LiryC
Killer
Posts: 512
Joined: 16 Feb 2013, 07:58
Location: Tours, France

Re: Anomalies reactions, detection by scientific detector.

Postby 2C.LiryC » 30 May 2016, 17:07

Thanks a lot to both of you!

I see now, what I forgot when testing mosquito bald on the detector.

I don't have much time for CoC at the moment but I'll be back.

Thanks again guys, you rock.

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 30 May 2016, 22:44

AI can now die in anomaly again: https://www.dropbox.com/s/pzhc6vpt3dfcp ... e.dll?dl=0

Only works for anomaly classes inherited from CCustomZone. Sadly this means they will not die by the soc mines.


But...for some reason the hardcoded anomaly_planner isn't working. NPCs should actively try to get out of them.
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 31 May 2016, 18:46

Theoretically new anomalies can be created strictly through lua using class = SCRIPTZN and a new script binder. CScriptZone apparently is a space restrictor class but with zone_enter and zone_exit callbacks you can use through lua.
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

User avatar
Alundaio
S.T.A.L.K.E.R.
Posts: 1368
Joined: 26 May 2012, 22:26

Re: Anomalies reactions, detection by scientific detector.

Postby Alundaio » 31 May 2016, 20:35

for some reason my LE isn't working. I don't see level at all when I load it.

How difficult would it be to add 'visible for ai' flag to all anomalies through LE?
"I have a dream that one day this community will rise up and live out the true meaning of its creed: "We hold these truths to be self-evident; that all mods are created equal."

User avatar
Bangalore
Explorer
Posts: 640
Joined: 09 Jun 2012, 19:02
Contact:

Re: Anomalies reactions, detection by scientific detector.

Postby Bangalore » 01 Jun 2016, 01:17

Alundaio wrote:for some reason my LE isn't working. I don't see level at all when I load it.

How difficult would it be to add 'visible for ai' flag to all anomalies through LE?


It would be easier to make it with Notepad++, search for anomaly names and flags in spawn.part files, and mass replace them.
"Some sort of pressure must exist; the artist exists because the world is not perfect. Art would be useless if the world were perfect, as man wouldn’t look for harmony but would simply live in it. Art is born out of an ill-designed world."

User avatar
Bangalore
Explorer
Posts: 640
Joined: 09 Jun 2012, 19:02
Contact:

Re: Anomalies reactions, detection by scientific detector.

Postby Bangalore » 01 Jun 2016, 11:07

An example from Marsh scene spawn.part:

Visible for AI on:

Code: Select all

[object_1000_spawndata]
        000001                           = 1
        000002                           = "zone_mine_steam_weak"
        000003                           = "mar_smart_terrain_11_3_mine_thermal_with_steam_0002"
        000004                           = 0
        000005                           = 254
        000006                           = 395.418816, -2.265964, 318.724160
        000007                           = -0.186406, 2.510726, -0.116930
        000008                           = 0
        000009                           = 65535
        000010                           = 65535
        000011                           = 65535
        000012                           = 33
        000013                           = 128
        000014                           = 65535
        000015                           = 12
        000016                           = 0
        000017                           = 65535
        000018                           = 0
        000019                           = 65535
        000020                           = 0.000000
        000021                           = 1
        000022                           = -1
        000023                           = -194
        000024                           = ""
        000025                           = -1
        000026                           = -1
        000027                           = 1
        000028                           = 0
        000029                           = 0.000000, 0.000000, 0.000000
        000030                           = 3.000000
        000031                           = 3
        000032                           = 0.000000
        000033                           = -1
        000034                           = 0
        000035                           = 0
        000036                           = 0
        000037                           = 30.000000
        000038                           = 32
        000039                           = 0
        000040                           = 0
        fl                                   = 0
        name                             = zone_mine_steam_weak


Visible for AI off:

Code: Select all

[object_1000_spawndata]
        000001                           = 1
        000002                           = "zone_mine_steam_weak"
        000003                           = "mar_smart_terrain_11_3_mine_thermal_with_steam_0002"
        000004                           = 0
        000005                           = 254
        000006                           = 395.418816, -2.265964, 318.724160
        000007                           = -0.186406, 2.510726, -0.116930
        000008                           = 0
        000009                           = 65535
        000010                           = 65535
        000011                           = 65535
        000012                           = 33
        000013                           = 128
        000014                           = 65535
        000015                           = 12
        000016                           = 0
        000017                           = 65535
        000018                           = 0
        000019                           = 65535
        000020                           = 0.000000
        000021                           = 1
        000022                           = -1
        000023                           = -210
        000024                           = ""
        000025                           = -1
        000026                           = -1
        000027                           = 1
        000028                           = 0
        000029                           = 0.000000, 0.000000, 0.000000
        000030                           = 3.000000
        000031                           = 3
        000032                           = 0.000000
        000033                           = -1
        000034                           = 0
        000035                           = 0
        000036                           = 0
        000037                           = 30.000000
        000038                           = 32
        000039                           = 0
        000040                           = 0
        fl                               = 0
        name                             = zone_mine_steam_weak


Flag 000023 appears to be "Visible for AI" toggle, set it from -210 to -194.
As i see in Marsh scene, by default all anomaly zones have -194 flag in spawn.part, because by default this option is checked in LE when we setup anomalies.

EDIT:
I searched in all scenes, and only Garbage, Agroprom, Yantar and Generators have some dozens anomalies with

Code: Select all

000023                           = -210

flag.
"Some sort of pressure must exist; the artist exists because the world is not perfect. Art would be useless if the world were perfect, as man wouldn’t look for harmony but would simply live in it. Art is born out of an ill-designed world."

Borovos
Adventurer
Posts: 291
Joined: 06 Jan 2014, 13:36

Re: Anomalies reactions, detection by scientific detector.

Postby Borovos » 01 Jun 2016, 13:53

In LE, open scene>spawn>object list>select all anomalies or select part by part in function of names
Show Properties>Alife>Visible for AI

close properties
Compile>Make spawn
And compile a new all.spawn

There is no real difference with acdc.pl imo.
There is always a risk to select another spawn section (a weapon as example) and edit a inappropriate flag.

Perhaps I'm wrong but a weapon with "visible for AI" can be collect by a npc.
Quel est ton choix? Quel est ton but? Mettre des droites ou jouer de la flûte?


Return to “General Discussion”

Who is online

Users browsing this forum: No registered users and 1 guest

cron