From 8d1ed7f7966dd596d5113ea2cb93b8665dfd07d2 Mon Sep 17 00:00:00 2001 From: Ino Date: Sat, 5 Jul 2025 07:55:57 +0900 Subject: [PATCH] =?UTF-8?q?=EC=9E=A0=EA=B8=B4=20=EC=9D=B8=EC=B1=88?= =?UTF-8?q?=ED=8A=B8=20=EC=8A=AC=EB=A1=AF=20=EC=B2=B4=ED=81=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Editor/Resources/.CloudScript.js | 13 ++++++++++--- Assets/Script/Server/ServerInfo.cs | 4 ++-- Assets/Script/UI/Eqiupment/EquipmentEnchantCard.cs | 1 + 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js index 9a32ed2d8..8ba745fe4 100644 --- a/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js +++ b/Assets/PlayFabEditorExtensions/Editor/Resources/.CloudScript.js @@ -675,8 +675,7 @@ handlers.Save_PC_Ability = function(args) return Get_Return(5); // 선행 특성이 최고 레벨이 아님 } - var global = Get_GlobalValueTable(); - var matdata = global.find(f => f.s_ID == "n_AbilityMaterialID"); + var matdata = Get_GlobalValueTable().find(f => f.s_ID == "n_AbilityMaterialID"); if (!matdata) return Get_Return(4); // 설정 누락 var table = Get_MissionTable(); @@ -1331,12 +1330,16 @@ handlers.Save_EquipItem_Enchant = function(args) if (!s_enchant || s_enchant[1] <= 0) return Get_Return(2); //if (s_enchant[0] <= 0) return Get_Return(1); + var slot = urod.Slot.find(f => f.Parts == esu_data.e_EquipParts); + // 슬롯 잠김 여부 체크 + if (slot.Lv < Get_GlobalValue_nValue(`EnchantOpenLv${args.Slot + 1}`)) + return Get_Return(1); + var table = Get_MissionTable(); //if (Use_Item(table, urod, args.EnchantID, 1)) { var grade = Get_RandomEnchantRateGrade(s_enchant[1]); var olv = Get_OptionLv(grade); - var slot = urod.Slot.find(f => f.Parts == esu_data.e_EquipParts); var optionid = Get_EnchantOptionID(slot); slot.Enchant[args.Slot].ID = optionid; @@ -2512,6 +2515,10 @@ function Get_GlobalValueTable() } ]; } +function Get_GlobalValue_nValue(key) +{ + return Get_GlobalValueTable().find(f => f.s_ID == key).n_Value; +} function Get_AwakenUpgradeTable() { return [ diff --git a/Assets/Script/Server/ServerInfo.cs b/Assets/Script/Server/ServerInfo.cs index a71a8dd20..8e56f3750 100644 --- a/Assets/Script/Server/ServerInfo.cs +++ b/Assets/Script/Server/ServerInfo.cs @@ -1547,11 +1547,11 @@ public class ServerInfo : MyCoroutine NetWait.Ins.Set(false); var str_result = result.FunctionResult.ToString(); var error = MyErrorCheck(str_result); - // (0 성공, 1 실패 (초기화 할 필요 없음), 3 실패 (없는 아이템), 4 실패 (업그레이드 정보 없는 파츠)) + // (0 성공, 1 실패 (잠긴 인챈트 슬롯), 3 실패 (없는 아이템), 4 실패 (업그레이드 정보 없는 파츠)) switch (error) { case 0: _act?.Invoke(JsonConvert.DeserializeObject(str_result)); break; - //case 1: ToastUI.Ins.Set(999900021); break; + case 1: ToastUI.Ins.Set(999900012); break; case 2: ToastUI.Ins.Set(999900022); break; case 3: ToastUI.Ins.Set(999900014); break; case 4: ToastUI.Ins.Set(999900020); break; diff --git a/Assets/Script/UI/Eqiupment/EquipmentEnchantCard.cs b/Assets/Script/UI/Eqiupment/EquipmentEnchantCard.cs index 14a98fb9d..c9d76947d 100644 --- a/Assets/Script/UI/Eqiupment/EquipmentEnchantCard.cs +++ b/Assets/Script/UI/Eqiupment/EquipmentEnchantCard.cs @@ -64,6 +64,7 @@ public class EquipmentEnchantCard : CardBase result => { var parts = PopupMgr.Ins.m_EquipmentItemPopup.Get_Parts(); + // 주석은 클라 처리 -> 서버 처리로 변경됨 //var grade = DSUtil.Get_RandomIndex(m_EnchantRateTableData.list_rate) + 1; //var enchantlv = table_enchantgradeconfig.Ins.Get_Lv(grade); //var optionconfigid = m_Data.Get_OptionConfigID(Select_SlotData);