Created
August 2, 2025 16:05
-
-
Save donnaken15/c24ebaaafaf518d784f4a770a0f68062 to your computer and use it in GitHub Desktop.
2021--2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| script() { | |
| dispatch_solos(<...>); | |
| if (*disable_particles > 1) | |
| { | |
| return; | |
| } | |
| //FormatText(ChecksumName=pstruct,'player%d_status',d=%player); | |
| //color = (*%pstruct.last_hit_note); | |
| if (%color == green) // kill me | |
| { | |
| col1 = (*gib_colors.green); | |
| } | |
| elseif (%color == red) | |
| { | |
| col1 = (*gib_colors.red); | |
| } | |
| elseif (%color == yellow) | |
| { | |
| col1 = (*gib_colors.yellow); | |
| } | |
| elseif (%color == blue) | |
| { | |
| col1 = (*gib_colors.blue); | |
| } | |
| elseif (%color == orange) | |
| { | |
| col1 = (*gib_colors.orange); | |
| } | |
| else | |
| { | |
| col1 = [255, 0, 255, 255]; | |
| printf('moron'); | |
| printf('%s',s=%color); | |
| } | |
| col2 = %col1; | |
| SetArrayElement( | |
| arrayname=col2, | |
| index=3, | |
| newvalue=(0.5/%col2[3])); | |
| pos = (%pos + (0.0,12.0)); | |
| i = 0; | |
| repeat(2) | |
| { | |
| NoteFX(<...>); | |
| if (%i == 0) | |
| { | |
| Destroy2DParticleSystem(id=%particle_id); | |
| } | |
| SetScreenElementProps(id=%fx_id,pos=%pos,scale=(1.1,1.1),relative_scale); | |
| //SetScreenElementProps(id=%fx_id,rgba=[0,0,0,255]); // no work | |
| i = (%i + 1); | |
| } | |
| FormatText(checksumName=container_id, 'gem_container%p', p = %player_text); | |
| FormatText(ChecksumName=shock_id,'%s_shockwave',s=%fx_id); | |
| pos = (%pos - (0.0,36.0)); | |
| time = (0.3666666 * (*current_speedfactor)); | |
| if (*disable_particles == 0) | |
| { | |
| createscreenelement({ // shockwave | |
| type: SpriteElement, | |
| parent: %container_id, | |
| id: %shock_id, | |
| scale: 2.0, | |
| rgba: [255,255,255,255], | |
| just: [center, center], | |
| z_priority: 4, | |
| pos: %pos, | |
| alpha: 0.15, | |
| texture: shockwave | |
| }); | |
| FormatText(ChecksumName=gib2_id,'%s_gib2',s=%fx_id); | |
| createscreenelement({ // that weird center gem gib not using particle sys | |
| type: SpriteElement, | |
| parent: %container_id, | |
| id: %gib2_id, | |
| scale: 0.8, | |
| rgba: %col1, | |
| just: [center, center], | |
| z_priority: 4, | |
| pos: %pos, | |
| alpha: 1, | |
| texture: gem_gib2, | |
| blend: add | |
| }); | |
| FormatText(ChecksumName=gib1_id,'%s_gib1',s=%fx_id); | |
| part_params = (*gib_particle_params); | |
| create2dparticlesystem({ // gibs of fill of gem or whatever you call it | |
| %part_params, | |
| id: %gib1_id, | |
| pos: %pos, | |
| parent: %container_id, | |
| start_color: %col1, | |
| end_color: %col2 | |
| }); | |
| //sys_Particle_lnzflare02_sys_Particle_lnzflare02 | |
| DoScreenElementMorph( | |
| id=%shock_id, | |
| time=%time, | |
| alpha=0, | |
| scale=6.0, | |
| relative_scale | |
| ); | |
| time2 = (0.24 * (*current_speedfactor)); | |
| DoScreenElementMorph( | |
| id=%gib2_id, | |
| time=%time2, | |
| alpha=0, | |
| scale=4.0, | |
| relative_scale | |
| ); | |
| } | |
| if (*disable_particles == 0) | |
| { | |
| Wait(100,$8D07DC15); | |
| Destroy2DParticleSystem(id=%particle_id,kill_when_empty); | |
| Destroy2DParticleSystem(id=%gib1_id,kill_when_empty); | |
| } | |
| if (*disable_particles == 1) | |
| { | |
| Destroy2DParticleSystem(id=%particle_id); | |
| Wait(100,$8D07DC15); | |
| } | |
| Wait(167,$8D07DC15); | |
| repeat(2) | |
| { | |
| if(ScreenElementExists(id=%fx_id)) | |
| { | |
| DestroyScreenElement(id=%fx_id); | |
| } | |
| } | |
| Wait(%time,Seconds); | |
| if(ScreenElementExists(id=%shock_id)) | |
| { | |
| DestroyScreenElement(id=%shock_id); | |
| } | |
| if(ScreenElementExists(id=%gib2_id)) | |
| { | |
| DestroyScreenElement(id=%gib2_id); | |
| } | |
| //printf("Wide test"); | |
| //%highway_start_y = (%highway_start_y+(%pos_add*(%delta_time)); | |
| get_song_prefix(song=%song_name); | |
| FormatText(ChecksumName=guitar_stream,'%s_guitar',s=%song_prefix,AddToStringLookup); | |
| GuitarInputLogicInit(player_status=%player_status,guitar_stream=%guitar_stream,time_offset=%time_offset); | |
| //ticks = *button_checks_per_frame; | |
| repeat | |
| { | |
| if (*ui_flow_manager_state[(%player-1)] == online_pause_fs) | |
| { | |
| SetInput(controller=(*%player_status.controller),pattern=0,strum=0); | |
| } | |
| //repeat(%ticks) | |
| //{ | |
| if (!GuitarInputLogicPerFrame(player=%player)) | |
| { | |
| break; | |
| } | |
| //} | |
| wait(1,gameframe); | |
| } | |
| ButtonCheckerInit(<...>); | |
| ticks = *button_checks_per_frame; | |
| repeat | |
| { | |
| repeat(%ticks) | |
| { | |
| ButtonCheckerPerFrame(); | |
| if (*display_debug_input == 1) | |
| { | |
| input_debug(<...>); | |
| } | |
| } | |
| wait(1,gameframe); | |
| } | |
| scroll_time_factor = *global_hyperspeed_factor; | |
| game_speed_factor = *global_hyperspeed_factor; | |
| if (*current_num_players == 2 || *end_credits == 1) | |
| { | |
| scroll_time_factor = (*p2_scroll_time_factor); | |
| game_speed_factor = (*p2_game_speed_factor); | |
| } | |
| hype = (*Cheat_Hyperspeed); | |
| index = (%hype - 1); | |
| if (%hype > 0) | |
| { | |
| if (*is_network_game) | |
| { | |
| } | |
| else | |
| { | |
| hyperspeed_scale = 1.0; | |
| GetArraySize({ | |
| qbkeyref $00000000 = hyperspeed_scales; | |
| }); | |
| if (%index < %array_size) // out of bounds check | |
| { | |
| printf('gay'); | |
| printf('%d',d=%hyperspeed_scale); | |
| scales = (*hyperspeed_scales); | |
| hyperspeed_scale = (%scales[index]); | |
| printf('%d',d=(*hyperspeed_scales[index])); | |
| printf('%d',d=%hyperspeed_scale); | |
| } | |
| if (%hyperspeed_scale > 0.0) | |
| { | |
| scroll_time_factor = (%scroll_time_factor*%hyperspeed_scale); | |
| game_speed_factor = (%game_speed_factor*%hyperspeed_scale); | |
| } | |
| } | |
| } | |
| //printstruct(<...>); | |
| //dumb = (*difficulty_list_props); | |
| //AddParams(((%dumb).%difficulty)); | |
| //change(structurename=%player_status,scroll_time=(%scroll_time*%scroll_time_factor)); | |
| //change(structurename=%player_status,scroll_time=(%scroll_time*%game_speed_factor)); | |
| //SetScreenElementProps(id=%id,font_spacing=0,rot_angle=6.4,shadow_rgba=[0,0,0,0]); | |
| if (*disable_intro == 0) | |
| { | |
| return; | |
| } | |
| UpdateScoreFastInit(player_status=%player_status); | |
| repeat | |
| { | |
| GetSongTimeMs(); | |
| UpdateScoreFastPerFrame(player_status = %player_status,time=%time); | |
| $99719B14(<...>); | |
| $337A7967(<...>); | |
| $F0CA5A38(<...>); | |
| wait(1,gameframe); | |
| } | |
| //spawnscriptlater(do_screenshot); | |
| get_song_title(); | |
| GetSongTime(); | |
| FormatText(textname=filename,'screen_%s_%t',s=%song_title,t=%songtime); | |
| ScreenShot(filename=%filename); | |
| ExtendCrc(HUD2D_score_star_6,(*%player_status.text),out=star6); | |
| if (ScreenElementExists(id=%star6)) | |
| { | |
| if (*%player_status.max_notes > 0) | |
| { | |
| FC = (100 / (*%player_status.notes_hit * *%player_status.max_notes)); | |
| if (%FC == 100) | |
| { | |
| SetScreenElementProps(id=%star6,alpha=1); | |
| } | |
| } | |
| } | |
| //STUPID!!!!!! | |
| formattext(checksumname=pulseVar,'highway_pulse_%t',t=%player_text); | |
| if(*%pulseVar == 1) | |
| { | |
| printf('ALREADY ON!!!'); | |
| if (ScriptIsRunning(highway_pulse_multiplier_loss)) | |
| { | |
| KillSpawnedScript(name=highway_pulse_multiplier_loss); | |
| } | |
| return; | |
| } | |
| change(globalname=%pulseVar,newvalue=1); | |
| formattext(checksumname=container_id,'gem_container%p',p=%p,AddToStringLookup=true); | |
| return(container_id=%container_id); | |
| if (*disable_particles > 1) | |
| { | |
| return; | |
| } | |
| NoteFX(<...>); | |
| if (*disable_particles < 2) | |
| { | |
| pos = (%pos + (0.0,24.0)); | |
| SetScreenElementProps(id=%fx_id,pos=%pos,scale=(1.6,1.6),relative_scale); | |
| } | |
| if (*disable_particles == 0) | |
| { | |
| Wait(100,$8D07DC15); | |
| Destroy2DParticleSystem(id=%particle_id,kill_when_empty); | |
| } | |
| if (*disable_particles == 1) | |
| { | |
| Destroy2DParticleSystem(id=%particle_id); | |
| Wait(100,$8D07DC15); | |
| } | |
| if (*disable_particles < 2) | |
| { | |
| Wait(167,$8D07DC15); | |
| if(ScreenElementExists(id=%fx_id)) | |
| { | |
| DestroyScreenElement(id=%fx_id); | |
| } | |
| } | |
| if (*%player_status.star_power_used == 1 && *overlapping_starpower == 0) | |
| { | |
| return; | |
| } | |
| change(disable_intro=1); | |
| spawnscriptnow(restart_gem_scroller, | |
| params = { | |
| song_name: (*current_song), | |
| difficulty: (*current_difficulty), | |
| difficulty2: (*current_difficulty2), | |
| starttime: (*current_starttime), | |
| device_num: %device_num, | |
| uselaststarttime | |
| }); | |
| change(disable_intro=(*disable_intro_originalsetting)); | |
| //printstruct(<...>); | |
| //change(disable_intro=1); | |
| //practice_restart_song(); | |
| //change(disable_intro=(*disable_intro_originalsetting)); | |
| //practice_kill_select_key_binding(); | |
| //change(disable_intro=(*disable_intro_originalsetting)); | |
| repeat | |
| { | |
| practice_audio_filter(); | |
| check_select_for_restart(); | |
| GetSongTimeMs(); | |
| if (%time > ((*practice_end_time)+(*Song_Win_Delay*1000-100))) | |
| { | |
| spawnscriptnow(finish_practice_song); | |
| } | |
| Wait(1,gameframe); | |
| } | |
| spawnscriptnow(ui_flow_manager_respond_to_action,params={ | |
| action: continue, | |
| play_sound: 0, | |
| device_num: (*primary_controller) | |
| }); | |
| //change(first_player=%device_num); | |
| //printstruct(<...>); | |
| ExtendCrc(HUD2D_SP_glow_start,(*%player_status.text),out=SP_glow_start); | |
| if (ScreenElementExists(id=%SP_glow_start)) | |
| { | |
| if (*%player_status.star_power_amount > 0.0) | |
| { | |
| alpha = 1.0; | |
| } | |
| else | |
| { | |
| alpha = 0.0; | |
| } | |
| SetScreenElementProps(id=%SP_glow_start,alpha=%alpha); | |
| } | |
| ExtendCrc(HUD2D_SP_glow_end,(*%player_status.text),out=SP_glow_end); | |
| if (ScreenElementExists(id=%SP_glow_end)) | |
| { | |
| if (*%player_status.star_power_amount >= 50.0 || *%player_status.star_power_used == 1) | |
| { | |
| alpha = 1.0; | |
| } | |
| else | |
| { | |
| alpha = 0.0; | |
| } | |
| amount = (*%player_status.star_power_amount * 100.0); | |
| pos = (%amount / (-5.0,-200.0)); | |
| scale = (1.1 - (%amount / 0.3)); | |
| //scale = 0.2; | |
| //pos = (0.0,0.0); | |
| SetScreenElementProps(id=%SP_glow_end,alpha=%alpha,pos=%pos,scale=%scale); | |
| } | |
| if (*kill_gems_on_hit == 1) | |
| { | |
| if (ScreenElementExists(id=%gem_id)) | |
| { | |
| if (*anytime_sustain_activation == 0) | |
| { | |
| SetScreenElementProps(id=%gem_id,rgba=[255,255,255,0]); | |
| } | |
| else | |
| { | |
| // destroying, earlier than it's meant to, makes sustains activate early | |
| DestroyGem(name=%gem_id); | |
| return; | |
| } | |
| } | |
| } | |
| //else | |
| //{ | |
| kill_object_later_original(<...>); | |
| repeat | |
| { | |
| if (ScreenElementExists(id=%gem_id)) | |
| { | |
| GetScreenElementPosition(id=%gem_id); | |
| //py = (%ScreenElementPos.(0, 1)); | |
| emptyscript(); | |
| // 01 16 6E 5D C0 B8 07 0E 2D 16 96 45 2A 06 08 1F 00 00 00 00 00 00 80 3F 0F | |
| // stupid | |
| emptyscript(); | |
| emptyscript(); | |
| emptyscript(<...>); | |
| if (%py >= *highway_playline) | |
| { | |
| DestroyGem(name = %gem_id); | |
| break; | |
| } | |
| wait(1, gameframe); | |
| } | |
| else | |
| { | |
| break; | |
| } | |
| } | |
| //} | |
| //STAR POWER WHAMMY | |
| //printf('delta: %d',*current_delta); | |
| if (*%player_status.star_power_used == 1 && *overlapping_starpower == 0) | |
| { | |
| return; | |
| } | |
| last_x = 0; | |
| last_y = 0; | |
| dir_x = 0; | |
| dir_y = 0; | |
| first = 1; | |
| whammy_on = 1; | |
| whammy_star_on = 1; | |
| whammy_star_off = 1; | |
| ExtendCrc(star_whammy_on,%player_text,out=id); | |
| broadcastevent(type=%id,data={ | |
| pattern:%pattern, | |
| time:%time, | |
| guitar_stream:%guitar_stream, | |
| song:%song, // YOU MIGHT AS WELL USE PASSTHROUGH AT THIS POINT | |
| array_entry:%array_entry, | |
| player:%player, | |
| player_status:%player_status, | |
| player_text:%player_text | |
| }); | |
| %boss = 0; | |
| if (*boss_battle == 1) | |
| { | |
| if ((*%player_status.player) == 2) | |
| { | |
| %boss = 1; | |
| } | |
| } | |
| if (*game_mode == p2_battle || *boss_battle == 1) | |
| { | |
| %do_blue_whammys = 0; | |
| } | |
| repeat | |
| { | |
| if ((*%player_status.whammy_on) == 0) | |
| { | |
| ExtendCrc(star_whammy_off,%player_text,out=id); | |
| broadcastevent(type=%id,data={ | |
| pattern:%pattern, | |
| time:%time, | |
| guitar_stream:%guitar_stream, | |
| song:%song, | |
| array_entry:%array_entry, | |
| player:%player, | |
| player_status:%player_status, | |
| player_text:%player_text, | |
| finished:0 | |
| }); | |
| break; | |
| } | |
| if (%boss == 0) | |
| { | |
| printf('%d',d=9); | |
| if (GuitarGetAnalogueInfo(controller=(*%player_status.controller))) | |
| { | |
| printf('%d',d=10); | |
| if (IsGuitarController(controller=(*%player_status.controller))) | |
| { | |
| %px = ((%rightx - (*%player_status.resting_whammy_position))*(1.0-(*%player_status.resting_whammy_position))); | |
| if (%px < 0) | |
| { | |
| %px = 0; | |
| } | |
| if (%first == 1) | |
| { | |
| %last_x = %px; | |
| %first = 0; | |
| } | |
| %xdiff = (%px - %last_x); | |
| if (%xdiff < 0) | |
| { | |
| %xdiff = (0.0-%xdiff); | |
| } | |
| if (%xdiff > 0.03) | |
| { | |
| %whammy_on = 5; | |
| } | |
| } | |
| else | |
| { | |
| %px = 0; | |
| %py = 0; | |
| if (%leftlength > 0) | |
| { | |
| %px = %leftx; | |
| %py = %lefty; | |
| } | |
| else | |
| { | |
| if (%rightlength > 0) | |
| { | |
| %px = %rightx; | |
| %py = %righty; | |
| } | |
| } | |
| if (%first == 1) | |
| { | |
| %last_x = %px; | |
| %last_y = %py; | |
| %first = 0; | |
| } | |
| %xdiff = (%px - %last_x); | |
| if (%xdiff < 0) | |
| { | |
| %xdiff = (0 - %xdiff); | |
| } | |
| %ydiff = (%py - %last_y); | |
| if (%ydiff < 0) | |
| { | |
| %ydiff = (0 - %ydiff); | |
| } | |
| if (%xdiff > 0.03) | |
| { | |
| %whammy_on = 5; | |
| } | |
| if (%ydiff > 0.03) | |
| { | |
| %whammy_on = 5; | |
| } | |
| } | |
| if (*autowhammy == 1) | |
| { | |
| whammy_on = 5; | |
| } | |
| if (%whammy_on > 0) | |
| { | |
| %whammy_star_off = 0; | |
| %whammy_star_on = (%whammy_star_on + 1); | |
| beat_time = (*%player_status.playline_song_beat_time * 1000.0); | |
| beat_ratio = (*current_delta / %beat_time); | |
| if (*game_mode == p2_career || *game_mode == p2_coop) | |
| { | |
| increase_star_power(amount = (*star_power_whammy_add_coop / %beat_ratio),player_status=%player_status); | |
| } | |
| else | |
| { | |
| increase_star_power(amount = (*star_power_whammy_add / %beat_ratio),player_status=%player_status); | |
| } | |
| whammy_on = (%whammy_on - 1); // NOT GOOD | |
| if (%do_blue_whammys == 1) | |
| { | |
| if (%whammy_star_on == 5) | |
| { | |
| // could this be optimized since it runs twice | |
| getarraysize({ | |
| qbkeyref $00000000 = gem_colors; | |
| }); | |
| gem_count = 0; | |
| repeat(%array_size) | |
| { | |
| if ((%pattern && *button_values[%gem_count]) == *button_values[%gem_count]) | |
| { | |
| FormatText( | |
| checksumname=whammy_id, | |
| '%c_%i_whammybar_p%p', | |
| c=(*gem_colors_text[%gem_count]), | |
| i=%array_entry,p=(*%player_status.player), | |
| AddToStringLookup=true); | |
| if (ScreenElementExists(id=%whammy_id)) | |
| { | |
| bar_name = (%whammy_id+1); | |
| MakeStarWhammy(name=%bar_name,player=(*%player_status.player)); | |
| } | |
| } | |
| gem_count = (%gem_count + 1); | |
| } | |
| } | |
| } | |
| } | |
| else | |
| { | |
| %whammy_star_on = 0; | |
| %whammy_star_off = (%whammy_star_off+1); | |
| if (%do_blue_whammys == 1) | |
| { | |
| if (%whammy_star_off == 5) | |
| { | |
| getarraysize({ | |
| qbkeyref $00000000 = gem_colors; | |
| }); | |
| gem_count = 0; | |
| repeat(%array_size) | |
| { | |
| if ((%pattern && *button_values[%gem_count]) == *button_values[%gem_count]) | |
| { | |
| FormatText( | |
| checksumname=whammy_id, | |
| '%c_%i_whammybar_p%p', | |
| c=(*gem_colors_text[%gem_count]), | |
| i=%array_entry,p=(*%player_status.player), | |
| AddToStringLookup=true); | |
| if (ScreenElementExists(id=%whammy_id)) | |
| { | |
| bar_name = (%whammy_id+1); | |
| MakeNormalWhammy(name=%bar_name,player=(*%player_status.player)); | |
| } | |
| } | |
| gem_count = (%gem_count + 1); | |
| } | |
| } | |
| } | |
| } | |
| %last_x = %px; | |
| %last_y = %py; | |
| } | |
| } | |
| %time = (%time - (*current_deltatime / 1000)); | |
| if (%time <= 0) | |
| { | |
| ExtendCrc(star_whammy_off,%player_text,out=id); | |
| broadcastevent(type=%id,data={ | |
| pattern:%pattern, | |
| time:%time, | |
| guitar_stream:%guitar_stream, | |
| song:%song, | |
| array_entry:%array_entry, | |
| player:%player, | |
| player_status:%player_status, | |
| player_text:%player_text, | |
| finished:1 | |
| }); | |
| } | |
| wait(1, gameframe); | |
| } | |
| //wait(0.11666666666,seconds); | |
| //GetRandomValue(name=time_range,a=0.0066666666,b=0.0188888888); | |
| //wait(%time_range,seconds); | |
| //delta_time = 0.0166666; | |
| UpdateGuitarFuncs(); | |
| if (!GameIsPaused) | |
| { | |
| GetDeltaTime(); | |
| Update2DParticleSystems(delta_time=%delta_time); | |
| RunQueuedPulseEvents(); | |
| CheckBossCutoff(); | |
| } | |
| CreateScreenElement({ | |
| type: TextElement, | |
| parent: pab_container, | |
| font: text_a6, | |
| text: 'PRESS \\b4 \\b4', | |
| pos: (640.0, 320.0), | |
| just: [center,center] | |
| }); | |
| //printstruct(<...>); | |
| if (*disable_particles > 1) | |
| { | |
| return; | |
| } | |
| NoteFX(<...>); | |
| * // GH2 { | |
| //why | |
| if (%name == $00430A6F) // why are these ids messed up | |
| { | |
| change(hitnoteids_g=%fx_id); | |
| change(hitfxids_g=%particle_id); | |
| } | |
| elseif (%name == $0042B14E) | |
| { | |
| change(hitnoteids_r=%fx_id); | |
| change(hitfxids_r=%particle_id); | |
| } | |
| elseif (%name == HitNote_Green) | |
| { | |
| change(hitnoteids_y=%fx_id); | |
| change(hitfxids_y=%particle_id); | |
| } | |
| elseif (%name == HitNote_Yellow) | |
| { | |
| change(hitnoteids_b=%fx_id); | |
| change(hitfxids_b=%particle_id); | |
| } | |
| elseif (%name == HitNote_Orange) | |
| { | |
| change(hitnoteids_o=%fx_id); | |
| change(hitfxids_o=%particle_id); | |
| } | |
| // } * | |
| if (*disable_particles == 0) | |
| { | |
| Wait(100,$8D07DC15); | |
| Destroy2DParticleSystem(id=%particle_id,kill_when_empty); | |
| } | |
| if (*disable_particles == 1) | |
| { | |
| Destroy2DParticleSystem(id=%particle_id); | |
| Wait(100,$8D07DC15); | |
| } | |
| if (*disable_particles < 2) | |
| { | |
| Wait(167,$8D07DC15); | |
| if(ScreenElementExists(id=%fx_id)) | |
| { | |
| DestroyScreenElement(id=%fx_id); | |
| } | |
| } | |
| //ScreenShot(); | |
| change(structurename=whammy_particle_params,time=0.0); | |
| if (*disable_particles == 0) | |
| { | |
| change(structurename=whammy_particle_params,time=0.5); | |
| } | |
| else | |
| { | |
| change(structurename=whammy_particle_params,time=0.0); | |
| } | |
| if (*disable_particles < 2) | |
| { | |
| WhammyFXOn(<...>); | |
| } | |
| //WhammyFXOff(<...>); | |
| if (*disable_particles > 0) | |
| { | |
| Destroy2DParticleSystem(id=%particle_id); | |
| } | |
| else | |
| { | |
| Destroy2DParticleSystem(id=%particle_id,kill_when_empty); | |
| } | |
| //stupid why | |
| if (*disable_particles == 0) // 4 minimal | |
| { | |
| spawnscriptnow({hit_note_fx2,params:{<...>}}); | |
| } | |
| if (*disable_particles == 1) | |
| { | |
| NoteFX(<...>); | |
| Destroy2DParticleSystem(id=%particle_id); | |
| Wait(100,$8D07DC15); | |
| Wait(167,$8D07DC15); | |
| if(ScreenElementExists(id=%fx_id)) | |
| { | |
| DestroyScreenElement(id=%fx_id); | |
| } | |
| } | |
| if (*disable_particles == 0) | |
| { | |
| WhammyFXOff(<...>); | |
| } | |
| //scroll_time_factor = *global_hyperspeed_factor; | |
| //game_speed_factor = *global_hyperspeed_factor; | |
| if (*%other_player_status.player == 1) | |
| { | |
| player_status = player2_status; | |
| player = 2; | |
| player_text = 'p2'; | |
| } | |
| else | |
| { | |
| player_status = player1_status; | |
| player = 1; | |
| player_text = 'p1'; | |
| } | |
| change(structurename=%player_status,star_power_amount=50.0); | |
| spawnscriptnow(star_power_activate_and_drain, | |
| params={ | |
| player_status: %player_status, | |
| player: %player, | |
| player_text: %player_text | |
| }); | |
| printf('%d',d=(*%player_status.star_power_used)); | |
| printf('sp on'); | |
| repeat | |
| { | |
| if (*%player_status.star_power_amount == 0) | |
| { | |
| break; | |
| } | |
| wait(1,gameframe); | |
| } | |
| printf('sp off'); | |
| if (*exit_on_song_end == 1) | |
| { | |
| ResetEngine(); | |
| } | |
| // easier than i thought jfc | |
| // since D2DPS doesnt crash if target doesnt exist | |
| // yay | |
| if (*disable_particles == 0) | |
| { | |
| i = 0; | |
| repeat(5) | |
| { | |
| //FormatText(checksumname=fx_id,'big_bolt_particle%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| //Destroy2DParticleSystem(id=%fx_id); | |
| FormatText(checksumname=fx2_id,'big_bolt_particle2%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| Destroy2DParticleSystem(id=%fx2_id); | |
| FormatText(checksumname=fx3_id,'big_bolt_particle3%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| Destroy2DParticleSystem(id=%fx3_id); | |
| i = (%i + 1); | |
| } | |
| spawnscriptnow({StarSequenceFX, params:{<...>}}); | |
| } | |
| if (*disable_particles == 1) | |
| { | |
| spawnscriptnow({StarSequenceFX, params:{<...>}}); | |
| i = 0; | |
| repeat(5) | |
| { | |
| FormatText(checksumname=fx_id,'big_bolt_particle%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| Destroy2DParticleSystem(id=%fx_id); | |
| FormatText(checksumname=fx2_id,'big_bolt_particle2%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| Destroy2DParticleSystem(id=%fx2_id); | |
| FormatText(checksumname=fx3_id,'big_bolt_particle3%p%e',p=(*%player_status.text),e=%i,AddToStringLookup=true); | |
| Destroy2DParticleSystem(id=%fx3_id); | |
| i = (%i + 1); | |
| } | |
| } | |
| //EmptyScript(); | |
| params = *movie_params; | |
| PlayMovieFromBuffer({ | |
| buffer_slot: 0, | |
| TextureSlot: 2, | |
| //wait_until_rendered | |
| TexturePri: 0, | |
| %params | |
| }); | |
| //sndbuss_pitchdowntoslomo(); | |
| //slomo_nopitchbend(1.4); | |
| spawnscriptnow( | |
| highway_pulse_multiplier_loss, | |
| params = { | |
| player_text: (*%player_status.text), | |
| multiplier: 4 | |
| }); | |
| //SetScreenElementProps(id=%id,font_spacing=1,rot_angle=6.0,shadow_rgba=[0,0,0,0]); | |
| change(current_transition=fastintro); | |
| if (*game_mode == training) | |
| { | |
| change(current_transition=practice); | |
| } | |
| //EmptyScript(); | |
| if (!load_musician_pak_file(name=Guitarist,profile='axel',async=0,type=body)) | |
| { | |
| return false; | |
| } | |
| fake_it(); | |
| destroy_band_member({ | |
| qbkey name = Guitarist; | |
| }); | |
| destroy_band_member({ | |
| qbkey name = Bassist; | |
| }); | |
| //printstruct(%params); | |
| //printstruct(%Components); | |
| //change(structurename=%params,object_type=none); | |
| //printstruct(%params); | |
| CreateCompositeObject({ | |
| Components: [ | |
| { | |
| component: ragdoll | |
| } | |
| ], | |
| params: %params | |
| }); | |
| return <...>; | |
| printstruct(%params); | |
| CreateCompositeObject({ | |
| Components: [ | |
| { | |
| component: ragdoll | |
| } | |
| ], | |
| params: %params | |
| }); | |
| return <...>; | |
| //loadpak('pak/player.pak'); | |
| CreateCompositeObject({ | |
| Components: [ | |
| { | |
| component: ragdoll, | |
| initialize_empty: false, | |
| disable_collision_callbacks, | |
| skeletonName: %skeleton_name, | |
| ragdollName: %ragdoll_name, | |
| RagdollCollisionGroup: *%collision_group | |
| }, { | |
| component: animtree, | |
| animEventTableName: ped_animevents | |
| }, { | |
| component: skeleton, | |
| skeletonName: %skeleton_name | |
| }, { | |
| component: model, | |
| lightgroup: %lightgroup | |
| }, { | |
| component: motion | |
| } | |
| ], | |
| params: { | |
| name: %name, | |
| pos: %pos, | |
| AssetContext: %body_asset_context, | |
| %profile, | |
| object_type: bandmember, | |
| profilebudget: 800 | |
| } | |
| }); | |
| %name : EmptyScript({ | |
| Tree: *%desired_tree, | |
| animEventTableName: ped_animevents, | |
| NodeIdDeclaration: [ | |
| Base, | |
| body, | |
| BodyTimer, | |
| StrumTimer, | |
| FretTimer, | |
| FingerTimer, | |
| FacialTimer, | |
| Ik, | |
| Standard_Branch, | |
| Turn_Branch, | |
| LeftArmPartial, | |
| LeftHandPartial, | |
| RightArmPartial, | |
| DrummerLeftArm, | |
| DrummerRightArm, | |
| leftarm_timer, | |
| rightarm_timer, | |
| LeftArm, | |
| LeftHand, | |
| RightArm, | |
| Face, | |
| cymbal1, | |
| cymbal2, | |
| cymbal3, | |
| cymbal4, | |
| $97442CA8, | |
| CymbalTimer2, | |
| CymbalTimer3, | |
| CymbalTimer4, | |
| leftfoot, | |
| leftfoot_timer, | |
| rightfoot, | |
| rightfoot_timer, | |
| BodyTwist, | |
| bodytwist_timer, | |
| bodytwist_branch, | |
| arm_branch, | |
| left_arm_branch, | |
| right_arm_branch | |
| ] | |
| }); | |
| //LoadPak('pak/player.pak'); | |
| //repeat | |
| //{} | |
| //printf('%a = %b',sys_axel_1_highway_sys_axel_1_highway,(*%player_status.highway_material)); | |
| //training_mode = 0; | |
| change(current_transition=fastintro); | |
| if (*game_mode == training) | |
| { | |
| change(current_transition=practice); | |
| } | |
| //starttime = (%starttime + %value); | |
| //WinPortGetSongSkew(); | |
| //time = (%time + %value); | |
| //WinPortGetSongSkew(); | |
| //time = (%time + %value); | |
| //printf('starting song audio'); | |
| WinPortGetSongSkew(); | |
| position = (%position + %value); | |
| printstruct(<...>); | |
| //printf('a'); | |
| //change(current_transition=fastintro); | |
| LoadPak({ | |
| string $00000000 = 'zones/default/default.pak'; | |
| qbkey heap = heap_global_pak; | |
| qbkey $00000000 = splitfile; | |
| }); | |
| ParseNodeArray({ | |
| qbkey $00000000 = queue; | |
| qbkey zone_name = Global; | |
| qbkey $00000000 = global_NodeArray; | |
| }); | |
| //return; | |
| repeat (%num_players) | |
| { | |
| FormatText( | |
| checksumName=player_status, | |
| 'player%i_status', | |
| i=%player,AddToStringLookup); | |
| FormatText( | |
| textName=player_text,'p%i', | |
| i=%player,AddToStringLookup); | |
| move_hud_to_default(<...>,time=(*current_intro.hud_move_time*1000.0)); | |
| player = (%player + 1); | |
| } | |
| //EmptyScript(); | |
| //s=(*%player_status.sp_phrases_hit); | |
| EmptyScript(); | |
| FormatText( | |
| checksumName=fx_id, | |
| 'big_bolt_particle%p%e_%t', | |
| p=(*%player_status.text), | |
| e=%gem_count, | |
| t=%time, | |
| AddToStringLookup=true); | |
| FormatText( | |
| checksumName=fx2_id, | |
| 'big_bolt_particle2%p%e_%t', | |
| p=(*%player_status.text), | |
| e=%gem_count, | |
| t=%time, | |
| AddToStringLookup=true); | |
| FormatText( | |
| checksumName=fx3_id, | |
| 'big_bolt_particle3%p%e_%t', | |
| p=(*%player_status.text), | |
| e=%gem_count, | |
| t=%time, | |
| AddToStringLookup=true); | |
| if (*disable_notestreak_notif == 1) | |
| { | |
| return; | |
| } | |
| if (*autowhammy == 1) | |
| { | |
| if (*%player_status.bot_star_power == 1 && *%player_status.bot_play == 1) | |
| { | |
| whammy_on = 5; | |
| } | |
| } | |
| //set_song_meta(); | |
| //printf('Hello, World!'); | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment