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 8 9 10 ... 13 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  17:29:59  5 February 2011
profilee-mailreply Message URLTo the Top
crucifist
(Senior)
 
On forum: 12/14/2009
Messages: 105

---QUOTATION---
Your smart terrain capacity clearly says 2.
Perhaps more testes are in order
---END QUOTATION---



Yep, I haven't postesd my updated files. I've changed it to 3 (to make it easier):


[9091]
; cse_abstract properties
section_name = smart_terrain
name = smart_generators_village
position = -110.64280700684,37.96125793457,-490.61651611328
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 2981
distance = 10.3999977111816
level_vertex_id = 198275
object_flags = 0xffffffbe
offline = false
custom_data = <<END
[smart_terrain]
type = smart_generators_village
capacity = 3
squad = 3
groups = 1,2,3
communities = stalker
END

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

; cse_alife_space_restrictor properties
restrictor_type = 0

; se_smart_terrain properties

[9094]
; cse_abstract properties
section_name = respawn
name = gen_stalker_respawn_1
position = -119.88652038574,37.427352905273,-480.15625
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 2966
distance = 16.7999992370605
level_vertex_id = 191156
object_flags = 0xffffff3e
custom_data = <<END
[respawn]
respawn_section = gen_stalker_respawn_1
max_count = 3
min_count = 1
max_spawn = 3
idle_spawn = often
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



Gulag:


	if type == "smart_generators_village" then
		get_console():execute("job_village0")
		t = {}
		t.section = "logic@smart_generators_village0"
		t.idle = 0
		t.timeout = 0
		t.prior = 100
		t.state = {0}
		t.squad = squad
		t.group = groups[1]
		t.position_threshold = 100
		t.online = true
		t.in_rest = ""
		t.out_rest = ""
		table.insert(sj, t)	
		
		get_console():execute("job_village1")
		t = {section = "logic@smart_generators_village1",
		idle = 0, timeout = 0, prior = 100, state = {0},squad = squad,
		group = groups[1], position_threshold = 100, online = true, in_rest = "",
		out_rest = "", predicate = function(obj_info) return obj_info.rank >= 900 end}
		get_console():execute("table_insert")
		table.insert(sj, t)
		
		get_console():execute("job_village2")
		t = {section = "logic@smart_generators_village2",
		idle = 0, timeout = 0, prior = 100, state = {0},squad = squad,
		group = groups[1], position_threshold = 100, online = true, in_rest = "",
		out_rest = "", predicate = function(obj_info) return obj_info.rank >= 900 end}
		get_console():execute("table_insert")
		table.insert(sj, t)

	end



Waypoints and logic are of course created.
  18:18:18  5 February 2011
profilee-mailreply Message URLTo the Top
exostalker
Novice fashion designer since 2008
(Resident)

 

 
On forum: 08/10/2009
Messages: 1267
Maybe someone could write an example, which would really be working, on what to write to every file so that in smart terrain would respawn monsters or stalkers. I really got confused by all this thing.
  23:42:44  5 February 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
02/05/2011 23:52:44
Messages: 1072
Okay, so I've got an alpha version of my smart terrain for a railroad soldier squad all ready. It's working. Except...the space restrictor isn't behaving like it should. Here is the item concerned...


; cse_abstract properties
section_name = space_restrictor
name = esc_railroad_kill_zone
position = 190.03401184082,20.19945526123,186.74197387695
direction = 0.859093,0,0.511819

; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 489164
object_flags = 0xffffff3e
custom_data = <<END
[logic]
active = sr_idle

[sr_idle]
on_actor_inside = {-esc_railroad_pass_on} nil %+esc_railroad_pass_fire%
on_info = {+esc_railroad_pass_on} sr_idle@pass

[sr_idle@pass]
on_game_timer = 3600| sr_idle %+esc_railroad_pass_off%
END

; cse_shape properties
shapes = shape0,shape1
shape0:type = box
shape0:axis_x = 1,0,0
shape0:axis_y = 0,1,0
shape0:axis_z = 0,0,1
shape0:offset = 0,0,0
shape1:type = box
shape1:axis_x = 59.0,0,0
shape1:axis_y = 0,16.9219551086426,0
shape1:axis_z = 0,0,4.0
shape1:offset = 0,0,0

; cse_alife_space_restrictor properties
restrictor_type = 3



The problem is that, well...no matter what, the guard doesn't shoot me unless I'm on top of the space restrictor. Yet, it's meant to span near enough 30 metres on the x axis, covering a fair amount of the railroad. It's certainly high enough. But...the z axis only needs to be small enough so that, if touched even the tiniest amount, they open fire. He doesn't do that unless I am right on top of the position of my restrictor. Now that's just dumb, because it doesn't seem to reflect how restrictors work in the first place. Or is the bloody size just for looks? I can only rely on the search function to find anything out on how space restrictors work, it's a wonder anyone can learn how to mod this game.

