Map buzzbeach - Fix um Nebel zu entfernen?

MikeTNT
Aus dem Log kann man nichts erkennen:

Zitat:


------- Game Initialization -------
gamename: Call of Duty 2
gamedate: May 1 2006
-----------------------------------
-----------------------------------
Hitch warning: 3194 msec frame time
Resolving cod2master.activision.com
cod2master.activision.com resolved to 63.146.124.40:20710
Sending heartbeat to cod2master.activision.com
PunkBuster Server: 0 Aliases Written to pbalias.dat
PunkBuster Server: 0 Stat Records Written to pbstat.dat
PunkBuster Server: Preparing to Disable PB Server... (C:\Programme\Activision\Homeserver\pb\)
Hitch warning: 5773 msec frame time
Resolving cod2master.activision.com
cod2master.activision.com resolved to 63.146.124.40:20700
Rcon from 192.168.178.23:3018:
set
Rcon from 192.168.178.23:3018:
set
Rcon from 192.168.178.23:2702:
map_restart
Hitch warning: 2929 msec frame time
Sending heartbeat to cod2master.activision.com
PunkBuster Server: 0 Aliases Written to pbalias.dat
PunkBuster Server: 0 Stat Records Written to pbstat.dat
PunkBuster Server: Preparing to Disable PB Server... (C:\Programme\Activision\Homeserver\pb\)
Rcon from 192.168.178.23:2702:
dir
Rcon from 192.168.178.23:2702:
map
ENDE


Die Rcon-Zeilen (RCon-From...) sind meine versuche, die Map im TDM-Modus zu laden, da die Map kein DM unterstützt. Sobald sich etwas tun sollte, ist der Server tot und schreibt nichts Brauchbares mehr in den Log. Ergo: Ich erkenne nicht, weswegen der Server einfriert.

cu Mike

PS: Im Moment teste ich auf meinem XP Pro-Homeserver.

Nachtrag: Ich habe jetzt eine modifizierte iwd gebastelt. Auch diese führt zum Absturz. Von daher vermute ich, dass die Map die ausgeklammerten "Qualmdateien" zwingend benötigt.

Nachtrag 2: Maile mir mal bitte deine modifizierte Map zu, die du ohne Mod zum Laufen bekommen hast.
Nightwing
Kommt gleich.

Da ich grade ab und an beim Zocken bin, schreibst mir per xFire wenns dringend ist.

ToM
MikeTNT
Danke, deine Mod-Map schmiert bei meinem eXtreme+ auch ab.

Eventuell inspieriert ja der Nebelfix zu Harbor:

Zitat:

main()
{
maps\mp\mp_harbor_fx::main();
maps\mp\_load::main();

if(level.wwx_ambmapfog) setExpFog(0.00045, .58, .57, .57, 0);
if(level.wwx_ambmapsound) ambientPlay("ambient_russia");

game["allies"] = "russian";
game["axis"] = "german";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["russian_soldiertype"] = "padded";
game["german_soldiertype"] = "winterlight";

setcvar("r_glowbloomintensity0","1");
setcvar("r_glowbloomintensity1","1");
setcvar("r_glowskybleedintensity0",".5");

if(level.wwx_radiobased)
{
level.radio = [];
level.radio[0] = spawn("script_model", (-6960.68, -7405.43, -3.61082));
level.radio[0].angles = (4.40472, 76.0809, -0.520537);

level.radio[1] = spawn("script_model", (-8388.52, -7920.24, 9.02138));
level.radio[1].angles = (0, 330, 0);

level.radio[2] = spawn("script_model", (-9787.16, -8687.53, 8.00002));
level.radio[2].angles = (0, 345.2, 0);

level.radio[3] = spawn("script_model", (-11576.8, -7591.59, 15.243));
level.radio[3].angles = (358.462, 30.004, -0.146589);

level.radio[4] = spawn("script_model", (-9204.64, -6806.99, 0.224747));
level.radio[4].angles = (1.75818, 15.035, 0.94779);

level.radio[5] = spawn("script_model", (-8521.13, -8747.75, 0));
level.radio[5].angles = (0, 345.035, 0);

}

}



Im Mod gibt es passend zur if-Funktion die Möglichkeit, per cfg-Eintrag den Nebel ein- und auszuschalten.

cu Mike

PS: So sieht die gsc im Original aus:

Zitat:


