Feuer Fx erstellen

TheVulture
Hallo alle zusammen.
Wie kan ich ein feuer darstellen bzw. disen feuer fx bei den mormlen maps
hat da jemand ne idee ??

Cu
The Vulture
Private Grob
Ist relativ einfach. Du ermittelst im Radianten wo der Effekt stattfinden soll.

Jetzt machst du eine neue Script Datei, rufst sie von der Haupt GSC Datei auf und schreibst folgendes rein:

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
main()
{
	mapeffekte_FX();

}

mapeffekte_FX()
{
	level._effect["oil_lamp"] 		= loadfx ("fx/props/glow_latern.efx"); 
	maps\mp\_fx::loopfx("oil_lamp", (-495, -1051, 168), 0.4); 
}



Vergiß die Zahlen ( 1: 2: 3: ) und Doppelpunkte davor, keine Ahnung warum die drin sind

Das war es schon. Jetzt will ich mal die einzelnen Sachen erklären:

oil_lamp
Ist der Name wie du den Effekt nennst. Du kannst hier benutzen was du willst.

fx/props/glow_latern.efx
Der Name der Effekt Datei (also das Feuer) und wo sie liegt. In diesem Fall im Ordner fx/props. Ich weiß jetzt gerade nicht auswendig in welcher iwd Datei die ganzen Effekte liegen, da mußt du dich mal durchklicken.


maps\mp\_fx::loopfx("oil_lamp", (x, y, z), s);
Hier wieder zuerst den Namen, den du oben festgelegt hast. X, Y, Z sind die Koordinaten, die du im Radianten ermittelt hast. S gibt die Zeit in Sekunden an wann der Effekt neu startet. Im obigen Beispiel also alle 0.4 Sekunden.

Das war alles. Nur sei vorsichtig mit dem Einbau von Effekten, sie gehen sehr schnell auf die FPS

Grüße
Private Grob
(Micka)
MIK
Sag mal Private, ist die Programmiersprache C++?
Private Grob

Zitat:

Original von MIK
Sag mal Private, ist die Programmiersprache C++?


Da liegst du gar nicht mal so falsch grosses Grinsen

Die Sprache nennt sich QuakeC und ist eine uralte Abart (Vorläufer) von C++. Allerdings sehr stark beschränkt und vereinfacht.

Siehe auch hier (Wikipedia)

Grüße
Private Grob
(Micka)
MIK
Holla, hat aber extreme ähnlichkeit mit der neuzeitigen Sprache von Boarland, dem C Uhrcompiler. Meine Fresse, in beiden Ausbildungen haben mir die Leerkörper versucht dieses Sprache bei zu bringen, jedes mal ohne Erfolg.... *ggg*
Bilderbuchsoldat
Habe Zeile 3 (mapeffekte_Fx()) in meine mp_meinemap.gsc geschrieben, eine Datei mapeffekte_FX.gsc mit dem Inhalt von Zeile 7-11 erstellt und in maps/mp Ordner gepackt. Beim laden der Map kommt dann "script compile error" unglücklich
Was hab ich falsch?
MIK
Nene, der Code den der Private gepostet hat ist ein zusammenhängender und -abhängiger Code

Code einblendenCode angehängt. Klicke hier zum Ein-/Ausblenden

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
main()
{
	mapeffekte_FX();

}

mapeffekte_FX()
{
	level._effect["oil_lamp"] 		= loadfx ("fx/props/glow_latern.efx"); 
	maps\mp\_fx::loopfx("oil_lamp", (-495, -1051, 168), 0.4); 
}


main() definiert dabei die Hauptfunktion (main = Haupt, () = Funktion). In dieser Hauptfunktion wird die Funktion mapeffekte_FX aufgerufen. Unter der ersten geschweiften Klammer (geschweifte Klammern definieren immer Funktionsbereiche oder Befehlsbereiche) steht die eigentliche Funktion mapeffekte_FX. Daher muß der gesamte Code in einer Datei stehen.
Bilderbuchsoldat
THX... jetzt habe auch ich in meiner Lampe Öl grosses Grinsen
Private Grob
Supi.... hast du auch so lange gefummelt wie ich, bis du die exakten Koordinaten hattest und das Feuer wirklich direkt auf dem Docht brennt?

Was für eine Arbeit geschockt

P.S. Meine Map ist fertig, morgen folgt der Link zum download Augenzwinkern

Grüße
Private Grob
(Micka)
yoda
*gespannt* smile
TheVulture
Späte Antwort aber,
Besten Dank Private Grob für deine hilfe

Ps. Bin mal gespant auf deine Map grosses Grinsen
MIK

