Browse Source

Merge branch 'master' of https://git.tfgames.site/Kevin_Smarts/glife

bgkjdgbizgblzdgbr 1 tháng trước cách đây
mục cha
commit
cc454bf423

+ 95 - 3
MakeQSP.bat

@@ -1,4 +1,5 @@
 @ECHO off
+setlocal
 
 :: Set batch file path
 set BATDir=%~dp0
@@ -98,31 +99,53 @@ goto menu
 echo.
 echo Building ...
 
+:: Start timer
+set start=%time%
+
 @ECHO ON
-python tools\txtmerge.py locations glife.txt
-tools\txt2gam.exe glife.txt %QSPFILE% > nul
+"%BATDir%tools\Textmerge.exe" "%BATDir%locations" "%BATDir%glife.txt" "%BATDir%glife.qproj"
+
+"%BATDir%tools\cli-win.exe" "%BATDir%glife.txt"
+
 @ECHO OFF
 
+
 echo.
 if defined CP_TO ( echo Copying %QSPFILE% to "%CP_TO%" ... & copy %QSPFILE% %CP_TO% > nul )
 
+:: End timer
+set end=%time%
+
+call :elapsedtime
 echo.
 echo Done.
 pause
+
+
 if %action% == f ( goto run ) else ( goto menu )
 
+
 :build_debug
+
+:: Start timer
+set start=%time%
+
 echo.
 echo Building DEBUG ...
 
 @ECHO ON
 python tools\build_debug.py locations glife.txt
-tools\txt2gam.exe glife.txt %QSPFILE% > nul
+"%BATDir%tools\cli-win.exe" "%BATDir%glife.txt"
 @ECHO OFF
 
 echo.
 if defined CP_TO ( echo Copying %QSPFILE% to "%CP_TO%" ... & copy %QSPFILE% %CP_TO% > nul )
 
+:: End timer
+set end=%time%
+
+call :elapsedtime
+
 echo.
 echo Done.
 pause
@@ -136,12 +159,22 @@ pause
 goto menu
 
 :parser
+
+:: Start timer
+set start=%time%
+
 echo.
 echo validating...
 
 @ECHO ON
 "%BATDir%%QSPParser%" --level warn "%BATDir%glife.txt" > "%BATDir%validation.log"
 @ECHO off
+
+:: End timer
+set end=%time%
+
+call :elapsedtime
+
 pause
 goto menu
 
@@ -152,6 +185,65 @@ echo Running ...
 if defined CP_TO ( start "%BATDir%%QSPGUI%" %CP_TO%\%QSPFILE% ) else ( start "%BATDir%%QSPGUI%" %QSPFILE% )
 
 
+:exit
+
+
+:elapsedtime
+set options="tokens=1-4 delims=:.,"
+for /f %options% %%a in ("%start%") do (
+    set start_h=%%a
+    set /a start_m=100%%b %% 100
+    set /a start_s=100%%c %% 100
+    set /a start_ms=100%%d %% 100
+)
+for /f %options% %%a in ("%end%") do (
+    set end_h=%%a
+    set /a end_m=100%%b %% 100
+    set /a end_s=100%%c %% 100
+    set /a end_ms=100%%d %% 100
+)
+
+set /a ms=end_ms-start_ms
+if %ms% lss 0 (
+    set /a ms+=100
+    set /a end_s-=1
+)
+
+set /a secs=end_s-start_s
+if %secs% lss 0 (
+    set /a secs+=60
+    set /a end_m-=1
+)
+
+set /a mins=end_m-start_m
+if %mins% lss 0 (
+    set /a mins+=60
+    set /a end_h-=1
+)
+
+set /a hours=end_h-start_h
+if %hours% lss 0 (
+    set /a hours+=24
+)
+
+if %ms% lss 10 set ms=0%ms%
+if %secs% lss 10 set secs=0%secs%
+if %mins% lss 10 set mins=0%mins%
+if %hours% lss 10 set hours=0%hours%
+
+
+if %hours% neq 0 (
+    set elapsedtime=%hours%:%mins%:%secs%.%ms%
+) else if %mins% neq 0 (
+    set elapsedtime=%mins%:%secs%.%ms%
+) else (
+    set elapsedtime=%secs%.%ms%
+)
+
+
+echo Elapsed time: %elapsedtime%
+
+endlocal & set elapsedtime=%elapsedtime%
 
 
 :exit

+ 1 - 1
locations/albina_chat.qsrc

@@ -934,7 +934,7 @@ if $ARGS[0] = 'lazar_conversation':
 			end
 			*nl
 			'"So what about you? Hooked up with anyone?" she asks, turning the conversation on you.'