main()
{
maps\mp\mp_harbor_fx::main();
maps\mp\_load::main();

//setExpFog(0.00045, .58, .57, .57, 0);
setExpFog(0.00028, .58, .57, .57, 0);
ambientPlay("ambient_russia");

game["allies"] = "russian";
game["axis"] = "german";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["russian_soldiertype"] = "padded";
game["german_soldiertype"] = "winterlight";

setcvar("r_glowbloomintensity0","1");
setcvar("r_glowbloomintensity1","1");
setcvar("r_glowskybleedintensity0",".5");

if((getcvar("g_gametype") == "hq"))
{
level.radio = [];
level.radio[0] = spawn("script_model", (-6960.68, -7405.43, -3.61082));
level.radio[0].angles = (4.40472, 76.0809, -0.520537);

level.radio[1] = spawn("script_model", (-8388.52, -7920.24, 9.02138));
level.radio[1].angles = (0, 330, 0);

level.radio[2] = spawn("script_model", (-9787.16, -8687.53, 8.00002));
level.radio[2].angles = (0, 345.2, 0);

level.radio[3] = spawn("script_model", (-11576.8, -7591.59, 15.243));
level.radio[3].angles = (358.462, 30.004, -0.146589);

level.radio[4] = spawn("script_model", (-9204.64, -6806.99, 0.224747));
level.radio[4].angles = (1.75818, 15.035, 0.94779);

level.radio[5] = spawn("script_model", (-8521.13, -8747.75, 0));
level.radio[5].angles = (0, 345.035, 0);

}
Nightwing
Son Scheiss

Also die Inspiration wäre das hier:

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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
main(){

game["allies"] = "american";
game["axis"] = "german";
game["attackers"] = "allies";
game["defenders"] = "axis";
game["american_soldiertype"] = "normandy";
game["german_soldiertype"] = "normandy";

if(level.wwx_ambmapfog){

	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-56.0, 1544.0, 88.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-704.0, 120.0, 8.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-224.0, -1064.0, 100.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (1688, 1400.0, 48.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-1632, 936.0, 64.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-1936, -256.0, 64.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (480, 32, -64.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (-1032, 1416, 8.0), 1.2);
		
	level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	maps\mp\_fx::loopfx("smoke", (808, -1464, -64.0), 1.2);

	setExpFog(0.0001, 0.55, 0.6, 0.55, 0);
	setCullFog(0, 16500, 0.55, 0.6, 0.55, 0);
	}

if(level.wwx_ambmapsound)
	ambientPlay("ambient_buzzbeach");

}



Doofe Map, was die Fixes betrifft...

ToM
MikeTNT
Vielleicht noch die mp_harbor_fx.gsc:

Hier der Fix:

Zitat:

main()
{
precacheFX();
ambientFX();
exploderFX();

level.scr_sound["flak88_explode"] = "flak88_explode";
}

precacheFX()
{
level._effect["flak_explosion"] = loadfx("fx/explosions/flak88_explosion.efx");
if(level.wwx_ambdustfx) level._effect["dust_wind"] = loadfx("fx/dust/dust_wind_eldaba.efx");
if(level.wwx_ambfogbankfx) level._effect["fogbank_small_duhoc"] = loadfx ("fx/misc/fogbank_small_duhoc.efx");
if(level.wwx_ambfirefx)
{
level._effect["tank_fire_turret"] = loadfx ("fx/fire/tank_fire_turret_large.efx");
level._effect["tank_fire_engine"] = loadfx ("fx/fire/tank_fire_engine.efx");
}
}

ambientFX()
{
if(level.wwx_ambfogbankfx)
{
maps\mp\_fx::loopfx("fogbank_small_duhoc", (235,1406,10), 2, (235,1406,20));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (31,877,0), 2, (31,877,10));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (1674,2014,-39), 2, (1674,2014,-29));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (1571,359,4), 2, (1571,359,14));
}

if(level.wwx_ambfirefx)
{
maps\mp\_fx::loopfx("tank_fire_turret", (207,306,83), 1, (207,306,93));
maps\mp\_fx::loopfx("tank_fire_engine", (217,324,114), 1, (217,324,124));
maps\mp\_fx::loopfx("tank_fire_engine", (139,361,82), 1, (139,361,92));
maps\mp\_fx::loopfx("tank_fire_engine", (289,278,70), 1, (289,278,80));
maps\mp\_fx::loopfx("tank_fire_engine", (244,394,54), 1, (244,394,64));
}

