Works now
Very simple to implement: Random weather effects (rain is still broken it seems :/) for multiplayer! It generates random fog and a random day time (dawn, noon or night).
Just place these commons in module_mission_templates and add them to the "multiplayer_##" templates to have random weather with that gametype.
I've placed these commons after
Commons to add:
Add them by adding
and below that:
and below that:
To complete it, add the following below
in header_commons:
And finally add in module_scripts, above
:
Very simple to implement: Random weather effects (rain is still broken it seems :/) for multiplayer! It generates random fog and a random day time (dawn, noon or night).
Just place these commons in module_mission_templates and add them to the "multiplayer_##" templates to have random weather with that gametype.
I've placed these commons after
Code:
common_siege_assign_men_to_belfry = (
0, 0, ti_once,
[
(call_script, "script_cf_siege_assign_men_to_belfry"),
], [])
Commons to add:
Code:
##Arch3r OS commons
#Day time
common_random_multiplayer_weather = (
ti_before_mission_start, 0, 0,
[ ], [
(scene_set_day_time, "$day_time"), #time, random between 4 - 22
])
##Arch3r OS serverside above
#Day time
common_random_multiplayer_weather_server = (
ti_on_multiplayer_mission_end, 0, 0,
[ ], [
(try_begin),
(multiplayer_is_server),
## (store_current_scene,":cur_scene"), #Later, when set_rain works check for snow scenes
(store_random_in_range, "$rain_strength", 50,150),
(store_random_in_range, "$fog_dist", 40,250),
(store_random_in_range, "$day_time", 4,22),
(multiplayer_get_my_player, ":my_player_no"),
(get_max_players, ":num_players"),
(try_for_range, ":player_no", 1, ":num_players"), #0 is server so starting from 1
(player_is_active, ":player_no"),
(neq, ":player_no", ":my_player_no"),
(multiplayer_send_int_to_player, ":player_no", multiplayer_event_return_day_time, "$day_time"),
(multiplayer_send_int_to_player, ":player_no", multiplayer_event_return_weather, "$rain_strength", "$fog_dist"),
(try_end),
(try_end),
])
##Arch3r OS serverside above
##Arch3r OS clientside under
common_random_multiplayer_weather_client = (
ti_after_mission_start, 0, 0,
[ ], [
##Arch3r OS disabled, set_rain is broken
## (try_begin),
## (lt, "$rain_strength", 100),
### (set_rain,":rain_type",multiplayer_event_return_weather), #1=rain 2=snow (depends on scene), strength between 10-100
## (set_rain, 1 ,"$rain_strength"), #1=rain 2=snow (depends on scene), strength between 10-100
## (else_try),
## (set_rain,0,0), #1=rain 2=snow (depends on scene), strength between 10-100
## (try_end),
(try_begin),
(lt, "$fog_dist", 110),
(set_fog_distance, "$fog_dist", 0xbfbfbf), #fog distance between 20-250, color is grey
(else_try),
(set_fog_distance, 1000000000, 0xbfbfbf), #fog distance between 20-250, color is grey
(try_end),
])
##Arch3r OS
Code:
common_random_multiplayer_weather,
Code:
common_random_multiplayer_weather_client,
Code:
common_random_multiplayer_weather_server,
To complete it, add the following below
Code:
multiplayer_event_return_max_num_bots = 106
Code:
##Arch3r OS
multiplayer_event_return_weather = 110
multiplayer_event_return_day_time = 111
multiplayer_event_return_fog = 112
##Arch3r OS
And finally add in module_scripts, above
Code:
(try_end),
]),
# script_cf_multiplayer_evaluate_poll
Code:
#Arch3r
(else_try),
(eq, ":event_type", multiplayer_event_return_weather),
(store_script_param, ":value", 3),
(store_script_param, ":value2", 4),
(assign, "$rain_strength", ":value"),
(assign, "$fog_dist", ":value2"),
(else_try),
(eq, ":event_type", multiplayer_event_return_day_time),
(store_script_param, ":value", 3),
(assign, "$day_time", ":value"),
#Arch3r