Freelancer Community Network
Reminder: Internet Explorer 6 or below are NOT supported.
HomeHome
ForumForum
WikiWiki
DownloadsDownloads
ForgeForge
Multiplayer Connection Tutorial
Collapse/Expand Random Image
Collapse/Expand Login
Username:

Password:

Remember me



Lost Password?

Register now!
Collapse/Expand Chat
Collapse/Expand Who's Online
56 user(s) are online (48 user(s) are browsing Forum)

Members: 0
Guests: 56

more...
Collapse/Expand Donations
Monthly costs: -30€
Income (ads): +5€
Donations (last month): +0€

Current balance: 55€
(last updated 04/2021)

Please make a donation if you want to help keeping The-Starport online:

Thanks!
Collapse/Expand Links
Collapse/Expand Advertisement
There are currently 45 users playing Freelancer on 42 servers.
January. 29, 2023

Browsing this Thread:   1 Anonymous Users



 Bottom   Previous Topic   Next Topic  Register To Post



Neues Schild und Schild Typen
Home away from home
Joined:
2008/5/15 21:52
From Germany
Group:
Registered Users
$$$ Supporters $$$
Senior Members
Posts: 1615
Offline
Originalautor: Flamebird

Quote:
Hi leute
Also ich erkläre mal wie man ein schild mach und gleich noch einen neuen typ von schild macht ^^

Ich hab mich mal drangesetzt um ein Tutorial für neue Schilde zu machen. Ihr solltet beachten:

Wenn ihr in den Dateien rumhantiert, macht vorher Backups!


Ihr braucht:

Nichts außer den Bini-Editor.

BlueEagel


1. Schild erstellen

Zuerst erstellen wir den neuen Schild. Dazu öffnet ihr die Datei "st_equip.ini" im Verzeichnis "DATA\EQUIPMENT" mit dem Bini-Editor. Öffnet nun die soeben vom Bini-Editor erstellte Datei "st_equip.ini.txt im selben Verzeichnis.

Ein typisches Schild sieht so aus:

[ShieldGenerator]
nickname = shield01_mark01_lf ;<-- Nickname des Schildes, ist in diesem Fall das "Sentry L. F. Shield"
ids_name = 263789 ;<-- ID des Schildes, definiert den Namen
ids_info = 264789 ;<-- ID des Infotextes für den Schild
DA_archetype = equipment\models\st\li_refractor_shield.3db
material_library = equipment\models\li_equip.mat
HP_child = HpConnect
hit_pts = 400 ;<-- Health Points, die das Stück an sich hat. Achtung: Ist nicht die Schildenergie!!!
explosion_resistance = 0.500000
debris_type = debris_normal
parent_impulse = 20
child_impulse = 80
volume = 0.000000
mass = 10
regeneration_rate = 13.300000 ;<-- Regenerationsrate des Schildes
max_capacity = 600 ;<-- Energie, die der Schild hat (im Spiel die blaue Leiste)
toughness = 6.000000
hp_type = hp_fighter_shield_special_1 ;<-- Bestimmtden Level und, ob der Schild für leichte/schwere Jäger/Frachter ist
offline_rebuild_time = 12 ;<-- Zeit, die der Schild brauch, um wieder online zu gehen (wenn der Schild keine Energie mehr hat)
offline_threshold = 0.150000
constant_power_draw = 0
rebuild_power_draw = 10
shield_type = S_Graviton01 ;<-- Typ des Schildes, man kann auch komplett neue Typen erstellen, weiteres dazu unten
shield_collapse_sound = shield_offline
shield_rebuilt_sound = shield_rebuilt
shield_hit_effects = 0, gf_li_shield01 ;<-- diese 3 Werte bestimmen den Effekt, wenn der Schild getroffen wird
shield_hit_effects = 100, gf_li_shield02
shield_hit_effects = 500, gf_li_shield03
separation_explosion = sever_debris
LODranges = 0, 20
lootable = true ;<-- bestimmt, ob der Schild verloren werden kann oder nicht (in diesem Fall kann er verloren werden)