if(level.wwx_ambdustfx)
{
maps\mp\_fx::loopfx("dust_wind", (769,-189,40), 1, (769,-189,50));
maps\mp\_fx::loopfx("dust_wind", (941,351,40), 1, (941,351,50));
maps\mp\_fx::loopfx("dust_wind", (286,-26,8), 1, (286,-26,18));
maps\mp\_fx::loopfx("dust_wind", (-1154,1517,19), 1, (-1154,1517,29));
maps\mp\_fx::loopfx("dust_wind", (-1060,797,19), 1, (-1060,797,29));
maps\mp\_fx::loopfx("dust_wind", (-1071,2040,19), 1, (-1071,2040,29));
maps\mp\_fx::loopfx("dust_wind", (-402,2658,4), 1, (-402,2658,14));
maps\mp\_fx::loopfx("dust_wind", (725,3334,16), 1, (725,3334,26));
maps\mp\_fx::loopfx("dust_wind", (803,2819,16), 1, (803,2819,26));
maps\mp\_fx::loopfx("dust_wind", (667,2331,16), 1, (667,2331,26));
maps\mp\_fx::loopfx("dust_wind", (646,1728,16), 1, (646,1728,26));
maps\mp\_fx::loopfx("dust_wind", (777,1292,16), 1, (777,1292,26));
maps\mp\_fx::loopfx("dust_wind", (605,752,16), 1, (605,752,26));
maps\mp\_fx::loopfx("dust_wind", (1520,1368,14), 1, (1520,1368,24));
}

if(level.wwx_ambsoundfx) maps\mp\_fx::soundfx("medfire", (201,312,100));
}

exploderFX()
{
maps\mp\_fx::exploderfx(1, "flak_explosion", (-420,295,44), 0, (-420,295,54));
maps\mp\_fx::exploderfx(2, "flak_explosion", (-420,295,44), 0, (-420,295,54));
maps\mp\_fx::exploderfx(3, "flak_explosion", (-420,295,44), 0, (-420,295,54));
}



Und hier das Original:

Zitat:

main()
{
precacheFX();
ambientFX();
level.scr_sound["flak88_explode"] = "flak88_explode";
}

precacheFX()
{
level._effect["flak_explosion"] = loadfx ("fx/explosions/flak88_explosion.efx");
level._effect["snow_light"] = loadfx ("fx/misc/snow_light_mp_downtown.efx");
level._effect["thin_black_smoke_S"] = loadfx ("fx/smoke/thin_black_smoke_S.efx");
level._effect["thin_black_smoke_M"] = loadfx ("fx/smoke/thin_black_smoke_M.efx");
level._effect["snow_wind_cityhall"] = loadfx ("fx/misc/snow_wind_cityhall.efx");
level._effect["fogbank_small_duhoc"] = loadfx ("fx/misc/fogbank_small_duhoc.efx");
level._effect["tank_fire_engine"] = loadfx ("fx/fire/tank_fire_engine.efx");
}


ambientFX()
{
//Snow
maps\mp\_fx::loopfx("snow_light", (-11246,-7164,450), 0.6, (-11246,-7164,530));
maps\mp\_fx::loopfx("snow_light", (-7352,-7369,450), 0.6, (-7352,-7369,530));

//Wind FX
maps\mp\_fx::loopfx("thin_black_smoke_S", (-6653,-7064,-30), 1, (-6653,-7064,70));
maps\mp\_fx::loopfx("thin_black_smoke_M", (-4790,-6309,1544), 1, (-4818,-6309,1640));
maps\mp\_fx::loopfx("thin_black_smoke_M", (-4999,-6863,1544), 1, (-4999,-6863,1644));
maps\mp\_fx::loopfx("thin_black_smoke_M", (-6198,-10181,1544), 1, (-6198,-10181,1644));
maps\mp\_fx::loopfx("thin_black_smoke_M", (-11848,-10941,1858), 1, (-11848,-10941,1958));
maps\mp\_fx::loopfx("thin_black_smoke_S", (-12047,-10712,1125), 1, (-12147,-10712,1126));
maps\mp\_fx::loopfx("thin_black_smoke_M", (-9325,-9553,828), 1, (-9325,-9553,928));

//Wind FX
maps\mp\_fx::loopfx("snow_wind_cityhall", (-8014,-8515,34), 1, (-8014,-8515,134));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-6776,-8657,18), 1, (-6776,-8657,118));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-6693,-7364,18), 1, (-6693,-7364,118));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-7493,-7016,2), 1, (-7493,-7016,102));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-7977,-7641,18), 1, (-7977,-7641,118));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-8727,-8311,126), 1, (-8727,-8311,226));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-8793,-7809,14), 1, (-8793,-7809,114));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-8814,-7145,30), 1, (-8814,-7145,130));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-9406,-6648,30), 1, (-9406,-6648,130));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-9267,-8359,30), 1, (-9267,-8359,130));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-10115,-7554,14), 1, (-10115,-7554,114));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-10234,-8122,14), 1, (-10234,-8122,114));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-9201,-6121,15), 1, (-9201,-6121,115));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-6245,-7070,19), 1, (-6245,-7070,119));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-6765,-7786,33), 1, (-6765,-7786,133));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-7582,-8902,7), 1, (-7582,-8902,107));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-9590,-7220,81), 1, (-9590,-7220,181));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-11626,-7573,14), 1, (-11626,-7573,114));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-11634,-8236,15), 1, (-11634,-8236,115));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-10975,-7170,18), 1, (-10975,-7170,118));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-10684,-7173,78), 1, (-10684,-7173,178));
maps\mp\_fx::loopfx("snow_wind_cityhall", (-9264,-8633,174), 1, (-9264,-8633,274));

