Effekte erstellen

Lessing
Leider bekomme ich Effekte zuverlässig nur über die Main.gsc zum laufen.

Beispiel:
level._effect["wind"] = loadfx ("dust/dust_wind_slow_yel_loop"); maps\mp\_fx::loopfx("wind", (5092, 463, 10), 3, (5092, 463, -10));

Alle anderen Versuche über die map_fx.gsc und einen neu angelegten Ordner maps/createfx mit einer seperaten map_fx.gsc für die Postitionen funktionieren bei mir nicht.

Beispiel:
im Ordner /mp mp_bac_fx.gsc

main()
{
level._effect["wind"] = loadfx ("dust/dust_wind_slow_yel_loop");

/#
if ( getdvar( "clientSideEffects" ) != "1" )
maps\createfx\mp_bac_fx::main();
#/
}


Im Ordner /maps habe ich einen neuen Ordner "createfx" erstellt . Dort eine neue mp_bac_fx.gsc eingefügt.
Beispiel:

Add_FX()
{
ent = maps\mp\_utility::createOneshotEffect( "wind" );
ent.v[ "origin" ] = ( 5092, 463, 10 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "wind";
ent.v[ "delay" ] = -2;
}


Neuen Fast File erstellt und neue Reflections compiliert leider ohne Effekt.

Über die Main.gsc laufen die Effekte (neuen fast file erstellt) mit den eingegeben Postitionen (siehe oben). Über den 2ten Wert habe ich die Abspielrichtung nach unten gedreht und hier hakt es leider. Lokal auf dem Rechner über die Modwarfare abgespielt ist die Welt noch in Ordnung aber sobald die Datei auf den Server transferiert wird ist der Effekt um 90° Grad gekippt. Andere Effekt die eine feste Position haben (zb. die Stromblitze auf einer Hochspannungsleitung) laufen einwandfrei auf dem Server.
Irgendwas scheint mit der Interpretation des 2ten Zahlenwertes nicht zu funktionieren.
Hat vielleicht jemand eine Lösung für dieses Problem bzw. eine Idee was ich mit der Struktur mp/mp_bac_fx.gsc und /maps/creatfx/mp_bac_fx.gsc falsch mache (das scheint ja der amtliche Weg zu sein)?
Ausserdem gibt es bei dem Verfahren den Wert "angle" der das kippen des Effektes offensichtlich ermöglicht.

thx
Panther[GER]
Mal ne "blöde" Frage hast du die mp_bac_fx.gsc auch mit in deine "meine_map.gsc" mit aufgenommen ? Und die dann auch mit "Update Zone File " mit rein genommen ???
Lessing
So steht es in meinem csv file:

rawfile,maps/mp/mp_bac.gsc
rawfile,maps/mp/mp_bac_fx.gsc

müßte jetzt hier noch Eintrag rein?

zb:

rawfile,maps/createfx/mp_bac_fx.gsc
Lessing
ich habe jetzt den eintrag im csv ergänzt wie unten beschrieben. das läuft auch soweit bis auf diesen:

ent = maps\mp\_utility::createOneshotEffect( "wind" );
ent.v[ "origin" ] = ( 5092, 463, 10 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "wind";
ent.v[ "delay" ] = -2;

ent = maps\mp\_utility::createOneshotEffect( "wind" );
ent.v[ "origin" ] = ( 5572, 815, -10 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "wind";
ent.v[ "delay" ] = -2;

der effekt ist immer noch um 90° gedreht und der 2te eintrag wird gar nicht erst abgespielt. wie gesagt lokal läuft das ganze perfekt nur auf dem server nicht.
Lessing
Ich habe alle Files auf dem Gameserver gelöscht und neu transferiert. Leider keine Änderung. Ich habe keine Ahnung was das schon wieder für ein Scherz ist smile
=OSZ=LoSt.BoY
hi leute
ich hab mal ne frage, ich möchte auch gern effecte in meiner map haben (die raucheffecte von countdown)

jetzt versteh ich immer nur noch nicht wie ich die koordinaten her kriege die immer hinter dran stehen

kann mir jemand sagen wo ich die koordinaten sehe um den rauch auf meiner map platzieren zu können?

thx 4 help
Lessing
Ich habe den Fehler gefunden. Lokal werden nicht die Files angesprochen die im Ordner /usermaps liegen sondern die Files die im zoneordner liegen.
Ich hatte die ganze Zeit die falschen Files ausgetauscht.

Sry, Asche auf mein Haupt.
=OSZ=LoSt.BoY
kanns du mir nicht sagen wo du die koordinaten siehst also x,y usw. wo dan der effekt erscheinen soll

THX
Lessing
nimm ein model platziere es wo du es hinhaben möchtest und schau dir dann unter entities die position an. kopiere sie und paste sie in dein script.
Private Grob

Zitat:

Original von Lessing
nimm ein model platziere es wo du es hinhaben möchtest und schau dir dann unter entities die posititon an. kopiere sie und paste sie in dein script.


Ich nehme dafür immer ein Info_Null (kleiner grüner Kasten). Der ist schön klein, so kann sehr exakt die Koordinaten bestimmen. Oder man schaut direkt unten im Koordinatensystem.

Grüße
Private Grob
Lessing
Aber btw hat eigentlich schon jemand einen Weg gefunden die Box in dem der Effekt stattfindet zu erweitern. Mit einer 2ten Positionsangabe im neuen Scriptingverfahren läuft das bei mir nicht. Der Effekt bleibt auf den voreingestellten Wert beschränkt. Die einzige Möglichkeit die ich so auf Anhieb sehe ist den Effekt über den Effekteditor zu erweitern. Angeblich werden die Effekteinstellungen ja in den .ff File eingebettet. Dann dürfte das ja nicht das Problem sein einen bestehenden Effekt zu editieren (den Radius zu erweitern) und ihn als neuen zu speichern und dann einzubetten. Hat das schonmal jemand versucht?
Private Grob
Effekten eine Richtung zu geben nach der Art:

maps\mp\_fx::loopfx("wind", (5092, 463, 10), 3, (5092, 463, -10));


hat bei mir schon in den vorherigen CoD Reihen immer mal wieder Probleme verursacht. Mal klappte es, dann wieder nicht..... Mit dem Effekteditor habe ich leider noch nicht gearbeitet.

Grüße
Private Grob
Lessing
Also ich habe das eben mal ausprobiert. Das klappt in Teilbereichen! Man kann bestehende Effekte über den Effekteditor editieren (oder eigene erstellen) und als neues Preset abspeichern. Der Effekt läuft dann auch im Spiel (lokal wie auf dem Gameserver) einwandfrei. Was leider nicht funktioniert hat war die Größenveränderung über den Wert "origin". Schade das wäre es ja gewesen.

Was soll´s kommt Zeit kommt die Erfahrung, ist ja alles noch recht neu (sofern es nicht Eins zu Eins aus cod2 übernommen wurde Augenzwinkern )
[B]_ThunderBull
Hallo Lessing und Co,
hast du/habt ihr schon nen Plan wie das mit der soundalias funzt(irgendwas steht da ja unten)?
Wo und wie wählt mann denn Sounds an?
Per Scriptmodel und targetname?oder nur über den Effect Editor?
Fragen über Fragen die einen doch fasst verzweifeln lassen... verwirrt Augenzwinkern


ent = maps\mp\_utility::createOneshotEffect( "window_fire" );
ent.v[ "origin" ] = ( -3564, -1802, 73 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "window_fire";
ent.v[ "delay" ] = -1;
ent.v[ "soundalias" ] = "fire_dumpster_medium";

Edit: Hat sich schon erledigt,Prob gelöst grosses Grinsen
Lessing
Sry,
ich habs eben erst gelesen. Ich habe das auch schon versucht. Teilweise lief der Sound auch (ich hatte das Script so geschrieben wie du auch) teilweise wieder nicht. Mit meiner letzten Map (die ich nur zum schnellcompilieren brauche) laufen wiederum überhaupt keine Effekte auf die Art wie ich sie bislang gescriptet habe. Das Script ist identisch mit denen die ich sonst immer geschrieben habe. (Ich bekommen neue Fehlermeldungen die ich noch nicht kannte, davon hat das Spiel ja einige in Petto smile Ich hab bei der neuen Map die map_zbeispiel_fx.gsc verwendet diese Scripteinbindung lief bislang in den anderen Maps nicht. Nur über die main.gsc konnte ich das Spiel bewegen meinen Effekt abzuspielen. Dafür habe ich in den Scripten die in meinen ersten beiden Maps verwendet wurden einen Fehler gefunden der eigentlich gar nicht laufen kann. Dennoch werden die Effekte abgespielt. Die ganze Nummer mit den Effekten nervt nur noch und so richtig einen Aufschluss wie die Aufrufe scriptseitig eigentlich sein sollten gibt es auch nicht.
Wie auch immer lange Rede kurzer Sinn die ganze Schei... nervt mich wie Hölle! Ich habe viel zu viel Zeit damit verbracht mich mit den Fehlermeldungen rumzuschlagen. Deshalb verwende ich die Effekte nur noch rudimentär und nur unter der Option das sie sofort laufen.

Sry,
ist ne blöde Aussage weiß ich wohl aber ich habe echt keine Lust mehr mich mit der Scripterei in COD4 herumzuschlagen.
Lessing
Ich habe eine Anleitung im IW Forum gefunden die die Effekteinbindung beschreibt auf dem Weg über die /createfx zB_fx.gsc und endlich läuft alles einwandfrei. Ich poste den Link zum Beitrag nicht weil die Anleitung missverständlich ist!
Ich habe eine alte Map mit diesem Script versehen und 2 neue Testmaps erstellt und keine Probleme gehabt. Vielleicht ist das ja der Weg, wer weiß.

Im Ordner \raw\maps\mp wird die Map .gsc erstellt
(in meinem Fall die Map "reflectiontest" ich habe extra einen langen Dateinamen erstellt das sollte jedoch vermieden werden, diesen Eintrag dann bitte durch euren Mapnamen ersetzen)

mp_reflectiontest.gsc

main()
{


maps\mp\mp_reflectiontest_fx::main();
thread maps\createfx\mp_reflectiontest_fx::main();
maps\mp\_load::main();


ambientPlay("ambient_middleeast_ext");


game["allies"] = "marines";
game["axis"] = "opfor";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["allies_soldiertype"] = "desert";
game["axis_soldiertype"] = "desert";

setdvar( "r_specularcolorscale", "1" );
setdvar("compassmaxrange","2000");

}


Dann im selben Verzeichnis die mp_reflectiontest_fx.gsc
erstellen (hier auch wieder "reflectiontest" durch euren Mapnamen ersetzen)

main()

{

level._effect["fog"] = loadfx("weather/fog_daytime");

/#
if ( getdvar( "clientSideEffects" ) != "1" )
maps\createfx\mp_reflectiontest_fx::main();
#/
}


Im Ordner createfx (dieser muss angelegt werden unter \raw\maps wenn er noch nicht existiert!) wieder eine Datei mp_reflectiontest_fx erstellen (hier bitte wieder "reflectiontest" durch euren Namen ersetzen) die Effektposition wie im Beispiel eintragen.

//_createfx generated. Do not touch!!
main()
{


ent = maps\mp\_utility::createOneshotEffect( "fog" );
ent.v[ "origin" ] = ( 292, -220, 84 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "fog";
ent.v[ "delay" ] = -2;
ent.v[ "soundalias" ] = "fire_dumpster_medium";

}


Die Effekte müssen jetzt auch noch in der .csv augerufen werden. Dazu bitte im Compiler den Zone File updaten und hier diese Zeilen einfügen:

rawfile,maps/mp/mp_reflectiontest_fx.gsc
rawfile,maps/createfx/mp_reflectiontest_fx.gsc

fx,weather/fog_daytime

auch hier natürlich wieder den Namen "reflectiontest" durch euren Namen ersetzen.



Das wars und bei mir läuft jetzt auch alles einwandfrei. Den Feuersound habe ich nur testhalber eingefügt.
Eingentlich ist nur die Textzeile //_createfx generated. Do not touch!!
hinzugekommen und die Ansteuerung erfolgt nicht mehr über AddFX sondern über main. Irgendwie nicht der dicke Unterschied aber es läuft endlich smile
Private Grob

Zitat:

Original von Lessing
...und die Ansteuerung erfolgt nicht mehr über AddFX sondern über main.


DANKE Lessing, das war auch bei mir der Knackpunkt!!!


Grüße
Private Grob
Verni@hter
Super funktioniert, habe mir aber auch mal die Anleitung auf ModsOnline durchgelesen alles nachgebastelt und bekomme diese Fehler (siehe Bild):



createfx/ mp_testmap3_fx.gsc

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
//_createfx generated. Do not touch!!
main()
{


ent = maps\mp\_utility::createOneshotEffect( "fog" );
ent.v[ "origin" ] = ( 292, -220, 120 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "fog";
ent.v[ "delay" ] = -2;
ent.v[ "soundalias" ] = "fire_dumpster_medium";


ent = maps\mp\_utility::createOneshotEffect( "snow_light_mp_bloc" );
ent.v[ "origin" ] = ( 292, -220, 120 );
ent.v[ "angles" ] = ( 270, 0, 0 );
ent.v[ "fxid" ] = "snow_light_mp_bloc";
ent.v[ "delay" ] = -1;

}



also dein Code Lessing ist dort auch enthalten und der funktioniert.

Ich habe auch schon versucht für alle 3 Effekte....

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

code:
1:
2:
3:
snow_light_mp_bloc
hallway_smoke_light
snow_wind



die Codes oben weiter zuschreiben nur da kommt der selbe Fehler.

mp/ mp_testmap3_fx.gsc

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
main()

{

level._effect["fog"] = loadfx("weather/fog_daytime");


level._effect[ "snow_light" ] = loadfx( "weather/snow_light_mp_bloc" );
level._effect[ "hallway_smoke" ] = loadfx( "smoke/hallway_smoke_light" );
level._effect[ "snow_wind" ] = loadfx( "weather/snow_wind" );



/#
if ( getdvar( "clientSideEffects" ) != "1" )
maps\createfx\mp_testmap3_fx::main();
#/
}




Also so wie ich es habe steht es auch nicht anders bei ModsOnline nur ich bekomme Fehler.
Weiß jemand was mit dieser Fehlermeldung anzufangen?


Gruss
Lessing
@Verni@hter

Seltsam, der Effekt "weather/snow_light_mp_bloc" läuft bei mir. Die anderen habe ich jetzt nicht ausprobiert.




Keine Ahnung warum der bei dir nicht läuft. Ich sehe keinen Fehler in deinem Script. (ich bin aber auch nicht der Scriptheld smile )
Verni@hter
Nabend,


wollt mal fragen wie man mit dem Effekt Editor richtig arbeitet, ich meine einen normalen Effekt sich anschauen und ihn dann bei sich einbauen das haben wir ja jetzt drauf. smile Nur wie sieht es aus wenn ich an dem Effekt arbeite, also seine Geschwindigkeit erhöhe oder niedriger mache oder einen anderen Effekt mit einbaue. Nehmen wir mal den Effekt misc-->fluorescent_glow

Jetzt habe ich meinetwegen beim Reiter Generation

orginal:

Delay(ms) 0 + 0 to 0

verändert:

Delay(ms) 0 + 0 to 20

also flackert es jetzt nicht mehr so stark. Jetzt möchte ich den von mir bearbeiteten Effekt auf meiner Map haben also muss ich ihn doch neu und unter anderem Namen abspeichern oder? Ich hatte mal einen Oil Turm bearbeitet und ihn unter anderem Namen gespeichert nur beim laden des Effektes kam ein Fehler war irgendwas mit das keine Physik da sei.

Ich habe nun den Effekt bearbeitet misc-->fluorescent_glow mit den daten von oben und als misc-->fluorescent_glow2 gespeichert, er wird auch abgespielt nur eine Änderung kann ich nicht feststellen.


Wie macht ihr das denn?


Gruss