-			gt 'albina_chat', 'lover_conversation'
+			gs 'albina_chat', 'lover_conversation'
 		end
 	end
 end

+ 2 - 0
locations/albinahome.qsrc

@@ -52,6 +52,8 @@ if $ARGS[0] = 'maid_greet':
 			'"Please make yourself at home Miss <<$pcs_lastname>>," she says, motioning for you to enter and taking your coat.'
 			act 'Continue': gt 'albinahome', 'hallway'
 		end
+	else
+		gt 'albinahome', 'hallway'
 	end
 end
 

+ 7 - 7
locations/gschool_chats.qsrc

@@ -47,7 +47,7 @@ if $ARGS[0] = 'nerds':
 					if soniaQW['slut'] > 0: gs 'npc_relationship', 'modify', 'A25', 'like'
 					gs 'npc_relationship', 'modify', 'A159', 'like'
 					if grupTipe = 3:
-						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on your attire for just a bit longer; you don''t feel her gaze is all that welcoming either.'
+						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem struggle to conceal their disapproving stares at your chosen uniform, while Julia''s eyes linger on your attire a bit longer; her gaze doesn''t feel all that welcoming either.'
 					else
 						'You go to the classrooms that the nerdy students like to hang out in and find them, as always, all nerding around a table talking and engaging in various personal projects. Several of them look up as you walk closer. Artem and Petka both seem to be struggling to hide their judgmental stares about your choice of uniform and you don''t find the look Julia has in her eyes all that comforting either.'
 					end
@@ -56,9 +56,9 @@ if $ARGS[0] = 'nerds':
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					if grupTipe = 3:
-						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on you a fraction longer but you can see that she''s wary of you and doesn''t approve of your attire and her gaze is all that welcoming either.'
+						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares at your chosen uniform, while Julia''s eyes seem to linger on you a fraction longer. However, you can see that she''s wary of you and doesn''t approve of your attire, and her gaze isn''t all that welcoming either.'
 					else
-						'You go to the classrooms that the nerdy students like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on you a fraction longer but you can see that she''s wary of you and doesn''t approve of your attire and her gaze is all that welcoming either.'
+						'You go to the classrooms that the nerdy students like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares at your chosen uniform, while Julia''s eyes seem to linger on you a fraction longer. However, you can see that she''s wary of you and doesn''t approve of your attire, and her gaze isn''t all that welcoming either.'
 					end
 				else
 					gs 'npc_relationship', 'modify', 'A12', 'like'
@@ -79,7 +79,7 @@ if $ARGS[0] = 'nerds':
 					if soniaQW['slut'] > 0: gs 'npc_relationship', 'modify', 'A25', 'like'
 					gs 'npc_relationship', 'modify', 'A159', 'like'
 					if grupTipe = 3:
-						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on your attire for just a bit longer; you don''t feel her gaze is all that welcoming either.'
+						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem struggle to conceal their disapproving stares at your chosen uniform, while Julia''s eyes linger on your attire a bit longer; her gaze doesn''t feel all that welcoming either.'
 					else
 						'You go to the classrooms that the nerdy students like to hang out in and find them, as always, all nerding around a table talking and engaging in various personal projects. Several of them look up as you walk closer. Artem and Petka both seem to be struggling to hide their judgmental stares about your choice of uniform and you don''t find the look Julia has in her eyes all that comforting either.'
 					end
@@ -88,9 +88,9 @@ if $ARGS[0] = 'nerds':
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					gs 'gschool_socialchg', 'group_rel_change', 'nerds', -1
 					if grupTipe = 3:
-						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on you a fraction longer but you can see that she''s wary of you and doesn''t approve of your attire and her gaze is all that welcoming either.'
+						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares at your chosen uniform, while Julia''s eyes seem to linger on you a fraction longer. However, you can see that she''s wary of you and doesn''t approve of your attire, and her gaze isn''t all that welcoming either.'
 					else
-						'You go to the classrooms that the nerdy students like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on you a fraction longer but you can see that she''s wary of you and doesn''t approve of your attire and her gaze is all that welcoming either.'
+						'You go to the classrooms that the nerdy students like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares at your chosen uniform, while Julia''s eyes seem to linger on you a fraction longer. However, you can see that she''s wary of you and doesn''t approve of your attire, and her gaze isn''t all that welcoming either.'
 					end
 				else
 					grupvalue[3] -= 1
@@ -98,7 +98,7 @@ if $ARGS[0] = 'nerds':
 					if soniaQW['slut'] > 0: gs 'npc_relationship', 'modify', 'A25', 'like'
 					gs 'npc_relationship', 'modify', 'A159', 'like'
 					if grupTipe = 3:
