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 2 3 4 5 6 7 ... 13 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  15:14:04  26 January 2011
profilee-mailreply Message URLTo the Top
gannebamm
has abondened XRay and uses Unity3D now
(Resident)

 

 
On forum: 05/02/2007
 

Message edited by:
gannebamm
01/26/2011 15:14:51
Messages: 1077

---QUOTATION---

I think what happens in these instances is that NPCs are spawned onto different maps, and the engine assigns them to that ST if it's the only one with available slots . . . they just haven't arrived yet, so the ST keeps those slots open, and everyone else there just stands around. Not sure on this, though

If that is the case, you might be able to get around it by creating a new faction type that's used only for that ST. Change all the NPCs spawning there to that faction, set the ST to only accept this new faction, and throw in a respawn point (how I got around the issue at the blokpost).
---END QUOTATION---


This is very likely. SHOC´s spawners only spawn there npcs/mutants if there is any job for them in the zone (so in any level). The job itself is blocked after that so no other npc could enter it.
To get rid of this there are two chances:
1. higher the capacity
- - It´s not the good way, since other npc are "attracted/bound" to the smart which travel to it, but wont find a real job there. This will result in weird npc behaviour at the smart terrain. Otherwise its quite cool to see many npcs travelling to the same smartie. stalker aliVe had done this with some smarts, but also opened them up for more communities (factions) which mostly are hostile to each other ( so mostly will highly reduce the npcs which actually will do a job at the smart site) [multi-gulag feature and advanced smartterrains, aliVe 1.4]
2. make youre new jobs exclusive to your new npcs
- - How to do this? Look into the logic wiki section and/or look into wolves job. With this way you wont get more npcs at the smart as it actually had jobs to offer.

gbamm
  15:15:41  26 January 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
01/26/2011 15:17:06
Messages: 1072
Strange...the one NPC attacks me on sight, the other two ignore me even if I approach them on the railroad and haven't paid the bridge toll (maybe I need to extend the kill zone restrictor? Only, I haven't got the SDK, can't mess around with the compatibility toolkit, so messing with the size of the kill zone will confuse me no end...).

Perhaps the solution is to make one of them have the necessary logic for the toll? Then if I try to pass them, then they'll shoot...

EDIT: By making the new jobs exclusive...will these NPCs still respawn the same?
  15:23:37  26 January 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
You can add this to their logic :

combat_ignore_cond = {+escape_bridge_pass_fire} (I think its called that)

To assign an NPC to a specific job you will use "predicate" check smart terrain tutorial for this. They will have to have a unique name or story id or something to get them with.

Yup they will still spawn at the same time as long as the capacity allows, because you "reserve" (predicate) the job for them so no-one else will take it.
  17:51:07  26 January 2011
profilee-mailreply Message URLTo the Top
gannebamm
has abondened XRay and uses Unity3D now
(Resident)

 

 
On forum: 05/02/2007
Messages: 1077

---QUOTATION---
"Will they respawn?"
-> Yup they will still spawn at the same time as long as the capacity allows, because you "reserve" (predicate) the job for them so no-one else will take it.
---END QUOTATION---


addition:
If the guys you respawn will meet the same predicate condition as the first ones!
eg. if you predicate the job for the character name wolve, you will get it used again if you spawn a new character with the same character name (wolve).
Im not shure if it is allowed to respawn guys with the same story ID, if you use storyID as condition. Vintar?
  20:00:15  26 January 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
