ProjectsWhat's NewDownloadsCommunitySupportCompany
Forum Index » S.T.A.L.K.E.R.: Shadow of Chernobyl Forum » Mod discussion
Creating Factions And Unique NPC's Tutorial

Posted by/on
Question/AnswerMake Newest Up Sort by Descending
  18:03:44  29 May 2008
profilee-mailreply Message URLTo the Top
Steelhawk92
Average Joe - Used to be Jamie1992
(Resident)

 

 
On forum: 03/16/2008
 

Message edited by:
Steelhawk92
05/29/2008 18:26:19
Messages: 5051
Creating Factions And Unique NPC's Tutorial

Creating new factions

This is a short tutorial i on making factions its extracted from the russian wiki and i have edited it so that those who cant speak russian or was having a hard time understanding it can now do this, that plus i could never find a tutorial on how to do this.

I assume you have already extracted the DB's

We will make a faction called wind

1. To start, open game_relations.ltx and relations factions to the table at the end of the title and add the name of the factions and its relations ratios from other factions. Also, do not forget to register its own attitude to other groups:

[communities_relations]
;|actor |act_dol|act_fre|stalker|monolit|militar|killer |ecolog |dolg |freedom|bandit |zombied|strange|trader|arena_enemy|wind|
;=================================================================================================================================
actor = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
actor_dolg = 0, 0, 0, 0, -5000, -500, -5000, 5000, 600, -5000, -5000, -5000, 0, 0, -5000
actor_freedom = 0, 0, 0, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, -5000, 0

stalker = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0
monolith = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, 5000, 5000, -5000, 0, -5000, 0
military = -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, -5000, -5000, -5000, 0, 0, -5000, 0
killer = -5000, -5000, 0, -5000, -5000, -5000, 5000, -5000, -5000, -5000, 0, -5000, -5000, 0, -5000, 0
ecolog = 0, 600, -5000, 0, -5000, 1000, -5000, 5000, 500, -5000, -500, -5000, 0, 0, 0, 0
dolg = 0, 600, -5000, 0, -5000, -500, -5000, 5000, 5000, -5000, -5000, -5000, 0, 0, 0, 0
freedom = 0, -5000, 600, 0, -5000, -5000, -5000, -1500, -5000, 5000, 0, -5000, 0, 0, 0, 0
bandit = -5000, -5000, 0, -5000, -5000, -500, 0, -5000, -5000, 0, 0, -5000, -5000, 0, -5000, 0
zombied = -5000, -5000, -5000, -5000, 5000, -5000, -5000, -5000, -5000, -5000, -5000, 5000, -5000, 0, -5000, 0
stranger = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -500, -5000, 0, 0, 0, 0
trader = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
arena_enemy = -5000, -5000, -5000, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, 0, 0, 0

wind = 0, 0, 0, 0, -5000, -5000, -5000, 0, 0, 0, -5000, -5000, 0, 0, -5000, 0

Also, change this line, adding there name and number groupings:

titles factions communities
communities = actor, 0, actor_dolg, 1, actor_freedom, 2, stalker, 5, monolith, 6, military, 7, killer, 8, ecolog, 9, dolg, 10,
freedom, 11, bandit, 12, zombied, 13, stranger, 14, trader, 15, arena_enemy, 16, wind, 18,

add wind into the communites_sympahy section

[communities_sympathy]
actor = 0.0
actor_dolg = 0.0
actor_freedom = 0.0
stalker = 0.0
monolith = 0.0
military = 0.0
killer = 0.0
ecolog = 0.0
dolg = 0.1
freedom = 0.1
bandit = 0.0
zombied = 0.0
trader = 0.0
stranger = 0.0
arena_enemy = 0.0
wind = 0.0

2. After that, in a file death_manager.script line looking for local community_list in parentheses and add the name of your group:

function init_drop_settings()
local community_list = { "stalker", "dolg", "freedom", "bandit", "military", "zombied", "ecolog", "killer", "monolith",
"arena_enemy", "actor_dolg", "wind" }

3. The file death_items_by_communities.ltx write [x]: stalker (instead of x - the name of your group):

[...]
af_dummy_spring = 0
af_fuzz_kolobok = 0

;Еда
vodka = 0

[arena_enemy]
[actor_dolg]

[wind]: stalker
bread = 0
kolbasa = 0
vodka = 0
energy_drink = 0.3