I already tried just one shape, with the 59x16.9219551086426x4 dimensions. That's why there are two shapes above, to see if the first was just a dud. Nope. I thought that restrictors covered an area of a certain size in xyz values, and when you entered them, a specific event was triggered. Yet here size means absolutely nothing...
  23:55:17  5 February 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
on_actor_inside that means when the actor is inside the defined space restrictor the section will switch on.

Try using on_actor_dist_le . That should switch the section if the actor is less than the distance defined.
  00:09:38  6 February 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
02/06/2011 0:11:12
Messages: 1072
That's the point - if the player tries to cross the railroad itself, the grunts will open fire. I am modelling it on the bridge patrol, where the same on_actor_inside logic is called. Only this time, the area is longer and thinner. I tried using the offset option, and dumping the position of the restrictor itself near the breach in the fence. The grunt still only responds with weapons fire if I touch the position of the restrictor. Nothing else sets him off attacking me...a whole portion of the railroad should be off limits. The distance method won't give me that...
  00:37:28  6 February 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
Define more than one space restrictors.

The one under the bridge should be on actor inside, the ones on the railroad should be switched if the actor is closer than some distance.
  00:46:56  6 February 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
02/06/2011 1:12:14
Messages: 1072
It's a different smart terrain and different logic, it isn't connected to the bridge logic at all. I don't want the patrols to be the same. I tried it before, but it didn't make sense, as attacking the bridge patrol would bring the wrath of the rail patrol, and vice versa (surely the military is smart enough to not fall for possible traps - the guys on the railroad wouldn't all abandon their post to defend the bridge from one wimp, it'd be stupid, and it could even be deception).

I have no idea about anything here because there's next to nothing written up on space restrictors. Nothing in the wiki, and the search function is hardly useful when it comes to specialist problems. There's so much crap out there, also, that sifting through it all would take longer than actually setting up a whole new smartie plus logic and whatever.

Whatever I've read on this part of modding is clearly wrong, or at least this computer has decided it is in charge of how space restrictors work, not the x-ray engine. Space restrictor shapes have about as much use as a banker's bonus. I mean, seriously! Direction means nothing in this case, the xyz size means nothing...aren't space restrictors meant to be triggered when you enter them? Not the centre of them, but the whole of them? Apparently mine are smaller than a quantum singularity, but appear larger in the all.spawn.
  13:59:19  6 February 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
Messages: 1072
Anyone at all? Seriously, the documentation on space restrictors is pathetic. I've tried two shapes attached, and still it makes ABSOLUTELY NO DIFFERENCE. None at all. Why the hell are multiple shapes used if they don't do anything? Why the hell are sizes used at all, even? The shapes clearly do not do anything, this is damned proof of that. Otherwise mine would have worked off the bat. I had the exact correct direction and xyz size for it to cover the correct area. But noooooooooo, I have to be smack bang on top no matter what for it to register. This leads me to believe there must be some magical pixie dust to get restrictors to work, because my experience, mirroring another kill zone, proves they don't do what they say they do in the all.spawn. What a waste of my time.
  14:21:35  6 February 2011
profilee-mailreply Message URLTo the Top
crucifist
(Senior)
 
On forum: 12/14/2009
 

Message edited by:
crucifist
02/06/2011 14:25:35
Messages: 105
Have you checked this?:

http://stalkerin.gameru.net/wiki/index.php/Space_restrictor

With google translate, it's understandable.
  14:28:56  6 February 2011
profilee-mailreply Message URLTo the Top
Kaidonni
First the Zone, then the world!
(Resident)

 

 
On forum: 08/30/2008
 

Message edited by:
Kaidonni
02/06/2011 14:42:49
Messages: 1072
Thanks, but it doesn't really tell me anything I didn't already know. The problem here is that the shape really doesn't mean anything at all. Seriously. Whoever wrote that it did was high or something. It certainly has no effect in my case. And direction is certainly important, because I don't want the restrictor parallel to the x axis. If it was, I'd have to create dozens of mini-restrictors (which is already proven will have no effect, I ain't gonna waste my time re-proving that when even just one does nothing).

EDIT: 10 minutes of my life I won't get back proving direction means nothing either. I still have to be smack bang on top of the restrictor even with 0,0,0. Sorry, but I must say this...all the documentation on restrictors is bunkum. Shapes means nothing at all. That's a fact. I have the logic, the info portions, everything. Still, the shape means nothing. You have to be at the position of the restrictor, that's all that matters. The rest is unused. Why the bloody shape was left in is beyond me. It really does do nothing.

Unless some expert can actually answer this, I advise people not to use box shape restrictors, as they don't have any real purpose. Unless shape does something, and it doesn't as is clearly evident here, then sphere's must be used. And they are useless for specific things like not being able to cross the railroad.
 
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.