//interrior fog
maps\mp\_fx::loopfx("fogbank_small_duhoc", (-8449,-8819,-33), 2, (-8449,-8819,66));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (-9791,-8669,8), 2, (-9791,-8669,108));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (-9804,-8321,8), 2, (-9804,-8321,108));
maps\mp\_fx::loopfx("fogbank_small_duhoc", (-8399,-7360,28), 2, (-8399,-7360,128));

//barrel fire
maps\mp\_fx::loopfx("tank_fire_engine", (-8687,-7065,64), 1, (-8687,-7065,164));
maps\mp\_fx::loopfx("tank_fire_engine", (-8642,-8987,43), 1, (-8642,-8987,143));

//firesounds
maps\mp\_fx::soundfx("medfire", (-8681,-7063,66));
maps\mp\_fx::soundfx("medfire", (-8642,-8987,43));


}
Nightwing
Das wir uns nicht falsch verstehen:

eXtreme und Admiral speichern Mapfixes mit dem Zusatz _fx. Ich nicht.

Ich editiere lediglich die Original .gsc und stopf diese dann in den Ordner maps\mp

Beispiel hier die mp_toybox2.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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
main()
{
	maps\mp\_load::main();
      
     

            ambientPlay("ambient_france");

	game["allies"] = "american";
	game["axis"] = "german";
	game["attackers"] = "allies";
	game["defenders"] = "axis";
	game["american_soldiertype"] = "normandy";
	game["german_soldiertype"] = "normandy";

	setcvar("r_glowbloomintensity0","1");
	setcvar("r_glowbloomintensity1","1");
	setcvar("r_glowskybleedintensity0",".5");
      

/*      thread Trigger();
}

      Trigger() {
      source = getentarray ("Trigger", "targetname");
      if (isdefined(source))
       for (i = 0 ; i < source.size ; i++)
{
       wait(.1);
       source[i] playloopsound("Trigger1");




}
*/
}



Hast mit dem Code oben was anfangen können?

Ich schau morgen nach der Schafferei mal, wie kreativ ich da bin.

ToM

Nachtrag:

Vorteil meiner Methode: Der Fix gilt dann Modunabhängig, buzzbeach ist die erste Map, die nicht will.

Nachteil meiner Methode: Es ist nicht per cfg einstellbar.
Nightwing
Okay Mike, hab grad mal einen Fix zusammengebastelt, wie Ihn der eXtreme Mod benutzt.

buzzbeach_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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
main()
{
	precacheFX();
	ambientFX();

	level.scr_sound["flak88_explode"] = "flak88_explode";
}

precacheFX()
{
	level._effect["flak_explosion"]	= loadfx("fx/explosions/flak88_explosion.efx");

	if(level.wwx_ambsmokefx){
	
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
		level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
	}
}

