Просмотр исходного кода

Updated the steam_workshop subroutine

 now accepts multiple mods separated by coma
DieFeM 8 лет назад
Родитель
Сommit
f15c0f4e52
1 измененных файлов с 10 добавлено и 5 удалено
  1. 10 5
      ogp_agent.pl

+ 10 - 5
ogp_agent.pl

@@ -4048,11 +4048,11 @@ sub steam_workshop
 }
 }
 
 
 #### Run the steam client ####
 #### Run the steam client ####
-### @return 1 If update started
-### @return 0 In error case.
+### @return 1 If installation started
+### @return -1 In error case.
 sub steam_workshop_without_decrypt
 sub steam_workshop_without_decrypt
 {
 {
-	my ($home_id, $mods_path, $workshop_id, $workshop_mod_id) = @_;
+	my ($home_id, $mods_path, $workshop_id, $workshop_mod_list) = @_;
 	
 	
 	# Creates home path if it doesn't exist
 	# Creates home path if it doesn't exist
 	if ( check_b4_chdir($mods_path) != 0)
 	if ( check_b4_chdir($mods_path) != 0)
@@ -4072,12 +4072,17 @@ sub steam_workshop_without_decrypt
 		
 		
 	my $installtxt = Path::Class::File->new($installSteamFile);
 	my $installtxt = Path::Class::File->new($installSteamFile);
 	
 	
+	my @workshop_mods = split /,/, $workshop_mod_list;
+	
 	open  FILE, '>', $installtxt;
 	open  FILE, '>', $installtxt;
 	print FILE "\@ShutdownOnFailedCommand 1\n";
 	print FILE "\@ShutdownOnFailedCommand 1\n";
 	print FILE "\@NoPromptForPassword 1\n";
 	print FILE "\@NoPromptForPassword 1\n";
 	print FILE "login anonymous\n";
 	print FILE "login anonymous\n";
 	print FILE "force_install_dir \"$mods_path\"\n";
 	print FILE "force_install_dir \"$mods_path\"\n";
-	print FILE "workshop_download_item $workshop_id $workshop_mod_id\n";
+	foreach my $workshop_mod (@workshop_mods)
+	{
+		print FILE "workshop_download_item $workshop_id $workshop_mod\n";
+	}
 	print FILE "exit\n";
 	print FILE "exit\n";
 	close FILE;
 	close FILE;
 		
 		
@@ -4085,7 +4090,7 @@ sub steam_workshop_without_decrypt
 	backup_home_log( $home_id, $log_file );
 	backup_home_log( $home_id, $log_file );
 			
 			
 	my $screen_cmd = create_screen_cmd($screen_id, "$steam_binary +runscript $installtxt +exit");
 	my $screen_cmd = create_screen_cmd($screen_id, "$steam_binary +runscript $installtxt +exit");
-	logger "Installing Steam Workshop content with workshop id " . $workshop_id . " and workshop_mod_id " . $workshop_mod_id . " on server Home ID " . $home_id;
+	logger "Installing Steam Workshop content on server Home ID " . $home_id;
 	system($screen_cmd);
 	system($screen_cmd);
 	
 	
 	return 1;
 	return 1;