Hi so I’m finally close to completing my inventory system, but I just have to fix the notification system.
I put print()
in the module script to see if it works, and it does print but nothing else works.
Main Script (requires the module script)
local plr = game.Players.LocalPlayer
local datafolder = plr.Data
local inventory = datafolder.Inventory
local replicatedstorage = game:GetService("ReplicatedStorage")
local TweenService = game:GetService("TweenService")
local Typewriter = require(replicatedstorage.Typewriter)
local notification = replicatedstorage.RemoteEvents.Notification
local chr = plr.Character
local gui = plr.PlayerGui
local inventorymain = gui.Main.Menu.Inventory.Inventory
local about = inventorymain.About.Frame
local mainmodule = require(replicatedstorage.Notification)
inventory.ChildAdded:Connect(function(child)
print("ah yes child added yes the name? ok here it is: " .. child.Name)
local textnot = script.Parent.Parent.Parent.Notifications
local textxd = 'Received Item <font color="rgb(106,255,0)"><font size="10">'.."<" .. child.Name .. '>'..'</font></font>'
local new = Instance.new("TextLabel", script.Parent.Parent.Parent.Notifications)
new.RichText = true
new.TextColor3 = Color3.fromRGB(255, 255, 255)
new.Visible = true
new.BackgroundTransparency = 1
new.TextTransparency = 1
new.Font = Enum.Font.GothamSemibold
new.TextScaled = true
new.MaxVisibleGraphemes = 1
new.Text = textxd
new.TextStrokeTransparency = 0.85
mainmodule.Open(new, textxd)
local slotclone = script.Parent.SlotTemplate:Clone()
slotclone["Item Name"].Value = child.Name
slotclone["Item Description"].Value = child.Value
slotclone["Item Rarity"].Value = child:FindFirstChild("Rarity").Value
slotclone["Item Type"].Value = child:FindFirstChild("Model").Type.Value
slotclone.Parent = script.Parent.InventoryFrame
slotclone.InventoryItem.Value = child
slotclone.aelol.Text = child.Name
if child:FindFirstChildOfClass("Model") then
local model = child:FindFirstChildOfClass("Model")
local clone = model:Clone()
local clone2 = child:FindFirstChildOfClass("UIGradient"):Clone()
clone2.Parent = slotclone.Border
clone.Parent = slotclone.Model.WorldModel
end
mainmodule.Type(new, textxd)
slotclone.Visible = true
slotclone.Name = child.Name
slotclone.LocalScript.Disabled = false
wait(5)
mainmodule.Close(new, textxd)
end)
MODULE SCRIPT
local tweenservice = game:GetService("TweenService")
local functions = {}
function functions.Open(textobj, text)
local open = tweenservice:Create(
textobj, -- UI object you're tweening, in this case it's Frame
TweenInfo.new(0.35), -- Amount of seconds
{TextTransparency = 0} -- Goal
)
open:Play()
print("printed")
end
function functions.Close(textobj, text)
local close = tweenservice:Create(
textobj, -- UI object you're tweening, in this case it's Frame
TweenInfo.new(0.35), -- Amount of seconds
{TextTransparency = 1} -- Goal
)
close:Play()
wait(1)
textobj.Visible = false
wait(0.5)
textobj:Destroy()
print("printed ed")
end
function functions.Type(textobj, text)
local index = 0
for first, last in utf8.graphemes(text) do
local grapheme = text:sub(first, last)
index += 1
textobj.MaxVisibleGraphemes = text
wait(0.01)
end
print("typed lol")
end
return functions
Everything in the localscript works but the modulescript wont work properly, I cant seem to fix it so I’d love and appreciate some help, thanks in advance.