ambientFX()
{

	if(level.wwx_ambsmokefx){
	
		setExpFog(0.0001, 0.55, 0.6, 0.55, 0);
		setCullFog(0, 16500, 0.55, 0.6, 0.55, 0);
	
		maps\mp\_fx::loopfx("smoke", (-56.0, 1544.0, 88.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (-704.0, 120.0, 8.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (-224.0, -1064.0, 100.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (1688, 1400.0, 48.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (-1632, 936.0, 64.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (-1936, -256.0, 64.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (480, 32, -64.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (-1032, 1416, 8.0), 1.2);
		maps\mp\_fx::loopfx("smoke", (808, -1464, -64.0), 1.2);
	}

	if(level.wwx_ambsoundfx)
		ambientPlay("ambient_buzzbeach");
}




Bitte teste es mal auf Deinem Testserver. Sollte ein script runtime Error oder dergleichen kommen, poste es bitte.

Code ohne Garantie Augenzwinkern

Mal sehen, wer sturer ist, die Map oder ich...

ToM
MikeTNT
LOL

Ich werde es heute Abend testen und berichten.

cu Mike

PS: Wildcard habe ich inzwischen auch schon angeschrieben und bin schon mal auf seine Antwort gespannt.
Nightwing
Da Du sehr gute Connections zu Wildcard hast, werd ich eventuell davon mal profitieren.

Irgendwie kotzt es mich immer mehr an, das der Admiral Modder eben alleine ist, von daher schon keine Zeit hat, und der eXtreme mehr und mehr das bietet, was ich haben will. Ergo kann es sehr gut passieren, das ich irgendwann mal eXtreme laufen habe (leicht customized natürlich - und auf deutsch grosses Grinsen )

Mal Sehen, wie sich meine Launen entwickeln...und der Fix

ToM
MikeTNT
Melde gehorsamst, dass es nicht geklappt hat. Im Log steht genau das gleiche wie oben bereits gepostet. Nun ist Wildcard dran und anschließend der Mapper ;-)

cu Mike

PS: Danke für deine Bemühungen.
Nightwing
Zum Kotzen...

Na ich bin mal auf die Antwort von den beiden gespannt, vielleicht bezwingt einer die sture Map.

ToM

PS: Immer wieder gern
MikeTNT
Wildcard hat mir etwas gebastelt (und auch noch für siefriedlinie). Wirst du daraus schlau? Erkennst du ein Schema?

Download hier: mapfixes.zip

cu Mike
Nightwing
Für die buzzbeach definiert er die Variable Level._effekt erstmal global:

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

code:
1:
2:
level._effect = [];

bedeutet, das in der eckigen Klammer sind die einzelnen Effekte, die später definiert und aufgerufen werden.

Dann setzt er nur ne simple if Abfrage dazu. Wenn level.wwx_ambsmokefx definiert ist (o = undefined), dann kommen die Effekte in der Schleife nicht dran.

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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
if(level.wwx_ambsmokefx)
{
level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-56.0, 1544.0, 88.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-704.0, 120.0, 8.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-224.0, -1064.0, 100.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (1688, 1400.0, 48.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-1632, 936.0, 64.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-1936, -256.0, 64.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (480, 32, -64.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (-1032, 1416, 8.0), 1.2);

level._effect["smoke"] = loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx");
maps\mp\_fx::loopfx("smoke", (808, -1464, -64.0), 1.2);
}




WOW, bin begeistert von der Einfachheit.

Die cfg, die Marc dazugeschrieben hat, kannst ja in Deine bestehende übernehmen. Er hat das ja global aufgebaut:

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

code:
1:
set wwx_ambsmokefx_buzzbeach "1"



An die Variable wird der mapname angehängt, und schon funzt es.

Dürfte auch ein Grund sein, mich in den eXtreme einzuarbeiten...

Bei der siegfrieline hat er in die mp_siegfriedline.gsc so wie ich sehe nur den Aufruf für die neue Datei mit _fx gestartet:

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

code:
1:
2:
       maps\mp\mp_siegfriedline_final_fx::main();



un dort dann wieder wie bei der buzzbeach die Var Abfrage zu starten.

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
      if(level.wwx_ambfogbankfx) 
      {
   	maps\mp\_fx::loopfx("fogbank_small_duhoc", (755, -2100, -21), 0.8, (755, -2100, -80));
   	maps\mp\_fx::loopfx("fogbank_small_duhoc", (1492, -1908, -21), 2, (1492, -1908, -60));
   	maps\mp\_fx::loopfx("fogbank_small_duhoc", (2305, -1865, -21), 0.8, (2305, -1865, 60));
	maps\mp\_fx::loopfx("fogbank_small_duhoc", (-568, -2235, -21), 2, (-568, -2235, -50));
	maps\mp\_fx::loopfx("fogbank_small_duhoc", (106, -2279, -21), 2, (106, -2279, 90));
      }

	//Smoke
	if(level.wwx_ambsmokefx) maps\mp\_fx::loopfx("jeep_smoke_trail", (538, -4104, 18), 0.4); 



Alles in allem, müsste ich mal mehr Maps testweise fixen, um zu Sehen, obs wirklich so einfach ist.

Wenn ich mich in nächster Zeit mehr in den Mod einarbeite, wird es denke ich leichter, solche Fixes zu erstellen, da sich eXtreme und Admiral Scripttechnisch doch sehr unterscheiden.

ToM

PS: Ich hoffe, meine Ausführungen sind verständlich?
MikeTNT
Ich kann dir folgen, allerdings macht es bei mir immer noch nicht klick, so dass ich selbst Mapfixes basteln könnte.

cu Mike
Nightwing

Zitat:

Original von MikeTNT
Ich kann dir folgen, allerdings macht es bei mir immer noch nicht klick, so dass ich selbst Mapfixes basteln könnte.

cu Mike

KLICK

...

Okay, war n Versuch wert grosses Grinsen

Hier mal ein Beispiel anhand der Map mp_tilli.

Als erstes schaust in die mp_tilli.gsc rein, ob folgender Eintrag drinsteht:

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

code:
1:
	maps\mp\mp_tilli_fx::main();


Wenn ja, musst nix machen, wenn nein, musst es einfügen.

Hier das Originalscript:

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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
main()
{

	maps\mp\_load::main();
	maps\mp\mp_tilli_fx::main();
	maps\mp\mp_tilli_stukafly::main();
	ambientPlay("ambient_mp_tilli");
	
setExpFog(0.00002, 0.9, 0.9, 1, 0);
// setCullFog(0, 16500, 0.55, 0.6, 0.55, 0);
	
	game["allies"] = "british";
	game["axis"] = "german";
	game["attackers"] = "allies";
	game["defenders"] = "axis";
	game["british_soldiertype"] = "normandy";
	game["german_soldiertype"] = "normandy";
	getent ("horse","targetname") playloopsound ("horse_fly");
	getent ("cow","targetname") playloopsound ("horse_fly");
	getent ("traktor","targetname") playloopsound ("traktor");
	
	getent ("kubel","targetname") playloopsound ("kubel");
	getent ("willy","targetname") playloopsound ("willy");
	getent ("halftrack","targetname") playloopsound ("halftrack");
	getent ("sherman","targetname") playloopsound ("sherman");
	getent ("radio","targetname") playloopsound ("radio");
	getent ("sherman2","targetname") playloopsound ("sherman");
	getent ("kubelcrash","targetname") playloopsound ("willy");
	getent ("radiochurch","targetname") playloopsound ("radio2");

if(getcvar("g_gametype") == "hq")
	{
		level.radio = [];
		level.radio[0] = spawn("script_model", (-3055, 124, 79));
		level.radio[0].angles = (0, 0, 0);

		level.radio[1] = spawn("script_model", (-952.55, 2527.94, 288));
		level.radio[1].angles = (0, 0, 0);

		level.radio[2] = spawn("script_model", (207.118, 1141.28, 78));
		level.radio[2].angles = (0, 0, 0);

		level.radio[3] = spawn("script_model", (-1692.91, 2082.48, 84));
		level.radio[3].angles = (0, 0, 0);

		level.radio[4] = spawn("script_model", (-980.246, 1240.19, 187));
		level.radio[4].angles = (0, 0, 0);

		level.radio[5] = spawn("script_model", (-738.301, -978.365, 46));
		level.radio[5].angles = (0, 0, 0);
	}

}



Dann die Datei mp_tilli_fx.gsc öffnen. Wenn nicht vorhanden, musst Sie erstellen...

So sieht die aus:

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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
main()
{
	explode_FX();
	level.scr_sound["flak88_explode"]	= "flak88_explode";    
}

	explode_FX()
{
	level._effect["flak_explosion"]		= loadfx ("fx/explosions/flak88_explosion.efx");
	
	level._effect["tiger_smoke"] = 		loadfx ("fx/smoke/damaged_vehicle_smoke.efx"); 
	maps\mp\_fx::loopfx("tiger_smoke", (-457, 845, 120), 0.9);  	
	
	level._effect["traktor_smoke"] = 	loadfx ("fx/smoke/vehicle_steam.efx"); 
	maps\mp\_fx::loopfx("traktor_smoke", (-950, 1339, 232), 0.9); 

	level._effect["horse_fly"] = 		loadfx ("fx/misc/insects_carcass_flies.efx"); 
	maps\mp\_fx::loopfx("horse_fly", (-3346, 1421, 24), 1); 
	maps\mp\_fx::loopfx("horse_fly", (-3987, -1133, 38), 1);

	level._effect["smokecow"] = 	loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx"); 
	maps\mp\_fx::loopfx("smokecow", (-3824, -1080, 8), 1); 

	level._effect["loch1_smoke"] = 	loadfx ("fx/smoke/thin_black_smoke_S.efx"); 
	maps\mp\_fx::loopfx("loch1_smoke", (-3256, 1616, 32), 1); 
  	level._effect["loch4_smoke"] = 	loadfx ("fx/smoke/thin_black_smoke_M.efx"); 
	maps\mp\_fx::loopfx("loch4_smoke", (-3232, 520, -48), 1); 
	level._effect["willycrash"] = 	loadfx ("fx/fire/tank_fire_turret_small.efx"); 
	maps\mp\_fx::loopfx("willycrash", (-852, -1054, 56), 1);
 	level._effect["kubelcrash"] = 	loadfx ("fx/fire/tank_fire_turret_small.efx"); 
	maps\mp\_fx::loopfx("kubelcrash", (1627, 485.256, 19), 1); 
}



Füge nun das if Statement

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

code:
1:
if(level.wwx_ambfogbankfx)

und die Definition der Variable

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

code:
1:
level._effect = [];

ein.(Nimm dazu das Programmers Notepad, stells auf C/C++, wegen den Klammerpaaren!!!)

Das schwierige daran dürfte sein, erstmal zu Erkennen, was die Map alles hat. Sei es eine Nebelbank, Feuer, Rauch... Entsprechend muss man die Variablen auch nennen. (wwx_ambsmokefx, wwx_ambfirefx, wwx_ambfogbankfx...)
Jede .gsc dürfte daher anders aufgebaut sein, was die Sache erschwert.
Bei der Siegfriedline zum Bleistift baut er noch die Precache Funktion mit ein:

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

code:
1:
2:
3:
4:
5:
6:
7:
8:
precacheFX()
{
	level._effect["flak_explosion"]		 = loadfx ("fx/explosions/flak88_explosion.efx");
	if(level.wwx_ambfogbankfx) level._effect["fogbank_small_duhoc"] = loadfx ("fx/misc/fogbank_small_duhoc.efx");
	if(level.wwx_ambsmokefx) level._effect["jeep_smoke_trail"]    = loadfx ("fx/smoke/vehicle_steam.efx");
	level._effect["water_fly"]           = loadfx ("fx/misc/insects_carcass_flies.efx"); 
}



Das wird man wohl oder übel von Map zu Map entscheiden müssen unglücklich

So sieht die geänderte Version aus:

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:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
main(){

	level._effect = [];
	explode_FX();
	level.scr_sound["flak88_explode"]	= "flak88_explode";    
}

explode_FX(){


	level._effect["flak_explosion"]		= loadfx ("fx/explosions/flak88_explosion.efx");

	level._effect["horse_fly"] = 		loadfx ("fx/misc/insects_carcass_flies.efx"); 
	maps\mp\_fx::loopfx("horse_fly", (-3346, 1421, 24), 1); 
	maps\mp\_fx::loopfx("horse_fly", (-3987, -1133, 38), 1);

	if(level.wwx_ambfirefx){

		level._effect["willycrash"] = 	loadfx ("fx/fire/tank_fire_turret_small.efx"); 
		maps\mp\_fx::loopfx("willycrash", (-852, -1054, 56), 1);
		level._effect["kubelcrash"] = 	loadfx ("fx/fire/tank_fire_turret_small.efx"); 
		maps\mp\_fx::loopfx("kubelcrash", (1627, 485.256, 19), 1); 
	}
	
	if(level.wwx_ambsmokefx){
	
		level._effect["tiger_smoke"] = 		loadfx ("fx/smoke/damaged_vehicle_smoke.efx"); 
		maps\mp\_fx::loopfx("tiger_smoke", (-457, 845, 120), 0.9);  	
		
		level._effect["traktor_smoke"] = 	loadfx ("fx/smoke/vehicle_steam.efx"); 
		maps\mp\_fx::loopfx("traktor_smoke", (-950, 1339, 232), 0.9); 
	
		level._effect["loch1_smoke"] = 	loadfx ("fx/smoke/thin_black_smoke_S.efx"); 
		maps\mp\_fx::loopfx("loch1_smoke", (-3256, 1616, 32), 1); 
		
		level._effect["loch4_smoke"] = 	loadfx ("fx/smoke/thin_black_smoke_M.efx"); 
		maps\mp\_fx::loopfx("loch4_smoke", (-3232, 520, -48), 1); 
		
		level._effect["smokecow"] = 	loadfx ("fx/smoke/thin_black_smoke_M_duhoc.efx"); 
		maps\mp\_fx::loopfx("smokecow", (-3824, -1080, 8), 1); 
	}
	
	if(level.wwx_ambsoundfx)
	{
		maps\mp\_fx::soundfx("bigfire", (431,1101,603));
		maps\mp\_fx::soundfx("medfire", (48,1598,69));	
		maps\mp\_fx::soundfx("medfire", (-2272,2716,3));
	}
}



Ob der Fix tut, kann ich noch nicht Testen, mein Testserver ist bei weitem noch nicht soweit und ich muss jetzt noch zum Zahnarzt... traurig
Entweder ich hab Glück, und es funzt, oder der Server schmiert ab. Dann wirst Dich gedulden müssen, bis ich selbst soweit bin, die Fixes auch zu Testen.

Teste doch mal, ob das überhaupt funktioniert, da ich mich (noch) nicht so gut mit der Scripterei des eXtreme auskenne...

Wenn mein Testserver sauber läuft, versorg ich Dich dann mit Fixes Augenzwinkern

ToM

Nachtrag: Was das hier in jedem Fix soll, weiss ich selbst nicht...

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

code:
1:
	level.scr_sound["flak88_explode"]	= "flak88_explode";  



EDIT: Was geht ab? Nur 5 mal editiert?? Na mal Sehen, welche Fehler ich noch finde grosses Grinsen
MikeTNT
So, ich habe für heute genug Servercrashs gehabt.
Buzzbeach und siegfriedlinie laufen nun smokfrei.

Hier ist das neue Packet (das andere war noch buggy und außerdem nicht kompatibel zu meinen alten Versionen mit dem Namen WCX5.0. Nun sind WCX und WW2X enthalten): Mapfixes zu Buzzbeach und Siegfriedlinie by Wildcard

cu Mike
Nightwing
Okay, die Variablen heissen in beiden Versionen anders. Sorry

Ich wurschdel mit dem neuen 1.8er Mod rum. Denk mal, das ich übers WE etwas mehr zeit finde, den Mod mal grob einzustellen, sodass ich mich dann mal den Fixes widmen kann.

Am Topic vorbei: Die Grösse der verbleibenden zeit / Map hast Du in einem .gsc File in der Funktion create_new_HUD_Element bei font geändert?

ToM
MikeTNT
_wwx_gtcommon.gsc:

createClock()
{
level.clock = newHudElem();

clockx = 8;
clocky = 2;
halign = "left";
font = 2;

if(level.wwx_logopic)
{
clockx = 320;
halign = "center";
font = 2;
}
if(level.wwx_logopic && (level.wwx_currentgt == "lms" || level.wwx_currentgt == "htf" || level.wwx_currentgt == "ihtf" || level.wwx_currentgt == "dom" || level.wwx_currentgt == "ons"))
{
clockx = 616;
clocky = 1;
font = 2;
}

level.clock.alignX = halign;
level.clock.alignY = "top";
level.clock.x = clockx;
level.clock.y = clocky;
level.clock.font = "default";
level.clock.sort = 0;
level.clock.fontscale = font;

if(level.wwx_timeannouncer != 2 && isDefined(level.clock)) level.clock.color = (0,1,0);
}

Ich weiß nicht mehr welchen der rot markierten Werte ich geändert habe, aber einer von denen war es.

cu Mike
Nightwing
Dann lag ich richtig mit meiner Vermutung, vielen Dank!!

Mal nun die cfg's zurechtpfriemeln Freude

ToM
Dr.Long
Jungs, ich glaub es wird Zeit, dass ihr die Sammelthreads übernehmt oder zumindest erweitert Augenzwinkern Grins 1