ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
Of smart terrains, space restrictors and gulags

« Previous 10 events | 1 ... 7 8 9 10 11 12 13 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  14:53:30  17 November 2011
profilee-mailreply Message URLTo the Top
Bangalore
Robberbaron
(Resident)

 

 
On forum: 02/17/2008
Messages: 1159

---QUOTATION---
Yeah. From what I heard even if you put in little things in SDK, you will still have to recompile the map.
---END QUOTATION---



I noticed this post only now... i must defend the SDK, what you say ExoStalker is bullsh... *errgghh* wrong.
If you dont change the level geometry, you dont have to recompile the level. If you change for example only the spawn (add or remove npc, monster, restrictors, smarties etc. etc. anything you can spawn), just a matter of "Make Game" in SDK level editor, then few minutes xrAI work and you can use the new all.spawn in the game. Its ready within 2-3 minutes.
  22:39:44  17 November 2011
profilee-mailreply Message URLTo the Top
Vintar
a bit of this and a lot of that
(Resident)

 

 
On forum: 08/08/2008
Messages: 6349

---QUOTATION---
Yeah. From what I heard even if you put in little things in SDK, you will still have to recompile the map.

I noticed this post only now... i must defend the SDK, what you say ExoStalker is bullsh... *errgghh* wrong.
If you dont change the level geometry, you dont have to recompile the level. If you change for example only the spawn (add or remove npc, monster, restrictors, smarties etc. etc. anything you can spawn), just a matter of "Make Game" in SDK level editor, then few minutes xrAI work and you can use the new all.spawn in the game. Its ready within 2-3 minutes.
---END QUOTATION---



Yep I already said this, and it usually takes no more than a minute to make game, with some smaller levels just taking 20 seconds or so.
  13:14:48  20 November 2011
profilee-mailreply Message URLTo the Top
Muad'Dib
Senior Resident
 

 
On forum: 01/24/2011
Messages: 421
Thk for explanation about respawn and smart_terrain.

About sdk, this way need to know this tool and how to use it.
It isn't for me.

I will test again the respawn with all.spawn.

Sorry, but i have again the same question, what is this value in se_respawn.script?


