# music_onlinemusic if $ARGS[0] = 'set_up_account': ml_online['account'] = 1 minut += 10 gs 'internet_mobile', 'use_internet', $access['subscription'], 10 gs 'stat' 'You log into Youtube to set up a channel for your music. You can upload videos or live stream, but you will need to open a bank account if you want to receive any tips from viewers of your stream.' !! TODO: Ask for a screen name? act 'Leave': gs 'music_actions', 'start' end if $ARGS[0] = 'live_stream': !! TODO: Much, much better scene needed. ml_streaming['times_streamed'] += 1 gs 'music_onlinemusic', 'stream_interruptions' if ml_no_interruption ! 0: !! TODO: Separate scenes by instrument used, not used ml_streamtime = 60 gs 'music_onlinemusic', 'streaming_stats' if mc_inventory['tech_computer'] = 1 and mc_inventory['tech_webcam'] = 1 and $location_type = 'private': '
> src="images/pc/activities/music/gomixer_hero.jpg"/>
' 'You set up your webcamera and start the streaming app on your computer. After settling down comfortably, you start to stream.' 'Your fans tipped you <> for your performance.' else '
> src="images/pc/activities/music/gomixer_hero.jpg"/>
' 'You set up your phone on a little tri-pod and log into your account. After settling down comfortably, you start to stream.' 'Your fans tipped you <> for your performance.' end else !! How many minutes did the stream last. ml_streamtime = rand(1,60) gs 'music_onlinemusic', 'streaming_stats' !! TODO: Interruption events and such will come here end if bankAccount = 0: *nl 'You have earned <> so far, but you need to open a bank account before you can receive the money.' else *nl 'You have <> on your account.' act 'Stop the stream and transfer the money to your bank account': karta += ml_streaming['unclaimed_earnings'] ml_streaming['unclaimed_earnings'] = 0 gs 'music_onlinemusic', 'finish', 'streaming' end end act 'Stop the stream': gs 'music_onlinemusic', 'finish', 'streaming' end killvar 'ml_streamtime' killvar 'ml_no_interruption' end if $ARGS[0] = 'record_song': recording_time = 30 performed_minutes = 15 gs 'music_onlinemusic', 'recording_interruptions' if ml_no_interruption ! 0: !! TODO: Write a scene. It should describe that a song is recorded and then edited properly before uploading it to the net. '
> src="images/pc/activities/music/phonerecording.jpg"/>
' 'You set up your phone and settle down comfortably to record a song. After several tries you finally end up with a version you are content with and upload it to your account.' !! 'As you don''t have a computer you can''t really do much with the songs quality. But then you have seen quite a few people work with only with their phones. Like Ling Ling.' end gs 'music_onlinemusic', 'recording_stats' killvar 'recording_time' killvar 'ml_no_interruption' killvar 'performed_minutes' if ml_online['account'] = 1 and $access ! 'denied': if pcs_inhib < 30: if pcs_inhib < 10: $diff = 'hard' elseif pcs_inhib < 20: $diff = 'medium' else $diff = 'easy' end gs 'willpower', 'skill', 'self', $diff will_cost = (will_cost * 2) - (pcs_perform) if will_cost > 0: if will_cost <= pcs_willpwr: gs 'willpower', 'pay', 'self' act 'Upload music (<> Willpower)': gt 'music_onlinemusic', 'uploadmusic', 'recording' else act 'Upload music (<> Willpower)': '
You don''t have enough willpower to use this action.' end else act 'Upload music': gt 'music_onlinemusic', 'uploadmusic', 'recording' end else act 'Upload music': gt 'music_onlinemusic', 'uploadmusic', 'recording' end end act 'Leave': gs 'music_onlinemusic', 'finish', 'recording' end !! IMPORTANT !! TODO: Recording and Editing/Mixing needs to be split into two separate activities. So keep ''recrodSong'' as is and make this into purely about editing if $ARGS[0] = 'edit_song': !! TODO: Write a scene. It should describe that a song is recorded and then edited properly before uploading it to the net. !! '
> src="images/pc/activities/music/editmusic.jpg"/>
' '
' 'You plug in your home studio kit and start up the recording software. After several tries you finally end up with a version you are content with.' 'The next hour just flies by as you edit the video and the audio, trying to increate the quality of the recording as much as you can' minut += 90 gs 'exp_gain', 'vokal', rand(1,3) if perform_lvl < 35: gs 'exp_gain', 'perform', rand(1,3) if musicprod_lvl < 35: gs 'exp_gain', 'musicprod', rand(1,3) ml_performance['performed_minutes'] += 15 ml_performance['total_time_performed'] += 15 ml_onlinesong_hotcat[ml_onlinesongcount] = pcs_hotcat if ml_guitar['hasguitar'] = 1: ml_onlinesong_skilllevel[ml_onlinesongcount] = pcs_instrmusic + pcs_vokal + pcs_perform ml_onlinesong_freshness[ml_onlinesongcount] = pcs_instrmusic + pcs_vokal + pcs_perform + ((pcs_hotcat-4)*10) gs 'exp_gain', 'instrmusic', rand(1,3) else ml_onlinesong_skilllevel[ml_onlinesongcount] = (pcs_vokal * 2) + pcs_perform ml_onlinesong_freshness[ml_onlinesongcount] = (pcs_vokal * 2) + pcs_perform + ((pcs_hotcat-4)*10) end ml_onlinesong_lastcalcday[ml_onlinesongcount] = daystart ml_onlinesong_uploaded[ml_onlinesongcount] = 0 ml_uploadablemusic += 1 ml_onlinesongcount += 1 if ml_online['account'] = 1 and $access ! 'denied': if pcs_inhib < 30: if pcs_inhib < 10: $diff = 'hard' elseif pcs_inhib < 20: $diff = 'medium' else $diff = 'easy' end gs 'willpower', 'skill', 'self', $diff will_cost = (will_cost * 2) - (pcs_perform) if will_cost > 0: if will_cost <= pcs_willpwr: gs 'willpower', 'pay', 'self' act 'Upload music (<> Willpower)': gt 'music_onlinemusic', 'uploadmusic' else act 'Upload music (<> Willpower)': '
You don''t have enough willpower to use this action.' end else act 'Upload music': gt 'music_onlinemusic', 'uploadmusic' end else act 'Upload music': gt 'music_onlinemusic', 'uploadmusic' end else act 'Leave': gs 'music_actions', 'finish' end end if $ARGS[0] = 'uploadmusic': if pcs_inhib < 30: 'You hesitate for a long moment, but finally take a deep breath and click on the "Upload" button and your newly recorded song moves over to the internet for all to see.' 'You bite in your lip, then close the screen before you change your mind and delete it.' else 'You smile brightly and click on the "Upload" button. Now the whole world can see you play. And if they don''t like it, well... "Haters gonna hate" you shrug mentally and close the screen. They will like it."' end gs 'stat' ml_uploadablemusic -= 1 ml_onlinesong_uploaded[ml_onlinesongcount-1] = 1 killvar 'will_cost' if $ARGS[1] = 'recording': act 'Leave': gs 'music_onlinemusic', 'finish', 'recording' else act 'Leave': gs 'music_actions', 'start' end end if $ARGS[0] = 'uploadallmusic': '
' if will_cost > 0: 'You go through the songs you recorded and clear out the old ones that you really, really don''t like anymore. Then after a moment of hesitation you take a deep breath and click on the "Upload" button. The screen changes and one by one, your songs move over to the internet for all to see.' 'You bite in your lip, then close the screen before you change your mind and delete them.' else 'You smile brightly as you browse through your recordings, deleting some old ones, then finally click the "Upload" button. Now the whole world can see you play. And if they don''t like it, well... "Haters gonna hate" you shrug mentally and close the screen, this is how art grows."' end gs 'music_onlinemusic', 'deleting' i = 0 :uploadallmusic if ml_onlinesong_uploaded[i] = 0 and $access ! 'denied': minut += 5 gs 'internet_mobile', 'use_internet', $access['subscription'], 5 gs 'stat' ml_onlinesong_uploaded[i] = 1 ml_uploadablemusic -= 1 end i += 1 if i < ml_onlinesongcount:jump 'uploadallmusic' killvar 'will_cost' act 'Leave': gs 'music_actions', 'start' end if $ARGS[0] = 'deleteoldmusic': 'You go through your recorded musics and delete all the old ones where your playing doesn''t really reflect what you can do these days' gs 'music_onlinemusic', 'deleting' act 'Leave': gs 'music_actions', 'start' end !!---------------------------------------------------------------------------------------------------------------------------- !!----------------------------------------- GoSub functions all go here -------------------------------------------------- !!---------------------------------------------------------------------------------------------------------------------------- if $ARGS[0] = 'deleting': ml_threshold_skilllevel = ((pcs_instrmusic + pcs_vokal + pcs_perform)*80)/100 i = 0 j = -1 :deletemusic if (ml_onlinesong_uploaded[i] = 1) or (ml_onlinesong_uploaded[i] = 0 and ml_onlinesong_skilllevel[i] > ml_threshold_skilllevel): j += 1 ml_tempsong_freshness[j] = ml_onlinesong_freshness[i] ml_tempsong_lastcalcday[j] = ml_onlinesong_lastcalcday[i] ml_tempsong_hotcat[j] = ml_onlinesong_hotcat[i] ml_tempsong_skilllevel[j] = ml_onlinesong_skilllevel[i] ml_tempsong_uploaded[j] = ml_onlinesong_uploaded[i] else ml_uploadablemusic -= 1 end i += 1 if i < ml_onlinesongcount:jump 'deletemusic' killvar 'ml_onlinesong_freshness' killvar 'ml_onlinesong_lastcalcday' killvar 'ml_onlinesong_hotcat' killvar 'ml_onlinesong_skilllevel' killvar 'ml_onlinesong_uploaded' killvar 'i' ml_onlinesongcount = 0 ml_uploadablemusic = 0 if j >= 0: :looprebuildsongs ml_onlinesong_freshness[ml_onlinesongcount] = ml_tempsong_freshness[ml_onlinesongcount] ml_onlinesong_hotcat[ml_onlinesongcount] = ml_tempsong_hotcat[ml_onlinesongcount] ml_onlinesong_lastcalcday[ml_onlinesongcount] = ml_tempsong_lastcalcday[ml_onlinesongcount] ml_onlinesong_skilllevel[ml_onlinesongcount] = ml_tempsong_skilllevel[ml_onlinesongcount] ml_onlinesong_uploaded[ml_onlinesongcount] = ml_tempsong_uploaded[ml_onlinesongcount] if (ml_onlinesong_uploaded[ml_onlinesongcount] = 0): ml_uploadablemusic += 1 ml_onlinesongcount += 1 if ml_onlinesongcount <= j: jump 'looprebuildsongs' end killvar 'ml_tempsong_freshness' killvar 'ml_tempsong_lastcalcday' killvar 'ml_tempsong_hotcat' killvar 'ml_tempsong_skilllevel' killvar 'ml_tempsong_uploaded' killvar 'ml_threshold_skilllevel' end if $ARGS[0] = 'finish': if $location_type = 'public_outdoors': ml_rand_event = rand(0,100) if ml_rand_event <= 10 and $region = 'pav' and npc_rel['A144'] > 40: if $ARGS[1] = 'streaming': gs 'music_onlinemusic', 'anushka_streaming_end' elseif $ARGS[1] = 'recording': gs 'music_onlinemusic', 'anushka_recording_end' end elseif ml_rand_event <= 30 and $region = 'pav': gs 'music_gigstarts', 'zariyah_passing_by' !! elseif ml_rand_event < 15 and $ARGS[1] = 'pav' and ((npc_rel['A20'] < 20 or npc_rel['A21'] < 20): !! TODO: if the gopniks don''t like the PC and/or her music is awful, there is a chance that Lena and Lera harasses her. !! gs 'music_buskingevents', 'lena_and_lera', 1 !! elseif ml_rand_event < 15 and $ARGS[1] = 'pav' and ( (npc_rel['A20'] < 40 or npc_rel['A21'] < 40) and (pcs_instrmusic < 30 or pcs_perform < 30 or pcs_vokal < 30) ): !! gs 'music_buskingevents', 'lena_and_lera', 2 else gs 'music_actions', 'finish' end killvar 'ml_rand_event' else gs 'music_actions', 'finish' end end if $ARGS[0] = 'streaming_stats': minut += ml_streamtime gs 'internet_mobile', 'use_internet', $access['subscription'], ml_streamtime ml_maxsuperchats = ( fame['pav_music'] + (fame['city_music'] * 2) + fame['pushkin_music'] + fame['village_music'] + pcs_apprnc ) ml_superchats = (rand( 0, ml_maxsuperchats) * ml_streamtime) / 60 if ml_guitar['hasguitar'] = 1 and (ml_guitar['carried'] = 1 or $ml_guitar['location'] = $loc): ml_famebase = ( pcs_instrmusic + pcs_vokal + pcs_perform + ( (pcs_hotcat-5) * 20 ) ) / 20 gs 'exp_gain', 'instrmusic', rand(1,3) else ml_famebase = ( (pcs_vokal * 2) + pcs_perform + ( (pcs_hotcat-5) * 20 ) ) / 20 end gs 'fame', 'pav', 'music', rand(0, ml_famebase) gs 'fame', 'city', 'music', rand(0, ml_famebase) gs 'exp_gain', 'vokal', rand(1,3) if perform_lvl < 35: gs 'exp_gain', 'perform', rand(1,3) ml_streaming['livestreamcount'] += 1 ml_streaming['lastday'] = daystart ml_performance['performed_minutes'] += ml_streamtime ml_performance['total_time_performed'] += ml_streamtime ml_streaming['total_earnings'] += ml_superchats ml_streaming['unclaimed_earnings'] += ml_superchats gs 'stat' end if $ARGS[0] = 'recording_stats': minut += recording_time if performed_minutes > 10: gs 'exp_gain', 'vokal', rand(1,4) if perform_lvl < 35: gs 'exp_gain', 'perform', rand(1,3) ml_performance['performed_minutes'] += performed_minutes ml_performance['total_time_performed'] += performed_minutes ml_onlinesong_hotcat[ml_onlinesongcount] = pcs_hotcat if ml_guitar['hasguitar'] = 1 and (ml_guitar['carried'] = 1 or $ml_guitar['location'] = $loc): ml_onlinesong_skilllevel[ml_onlinesongcount] = pcs_instrmusic + pcs_vokal + pcs_perform ml_onlinesong_freshness[ml_onlinesongcount] = pcs_instrmusic + pcs_vokal + pcs_perform + ((pcs_hotcat-4)*10) gs 'exp_gain', 'instrmusic', rand(1,3) else ml_onlinesong_skilllevel[ml_onlinesongcount] = (pcs_vokal * 2) + pcs_perform ml_onlinesong_freshness[ml_onlinesongcount] = (pcs_vokal * 2) + pcs_perform + ((pcs_hotcat-4)*10) end ml_onlinesong_lastcalcday[ml_onlinesongcount] = daystart ml_onlinesong_uploaded[ml_onlinesongcount] = 0 ml_uploadablemusic += 1 ml_onlinesongcount += 1 end end if $ARGS[0] = 'stream_interruptions': !! TODO: Will depend on chance and fame - the more famous Sveta is, the more likely someone will interrupt. Just like in real life. !{ Planned scenarios: 1. Anushka shows up, just like with busking. If Sveta's skills are good enough for Anushka and they have a good relationship she can join in. 2. Lena and Lera show up and if they don't like Sveta will mess with the stream - running around, throwing twigs and leaves at Sveta, mocking her, making loud noises, etc. 3. Some other stuff. } ml_no_interruption = 1 end if $ARGS[0] = 'recording_interruptions': !! TODO: Will depend on chance and fame - the more famous Sveta is, the more likely someone will interrupt. Just like in real life. !{ Planned scenarios: 1. Anushka shows up, just like with busking. If Sveta's skills are good enough for Anushka and they have a good relationship she can join in. 2. Lena and Lera show up and if they don't like Sveta will mess with the recording - running around, throwing twigs and leaves at Sveta, mocking her, making loud noises, etc. 3. Some other stuff. } ml_no_interruption = 1 end !!---------------------------------------------------------------------------------------------------------------------------- !!----------------------------------------- Outdoors events all go here -------------------------------------------------- !!---------------------------------------------------------------------------------------------------------------------------- if $ARGS[0] = 'anushka_streaming_end': gs 'music_actions', 'finish' end if $ARGS[0] = 'anushka_recording_end': gs 'music_actions', 'finish' end --- music_onlinemusic ---------------------------------