diff --git a/My project/Assets/Scripts/Controllers/StateController.cs b/My project/Assets/Scripts/Controllers/StateController.cs
index fb45861d086d4ed90700ef02d36c57b1ae471a58..e10271bfacef573b3da8ea0f875ae5e1c1819ec5 100644
--- a/My project/Assets/Scripts/Controllers/StateController.cs	
+++ b/My project/Assets/Scripts/Controllers/StateController.cs	
@@ -23,6 +23,7 @@ public class StateController : MonoBehaviour
     public static int petCurrentHealth = 0;
     public static bool showSaveUI = true;
     public static int playerHealth = 100;
+    public static string saveSlotName;
 
     public static void reset()
     {
@@ -43,5 +44,20 @@ public class StateController : MonoBehaviour
         petTag = 3;
         petCurrentHealth = 0;
         slot = "0";
+        resetShop();
+    }
+
+    public static void resetShop()
+    {
+        ShopController.isShotgunBought = boughtSword;
+        ShopController.isSwordBought = boughtSword;
+        ShopController.isBowBought = boughtBow;
+        ShopController.isHealerBought = (petTag == 0);
+        ShopController.isAttackerBought = (petTag == 1);
+        ShopController.isBuffBought = (petTag == 2);
+        ShopController.isShotgunUpgraded = (shotGunMultiplier != 1);
+        ShopController.isSwordUpgraded = (swordMultiplier != 1);
+        ShopController.isBowUpgraded = (bowMultiplier != 1);
+        ShopController.isDefaultUpgraded = (gunMultiplier != 1);
     }
 }
\ No newline at end of file
diff --git a/My project/Assets/Scripts/Managers/GameOver.cs b/My project/Assets/Scripts/Managers/GameOver.cs
index 62e23eb745f71617c800e1518785ece3bc7fd8c2..9c296cd81b21363a3f95cdc9dd84106957577238 100644
--- a/My project/Assets/Scripts/Managers/GameOver.cs	
+++ b/My project/Assets/Scripts/Managers/GameOver.cs	
@@ -53,7 +53,7 @@ public class GameOver : MonoBehaviour
         if (StateController.slot == "0")
         {
             SceneManager.LoadScene(1);
-            //tambah reset
+            StateController.reset();
         }
         else
         {
@@ -65,6 +65,7 @@ public class GameOver : MonoBehaviour
             stream.Close();
             save.Load(StateController.slot);
             StateController.showSaveUI = false;
+            StateController.resetShop();
             toShop();
         }
     }
diff --git a/My project/Assets/Scripts/SaveLoad/LoadUI.cs b/My project/Assets/Scripts/SaveLoad/LoadUI.cs
index d03851a5a64338d38816308c76647c7047343614..dde5370b3e642ccf68136df281167c0100d6b300 100644
--- a/My project/Assets/Scripts/SaveLoad/LoadUI.cs	
+++ b/My project/Assets/Scripts/SaveLoad/LoadUI.cs	
@@ -43,11 +43,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load1.text = save1.userName + " " + lastmodified.ToString();
+                load1.text = save1.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load1.text = save1.userName + " " + created.ToString();
+                load1.text = save1.saveSlotName + " " + created.ToString();
             }
         }
         else
@@ -68,11 +68,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load2.text = save2.userName + " " + lastmodified.ToString();
+                load2.text = save2.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load2.text = save2.userName + " " + created.ToString();
+                load2.text = save2.saveSlotName + " " + created.ToString();
             }
         }
         else
@@ -93,11 +93,11 @@ public class LoadUI : MonoBehaviour
 
             if (lastmodified != null)
             {
-                load3.text = save3.userName + " " + lastmodified.ToString();
+                load3.text = save3.saveSlotName + " " + lastmodified.ToString();
             }
             else 
             {
-                load3.text = save3.userName + " " + created.ToString();
+                load3.text = save3.saveSlotName + " " + created.ToString();
             }
         }
         else
diff --git a/My project/Assets/Scripts/SaveLoad/SaveLoad.cs b/My project/Assets/Scripts/SaveLoad/SaveLoad.cs
index c2baa5a92f501b1b2842747732fc87de1731ad70..b6446d961f9a24f4d5a913a3adc2c45d72f5debb 100644
--- a/My project/Assets/Scripts/SaveLoad/SaveLoad.cs	
+++ b/My project/Assets/Scripts/SaveLoad/SaveLoad.cs	
@@ -34,6 +34,7 @@ public class SaveLoad : MonoBehaviour
             stream.Close();
             save.Load(slot);
             StateController.showSaveUI = false;
+            StateController.resetShop();
             toShop();
         }
         else
diff --git a/My project/Assets/Scripts/SaveLoad/State.cs b/My project/Assets/Scripts/SaveLoad/State.cs
index 4b0205c499f27f3b91ad75d1e7de26eaf4fe743c..05a0745d94ab276ad8b06b508be96cfd7593033e 100644
--- a/My project/Assets/Scripts/SaveLoad/State.cs	
+++ b/My project/Assets/Scripts/SaveLoad/State.cs	
@@ -25,6 +25,8 @@ public class State
 
     public int playerHealth;
 
+    public string saveSlotName;
+
     public State(int curQuestId)
     {
         userName = StateController.userName;
@@ -42,6 +44,7 @@ public class State
         petTag = StateController.petTag;
         petCurrentHealth = StateController.petCurrentHealth;
         playerHealth = StateController.playerHealth;
+        saveSlotName = StateController.saveSlotName;
         this.curQuestId = curQuestId;
     }
 
@@ -64,6 +67,7 @@ public class State
         StateController.petTag = petTag;
         StateController.petCurrentHealth = petCurrentHealth;
         StateController.playerHealth = playerHealth;
+        StateController.saveSlotName = saveSlotName;
         QuestManager questManager = GameObject.Find("QuestManager").GetComponent<QuestManager>();
         questManager.currentQuest = questManager.questList[StateController.curQuestId];
     }