Browse Source

fix double mod setting

rachels 2 years ago
parent
commit
a03e82a80a
1 changed files with 21 additions and 6 deletions
  1. 21 6
      locations/mod_setting.qsrc

+ 21 - 6
locations/mod_setting.qsrc

@@ -26,16 +26,15 @@ if mod_list > 0:
 	:mod_alllist
 	if $mod_name[mod_i] ! '':
 		!name
-		gs 'mod_<<$mod_name[mod_i]>>_setup'
-		*p '<tr><td><<mod_i>></td><td><<$mod_info[0]>></td>'
+		*p '<tr><td><<mod_i>></td><td><<$mod_name[mod_i]>></td>'
 		!version
-		*p '<td><<val($mod_info[1])/10000>>.<<(val($mod_info[1]) mod 10000)/100>> <<iif(val($mod_info[1]) mod 100 > 0, ''fix <<val($mod_info[1]) mod 100>> '', '' '')>></td>'
+		*p '<td><<val($mod_version[mod_i])/10000>>.<<(val($mod_version[mod_i]) mod 10000)/100>> <<iif(val($mod_version[mod_i]) mod 100 > 0, ''fix <<val($mod_version[mod_i]) mod 100>> '', '' '')>></td>'
 		!author
-		*p '<td><<$mod_info[2]>></td>'
+		*p '<td><<$mod_author[mod_i]>></td>'
 		!description and readme
-		*p '<td><a href="exec:gs ''mod_<<$mod_info[0]>>_readme''"><img src="images/system/icons/anptekainfo.jpg"></a> <<$mod_info[3]>></td>'
+		*p '<td><a href="exec:gs ''mod_<<$mod_name[mod_i]>>_readme''"><img src="images/system/icons/anptekainfo.jpg"></a> <<$mod_desc[mod_i]>></td>'
 		!mod options page
-		*p '<td>'+iif($mod_opt[mod_i] ! '','<a href="exec:gs ''mod_<<$mod_info[0]>>_options''"><<$mod_info[4]>></a>','')+'</td></tr>'
+		*p '<td>'+iif($mod_opt[mod_i] ! '','<a href="exec:gs ''mod_<<$mod_name[mod_i]>>_options''"><<$mod_opt[mod_i]>></a>','')+'</td></tr>'
 	else
 		'ERROR loading mod id <<mod_i>>, no mod name available'
 	end
@@ -68,8 +67,24 @@ act ''+iif(settingmode = 1, '<center><b>Install new mod</b></center>','Install n
 	$mod_opt[mod_list] = $mod_info[4]
 	gt 'mod_setting'
 end
+
 act ''+iif(settingmode = 1, '<center><b>Disable all mods</b></center>','Disable all mods')+'':
 	if input('Are you sure? ALL mod will be disabled!<br>please input <b>qqq</B> to confirm') = 'qqq':
+		if mod_list > 0:
+			mod_i=mod_list
+			:mod_data_remover
+			if $mod_name[mod_i] ! '':
+				$mod_su_name = 'mod_<<$mod_name[mod_i]>>_onremove'
+				if LOC($mod_su_name): gs $mod_su_name
+			end
+			if mod_i > 0:
+				mod_i-=1
+				jump 'mod_data_remover'
+			end
+			killvar '$mod_su_name'
+			killvar 'mod_i'
+		end
+
 		killqst
 		set mod_list=0
 		killvar '$mod_name'