ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
Smart terrain tutorial

« Previous 10 events | 1 2 3 4 5 | Next 10 events »| All Messages
Posted by/on
Question/AnswerMake Oldest Up Sort by Ascending
  12:43:25  6 October 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
The crashin' AI compiler and the f*cking gulags are two different problems i have. I want to build a new AI Map for Kordon cause i connected level to it. But my xrAI.exe crashs
Could u upload your version of the compiler, i wonna compare it with mine. Maybe its a buggy version i have.
  11:13:40  6 October 2010
profilee-mailreply Message URLTo the Top
Robberbaron
Bangalore
(Resident)

 

 
On forum: 08/06/2009
 

Message edited by:
Robberbaron
10/06/2010 11:29:32
Messages: 614
Nope, I checked all vanilla map, and all have valid ai map. What you see is 140 not connected neighbouring ai node, but its not so important, apart from this, the ai map is valid. You dont have to fix it. I never had problems with compiling cordon or any vanilla ai map, although I dont understand, why left GSC in the game unconnected ai nodes...

edit:
you dont have to recompile ai maps, if you just want to add some extra waypoints...
in level editor Compile --> Make game, and make a new all.spawn with xrAI, thats it
  11:02:31  6 October 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
Seems that every Monster needs its own waypoint in the smartie...
Some knows how GSC could compile their level with buggy Ai maps?
I cant compile any AI on normal settings (draft works), do i have to fix in kordon 140 invalid conencted AI patches?
  16:53:14  3 October 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
Kay Thank, i'll check it!
  16:22:52  3 October 2010
profilee-mailreply Message URLTo the Top
barin
scripter
(Resident)

 

 
On forum: 09/12/2007
 

Message edited by:
barin
10/03/2010 16:25:22
Messages: 702
Make sure that every entity has its own job - section should be unique for every entity in the same smart terrain, otherwise several entities will try to perform the same job which can lead to CTD


function load_job(sj, gname, type, squad, groups)
  local t = {}
  if type == "marsh_boars1" then
    t = { section = "logic@marsh_boars1_1", -- 1st boar
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
    t = { section = "logic@marsh_boars1_2", -- 2nd boar
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)

    ...

    t = { section = "logic@marsh_boars1_nth", -- nth boar
      idle = 0, prior = 5, state = {0},
      squad = squad, group = groups[1],
      in_rest = "", out_rest = ""
    }
    table.insert(sj, t)
  end
end

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
  return false -- should return boolean value
end

-- in gulag_marsh.ltx (jobs for marsh smart terrains)
-- marsh_boars1 smart terrain

[logic@marsh_boars1_1] ;-- 1st boar
active = mob_home@marsh_boars1_1

[mob_home@marsh_boars1_1] ;-- 1st boar job
...

[logic@marsh_boars1_2] ;-- 2st boar
active = mob_home@marsh_boars1_2

[mob_home@marsh_boars1_1] ;-- 2nd boar job
...

...

[logic@marsh_boars1_nth] ;-- nth boar
active = mob_home@marsh_boars1_nth

[mob_home@marsh_boars1_nth] ;-- nth boar job
...

  15:53:45  3 October 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
Hey Guys, thats just my simple gulag wich crahs without log. Can anybody find the error?

local t = {}
function load_job( sj, gname, type, squad, groups )
if type == "marsh_boars1" then
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_boars1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

if type == "marsh_dogs1" then
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_dogs1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end

if type == "marsh_rats1" then
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
t = { section = "logic@marsh_rats1",
idle = 0,
prior = 5, state = {0},
in_rest = "", out_rest = ""
}
table.insert(sj, t)
end
end

function load_states( gname, type )
if type == "marsh_boars1" then
return function(gulag)
return 0
end
end

if type == "marsh_dogs1" then
return function(gulag)
return 0
end
end

if type == "marsh_rats1" then
return function(gulag)
return 0
end
end
if type == "marsh_flesh1" then
return function(gulag)
return 0
end
end
end

--------------------------------------------------------------------------
-- Dynamic ltx
--------------------------------------------------------------------------
function load_ltx(gname, type)
return nil
end

function checkStalker(npc_community, gulag_type, npc_rank, se_obj)
end

function checkMonster(npc_community, gulag_type)
if gulag_type == "marsh_boars1" then
return npc_community == "boar" or
npc_community == "flesh" or
npc_community == "dog"
end

if gulag_type == "marsh_dogs1" then
return npc_community == "dog" or
npc_community == "flesh" or
npc_community == "boar"
end

if gulag_type == "marsh_rats1" then
return npc_community == "tushkano" or
npc_community == "flesh" or
npc_community == "dog"
end
if gulag_type == "marsh_flesh1" then
return npc_community == "flesh" or
npc_community == "tushkano" or
npc_community == "dog"
end
return false
end
  10:12:49  27 September 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
I tested the scripts and ltx again, no error. Will upload it today for a look.
  10:28:22  24 September 2010
profilee-mailreply Message URLTo the Top
Robberbaron
Bangalore
(Resident)

 

 
On forum: 08/06/2009
Messages: 614
Then it can be anything, maybe errors in your script and ltx files. Check your ltx files section names, or missed some "end" in scripts, use the LtxChecker and LuaChecker if you wanna be sure.

http://www.smart-mod-manager.org/other/LuaChecker-0.2.7z

http://www.smart-mod-manager.org/other/LtxChecker_0.6.7z
  09:48:13  24 September 2010
profilee-mailreply Message URLTo the Top
atonium2027
(Senior)
 
On forum: 06/01/2009
Messages: 74
Yes, i did it all and my monsters are not sticked to their smartie
When i'm back at home i have to check it all again.
  10:56:43  23 September 2010
profilee-mailreply Message URLTo the Top
Robberbaron
Bangalore
(Resident)

 

 
On forum: 08/06/2009
 

Message edited by:
Robberbaron
09/23/2010 11:15:39
Messages: 614
@atonium
Did you included your new gulag_{newlevel}.ltx files in the gamedata\config\misc\gulag_tasks.ltx?

If you use general_lager and general_lair type smarties, in gamedata\config\misc folder:

- general_lager.ltx --> npc types for new levels
- general_lair.ltx --> monster types for new levels
- smart_terrain_presets.ltx --> npc/monster types for new levels
 
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-2020 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.