-						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem are struggling to conceal their disapproving stares about your chosen uniform while Julia''s eyes seem to linger on your attire for just a bit longer; you don''t feel her gaze is all that welcoming either.'
+						'You enter the classroom that you and your fellow nerds like to hang out in and find them, as usual, all gathered around a table talking and engaging in various hobby projects. A few of them look up as you walk closer. Feofan and Artem struggle to conceal their disapproving stares at your chosen uniform, while Julia''s eyes linger on your attire a bit longer; her gaze doesn''t feel all that welcoming either.'
 					else
 						'You go to the classrooms that the nerdy students like to hang out in and find them, as always, all nerding around a table talking and engaging in various personal projects. Several of them look up as you walk closer. Artem and Petka both seem to be struggling to hide their judgmental stares about your choice of uniform and you don''t find the look Julia has in her eyes all that comforting either.'
 					end

+ 1 - 1
locations/gschool_lessonsev2.qsrc

@@ -237,7 +237,7 @@ if $ARGS[0] = 'geography':
 					elseif grupTipe = 5:
 						'You''re forced to sit next to Vitek and he immediately starts bullying you, eventually getting some of the other gopniks to join in.'
 					else
-						npc_rel['A156'] += 1
+						npc_rel['A9'] += 1
 						'You sit next to Vitek. He''s a little surprised that you chose to do so, but you''re able to strike up a brief, if a little awkward, conversation with him before Mrs. Sokoloff asks you to be quiet.'
 					end
 				end

+ 1 - 0
locations/gschool_lunch.qsrc

@@ -100,6 +100,7 @@ if $ARGS[0] = 'cafeteria':
 			menu_off = 1
 			money -= 50
 			gs 'food', 'm_meal'
+			delact 'Finish'
 			gs 'gschool_gossip', 'buying'
 			act 'Continue': gt 'gschool_lunch', 'break'
 		end

+ 11 - 11
locations/lover_meet.qsrc

@@ -573,10 +573,10 @@ if $ARGS[0] = 'actions':
 				elseif func('lover_pref', 'check_piercings') = 0 and pierDay <= npc_dates[$npcID]:
 					'<center><img <<$set_imgh>> src="<<$npc_pic[$npcID]>>"></center>'
 					'<<$npcdesc>> talks about how you just don''t have the right amount of piercings.'
-					if npc_pref_values['cosmetics_piercing_none'] > 0 or npc_pref_values['cosmetics_piercing_few'] > 0:
+					if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
 						'<<$Xec>> tells you that you should have less piercings.'
-					elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
-						if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+					elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+						if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 							'<<$Xec>> tells you that you should have less piercings.'
 						else
 							'<<$Xec>> tells you that you should have more piercings.'
@@ -593,7 +593,7 @@ if $ARGS[0] = 'actions':
 					if npc_pref_values['cosmetics_tattoos_none'] > 0 or npc_pref_values['cosmetics_tattoos_few'] > 0:
 						'<<$Xec>> tells you that you should have less tattoos.'
 					elseif npc_pref_values['cosmetics_tattoos_multiple'] > 0:
-						if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+						if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 							'<<$Xec>> tells you that you should have less tattoos.'
 						else
 							'<<$Xec>> tells you that you should have more tattoos.'
@@ -692,10 +692,10 @@ if $ARGS[0] = 'actions':
 					*clr & cla
 					'<center><img <<$set_imgh>> src="<<$npc_pic[$npcID]>>"></center>'
 					'<<$npcdesc>> talks about how you just don''t have the right amount of piercings.'
-					if npc_pref_values['cosmetics_piercing_none'] > 0 or npc_pref_values['cosmetics_piercing_few'] > 0:
+					if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
 						'<<$Xec>> tells you that you should have less piercings.'
-					elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
-						if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+					elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+						if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 							'<<$Xec>> tells you that you should have less piercings.'
 						else
 							'<<$Xec>> tells you that you should have more piercings.'
@@ -849,10 +849,10 @@ if $ARGS[0] = 'actions':
 					'<center><img <<$set_imgh>> src="<<$npc_pic[$npcID]>>"></center>'
 					'<<$npcdesc>> talks about how you just don''t have the right amount of piercings.'
 
-					if npc_pref_values['cosmetics_piercing_none'] > 0 or npc_pref_values['cosmetics_piercing_few'] > 0:
+					if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
 						'<<$Xec>> tells you that you should have less piercings.'
