ID:2932807
 
Code:
if(day == 2)
earlymorning = 6
morning = 7
lunch = 8
afternoon = 9
evening = 8
night = 6
latenight = 5
if(ToD == "morning")
world << output("<b>RADIO: This is your early morning broadcast. Expect clear skies and good weather! Perfect day for a picnic.","default.chatbox")


Problem description:
Online not showing the world message but the offline version is. Any typical common issues that cause world outputs not to work on multiplayer?
HMU if I haven't provided enough to fix the problem
Love and kind regards,
Johnny (Bumblemore)

I'd say this part of the code doesn't explain how your calling the proc. More information needed.
    proc

ToD()
loop

if(ToD == "morning")
ToD = "lunch"
goto END
if(ToD == "lunch")
ToD = "afternoon"
goto END
if(ToD == "afternoon")
ToD = "evening"
world << sound('Music/Enviro/evening.ogg', repeat=0,channel=3,volume=25)
goto END
if(ToD == "evening")
ToD = "night"
goto END
if(ToD == "night")
ToD = "deepnight"
goto END
if(ToD == "deepnight")
ToD = "earlymorning"
world << sound('Music/Enviro/morning.ogg', repeat=0,channel=3,volume=25)
goto END
if(ToD == "earlymorning")
ToD = "morning"

END

for(var/obj/plants/P in world)
P.age += 0.01//DEFAULT GROWTH: 0.01 | TESTING GROWTH: 0.25
P.Grow()

for(var/mob/M in PLAYERS)

if(M.client != null)
for(var/obj/FULLSCREEN/sky/S in M.client.screen)

if(ToD == "earlymorning")
S.icon = 'skies/erlymorn.dmi'
temp = earlymorning
day += 1

if(ToD == "morning")
S.icon = 'skies/morning.dmi'
temp = morning

if(ToD == "lunch")
S.icon = 'skies/noon.dmi'
temp = lunch

if(ToD == "afternoon")
S.icon = 'skies/aftnoon.dmi'
temp = afternoon

if(ToD == "evening")
S.icon = 'skies/evening.dmi'
temp = evening

if(ToD == "night")
S.icon = 'skies/night.dmi'
temp = night

if(ToD == "deepnight")
S.icon = 'skies/deepnight.dmi'
temp = latenight

M.temperature = temp
for(var/area/A in range(0, M))
M.temperature -= A.coolness

/*
Updating the player's HUD and music!!
*/

M.SetMusic()
M.SetTEMP()
M.SetToD()
M.SetDay()

world.Dehydrate()
world.Chk_Burn()
world.Temp_Update()
sleep(day_length)//This sleep determines the length of each day-section (i.e morning, evening) Should be standard: 420

/*
THIS IS THE CORE MECHANIC OF THE GAME : THE WORLD TEMPERATURE GETS HOTTER EVERY DAY AS THE SUN GETS BIGGER
______________________________________

A degree or two warmer than usual
*/



if(day == 2)
earlymorning = 6
morning = 7
lunch = 8
afternoon = 9
evening = 8
night = 6
latenight = 5
if(ToD == "morning")
world << output("<b>RADIO: This is your early morning broadcast. Expect clear skies and good weather! Perfect day for a picnic.","default.chatbox")
world
New()
sleep(5)
world << output("MAKING MOUNTAINS...","default.loadbox")
MakeMountain()

sleep(10)
world << output("PLANTING PLANTS...","default.loadbox")
GrowGrass()

sleep(10)
world << output("SMOOTHING HILLS...","default.loadbox")
GrassySteps()

sleep(10)
world << output("BUILDING BUILDINGS...","default.loadbox")
BuildBuilding()

wind_dir = pick(EAST,WEST)
SETUP = 1

sleep(10)
world.ToD()
So I won't lie I think you need to be doing things in a more efficient way. I haven't tested this in a multiplayer setting but I'm sure it should work. EDIT made changes to actually update the HUD for you. I tested with small icons for it but I'm pretty sure you could add more. You could possibly play around with animate to fade in each part of the day etc.

world
New()
..()
ToDCD = world.time

Tick()
for(var/mob/m in players)
if(world.time >= ToDCD) //if the world.time is more than or equal to the cooldown
ToD() //call the proc.
..()

var
day = 0

ToDCD = 0 //time of day cooldown

pick_time = 1 //will pick from the list

ToD = list("Morning","Lunch","Afternoon","Evening", "Night")

list
players = new

proc
ToD()
set waitfor = 0
var/picker = ToD[pick_time] //pick the time of day from the ToD list, 1 is morning 2 is lunch etc, when you get to set the end of the cycle reset pick_time to 1.
for(var/mob/M in players)
if(picker == "Morning")
if(day == 2)
world<<"GooD morning"
M.ToD_Screen()
pick_time++ //increase the for the next round

if(picker == "Lunch")
world<<"Good Day"
M.ToD_Screen()
pick_time++

ToDCD = world.time +50 //+420 taken this out for testing purposes

mob
var
image/hud_display

list
ToD_HUD = list(1 = new /image/screen/morning/, 2 = new /image/screen/lunch)

Login()
players.Add(src)
hud_display = new/image/screen/morning()
hud_display.loc = src
client.images +=hud_display

..()

proc
ToD_Screen()
set waitfor = 0
var/image/update_hud = ToD_HUD[pick_time]
update_hud.loc = src

for(var/image/screen/S in client.images)
client.images-= S

client.images+=update_hud

image
screen
icon = 'sky.dmi'
appearance_flags = PIXEL_SCALE

morning
icon_state="morning"
lunch
icon_state = "lunch"

turf
icon = 'grass.dmi'
Thanks for the reply dude. Feeling a bit scattered but I will try this when my head is more together

Login to reply.