i have localscript in playergui after run will place inside PlayerGui but after use skill from keyboard or button activatedButton.Visible = true will change and return to false but if it outside InputBegan will can use
local ScreenGui = script.Parent
local activatedButton = ScreenGui:WaitForChild("Activated") -- Wait for 'Activated' frame
local unactivatedButton = ScreenGui:WaitForChild("Unactivated") -- Wait for 'Unactivated' frame
local CollectionService = game:GetService("CollectionService")
local MODEL_TAG = "TagPropSkill" -- แท็กเฉพาะสำหรับโมเดลของคุณ
local activePrompts = {} -- ตารางเพื่อติดตามพรอมต์ที่ใช้งานอยู่
local UIS = game:GetService("UserInputService")
local connectionTouch
local connectionKey
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local ActivateSkillPossessed = ReplicatedStorage.ActivedSkillPossessed:WaitForChild("ActivateSkillPossessedEvent")
local UICancleSkillPossessed = ReplicatedStorage.ActivedSkillPossessed:WaitForChild("UICancleSkillEvent")
UICancleSkillPossessed.OnClientEvent:Connect(function()
print('work')
activatedButton.Visible = true
end)
local function handleProximity(model)
local proximityPrompt = model.Head:WaitForChild("ProximityskillPossessed")
local highlight = model.Head:WaitForChild("Highlight")
activePrompts[proximityPrompt] = true
proximityPrompt.PromptShown:Connect(function(player)
if activePrompts[proximityPrompt]then
unactivatedButton.Visible = true
highlight.Enabled = true
connectionTouch = unactivatedButton.InputBegan:Connect(function(press)
if press.UserInputType == Enum.UserInputType.MouseButton1
or press.UserInputType == Enum.UserInputType.Touch
then
ActivateSkillPossessed:FireServer(model)
activePrompts[proximityPrompt] = nil
activatedButton.Visible = true
connectionTouch:Disconnect()
connectionKey:Disconnect()
end
end)
connectionKey = UIS.InputBegan:Connect(function(press)
if press.KeyCode == Enum.KeyCode.E
or press.KeyCode == Enum.KeyCode.ButtonX
then
print('1')
ActivateSkillPossessed:FireServer(model)
activePrompts[proximityPrompt] = nil
activatedButton.Visible = true
unactivatedButton.Name = '14698486'
connectionTouch:Disconnect()
connectionKey:Disconnect()
end
end)
end
end)
proximityPrompt.PromptHidden:Connect(function(player)
unactivatedButton.Visible = false
highlight.Enabled = false
connectionTouch:Disconnect()
connectionKey:Disconnect()
end)
end
for _, model in ipairs(CollectionService:GetTagged(MODEL_TAG)) do
print(model)
handleProximity(model)
end
CollectionService:GetInstanceAddedSignal(MODEL_TAG):Connect(handleProximity)