bangingbernie
Das Script von Rasta ist schon gut, aber leider regnet es auch in den Häusern.
Hier das Script mit den minimalen Änderungen (FETT geändert):
main()
{
level.rain1 = loadfx ("fx/misc/rain_heavy_cloudtype.efx");
thread rain1();
}
rain1()
{
zufall = RandomInt(200);
while(1)
{
players = getentarray("player", "classname");
if(players.size > 0)
{
max_nodes = 20;
max_nodes_per_player = max_nodes/players.size;
for(ii=0;ii<max_nodes_per_player;ii++)
{
for(i = 0; i < players.size; i++)
{
player = players[i];
if(isAlive(player))
{
x= 350-randomfloat(700);
y= 350-randomfloat(700);
pos = player.origin +(x,y,200) ;
trace = bulletTrace(pos,pos +(0,0,-250), true, undefined);
if(trace["fraction"] != 1) playfx(level.rain1,trace["position"]);
wait 0.05;
}
}
}
}
wait 0.05;
}
}
==============================================
Das war rain1.gsc (in maps/mp)
==============================================
Wenn man ab und zu auch Regentropfenplatscher auf dem Boden sehen will, kann man das mit der rain2.gsc machen:
main()
{
level.rain2 = loadfx ("fx/misc/rain_splash.efx");
thread rain2();
}
rain2()
{
zufall = RandomInt(200);
while(1)
{
players = getentarray("player", "classname");
if(players.size > 0)
{
max_nodes = 20;
max_nodes_per_player = max_nodes/players.size;
for(ii=0;ii<max_nodes_per_player;ii++)
{
for(i = 0; i < players.size; i++)
{
player = players[i];
if(isAlive(player))
{
x= 350-randomfloat(700);
y= 350-randomfloat(700);
pos = player.origin +(x,y,200) ;
trace = bulletTrace(pos,pos +(0,0,-250), true, undefined);
if(trace["fraction"] != 1) playfx(level.rain2,trace["position"]);
wait 0.05;
}
}
}
}
wait 0.05;
}
}
==============================================
Das war rain2.gsc (in maps/mp)
==============================================
Jetzt noch in der deine_map.gsc folgendes einfügen:
maps\mp\rain1::main();
maps\mp\rain2::main();
Und schon geht's.
Gruss
Bernie
Hier das Script mit den minimalen Änderungen (FETT geändert):
main()
{
level.rain1 = loadfx ("fx/misc/rain_heavy_cloudtype.efx");
thread rain1();
}
rain1()
{
zufall = RandomInt(200);
while(1)
{
players = getentarray("player", "classname");
if(players.size > 0)
{
max_nodes = 20;
max_nodes_per_player = max_nodes/players.size;
for(ii=0;ii<max_nodes_per_player;ii++)
{
for(i = 0; i < players.size; i++)
{
player = players[i];
if(isAlive(player))
{
x= 350-randomfloat(700);
y= 350-randomfloat(700);
pos = player.origin +(x,y,200) ;
trace = bulletTrace(pos,pos +(0,0,-250), true, undefined);
if(trace["fraction"] != 1) playfx(level.rain1,trace["position"]);
wait 0.05;
}
}
}
}
wait 0.05;
}
}
==============================================
Das war rain1.gsc (in maps/mp)
==============================================
Wenn man ab und zu auch Regentropfenplatscher auf dem Boden sehen will, kann man das mit der rain2.gsc machen:
main()
{
level.rain2 = loadfx ("fx/misc/rain_splash.efx");
thread rain2();
}
rain2()
{
zufall = RandomInt(200);
while(1)
{
players = getentarray("player", "classname");
if(players.size > 0)
{
max_nodes = 20;
max_nodes_per_player = max_nodes/players.size;
for(ii=0;ii<max_nodes_per_player;ii++)
{
for(i = 0; i < players.size; i++)
{
player = players[i];
if(isAlive(player))
{
x= 350-randomfloat(700);
y= 350-randomfloat(700);
pos = player.origin +(x,y,200) ;
trace = bulletTrace(pos,pos +(0,0,-250), true, undefined);
if(trace["fraction"] != 1) playfx(level.rain2,trace["position"]);
wait 0.05;
}
}
}
}
wait 0.05;
}
}
==============================================
Das war rain2.gsc (in maps/mp)
==============================================
Jetzt noch in der deine_map.gsc folgendes einfügen:
maps\mp\rain1::main();
maps\mp\rain2::main();
Und schon geht's.
Gruss
Bernie