-					elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
-						if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+					elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+						if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 							'<<$Xec>> tells you that you should have less piercings.'
 						else
 							'<<$Xec>> tells you that you should have more piercings.'
@@ -870,7 +870,7 @@ if $ARGS[0] = 'actions':
 					if npc_pref_values['cosmetics_tattoos_none'] > 0 or npc_pref_values['cosmetics_tattoos_few'] > 0:
 						'<<$Xec>> tells you that you should have less tattoos.'
 					elseif npc_pref_values['cosmetics_tattoos_multiple'] > 0:
-						if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+						if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 							'<<$Xec>> tells you that you should have less tattoos.'
 						else
 							'<<$Xec>> tells you that you should have more tattoos.'

+ 7 - 7
locations/lover_pref.qsrc

@@ -226,22 +226,22 @@ if $ARGS[0] = 'get_makeup_pref':
 end
 
 if $ARGS[0] = 'get_piercing_pref':
-	if npc_pref_values['cosmetics_piercing_none'] > 0 or npc_pref_values['cosmetics_piercing_few'] > 0:
-		if func('pcs_has_attr', 'OR', 'cosmetics_piercing_none', 'cosmetics_piercing_few'):
+	if npc_pref_values['cosmetics_piercings_none'] > 0 or npc_pref_values['cosmetics_piercings_few'] > 0:
+		if func('pcs_has_attr', 'OR', 'cosmetics_piercings_none', 'cosmetics_piercings_few'):
 			$result = 'the same amount of'
 		else
 			$result = 'less'
 		end
-	elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
-		if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+	elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+		if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 			$result = 'less'
-		elseif func('pcs_has_attr', 'cosmetics_piercing_multiple'):
+		elseif func('pcs_has_attr', 'cosmetics_piercings_multiple'):
 			$result = 'the same amount of'
 		else
 			$result = 'more'
 		end
-	elseif npc_pref_values['cosmetics_piercing_multiple'] > 0:
-		if func('pcs_has_attr', 'cosmetics_piercing_lot'):
+	elseif npc_pref_values['cosmetics_piercings_multiple'] > 0:
+		if func('pcs_has_attr', 'cosmetics_piercings_lot'):
 			$result = 'the same amount of'
 		else
 			$result = 'more'

+ 3 - 3
locations/pav_beach_chat.qsrc

@@ -424,13 +424,13 @@ if $ARGS[0] = 'fedor':
 	menu_off = 1
 	gs 'exp_gain', 'chrsm', rand(1,2)
 	minut += 20
-	gs 'npc_relationship', 'modify', 'A3', 'like'
+	gs 'npc_relationship', 'modify', 'A5', 'like'
 	gs 'stat'
 	'<center><img <<$set_imgh>> src="images/characters/pavlovsk/school/boy/fedor/beach_chat.jpg"></center>'
-	if npc_rel['A13'] >= 50:
+	if npc_rel['A5'] >= 50:
 		'"Hey <<$pcs_nickname>>!" Fedor smiles at you.'
 		'You take a seat next to him on the sand and quickly find yourself in a deep conversation with him for a while before things start to wind down and you bid him farewell as you get up.'
-	elseif npc_rel['A13'] <= 20:
+	elseif npc_rel['A5'] <= 20:
 		'You sit down and try to talk to him, but he just ignores you until he finally gets up and walks away, leaving you sitting in the sand alone.'
 	else
 		'"What''s up, <<$pcs_nickname>>?" he asks.'

+ 1 - 0
locations/praiders_garage.qsrc

@@ -4,6 +4,7 @@
 !!this is one of the pav garages converted into a place for the band to practice and hang out.
 
 if $ARGS[0] = 'band_garage':
+	$hangout_rand = 'hangout<<rand(1,9)>>'
 	$menu_loc = 'praiders_garage'
 	$menu_arg = 'band_garage'
 	menu_off = 0

+ 1 - 0
locations/praiders_garage_chat.qsrc

@@ -443,6 +443,7 @@ if $ARGS[0] = 'chat_valentin':
 	menu_off = 0
 	gs 'npc_relationship', 'modify', 'A158', 'like'
 	minut += 30
+	gs 'stat'
 	*clr & cla
 	'<center><img src="images/characters/shared/headshots_main/big158.jpg"></center>'
 	'You take a seat next to Valentin as everyone spreads out. He makes space as you sit next to him. "Oh man, that was so good! We finally managed to hit that hard part!" he gleams with satisfaction. You respond positively telling him that you''re all doing great. He listens attentively and knows how to drive a conversation forward. The two of you chat for some time, enjoying each other''s company.'

BIN
tools/Textmerge.exe


BIN
tools/cli-win.exe