I`m really not sure on this, I know nothing about respawn.

Only thing I know is that the original planned final battle where you meet all the old storyline characters such as "wolf" and "fox" etc, they are all clones and not the original, so maybe this says something, although its probably because they might still be "alive" I really dunno, thats one for the scripting geniuses
  20:03:52  26 January 2011
profilee-mailreply Message URLTo the Top
Lijenstina
Doom metal in the shade of the flying radiators
(Resident)

 

 
On forum: 07/23/2005
Messages: 1902
That will be easy to do.
The infoportions are already there the only thing that needs to replaced is the meshes and character xmls for the Mono's in the monolith control.
Most of them are given on death of important characters.
  20:17:02  26 January 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---
That will be easy to do.
The infoportions are already there the only thing that needs to replaced is the meshes and character xmls for the Mono's in the monolith control.
Most of them are given on death of important characters.
---END QUOTATION---


i have already successfully got the final battle working but were not talking about that. Just wondering how to get a respawner to be assigned to the same job as the original spawn, or maybe this is automatic?
  21:35:24  26 January 2011
profilee-mailreply Message URLTo the Top
gannebamm
has abondened XRay and uses Unity3D now
(Resident)

 

 
On forum: 05/02/2007
Messages: 1077

---QUOTATION---
That will be easy to do.
The infoportions are already there the only thing that needs to replaced is the meshes and character xmls for the Mono's in the monolith control.
Most of them are given on death of important characters.
i have already successfully got the final battle working but were not talking about that. Just wondering how to get a respawner to be assigned to the same job as the original spawn, or maybe this is automatic?
---END QUOTATION---


afaik the alifesystem deals with the jobs. So a respawner will shot its spawns if there is any suitable job in gameworld and you cant make it respond only to some jobs.
Otherwise you could define respawners spawn sections and therefore you could tell him to respawn a special kind of npc which could be exclusive to a smart/job. Furthermore you could switch the respawner on/off by a check if the job is currently in use or free...
  00:51:57  27 January 2011
profilee-mailreply Message URLTo the Top
Lijenstina
Doom metal in the shade of the flying radiators
(Resident)

 

 
On forum: 07/23/2005
 

Message edited by:
Lijenstina
01/27/2011 0:52:56
Messages: 1902
They could be spawned through script linked to an timer - by making an unique section with custom data logic - something similar to events and traders in OL.
  15:20:24  28 January 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
01/28/2011 17:51:37
Messages: 1072
I've decided to try creating a whole new smart terrain for these guys. I don't really see why they need to be part of esc_bridge. In fact, I'm going for a squad of soldiers at the breach in the fence along the right embankment - if they are going to guard the entrances into the Zone, they aren't going to leave, totally undefended, an obvious and easy-to-reach position. They'll also have the high ground, so it is impossible to approach the position undetected.

I have no idea why the one soldier kept running off. The other two ran back down underneath the bridge to assume guard duty, and two guys ran up to assume the patrol I'd set up (hence the reason why I shouldn't spawn NPCs too close to their first waypoint). In my testing, sadly the two patrol NPCs ignored me, no warning on passing them (highly likely I need a space restrictor that, if I enter it, they shoot on sight - I doubt the esc_bridge_kill_zone extends that far along the railroad). Of course, messing with the logic entries, I did manage to get them to respond if I fired on the bridge guards, and vice versa (before I messed with this part, the guards under the bridge ignored me if I shot the patrol, and the patrol ignored me if I shot the guards).

Still, the one NPC who just walked off remained hostile no matter what (I believe I was able to kill him in the vicinity of the bridge guards without consequence). I was doing something right with this first attempt at smart terrains and spawning new NPCs and the logic they needed to do the tasks I wanted, but I was also doing something wrong...

I do have another question - I'm trying to spawn pseudogiants in Cordon, although not at the start. I took a peek at the Pripyat stadium smarts and respawners for the pseudogiants, and here is what I have for Cordon...


[926]
; cse_abstract properties
section_name = smart_terrain
name = esc_gigant
position = 73.947784423828,6.3712668418884,593.93811035156
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 215
distance = 4
level_vertex_id = 367077
object_flags = 0xffffffbe
custom_data = <<END
[smart_terrain]
type = esc_gigant
capacity = 2
communities = pseudo_gigant
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 10.0

; cse_alife_space_restrictor properties
restrictor_type = 3

; se_smart_terrain properties

[927]
; cse_abstract properties
section_name = respawn
name = esc_gigant_respawn
position = 73.947784423828,6.3712668418884,593.93811035156
direction = -0.0328151993453503,-0.00691708410158753,-0.207787200808525

; cse_alife_object properties
game_vertex_id = 215
distance = 16.7999992370605
level_vertex_id = 367077
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = gigant_normal,gigant_strong
;max_count = 10
;min_count = 3
max_spawn = 2
idle_spawn = medium
;conditions = {+escape_stalker_done} 80,0
END

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 1

; cse_alife_space_restrictor properties
restrictor_type = 0

; se_respawn properties



I added the entries into gulag_escape.script...


	if type == "esc_gigant" then
		t = { section = "logic@esc_gigant",
			idle = 0,
			prior = 5, state = {0},
			online = true,
			in_rest = "", out_rest = ""
		}
		table.insert(sj, t)
	end
...
	if gulag_type == "esc_gigant" then
		return npc_community == "pseudo_gigant"
	end



...and gulag_escape.ltx...


[logic@esc_gigant]
active = mob_camp@esc_gigant

[mob_camp@esc_gigant]
path_look = look
path_home = walk
time_change_point = 60000
home_min_radius = 15
home_max_radius = 30



Have I done it correctly, and should I just be patient for my pseudogiants to spawn? Yesterday, I had a lock-up on entering the Garbage. It was repeatable. It turned out the game couldn't open a corresponding section to do with my pseudogiant spawn (I was using the incorrect respawn_section, psevdogigant_strong...turns out it's meant to be either gigant_normal or gigant_strong ). This hints that the game might have been trying to spawn my monster. However, on a new test, it hasn't spawned anything within 1 1/2 days...

EDIT: Another question. I'm using GPS beacons as markers so I can figure out what my space restrictors might look like (the area they'd cover). How exactly do they (the space restrictors) work, though? Rather, how are the shapes figured out? I see some with just shape0, but some have multiple shapes, and with offsets. Is it safe to assume that each of these shapes is to be treated partially as a box in itself, and they all overlap to create one big space restrictor of a unique shape? I can imagine only having one big box being awkward, so having multiple 'mini-boxes' overlapping could allow the ability to choose what areas you want in the restrictor as a whole, without forcing you to include areas you don't want (where one shape would force you to include it or miss it out entirely). To that end, do the offsets then say at what point, from the original position of the restrictor as a whole, the mini restrictors are positioned? And then, from what position are the shapes measured? Is the position of a space restrictor the exact centre, or just a corner (and if it's the centre, are the shape values the length, width and height as a whole, or just halves?)?

As you can see, lots of questions there. I can't really use the SDK, as at the moment the computer isn't long for this house (brother is moving out), so I don't want to mess with the Windows Compatibility Toolkit. Then, I'm not sure, but if you need to recompile the AI-map everytime you alter a level in the SDK, that really screws me (Win 7...and I'm aware that even with the compatibility toolkit, it has trouble with AI map compiling).
 
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.