---QUOTATION---
-- Òàáëèöà îãðàíè÷åíèé íà ñïàóí: âñåãî â ñèìóëÿöèè íå äîëæíî áûòü áîëüøå, ÷åì óêàçàíî.
local simMaxCount = {
stalker_novice = 43, stalker_regular = 48, stalker_veteran = 43, stalker_master = 20,
monolith_novice = 0, monolith_regular = 30, monolith_veteran = 35, monolith_master = 30,
military_novice = 0, military_regular = 32, military_veteran = 22, military_master = 5,
killer_novice = 0, killer_regular = 18, killer_veteran = 17, killer_master = 10,
ecolog_novice = 1, ecolog_regular = 1, ecolog_veteran = 1, ecolog_master = 1,
dolg_novice = 0, dolg_regular = 33, dolg_veteran = 36, dolg_master = 17,
freedom_novice = 50, freedom_regular = 20, freedom_veteran = 26, freedom_master = 21,
bandit_novice = 40, bandit_regular = 50, bandit_veteran = 18, bandit_master = 10,
zombied_novice = 20, zombied_regular = 15, zombied_veteran = 10, zombied_master = 10,

rat_weak = 0,
tushkano_weak = 150,
flesh_weak = 14, flesh_normal = 38, flesh_strong = 22,
boar_weak = 52, boar_normal = 38, boar_strong = 27,
dog_weak = 53, dog_normal = 126, dog_strong = 130,
pseudodog_weak = 59, pseudodog_normal = 80, pseudodog_strong = 60,
psy_dog_weak = 15, psy_dog_normal = 15, psy_dog_strong = 15,
zombie_weak = 61, zombie_normal = 50, zombie_strong = 35,
snork_weak = 50, snork_normal = 61, snork_strong = 15,
poltergeist_weak = 10,
pseudo_gigant_weak = 23,
controller_weak = 18,
burer_weak = 20,
bloodsucker_weak = 7, bloodsucker_normal = 40, bloodsucker_strong = 15
---QUOTATION---



"-- Таблица ограничений на спаун: всего в симуляции не должно быть больше, чем указано."
translate with googletrad, i obtain it:
"- Table of restrictions on spawn: only in the simulation should not be more than that."

I don't understand it
  04:06:00  26 November 2011
profilee-mailreply Message URLTo the Top
NatVac
Senior Resident
 

 
On forum: 06/15/2007
Messages: 4302
>> Sorry, but i have again the same question, what is this value in se_respawn.script?

In vanilla, simMaxCount is a local table that is NOT USED. The keyword local means that the table is only "visible" (accessible) within the scope of the block that encloses it (here, it can only be seen within the se_respawn.script file). Now look for that simMaxCount in the file. In vanilla, it is only referenced in either code that is commented out or in statistics functions that are not ever called.

This means the values don't matter in vanilla. It is possible that a mod can use the data, but I have not seen any examples of this.

Bangalore quoted gannebamm, and what gannebamm said is what you should be thinking about.
  11:08:11  26 November 2011
profilee-mailreply Message URLTo the Top
Muad'Dib
Senior Resident
 

 
On forum: 01/24/2011
 

Message edited by:
Muad'Dib
11/26/2011 13:38:35
Messages: 421
Thank you all!

For your patience and your explanations.

Now my smarties and my respawn are functionnal!

EDIT: I have a last question about smarties with type = general_lair.

I saw in vanilla files that it need waypoint: as name_of_smarty_home_1 or name_of_smarty_raid_1 in the way_name_of_level.ltx.

How many waypoint do i need to add for each smarty???
As far as the capacity? or not?

Thk
  19:29:26  26 October 2012
profilee-mailreply Message URLTo the Top
Muad'Dib
Senior Resident
 

 
On forum: 01/24/2011
Messages: 421
Hello guys,

I'm back with new question.

So, i tested a little thing. I opened all gulag_xxx.script and i changed the communities like this:

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
if gulag_type == "esc_fabrika_bandit" then
return npc_community == "dolg"
or npc_community == "bandit"
or npc_community == "freedom"
or npc_community == "killer"
or npc_community == "military"
or npc_community == "ecolog"
or npc_community == "dark_stalker"
or npc_community == "sin"
or npc_community == "monolith"
or npc_community == "stalker"
end
end

function checkMonster(npc_community, gulag_type)

if gulag_type == "esc_dogs_to_fox" then
npc_community == "boar"
or npc_community == "dog"
or npc_community == "flesh"
or npc_community == "cat"
or npc_community == "tushkano"
or npc_community == "pseudodog"
end
end


The effect in game is very strange. As i see, npc and mutants doesn't use smarties.

About mutant, this way create more "life".

But human don't use smarties and travel between them:

Wolf and rookies camp guys was going to garbage.
Nimble and bandits walked in escape and was killed by mutants.

And the must thing was a big troop of military npc in escape.

[link]http://uppix.net/d/2/d/c4c9fd44713893397bc0cb67e9a77.jpg[/link]
[link]http://uppix.net/9/6/6/938a763fcbb0f3438cc36547cda58.jpg[/link]
[link]http://uppix.net/0/0/1/c7ae40e167d5e668ce47e2a5d220d.jpg[/link]

It's as the npc go to another smarties and don't take the time to rest at the same place. They're moving all time.

It's not as with general_lager and general_lair.

So, someone have a explanation?
How increase the travel time between two smarties or increase the time during which the npc rest in the same smarties?

It's only by curiosity.
  22:45:15  26 October 2012
profilee-mailreply Message URLTo the Top
gannebamm
has abondened XRay and uses Unity3D now
(Resident)

 

 
On forum: 05/02/2007
 

Message edited by:
gannebamm
10/26/2012 22:48:19
Messages: 1077

---QUOTATION---
Hello guys,

I'm back with new question.

So, i tested a little thing. I opened all gulag_xxx.script and i changed the communities like this:

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
if gulag_type == "esc_fabrika_bandit" then
return npc_community == "dolg"
or npc_community == "bandit"
or npc_community == "freedom"
or npc_community == "killer"
or npc_community == "military"
or npc_community == "ecolog"
or npc_community == "dark_stalker"
or npc_community == "sin"
or npc_community == "monolith"
or npc_community == "stalker"
end
end

function checkMonster(npc_community, gulag_type)

if gulag_type == "esc_dogs_to_fox" then
npc_community == "boar"
or npc_community == "dog"
or npc_community == "flesh"
or npc_community == "cat"
or npc_community == "tushkano"
or npc_community == "pseudodog"
end
end


The effect in game is very strange. As i see, npc and mutants doesn't use smarties.

About mutant, this way create more "life".

But human don't use smarties and travel between them:

Wolf and rookies camp guys was going to garbage.
Nimble and bandits walked in escape and was killed by mutants.

And the must thing was a big troop of military npc in escape.

[link]http://uppix.net/d/2/d/c4c9fd44713893397bc0cb67e9a77.jpg[/link]
[link]http://uppix.net/9/6/6/938a763fcbb0f3438cc36547cda58.jpg[/link]
[link]http://uppix.net/0/0/1/c7ae40e167d5e668ce47e2a5d220d.jpg[/link]

It's as the npc go to another smarties and don't take the time to rest at the same place. They're moving all time.

It's not as with general_lager and general_lair.

So, someone have a explanation?
How increase the travel time between two smarties or increase the time during which the npc rest in the same smarties?

It's only by curiosity.
---END QUOTATION---


these functions determine which types/factions can take jobs in that particular smartterrain/gulag. If you put in those various "or" statements it will return "true" for every listed faction/type so they could pick a job there.
I sometimes feel like describing the same stuff over and over again... not your fault!
iirc (which does not have to be since i am out of this since years!) x-ray goes like this:
- load smartterrains/gulags
- determine the jobs there
- fetch jobs for all.spawned characters (if they are not hardcoded anyway)

now the interesting part:
- check respawners for idle
- - if not in idle anymore AND there are possible jobs for the to respawn things (factionmembers/creaturetypes) spawn them and fetch those jobs

So i bet that the respawners for military are fast and since those smartterrains are at escape where the military respawner is near to they will get spammed by those. Other thing is that smartterrains are restricted by both gulag.scripts and the custom data block in all.spawn. I am not shure what restricion will win, maybe both will work together. So you maybe get the checkStalker() for respawners and job binding but the latter will get prevented by the factioninfo in all.spawn (which is just bandits/loner (or is the loner one a second smarty?) in vanilla for fabrica_bandit iirc).

If you want that different factions can take jobs from those smartterrains you should grab a copy of aliVe and look how we made it. iirc we changed the gulag.scripts plus the entries in all.spawn plus a hell of a lot of tinkering in se_respawn and other ltxes to not spam everything with stalkers/mutants.



---QUOTATION---

Bangalore quoted gannebamm, and what gannebamm said is what you should be thinking about.
---END QUOTATION---


  23:31:39  26 October 2012
profilee-mailreply Message URLTo the Top
Muad'Dib
Senior Resident
 

 
On forum: 01/24/2011
Messages: 421
Thanks gannebamm,

And sorry if you repeat again the same answer.
I understand this point, i know it in french forum.

If i understand, it's a balance between the quantity/speed of respawn (so, the quantity of each communities npc) and the disponibility of each smarties.

I think that was a long work to equilibrate this system.

---QUOTATION---

Bangalore quoted gannebamm, and what gannebamm said is what you should be thinking about.
---END QUOTATION---

As i'm the disciple of Bangalore, you're my "Maître à penser" by extension.
  00:07:59  27 October 2012
profilee-mailreply Message URLTo the Top
gannebamm
has abondened XRay and uses Unity3D now
(Resident)

 

 
On forum: 05/02/2007
 

Message edited by:
gannebamm
10/27/2012 0:24:14
Messages: 1077

---QUOTATION---
Thanks gannebamm,

And sorry if you repeat again the same answer.
I understand this point, i know it in french forum.

If i understand, it's a balance between the quantity/speed of respawn (so, the quantity of each communities npc) and the disponibility of each smarties.

I think that was a long work to equilibrate this system.

---QUOTATION---

Bangalore quoted gannebamm, and what gannebamm said is what you should be thinking about.
---END QUOTATION---

As i'm the disciple of Bangalore, you're my "Maître à penser" by extension.
---END QUOTATION---


i´ve read your post once more. I have missed that you actually altered every gulag.script to return jobs for every faction. I am not shure how the gulag-switching* is computed in vanilla and if it is used at all but maybe thats whats happening at your game. And at the very begining of a game in stalker there are much less npcs than jobs in the gameworld (even in vanilla). So the zone gets populated slowly (or fast depends on how much you change the level and reload .> ask NatVac about that or see ZRPs changelog ) and the new spawned npcs travel to their jobs. Since escape has the military respawn it spits out those dozens of mil-stalkers who travel to whatever job they were assigned to. If you would start in bar level there would be dozens of dutiers travelling around. From the pictures i guess you use a quite huge gameworld with more than the vanilla levels? And most of these new levels are setup with gulags but nearly no hardspawned stalkers in all.spawn (like nimble or fox or bes and the loners at loner camp in escape all these are "hardspawned" through all.spawn entries).

*gulag-switch: I can not find it in modwiki but i know theire were values like job idle or something somewhere which determine (or i think in vanilla SHOULD determine but do not do it since they all are set to infinite) how long a (generic)stalker stays at a job. There were 3 or 4 like seldom,medium,fast or so. I thought these are part of customData in all.spawn but the smartterrain entries in modwiki do not have those and i do not have a decompiled all.spawn currently (or a all.spawn in not binary format, i dont think that this would be called decompiled but anyway)


:::
@ NatVac: Are you 100% shure about the se_respawn.script table? Since i think we had to tinker with that table for aliVe long long long ago. In fact it is quite easy to test. Set everything to zero ("0" and look if respawns happen - if they do its crap but if not it gets read from somewhere. Just because a function which is written in LUA isnt called by LUA-part of the game it has not to be disabled does it? I mean the LUA part is called by the compiled c++ core and loaded into the game. You could put a debug statement in there to check that. Isnt LUA even capable to put a function call into a table? It will likely crash but maybe you could put in a simple print to console debug function in these table to check if it gets called - same with statistics block. But you have allready done such stuff iirc cause you had this interesting gamedata without all those not needed functions and LUA code which loads ten times faster than vanilla...

btw. has anybody a copy of aliVe? Links are dead...
  10:48:29  27 October 2012
profilee-mailreply Message URLTo the Top
Muad'Dib
Senior Resident
 

 
On forum: 01/24/2011
Messages: 421
Yes, I changed the check npc function in all gulag scripts files.
And no, i'm not working on a big mod with more levels. Now, i'm only working on vanilla levels (this is only a test, by curiosity, to understand the engine).

But i activated all smarties in all.spawn, i deleted all condition for do it.
So, i increased quickly the free job places.

In consequence, you're right. As i have a lot of empty smarties, the respawn work continuous and npc walk to join empty smart terrains.



---QUOTATION---
There were 3 or 4 like seldom,medium,fast or so. I thought these are part of customData in all.spawn but the smartterrain entries in modwiki do not have those and i do not have a decompiled all.spawn currently (or a all.spawn in not binary format, i dont think that this would be called decompiled but anyway)
---END QUOTATION---



custom_data = <<END
[smart_terrain]
;cond = {-agroprom_military_case_done}
type = esc_flesh_1
capacity = 2
stay = long
END

It's "stay" parameter.
With 3 values. quick/medium/long.

So, with use stay = long for each smart_terrain, a very low going_speed value in m_stalker.ltx, and maybe too a low respawn frequenty, it could balance it.
 
Each word should be at least 3 characters long.
Search:    
Search conditions:    - spaces as AND    - spaces as OR   
 
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
 

All short dates are in Month-Day-Year format.


 

Copyright © 1995-2021 GSC Game World. All rights reserved.
This site is best viewed in Internet Explorer 4.xx and up and Javascript enabled. Webmaster.
Opera Software products are not supported.
If any problem concerning the site functioning under Opera Software appears apply
to Opera Software technical support service.