4. If respavn provides a new group of fighters, in se_respawn.script set in local simMaxCount = (row after row with zombified stalkers:

wind_novice = 20, wind_regular = 20, wind_veteran = 20, wind_master = 6,

5. Write the faction in xr_statistic.script as follows just under the zombied lines:

zombied_novice = 1, zombied_experienced = 2, zombied_veteran = 3, zombied_master = 4,

write

wind_novice = 1, wind_experienced = 2, wind_veteran = 3, wind_master = 4

6. in character_desk_x.xml choose any NPC (or group) and changing its community:

<!---esc_wolf--->
<specific_character id="esc_wolf" team_default = "1">
<name>esc_wolf_name</name>
<icon>ui_npc_u_stalker_neytral_balon_1</icon>
<bio>esc_wolf_bio</bio>

<class>esc_wolf</class>
<community>wind</community>
[...]

7. To have character in the "Grouping" not to show "wind", and "Wind", record put the following at the top the file under the lines shown in bold in file string_table_general.xml:

<?xml version="1.0" encoding="windows-1251" ?>
<string_table>
<string id="wind">
<text>wind</text>
</string>
<string id="actor">
<text>wind</text>
</string>
[...]

Your new faction should now be working and whoever you changed will now be part of that faction you can replace wind with whatever you want them to be called.

Creating new unique npc's

This is the way to do it if spawing the NPC from the all.spawn and its also needed to keep him there this is how i spawned blade in my LITZ mod

the things below don't show the slashs it just takes them away so don't copy and paste it all as it wont work

I Really hope this helps you

you have to edit quite a few files:

Config>Text>ENG:

Stable_bio_name.xml

Config>Gameplay:

NPC_Profile.xml
Character_desc_escape

Config>Cretures:

m_stalker.ltx

scripts or Config>scripts not sure which one

Change the according gulag script EG:gulag_escape

and then you would have to edit the all.spawn to accomadate and spawn him

(shows example of blade My character from my LITZ mod)

m_stalker.ltx

[esc_blade]:stalker
character_profile = esc_blade
visual = actorsdolgstalker_do_nauchniy.ogf
corpse_visual = actorsdolgstalker_do_nauchniy.ogf
immunities_sect = stalker_immunities

thats placed at the bottom

Character_desc_escape.XML

<!-------------------------------------esc_blade------------------------------------------------------->
<specific_character id="esc_blade" team_default = "1">
<name>esc_blade_name</name>
<icon>ui_npc_u_stalker_do_nauchniy</icon>
<bio>esc_blade_bio</bio>

<class>esc_blade</class>
<community>stalker</community> <terrain_sect>stalker_terrain</terrain_sect>

<rank>820</rank>
<reputation>840</reputation>
<money min="2000" max="5000" infinitive="0"></money>

<snd_config>characters_voicehuman_03dolg</snd_config>
<crouch_type>0</crouch_type>

<visual>actorsdolgstalker_do_nauchniy</visual>
<supplies>
[spawn] n
wpn_walther n
ammo_9x19_pbp = 1 n
wpn_groza n
ammo_9x39_ap = 1 n
ammo_9x39_sp5 = 1 n
ammo_vog-25p = 2 n
#include "gameplaycharacter_items.xml" n
#include "gameplaycharacter_food.xml" n
#include "gameplaycharacter_drugs.xml"
</supplies>


#include "gameplaycharacter_criticals_6.xml"
#include "gameplaycharacter_dialogs.xml"

<start_dialog>hello_dialog</start_dialog>
</specific_character>

NPC_Profile.XML

<character id="esc_blade">
<class>esc_blade</class>
</character>

Stable_bio_name

<string id="esc_blade_name">
<text>Blade</text>
</string>
<string id="esc_blade_bio">
<text>The leader of the Duty camp near the military outpost, his good leadership skills and tactics won Duty the camp and overthrew the Bandits</text>
</string>

(shows all.spawn section for blade):

[870]
; cse_abstract properties
section_name = stalker
name = esc_blade
position = 109.19536590576, 7.1485390663147, 0.9805214738846
direction = 0.0445535257458687,-0.000645029998850077,0.0144814234226942

; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_blade

; cse_alife_object properties
game_vertex_id = 119
distance = 3.5
level_vertex_id = 410518
object_flags = 0xffffffbf
custom_data = <<END
[smart_terrains]
none = true
END

; cse_visual properties
visual_name = actorsdolgstalker_do_nauchniy

; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 5
health = 2
dynamic_out_restrictions =
dynamic_in_restrictions =

upd:health = 2
upd:timestamp = 0x6d6d695f
upd:creature_flags = 0x75
upd osition = -210.632614135742,-20.050708770752,-142.461120605469
upd _model = 0
upd _torso = -0.000645029998850077,0.0445535257458687,0
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 5

; cse_alife_monster_abstract properties

upd:next_game_vertex_id = 65535
upd rev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0

; cse_alife_human_abstract properties
predicate5 = 1,0,0,2,0
predicate4 = 2,2,1,2

; cse_ph_skeleton properties

upd:start_dialog =

; se_stalker properties

Apart from the gulag scripts thats pretty much it i belive however if i missed something out im sure someone will point it out and correct it or even explain it better

Hope this helped you please tell me if this worked for you

I will edit for punctuation etc when i get time
  18:39:09  29 May 2008
profilee-mailreply Message URLTo the Top
ShadeART
<< Radwind Sniper >>
(Resident)

 

 
On forum: 03/07/2008
Messages: 174
Good Work Jamie...

Maybe now i can help you with the new faction
  19:03:09  29 May 2008
profilee-mailreply Message URLTo the Top
FreeKiller
Senior Resident
 

 
On forum: 10/24/2007
Messages: 613
Thanks,i´ll do something with this,just a question.

Kanyhalos told me how to add a new mutant specie but just new kind of existing ones,ie,tushkano_killer,but i want add them in game relation. And adding different factions here,not being all human,something like that:


act hum tushkano tushkano_killer
;===========================================
actor = 0, 0, -1, -2
human = 0, 0, -1, -2
tushkano =- 2, -2, 1, -2
tushkano_killer = -2, -2, -2, -1
Wind = -2, -1, -1, -1
Do you know how to do it?


I could be very funny,can create friendly doogy for Fox and killer dogs for bandits

I´m playing with other things and want learn to do smart terrains,also new faction,so here is my idea for anyone interested
  19:06:22  29 May 2008
profilee-mailreply Message URLTo the Top
Steelhawk92
Average Joe - Used to be Jamie1992
(Resident)

 

 
On forum: 03/16/2008
 

Message edited by:
Steelhawk92
05/29/2008 19:16:03
Messages: 5051

---QUOTATION---
Thanks,i´ll do something with this,just a question.

Kanyhalos told me how to add a new mutant specie but just new kind of existing ones,ie,tushkano_killer,but i want add them in game relation. And adding different factions here,not being all human,something like that:


act hum tushkano tushkano_killer
;===========================================
actor = 0, 0, -1, -2
human = 0, 0, -1, -2
tushkano =- 2, -2, 1, -2
tushkano_killer = -2, -2, -2, -1
Wind = -2, -1, -1, -1
Do you know how to do it?


I could be very funny,can create friendly doogy for Fox and killer dogs for bandits

I´m playing with other things and want learn to do smart terrains,also new faction,so here is my idea for anyone interested
---END QUOTATION---



Oh i see so you want to add in a new form of a mutant i belive you have to add it into the relations where the mutants are as well as the se_respawn i suppose it would be the same as the factions except you just change where you make the entrys.

I have never made a new species of mutant so i cant really help sorry.
  21:50:04  29 May 2008
profilee-mailreply Message URLTo the Top
Fulcrum
Senior Resident
 

 
On forum: 12/15/2007
Messages: 555

---QUOTATION---

I could be very funny,can create friendly doogy for Fox and killer dogs for bandits

I´m playing with other things and want learn to do smart terrains,also new faction,so here is my idea for anyone interested
---END QUOTATION---



About the dogs in the original the dwarves and dogs could be your allies if you helped them in one of the very old betas/ideas. This would be awesome... friendly mutants. Dwarf traders and quest givers. Baby dwarves. Sneaky izloms, really talking to you and stuff like the stories said. Half brainwashed zombies like the story of the dutiers who found a zombie and tried caring for it... *sighs and looks into the sky*
  21:57:18  29 May 2008
profilee-mailreply Message URLTo the Top
Steelhawk92
Average Joe - Used to be Jamie1992
(Resident)

 

 
On forum: 03/16/2008
Messages: 5051
Yeah that would be awesome.

Also do you find any of this useful?
  22:13:55  29 May 2008
profilee-mailreply Message URLTo the Top
FreeKiller
Senior Resident
 

 
On forum: 10/24/2007
 

Message edited by:
FreeKiller
05/29/2008 22:18:08
Messages: 613
Of course jamie!!!

i´ll play with it when have time ,there are a lot of textures over there,and a lot of different attacks in every mod

why having allways the same groups in the zone?,i have an idea wich involves some secret services from some "dangerous" contries(one for being exact)...into the zone trying to stole the secrets of monolit

it´s a lot of work,but i will do

EDIT:devps had a lot of xtra ideas that we don´t have,even more probably than now are scripted and not used...lets see what little surprises CS have inside
little things,make the difference(sleepbag,friendly dogs,etc)
  22:22:14  29 May 2008
profilee-mailreply Message URLTo the Top
Steelhawk92
Average Joe - Used to be Jamie1992
(Resident)

 

 
On forum: 03/16/2008
 

Message edited by:
Steelhawk92
05/29/2008 22:23:58
Messages: 5051
My mod is gonna have alot more factions

-Red Sun faction(assasin)
-Clear Sky
-W.M.O.(world merc organization)
-Radioactive's Children(fanatic like monolith but they are mutants: face, arms etc.)
-Spy

To name a few i have made the clear sky one already but you get the idea head over to my "A Freedom Story" thread go to page 7 and go about half way down you can see what the idea of my mod is and how im getting along with it.
  00:44:55  19 June 2008
profilee-mailreply Message URLTo the Top
fatrap
The Wrinkled One
(Resident)

 

 
On forum: 08/01/2007
Messages: 2289
Hey jamie1992! Since you are adding new factions to your mod, you might want to check out the CTD that happened in a beta release of R&G.... I put a new community called "rogues" in and the CTD occurred when one was wounded and the medkit dialog was triggered. You need to alter 2 more files.... stable_dialog_manager.xml and dialog_manager.ltx to pick up the new faction's dialog. Thanks to barin for this catch! You can see the details in the last page of the R&G thread.
  01:50:37  19 June 2008
profilee-mailreply Message URLTo the Top
Steelhawk92
Average Joe - Used to be Jamie1992
(Resident)

 

 
On forum: 03/16/2008
Messages: 5051
Ah right thanks fatrap ill check it out and update this thread thanks alot mate.
 
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.