Zitat:

Original von yoda
*gespannt* smile


Anschließ und Hände schon reib...
PaRa
hier noch ein kleiner nachtrag mit einer liste von feuer effekten :

List of level._effect["___?____"] = loadfx ("fx/fire/____?____.efx"); values you can use for fire:

fire:

armoredcar_fire_turret_large
building_fire_distant
building_fire_large
building_fire_med
building_fire_small
cargoship_fire
character_arm_fire
character_torso_fire
crusader_fire_turret_large
fire_airplane_emitter
fire_airplane_trail
fire_smoke_trail
fireheavysmoke
flame_small_em
ground_fire_med
ground_fire_med_nosmoke
ground_fire_small_oneshot
halftrack_fire
higgens_fire
med_oil_fire
meteor_shower
meteor_trail
nebelwerfer_trail
panzer2_fire_turret_small
rocket_launch
sherman_fire_turret_large
tank_fire_engine
tank_fire_libya_distant
tank_fire_night_distant
tank_fire_turret_large
tank_fire_turret_small
thermite_grenade
tiger_fire_turret_large

List of level._effect["____?____"] = loadfx ("fx/smoke/____?____.efx); values you can use for smoke:

battlefield_smokebank_S
black_smoke_ball
credits_smoke_shield
damaged_vehicle_smoke
dark_smoke_trail
drifting
emitter_panzerfaust
emitter_panzerschreck
flare
green_smoke_40sec_duhoc
grenade_smoke
grenade_smoke_night
large_smoke_plume
orange_smoke_20sec
orange_smoke_40sec
orange_smoke_grenade
smoke_grenade_duhoc_40sec
smoke_panzerfaust
smoke_panzerscrheck
smoke_panzerscrheck_view
smoke_plumeBG
smoke_plumeBG_toujane
smoke_trail_mortar
thin_black_smoke_M
thin_black_smoke_M_duhoc
thin_black_smoke_S
thin_light_smoke_L
thin_light_smoke_L_duhoc
thin_light_smoke_M
thin_light_smoke_M_duhoc
thin_light_smoke_S
vehicle_steam


lol, meteor_shower müsst ihr euch mal geben,...hehe

gruss
PaRa
Zordiac
@Grob und alle anderen

Etwas spät, aber wenn Du die Koordinaten suchst. Wenn die Flammen auf einem Model brennen sollen, wähle im Radianten das Model aus und drücke "N" dann erscheinen und origin die genauen Koordinaten. Jetzt nur noch ein paar WE´s höher für die Flamme, und....fertig?

Oder setze ein script_origin und lasse den Effect am script_origin abspielen.

Fallst Du es schon wusstest, nichts für Ungut.

Soll generell als Tip zum suchen von Koordinaten gelten.
Private Grob

Zitat:

Original von Zordiac
wähle im Radianten das Model aus und drücke "N" dann erscheinen und origin die genauen Koordinaten. Jetzt nur noch ein paar WE´s höher für die Flamme, und....fertig?


Gute Idee! Manchmal liegt das Gute so nahe Freu

Grüße
Private Grob
(Micka)
T.R.Graves
hallo

Ich Persönlich benutze einen info_notnull für die Positions bestimmung. Der Vorteil ist das du diesen im Radianten immer stehen lassen kannst und du weisst das dort ein effekt stattfindet. Wird beim compilieren nicht berücksichtigt und vereinfacht dir damit deine Übersicht über deine Map im Radianten ungemein.

Bis denn
OLD MAN WITH GUN

Zitat:

Original von Bilderbuchsoldat
THX... jetzt habe auch ich in meiner Lampe Öl grosses Grinsen
Das hättest du aber auch einfacher haben können (ganz ohne gescripte in der gsc-Datei, wie in den Originalmaps).
Einfach das xmodel light_lantern_on in die Map setzen (N drücken und NO_SHADOW makrieren). Einen script_origin an die selbe Position setzen (8 Welteinheiten höher als die Lampe), N drücken und folgende Werte unten bei Key/Value eintragen:
Key: targetname
Value: lantern_glowFX_origin
Dann ebenfalls noch ein Licht an diese Position setzen (am besten 10 Welteinheiten höher als die Lampe), Radius und Lichtfarbe hinzufügen.
Das war es auch schon.

Nun hat man seine Öl-Lampe, ohne auch nur eine Zeile in irgendeinen Script geschrieben zu haben.

Edit: Es muss aber eine mapname_fx.gsc existieren, in der mindestens ein Effekt geladen wird (und die natürlich von der mapname.gsc aufgerufen wird).