|
|
#1 (permalink) |
![]() ![]() ![]() Registriert seit: 01.07.2006
Ort: Kabul
Alter: 27
Beiträge: 1.754
|
Day & Weather Script by Moerderhoschi Ich habe vor zwei Wochen ein Script geschrieben damit auf allen Clients, auch bei JIP, die selbe Tageszeit sowie Wetter herrscht. Sehr nuetzlich ist dieses Script bei Snipermissionen wo auf allen Clients der selbe Wind ( richtung und staerke) herrscht. Kleine boehen sind noch mit drin im Wind (find ich auch realistischer) aber die Hauptwehrichtung und Staerke bleiben gleich. UPDATE VERISION 1.2 - 01.12.2012
DOWNLOAD: Day&WeahterScript v1.2 Init.sqf Code:
//////////////////////////// // START DAY&WEATHER SCRIPT //////////////////////////// execVM "Day&WheaterScript\DW_init.sqf"; Code:
/*===============================================================================================
Day&Weather Script - by Moerderhoschi
Armed-Assault.de
Version: 1.2
Date: 30.11.2012
===============================================================================================*/
//////////////////////////////////////////////////
// DEFINE VARIABLES
//////////////////////////////////////////////////
_p1 = 1;
_p2 = 1;
if (isMultiplayer) then
{
_p1 = paramsArray select 0;
_p2 = paramsArray select 1;
};
//////////////////////////////////////////////////
// GLOBAL WIND SETTINGS
//////////////////////////////////////////////////
if (isServer) then
{
if (isNil "MdhDwWx") then
{
MdhDwWx = (switch (_p2) do
{
case 1: {(-10+(random 20))};
case 2: {((-0.5)+(random 1))};
case 3: {(-1+(random 2))};
case 4: {(-2.5+(random 5))};
case 5: {(-5+(random 10))};
case 6: {(-10+(random 20))};
});
publicvariable "MdhDwWx";
};
if (isNil "MdhDwWy") then
{
MdhDwWy = (switch (_p2) do
{
case 1: {(-10+(random 20))};
case 2: {((-0.5)+(random 1))};
case 3: {(-1+(random 2))};
case 4: {(-2.5+(random 5))};
case 5: {(-5+(random 10))};
case 6: {(-10+(random 20))};
});
publicvariable "MdhDwWy";
};
//////////////////////////////////////////////////
// SERVER DAYTIME SETTINGS
//////////////////////////////////////////////////
switch (_p1) do
{
case 1: {skiptime (ceil random 96)};
case 2: {setDate [2020, 7, 25, 4, 0]};
case 3: {setDate [2020, 7, 25, 5, 0]};
case 4: {setDate [2020, 7, 25, 12, 0]};
case 5: {setDate [2020, 7, 25, 20, 0]};
case 6: {setDate [2020, 7, 25, 1, 0]};
case 7: {setDate [2020, 7, 20, 1, 0]};
};
//////////////////////////////////////////////////
// SERVER WEATHER AND RAIN SETTINGS
//////////////////////////////////////////////////
if (isNil "MdhDwAktWeather") then
{
switch (_p2) do
{
case 1: {MdhDwAktWeather = random 1};
case 2: {MdhDwAktWeather = 0};
case 3: {MdhDwAktWeather = 0.25};
case 4: {MdhDwAktWeather = 0.5};
case 5: {MdhDwAktWeather = 0.75};
case 6: {MdhDwAktWeather = 1};
};
0 setOvercast MdhDwAktWeather;
0 setrain MdhDwAktWeather;
publicvariable "MdhDwAktWeather";
};
};
//////////////////////////////////////////////////
// WAITUNTIL PLAYER EXISTS
//////////////////////////////////////////////////
if (!isDedicated) then
{
waitUntil {!(isNull player)};
waitUntil {player == player};
waitUntil {!isNil"MdhDwAktWeather"};
};
//////////////////////////////////////////////////
// CLIENT WEATHER SETTINGS
//////////////////////////////////////////////////
sleep 1;
0 setOvercast MdhDwAktWeather;
sleep 1;
//////////////////////////////////////////////////
// CLIENT WETAHER SETTINGS FOR LONG TIME
//////////////////////////////////////////////////
36000 setOvercast MdhDwAktWeather;
//////////////////////////////////////////////////
// PERMANENT FORCED CLIENT WIND AND RAIN SETTINGS
//////////////////////////////////////////////////
while {!isNil"MdhDwAktWeather"} do
{
setwind [MdhDwWx,MdhDwWy,true];
3 setrain MdhDwAktWeather;
sleep 1;
};
Code:
//////////////////////////////////////////////////
// DAY&WEATHER SCRIPT PARAMETERS
//////////////////////////////////////////////////
class Params
{
class DayTime
{
//paramsArray[0]
title = "Time Of Day";
values[] = {1, 2, 3, 4, 5, 6, 7};
texts[] = {"Random", "Early Morning", "Morning", "Noon", "Sundown", "Night with Full Moon", "Dark Night"};
default = 1;
};
class Weather
{
// paramsArray[1]
title = "Weather:";
values[] = {1, 2, 3, 4, 5, 6};
texts[] = {"Random", "Clear", "Partly Cloudy", "Cloudy", "Overcast", "Storm"};
default = 1;
};
};
Geändert von Moerderhoschi (01.12.2012 um 17:09 Uhr). Grund: update v1.2 |
|
|
|
|
|
#4 (permalink) |
![]() ![]() ![]() Registriert seit: 26.03.2008
Beiträge: 2.822
|
Mir ist aufgefallen, dass es ArmA anscheinend egal ist, da ein While auch groß geschrieben funktioniert.
Wie das natürlich mit den is Abfragen ist, ka. Ist aber kein guter Programmierstil und in Programmiersprachen wirst du so um die 100 Fehler bekommen.
__________________
|
|
|
|
|
|
#6 (permalink) |
![]() ![]() ![]() ![]() |
Das ist mir gänzlich neu... Aber was anderes, Hoschi... Code:
if (paramsArray select 1 == 2) then {setwind [DW_w1x,DW_w1y,true]};
if (paramsArray select 1 == 0) then {setwind [DW_w2x,DW_w2y,true]};
if (paramsArray select 1 == 3) then {setwind [DW_w3x,DW_w3y,true]};
if (paramsArray select 1 == (0.5)) then {setwind [DW_w4x,DW_w4y,true]};
if (paramsArray select 1 == (0.75)) then {setwind [DW_w5x,DW_w5y,true]};
if (paramsArray select 1 == 1) then {setwind [DW_w6x,DW_w6y,true]};
Besser: Code:
setwind (switch (paramsArray select 1) do {
case 2: {[DW_w1x,DW_w1y,true]};
case 0: {[DW_w2x,DW_w2y,true]};
case 3: {[DW_w3x,DW_w3y,true]};
case 0.5: {[DW_w4x,DW_w4y,true]};
case 0.75: {[DW_w5x,DW_w5y,true]};
case 1: {[DW_w6x,DW_w6y,true]};
});
![]() Aber wichtiger, bei Deinem if if if Ablauf wird wirklich jede Bedingung aller if Konstrukte geprüft, auch wenn bereits die erste Bedingung (== 2) eingetreten ist. Das switch springt raus sobald ein case wahr ist. Du könntest es sogar noch anders machen (noch mehr optimieren), da sich der Wert von paramsArray select 1 niemals während einer Mission ändern wird und entsprechend ein Array erstellen, z.B. mit _windarray = [DW_w6x,DW_w6y,true]; und später setWind _windarray; Xeno Geändert von Xeno (11.02.2011 um 18:58 Uhr). |
|
|
|
![]() |
| Stichworte |
| day, weather, wind |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Beta-Patch für OpA erschienen | det99 | Community | 1420 | 19.12.2012 17:52 |
| vergangene Zeit in einem Script | Psychobastard | Editing & Scripting | 2 | 10.10.2010 15:46 |
| marker über script erzeugen | hypercop | Editing & Scripting | 2 | 28.08.2010 22:40 |
| Improved Bullet Cam Script | miromanu | Editing & Scripting | 3 | 21.08.2010 01:01 |
| Bomb-Cam Script | IntelQ9550Reaktor | Editing & Scripting | 3 | 02.08.2010 13:49 |