Als Nickname solltet ihr einen wählen, der zu eurem Schild passt, z.B.: my_shield01_mark01_hf für einen Klasse 1 Schild für einen schweren Jäger.

Um zu bestimmen, für welche Raumschiffklasse der Schild ist, ist der Wert "hp_type" interessant.

Für leichte Jäger: hp_fighter_shield_special1
Für schwere Jäger: hp_elite_shield_special1
Für Frachter: hp_freighter_shield_special1

Die Zahl hinter "special" gibt den Level des Schildes an.



2. (optional) Neue Schildgattung erstellen

Wenn ihr die vorhandenen Typen zu langweilig findet, könnt ihr auch einfach eine neue Schildgattung erstellen. Dies geht folgendermaßen:

Zuerst sucht ihr euch einen Namen für die neue Schildgattung aus, z.B. Celtron. Diesen Wert müsst ihr bei eurem Schild bei "shield_type" angeben, in diesem Fall wäre das "S_Celtron01". Jetzt hätten wir eine neue Schildgattung, jedoch würde an diesem Schild keine Waffe etwas ausrichten können, da wir diese Informationen noch nicht gegeben haben.

Dazu öffnet ihr die Datei "weaponmoddb.ini" mit dem Bini-Editor. Sie befindet sich auch im Verzeichnis "DATA\EQUIPMENT". Dann öffnet ihr die Datei "weaponmoddb.ini.txt" mit einem Texteditor.

Die Informationen bei "[WeaponType]" gehören immer zu einer bestimmten Waffenklasse. Diese Klasse könnt ihr am Nickname erkennen: "W_Laser01" wären z.B. Laserwaffen.

Um nun Waffentypen mehr oder weniger Effektiv gegen euren neuen Schild zu machen, müsst ihr folgendes an jeden Block in der Datei anhängen:

shield_mod = S_Celtron01, 1.000000

wobei die letzte Zahl angibt, wie viel Schaden der Waffentyp am Schild anrichtet. Diese Angabe wäre z.B. der normale Schaden einer Waffe, also der, der bei der Waffe in der Infocard steht. "0.500000" würde z.B. bedeuten, dass jede Waffe des Types, bei dem dieser Wert steht, nur die Hälfte des tatsächlichen Schadens anrichtet.



3. Schild zum Verkauf anbieten

Hierzu öffnet ihr die Datei "st_good.ini" mit dem Bini-Editor (auch diese Datei befindet sich im Verzeichnis "DATA\EQUIPMENT" ) und anschließend die Datei "st_good.ini.txt" mit einem Texteditor. Dort fügt ihr folgendes ein:

[Good]
nickname = shield01_mark01_lf ;<-- Nickname mit dem exakten Nickname eures Schildes ersetzen
equipment = shield01_mark01_lf ;<-- selben Wert wie bei "nickname" angeben!
category = equipment
price = 1000 ;<-- bestimmt, wie teuer der Schild im Spiel ist
item_icon = equipment\models\commodities\nn_icons\EQUIPICO N_shieldgen.3db
combinable = false
ids_name = 263789 ;<-- dieselbe ID angeben, die ihr in Schritt 1 angegeben habt
ids_info = 264789 ;<-- dieselbe ID angeben, die ihr in Schritt 1 angegeben habt
shop_archetype = equipment\models\st\li_refractor_shield.3db
material_library = equipment\models\li_equip.mat

Das war allerdings noch nicht alles. Freelancer weiß jetzt zwar, wie viel der Schild kosten soll und welche Infocards es für den Schild benutzen soll, jedoch weiß es nicht, wo der Schild verkauft werden soll. Dazu öffnet ihr die Datei "market_misc.ini" mit dem Bini-Editor (befindet sich auch im Verzeichnis "DATA\EQUIPMENT" ) und danach die Datei "market_misc.ini.txt" mit einem Texteditor.

Wenn ihr den Schild z.B. auf Manhattan verkaufen wollt, sucht nach dem Eintrag "base = Li01_01_base" und fügt am Ende dieses Textblockes folgendes ein:

MarketGood = shield01_mark01_lf, 0, -1, 10, 10, 0, 1

Das "shield01_mark01_lf" ersetzt ihr in jedem Fall mit dem Nickname eures Schildes!

