Om gebruik te maken van de volledige functionaliteit van Modbase moet je ingelogd zijn.
Na registratie kan je reageren, onderwerpen starten, projecten toevoegen en nog veel meer.
Dit is volkomen
gratis en duurt hoogstens een minuut.

Regeneffecten toevoegen aan je sp map
Om regeneffecten aan je sp map toe te voegen heb je uiteraard je map nodig, maar je hoeft niks te veranderen aan je mapfile voor het regeneffect, het enige dat je moet weten is de afstand van de grond tot aan het 'dak' van de skybox, je zult later in deze tutorial begrijpen waarom. We moeten dus enkel een simpel script gebruiken.
Ten eerste heb je dus je gsc file nodig, waarbij je enkel deze lijn moet toevoegen, het in een referentie naar het bestand dat we zo meteen zullen aanmaken:
maps\mapnaam_fx::main();
je gsc file zou er dus als volgt moeten uitzien:
mapnaam.gsc
#include maps\_utility;
main()
{
maps\_load::main();
maps\mapnaam_fx::main();
level.player takeallweapons();
level.player giveWeapon ("thompson");
level.player giveWeapon ("colt");
level.player giveWeapon ("fraggrenade");
level.player switchToWeapon ("thompson");
}
De verwijzing in de gsc file is naar je mapnaam_fx.gsc, in dit bestand staat het eingelijke script voor de regen. Net als je gsc moet je de mapnaam_fx.gsc opslaan in je main/maps folder.
mapnaam_fx.gsc
#include maps\_utility;
main()
{
level._effect["rain_heavy_cloudtype"] = loadfx ("fx/misc/rain_heavy_cloudtype.efx");
level._effect["rain_10"] = loadfx ("fx/misc/rain_heavy.efx");
level._effect["rain_9"] = loadfx ("fx/misc/rain_9.efx");
level._effect["rain_8"] = loadfx ("fx/misc/rain_8.efx");
level._effect["rain_7"] = loadfx ("fx/misc/rain_7.efx");
level._effect["rain_6"] = loadfx ("fx/misc/rain_6.efx");
level._effect["rain_5"] = loadfx ("fx/misc/rain_5.efx");
level._effect["rain_4"] = loadfx ("fx/misc/rain_4.efx");
level._effect["rain_3"] = loadfx ("fx/misc/rain_3.efx");
level._effect["rain_2"] = loadfx ("fx/misc/rain_2.efx");
level._effect["rain_1"] = loadfx ("fx/misc/rain_1.efx");
level._effect["rain_0"] = loadfx ("fx/misc/rain_0.efx");
thread rainControl(); .
thread playerWeather();
}
rainControl()
{
level.rainLevel = 10; // regen level: nr. van 1 t.e.m. 10, zie effecten hierboven
level._effect["rain_drops"] = level._effect["rain_" + level.rainLevel];
}
playerWeather()
{
player = getent("player","classname");
for (;;)
{
playfx ( level._effect["rain_drops"], player.origin + (0,0,400), player.origin + (0,0,400) );
if (level.rainLevel >= 8)
playfx ( level._effect["rain_heavy_cloudtype"], player.origin + (0,0,400));
wait (0.3);
}
}
Opmerking:
in de code onder playerWeather() zie je iedere keer player.origin + (0,0,400) staan, dit is de plaats waar de regen als het ware zal spawnen, beginnen vallen. In dit geval is dit dus 400 units boven de player, zorg er dus voor dat de afstand player-dak slybox minimum 400 units is in je mapfile, of als het niet zo is, verander die 400 naar een andere waarde.
Dit is alles, om af te ronden heb je hier nog een screenshot.
