My avatar customization system isn't working

My avatar customization system isn’t working. I have no idea why it won’t work.

ServerScript - LUA

if args[1] == "Avatar" then
		if string.lower(args[2]) == "spawn" then
			pcall(function()
				-- No errors pls.
				local character = player.Character
				local vest = character.UpperTorso.Vest
				local helmet = character.Head.Hat
				local data = {
					["target"] = player.UserId,
					["type"] = "getAvatar",
					["auth"] = key
				}
				local encode = server:JSONEncode(data)
				local encodedData = server:PostAsync(web, encode, Enum.HttpContentType.ApplicationJson)
				local avatar = server:JSONDecode(encodedData)
				if avatar.response == 1 then
					local data3 = {
						["target"] = player.UserId, 
						["type"] = "createaccount", 
						["auth"] = key
					}
					local encode3 = server:JSONEncode(data3)
					server:PostAsync(web, encode3, Enum.HttpContentType.ApplicationJson)
					wait(1.5)
					player:Kick("Disconnected from session \n We had a problem loading your account. Please rejoin")
				else
					local assets = require(game.ReplicatedStorage.Modules.AssetIds)
					pcall(function()
						-- Shirt
						if avatar.shirtid == false then
							local tableArgs = assets:find(1)
							character.S.ShirtTemplate = "rbxassetid://".. tableArgs[2]
						else
							local tableArgs = assets:find(avatar.shirtid)
							character.S.ShirtTemplate = "rbxassetid://".. tableArgs[2]
						end
						-- Pants
						if avatar.pantsid == false then
							local tableArgs = assets:find(1)
							character.P.PantsTemplate = "rbxassetid://".. tableArgs[2]
						else
							local tableArgs = assets:find(avatar.pantsid)
							character.P.PantsTemplate = "rbxassetid://".. tableArgs[2]
						end
						-- Hat
						if avatar.hatid == false then
							helmet.MeshId = "rbxassetid://0"
							helmet.Transparency = 1
						else
							local tableArgs = assets:find(avatar.hatid)
							helmet.MeshId = tableArgs[1]
							helmet.TextureID = tableArgs[3]
							helmet.Transparency = 0
						end
						-- Vest
						if avatar.vestid == false then
							vest.MeshId = "rbxassetid://0"
							vest.Transparency = 1
						else
							local tableArgs = assets:find(avatar.vestid)
							vest.Mesh.MeshId = tableArgs[1]
							vest.Mesh.TextureID = tableArgs[3]
							vest.Transparency = 0
						end
					end)
				end
			end)
		end

Assets Module - LUA

local module = {}
local assets = {
	[1] = {
		AssetID = 1,
		ItemName = "Tactical Black Polo",
		Type = "Shirt",
		Creator = "5.11 TacticaI ®",
		Price = 100,
		IDs = {
			Shirt = 4967135460,
			Pants = nil,
			MeshID = nil,
			TextureID = nil
		}
	},
	[2] = {
		AssetID = 2,
		ItemName = "Levis Operator",
		Type = "Pants",
		Creator = "5.11 TacticaI ®",
		Price = 100,
		IDs = {
			Shirt = nil,
			Pants = 4849800396,
			MeshID = nil,
			TextureID = nil
		}
	},
	[3] = {
		AssetID = 3,
		ItemName = "FAST Helmet",
		Type = "Mesh",
		Creator = "RAMPAGE Interactive LLC",
		Price = 0,
		IDs = {
			Shirt = nil,
			Pants = nil,
			MeshID = 3327357671,
			TextureID = 3327362148
		}
	},
	[4] = {
		AssetID = 4,
		ItemName = "RAMTAC Vest",
		Type = "Mesh",
		Creator = "RAMPAGE Interactive LLC",
		Price = 0,
		IDs = {
			Shirt = nil,
			Pants = nil,
			MeshID = 3327923143,
			TextureID = 3327922585
		}
	},
	
}
function module:getAll()
	for i,v in pairs(assets) do
		print("asset found")
		if v.Type == "Shirt" then
			return {false, v.IDs.Shirt, v.ItemName, v.Price, v.Creator}
		end
		if v.Type == "Pants" then
			return {false, v.IDs.Pants, v.ItemName, v.Price, v.Creator}
		end
		if v.Type == "Mesh" then
			return {true, v.IDs.MeshID, v.IDs.TextureID, v.ItemName, v.Price, v.Creator}
		end
	end
end
function module:find(asset)
	for i,v in pairs(assets) do
		if asset == v.AssetID then
			print("asset found")
			if v.Type == "Shirt" then
				return {false, v.IDs.Shirt, v.ItemName, v.Price, v.Creator}
			end
			if v.Type == "Pants" then
				return {false, v.IDs.Pants, v.ItemName, v.Price, v.Creator}
			end
			if v.Type == "Mesh" then
				return {true, v.IDs.MeshID, v.IDs.TextureID, v.ItemName, v.Price, v.Creator}
			end
		end
	end
end
return module

Website - PHP

if ($type == "getAvatar") {
         $result = $conn->query("SELECT * FROM players WHERE id='" . $target  . "'");
        if ($result->num_rows > 0) {
             $result2 = $conn->query("SELECT * FROM inventory WHERE userid='" . $target  . "'");
            while ($row = $result2->fetch_assoc()) {
                if ($row["status"] == 1) {
                    if ($row["type"] == "shirt") {
                        $shirt = $row["itemid"];
                    }
                    if ($row["type"] == "pants") {
                        $pants = $row["itemid"];
                    }
                }
               
            }
            if (isset($shirt)) {
                    $s = $shirt;
                } else {
                    $s = false;
                }
                 if (isset($pants)) {
                    $p = $pants;
                } else {
                    $p = false;
                }
                echo json_encode(array('response' => '0', 'shirtid' => $s, 'pantsid' => $p, 'hatid' => '3', 'vestid' => '4'));
        } else {
            echo json_encode(array(
                'response' => '1'
            ));
        }
    }
1 Like

What exactly is not functioning properly?

2 Likes