steinacker
wie bekomme ich das eigentlich gebacken, dass es in einer wintermap auch schön schneit und eventuell auch etwas nebel hat
gibts da auch wieder ein effekt, wie beim regen, zum scripten
OLD MAN WITH GUN
Original von steinacker
wie bekomme ich das eigentlich gebacken, dass es in einer wintermap auch schön schneit und eventuell auch etwas nebel hat
gibts da auch wieder ein effekt, wie beim regen, zum scripten
Der Schnee ist ein Effekt, der wie jeder andere Effekt (Feuer, Rauch etc.) in die Map eingefügt wird.
Beim Nebel kommt es jetzt darauf an, ob du Nebelschwaden meinst, oder das die Sicht begrenzt ist.
Nebelschwaden wäre auch ein Effekt, genau wie der Schnee. Nebel, der die allgemeine Sicht begrenzt fügst du per Befehl in deine map.gsc ein
SetExpFog( <startDist>, <halfwayDist>, <red>, <green>, <blue>, <transition time> )
startDist = ab welcher Entfernung soll der Nebel beginnen
halfwayDist = Entfernung nach startDist, bei der der Nebel 50% erreicht hat
red, green, blue = Farbwerte für den Nebel (0.0 bis 1.0)
transition time = Übergangszeit in sec. (?) steht normalerweise auf 0
Edit:
Um mal ein Beispiel zu nennen:
Auf mp_bloc wurde der Effekt
weather/snow_light_mp_bloc 3x plaziert (laut EffektsEd hat der Effekt einen Radius von 1500 Units)
Und es wurde 15x mal der Effekt
weather/snow_wind eingefügt (laut EffektsEd hat dieser Effekt einen Radius von 200 Units)
steinacker
SetExpFog( <startDist>, <halfwayDist>, <red>, <green>, <blue>, <transition time> )
dann funzt das so ähhnlich wie beim awe mod beim UO
set awe_efog "1"
set awe_efog_mp_bocage "50 0.0017 0 0.5 0.5 0.5"
SetExpFog "50 0.0017 0.5 0.5 0.5 0"
so in etwa denke ich mal, oder brauch ich die klammern auch
da könnte man ja wieder ein kleines script erstellen und den serverAdmins eine Dvar geben (mapname_Fog =1) oder so damit die entscheiden können ob's schneien soll oder nicht, mit und ohne nebel
Code 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:
|
main()
{
maps\mp\_load::main();
maps\mp\mp_mapname_fx::main();//definiert den schneeEffect
///////////////////////////////////////////Nebel/////////////////////////////////
if(getdvar("mapname_Fog") == "1")
SetExpFog ("50 0.0017 0.5 0.5 0.5 0");
else if(getdvar("mapname_Fog") == "0")
SetExpFog ("");
else
SetExpFog ("50 0.0017 0.5 0.5 0.5 0");
///////////////////////////////////////////Schnee/////////////////////////////////
if(getdvar("mapname_Snow") == "1")
thread maps\createfx\mp_mapname_fx::Add_Snow();//fügt den ScheeEffect in die map
//other map_stuff
} |
|
raw\maps\mp\mp_mapname_fx.gsc
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
|
main()
{
//Snow
level._effect["snow"] = loadfx ("weather/snow_light_mp_bloc");
} |
|
raw\maps\createfx\mp_mapname_fx.gsc
Code 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:
|
Add_Snow()
{
ent = maps\mp\_utility::createOneshotEffect( "snow" );
ent.v[ "origin" ] = ( X, Y, Z ); //koordinaten anpassen
ent.v[ "angles" ] = ( 0, 0, 0 );
ent.v[ "fxid" ] = "snow";
ent.v[ "delay" ] = -1;
ent = maps\mp\_utility::createOneshotEffect( "snow" );
ent.v[ "origin" ] = ( X, Y, Z ); //koordinaten anpassen
ent.v[ "angles" ] = ( 0, 0, 0 );
ent.v[ "fxid" ] = "snow";
ent.v[ "delay" ] = -1;
ent = maps\mp\_utility::createOneshotEffect( "snow" );
ent.v[ "origin" ] = ( X, Y, Z ); //koordinaten anpassen
ent.v[ "angles" ] = ( 0, 0, 0 );
ent.v[ "fxid" ] = "snow";
ent.v[ "delay" ] = -1;
} |
|
OLD MAN WITH GUN
So würde es aber auf der Map nie schneien, wenn die Variable gar nicht definiert wurde (also dann, wenn 95% der Admins, die die Map auf den Server packen, die Readme nicht lesen). Ich denke, es sollte so sein, das ohne Eingriff in die Serverconfig die Map per default Schnee und Nebel hat.
Die Zeilen 7 bis 15 in der mp_mapname.gsc würde ich so schreiben.
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
|
if(getDvar("mapname_Fog") == "" || getDvarInt("mapname_Fog") > 0)
SetExpFog ("50, 400, 0.5, 0.5, 0.5, 0"); |
|
Ist kürzer (und die Kommas nicht vergessen)
Das gleiche bei den Zeilen 17-19
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
|
if(getDvar("mapname_Snow") == "" || getDvarInt("mapname_Snow") > 0)
thread maps\createfx\mp_mapname_fx::Add_Snow();//fügt den SchneeEffect in die map
|
|