[The Escapists 2 + Unity + dnSpy] Спавн итемов
-
Спавн итемов удалось сделать через dnSpy
При клике на любой предмет на меню крафта он создается в инвентаре, а если там занято, то выкидывается на карту.
Я переписал метод клика на рецепт, вот он оригинальный
// Token: 0x060069FA RID: 27130 RVA: 0x00254874 File Offset: 0x00252A74 private void OnRecipeSlotClicked(int recipeSlotID) { if (recipeSlotID == this.m_CurrentClickedRecipeID) { if (!T17RewiredStandaloneInputModule.IsCurrentActiveModuleUsingController()) { this.m_CurrentClickedRecipeID = -1; } return; } if (!this.CheckHasItemsForRecipe(recipeSlotID)) { this.m_CurrentClickedRecipeID = -1; return; } CraftManager.Recipe recipeByID = CraftManager.GetInstance().GetRecipeByID(recipeSlotID); if (recipeByID != null && (!recipeByID.m_bHidden || recipeByID.m_bDiscovered)) { this.FillSlots(recipeSlotID); this.m_CurrentClickedRecipeID = recipeSlotID; return; } this.m_CurrentClickedRecipeID = -1; }На этот
private void OnRecipeSlotClicked(int recipeSlotID) { int itemDataID = CraftManager.GetInstance().GetCurrentRecipes()[recipeSlotID].m_Product.m_ItemDataID; Character character = base.CurrentGamePlayer.GetComponent(); ItemManager.GetInstance().AssignItemRPC(character.m_NetView.ownerId, itemDataID, new ItemManager.ItemManagerEvent(this.OnStandingAnimItemSpawn), ref character.m_StandingStillEquipID, -1); } private void OnStandingAnimItemSpawn(Item item, int eventID) { if (base.CurrentGamePlayer.GetComponent().m_StandingStillEquipID == eventID) { Player player = base.CurrentGamePlayer; bool flag = false; if (player.GetEquippedItem() == null) { flag = player.SetEquippedItem(item, true, false, RPC_CallContexts.Master); } if (!flag) { item.DropItemInLevel(player, player.transform.position); } } }

Для спавна заменить Assembly-CSharp.dll из архива, сделав копию предварительно
Assembly-CSharp.rar
Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти