Die NPC werden in jedem Zonenordner in der npc.py definiert. Für die GNO-Karte wäre das z.B: zones / zone_1 / npc.py
Code: Select all
# Fine, die Testhändler
system.create_character(
id="FINE",
gender="female",
party="DORFBEWOHNER",
x=370,
y=575,
name=globaltext.NAME_FINE,
direction=300,
resourceui="sue_z7.png")
objects.set_attribute("FINE", "faction", "VILLAGE_PEOPLE")
objects.set_attribute("FINE", "level", 1 )
objects.set_attributes("FINE",
model="low",
gender="female",
skin="black",
clothes="sl_003",
face="edeltraud")
character.update_appearance("FINE")
character.scale("FINE",1.70)
objects.set_attribute("FINE", "trader", True)
objects.set_attribute("FINE", "trader_type", "all")
objects.set_attribute("FINE", "voice_id", "trader_03")
objects.create_item_in_inventory("FINE",
[ "SET_M_16",# M4A1
"SET_AMMOPACK_44"]# 1 Packen .44er Munition
+12*["SET_AMMOPACK_7_62NATO_MM"]# 12 Packen 7,62x51 nato Munition
+8*["SET_AMMOPACK_7_62NATO_MM_DUPLEX"]# 8 Packen 7,62x51 nato Duplex
+9*["SET_AMMOPACK_5_45_MM"]# 9 Packen 5,45mm
+7*["SET_AMMOPACK_5_7_MM"]# 7 Packen 5,7mm
+8*["SET_AMMOPACK_5_7_MM_SUBSONIC"]# 8 Packen 5,7mm Subsonicmunition
)
if not hasattr(data(), "patch_patrick"):
data().patch_patrick = 1
resourceui="sue_z7.png" - definiert das Dialogbild des Charakters, zu finden in textures.ubn / textures / characters / human / low / dialog_faces (UBN-Dateien öffnen mit z.B. 7zip)
character.scale("FINE",1.70) - kann man die Größe des NPC verändern - voll lustig, kann man "Gullivers Reisen" oder den "Angriff der 20m Frau" spielen

objects.create_item_in_inventory("FINE", ["SET_..."] + 12*["SET_..."] + 8*["SET_..."]) - das Inventar, Art und Anzahl veränderbar (die Preise werden in der scripts / itemdata / items.py oder weopons.py oder ammo.py verändert)
Damit die selbst gewählten Namen (id="FINE") auch im Spiel erscheinen müssen sie definiert werden in scripts / globaltext / german / names.py
Code: Select all
# Zone 1 - Neue TA NPCs
add_global_text(id="NAME_SEAMUS", text="Seamus")
.
.
.
add_global_text(id="NAME_NICK", text="Nick")
add_global_text(id="NAME_FINE", text="Fine")
An dieser Stelle werde ich weitere NPC-Eigenschaften auflisten, wenn ich sie finde:
character.set_approachable_state("RSGUARD_FRONT", NOTAPPROACHABLE)
objects.create_item_in_inventory("RSGUARD_FRONT", ["SET_MP5", "SET_AMMOPACK_9_MM","SET_AMMOPACK_9_MM"])
character.equip("RSGUARD_FRONT","SET_MP5")