Mehr zu den Zahlen nach dem Komma erfahrt ihr in diesem Tutorial.


Zum Schluss löscht ihr die Dateien "st_equip.ini", "st_good.ini", "market_misc.ini" und ggf. "weaponmoddb.ini", wenn ihr diese Datei editiert habt (Schritt 2). Dann benennt ihr die Dateien "st_equip.ini.txt", "st_good.ini.txt", "market_misc.ini.txt" und ggf. auch "weaponmoddb.ini.txt" so um, dass das ".txt" am Ende nicht mehr da ist, sie also die Endung ".ini" haben.


Dieses Turorial wurde von Flamebird auf Station Network erstellt

Posted on: 2011/7/24 20:49
Open in new window
Top
Re: Neues Schild und Schild Typen
Quite a regular
Joined:
2010/5/29 11:40
Group:
Registered Users
Posts: 176
Offline
Muss ich mir später nochmal anschauen, bin noch ein bisschen müde..^^




Um ein neues Schild zu erstellen muss man zuerst den SchieldGenerator (in der st_equip.ini) schreiben den man dann in der st_good.ini zum verkauf anbietet.


  1. SchieldGenerator erstellen
    Der SchieldGenerator muss in die Datei "data\equipment\st_equip.ini" eingetragen werden.
    Hier werden alle Werte (Energie, Effekte, Regenerationsrate,..) eingestellt.
    Hier ein typischer Eintrag:
    Code:

    [ShieldGenerator]
    nickname = shield01_mark01_lf ; <-- Nickname des Schildes
    ids_name = 263789 ; <-- ID für den Namen des Schildes, ist in diesem Fall "Sentry L. F. Shield"
    ids_info = 264789 ; <-- ID für den Infotext des Schildes
    DA_archetype = equipment\models\st\li_refractor_shield.3db
    material_library = equipment\models\li_equip.mat ; <-- Textur des Schilds
    HP_child = HpConnect
    hit_pts = 400 ; <-- Health Points, die das Angebaut Schild hat (schaden den man am Schild verursachen muss um es abfallen zu lassen)
    explosion_resistance = 0.500000
    debris_type = debris_normal ; <-- Wrackteil welches vom Schild hinterlassen wird wenn es zerstört wird
    parent_impulse = 20
    child_impulse = 80
    volume = 0.000000
    mass = 10
    regeneration_rate = 13.300000 ;<-- Regenerationsrate des Schildes
    max_capacity = 600 ;<-- Energie, die der Schild hat (im Spiel die blaue Leiste)
    toughness = 6.000000
    hp_type = hp_fighter_shield_special_1 ; <-- Bestimmt den Level und, ob der Schild für leichte/schwere Jäger/Frachter ist (siehe unten)
    offline_rebuild_time = 12 ; <-- Zeit, die das Schild braucht, um wieder online zu gehen (wenn der Schild keine Energie mehr hat)
    offline_threshold = 0.150000
    constant_power_draw = 0 ; <-- Wieviel Energie dauerhaft von der Schiffsenergie abgezogen wird
    rebuild_power_draw = 10 ; <-- Wieivel Energie von der Schiffsenergie abgezogen wird wenn das Schild wieder online geht
    shield_type = S_Graviton01 ; <-- Typ des Schildes, man kann auch komplett neue Typen erstellen (siehe Punkt 3)
    shield_collapse_sound = shield_offline ; <-- Sound der abgespielt wird wenn das Schild offline geht (der blaue Balken ist leer)
    shield_rebuilt_sound = shield_rebuilt ; <-- Sound der abgespielt wird wenn das Schild wieder online geht
    shield_hit_effects = 0, gf_li_shield01 ; <-- diese 3 Werte bestimmen den Effekt, wenn das Schild getroffen wird
    shield_hit_effects = 100, gf_li_shield02
    shield_hit_effects = 500, gf_li_shield03
    separation_explosion = sever_debris
    LODranges = 0, 20 ; <-- bestimmt wann welches LevelOfDetail angezeigt wird (andere Modelle mit weniger Details)
    lootable = true ;<-- bestimmt, ob der Schild verloren werden kann oder nicht (in diesem Fall kann er verloren werden)


    Tipps:
    Als Nickname sollte man einen Wert wählen der das Schild gut beschreibt, z.B.: my_shield01_mark01_hf ein Klasse 1 Schild für einen schweren Jäger.

    Um zu bestimmen, für welche Schiffsklasse das Schild ist, muss man den Wert "hp_type" anpassen.

    • Für leichte Jäger: hp_fighter_shield_special1
    • Für schwere Jäger: hp_elite_shield_special1
    • Für Frachter: hp_freighter_shield_special1

    Die Zahl hinter "special" gibt den Level des Schildes an.


  2. Schild zum Verkauf anbieten
    Um Schilder kaufbar zu machen muss zuerst ein "Good" in der Datei "st_good.ini" erstellt werden welches man dann in der Datei "market_misc.ini" zum Verkauf anbieten kann.

    Eintrag in der Datei "st_good.ini":
    Code:

    [Good]
    nickname = shield01_mark01_lf ; <-- Der selbe Nickname wie bei Punkt 1
    equipment = shield01_mark01_lf ; <-- Der selbe Nickname wie bei Punkt 1
    category = equipment
    price = 1000 ; <-- bestimmt, wie teuer der Schild im Spiel ist
    item_icon = equipment\models\commodities\nn_icons\EQUIPICO N_shieldgen.3db ; <-- Das kleine Icon beim Händler
    combinable = false
    ids_name = 263789 ;<-- dieselbe Names-ID wie bei Punkt 1
    ids_info = 264789 ;<-- dieselbe Info-ID wie bei Punkt 1
    shop_archetype = equipment\models\st\li_refractor_shield.3db
    material_library = equipment\models\li_equip.mat ; <-- Textur des Schilds


    Freelancer weiß jetzt zwar, wie viel das Schild kosten soll und welche Infocards es für das Schild benutzen soll,
    jedoch weiß es nicht, wo das Schild verkauft werden soll.
    Um das zu erledigen muss das Schild in der Datei "market_misc.ini" eingetragen werden.

    Wenn das Schild z.B. auf Manhattan verkauft werden soll, muss es zum '[BaseGood]'-Segment mit der Zeile "base = Li01_01_base" hinzugefügt werden.
    Beispiel:
    Code:

    [BaseGood]
    base = Li01_01_base
    ...sehr viele Einträge...
    MarketGood = shield01_mark01_lf, 0, -1, 10, 10, 0, 1

    Statt "shield01_mark01_lf" muss der Names des neuen Schildes eingetragen werden.
    Weitere Informationen sind im Tutorial "Marketgood-Einträge entschlüsselt" zu finden.


  3. (optional) Neue Schildgattung erstellen
    Optional können in der Datei "data\equipment\WeaponModDB.ini" auch neue Schildtypen erstellt werden (siehe "shield_type" bei Punkt 1).
    Mit Schildtypen können Waffentypen mehr oder weniger effektiv gegen Schilder gemacht werden.
    Wenn ihr die vorhandenen Typen zu langweilig findet, könnt ihr auch einfach eine neue Schildgattung erstellen. Dies geht folgendermaßen:
    Ein neuer Schildtyp könnte z.B. "S_Celtron01" sein. Wenn dieser nun der Waffentyp "W_Laser01" weniger oder mehr effektiv als andere Waffen sein soll muss man zu dessen '[WeaponType]'-Sektion folgende Zeile hinzufügen:

    shield_mod = S_Celtron01, X

    X gibt den Schadensfaktor an. Werte über 1 machen die Waffe effektiver (1.2 -> 20% mehr schaden) und Werte unter 1 machen sie weniger effektiv (0.8 -> 20% weniger Schaden).

    Beispiel:
    Code:

    [WeaponType]
    nickname = W_Laser01
    ...andere Einträge...
    shield_mod = S_Celtron01, 1.5

    In diesem Beispiel machen alle Waffen vom Typ "W_Laser01" 50% mehr Schaden.


    Original von Flamebird, neu verfasst und erweitert von M1C

Posted on: 2011/7/26 9:51
Top