Aseprite Scripts Collection

Simple Color Range Multi-Select Noodle – SCRMSN

I just made a helpful color range selection script. It lets you select colors continuously instead of one-by-one like you had to do with the built-in tool: select-> color range.

I’m calling this one SCMRSN (pronounced “Scrimson”) and plan to release a CRMSN version later.

It’s available on itch: Simple Color Range Multi-Select Noodle by J19

4 Likes

are there any extensions that can modify the duration of a specific cel or layer? I’ve been trying to change the frame rate per layer but it turns out, it also change the cels that’s within that Frame.

I think you can only have frame rates on cels, not on layers or anything else. I could be wrong though

So, when I first came across this thread several months ago, I tried to download among other things this script. Unfortunately, the link to GitHub was and still is dead. I went to author’s twitter, ask them for a working one and got it!
Since then the author privated their twitter. So the script became inaccessible again.
Which is why I uploaded the file to my GDrive in case anyone needs it.

2 Likes

Hey guys, I created a simple “noise” script. GIMP has something similar, and I was missing it in Aseprite.

By default, it will create a new layer and scatter it with single pixel dots in your current foreground color. You can control the density with the first script option (higher numbers = LOWER density).

Even better, if you want to create noise using a brush, all you have to do is choose the “Use current brush” checkbox and the script will apply the brush anywhere it would have created a speck of noise.

Download and further explanation here:

3 Likes

One more for finding orphan pixels! (as suggested by @Hector_Bometon):

2 Likes

Hey everyone! :smiley:

I apologize for not updating this list recently, as I’ve been quite busy lately. However, I wanted to share a small Aseprite script I just finished working on. It allows you to import images from a folder into new layers.

You can find the script here: https://bitbucket.org/jjhaggar/aseprite-scripts/src/master/import_images_as_layers/

Feel free to give it a try and let me know if you have any feedback or suggestions. Enjoy! ^^/

1 Like

Hi JJ, this script is exactly what I’ve been looking for. Tho I can’t seem to run it, it keeps giving me this error:
image_2023-08-29_222405188
“Unexpected symbol near ‘<’”

Thank you for making this btw :))

I suspect that the problem is that you downloaded the file as “html”, and not as “lua”.

Please, try downloading it from here: Bitbucket
Click that link > Click on the 3 points at the top right > right click on “open raw” > save link as “import_images_as_layers.lua”

If it still doesn’t work, please create a .lua file (you can use notepad++ for example) and paste this code inside:


-- Aseprite script: Import images as layers

-- Author: JJHaggar
-- Generated with the assistance of an AI model

-- License: CC0 1.0 Universal 
-- https://creativecommons.org/publicdomain/zero/1.0/


-- Prompts the user to select a file
local dlg = Dialog("Select file")
dlg:label{
    id = "instructions_label",
    label = "Instructions: ",
    text = "Select an image in the folder that contains all the images you want to add as layers"
}
dlg:file{
  id = "file",
  label = "File:",
  open = true,
  save = false,
  onchange = function(file) dlg:modify{id="file", text=file} end
}
dlg:button{ id = "ok", text = "OK" }
dlg:show()

-- Extracts the directory path of the selected file
local file = dlg.data.file
local dir = app.fs.filePath(file)

-- Gets a list of files in the selected directory
if app.fs.isDirectory(dir) then
    local files = app.fs.listFiles(dir)
    for _,filename in ipairs(files) do
        -- Check if the file is an image by its extension
        local extension = string.sub(filename, -4)
        if extension == ".png" or extension == ".jpg" or extension == ".bmp" or extension == ".gif" then
            -- Extract the full path to the file
            local filePath = app.fs.joinPath(dir, filename)

            -- Check if there is an active sprite
            local sprite = app.activeSprite
            if not sprite then
                return app.alert("There is no active sprite.")
            end

            -- Creates a new layer with the file name
            local newLayer = sprite:newLayer()
            newLayer.name = filename

            -- Load the image
            local image = Image{ fromFile=filePath }

            -- If the image could be loaded, add it to the sprite
            if image then
                -- Get the current frame
                local currentFrame = app.activeFrame

                -- Adds the image to the layer at the current frame
                sprite:newCel(newLayer, currentFrame, image)
            else
                app.alert("Could not load image: " .. filename)
            end

            -- Refreshes the sprite view
            app.refresh()
        end
    end
else
    print("Error. Select an image in the folder you have all the images.")
end

And please let me know if it works :slight_smile:

2 Likes

It works! Thank youuu, have been using aseprite for 3 years now but I didn’t know these scripts are such a game changer :joy:

1 Like

Lil script that helps with seamless tiles of any shape, like isometric ones.

2 Likes

Script for editing XML atlases for Towerfall. I know it is only useful for a few people, but the code could be helpful to look at.

1 Like

…Okay, this is a script for viewing txt, xml, and json files. Editing not supported.

1 Like

Cool, maybe I’ll use them in the future!

Hi everyone, I made an extension for exporting spritesheets / frames + layers as seperate images.

Hope you like it! if you have any suggestions please tell me.

You can download it for free over here:

3 Likes

Hi emscape,

thanks so much for this script!

I was dealing with my own exporter and couldn’t get aseprite to only save specific frames with SaveFileCopyAs. Your way works perfectly! Thanks again so much, this is a huge bugbear of mine dealt with :sweat_smile:!

Happy that it suits your needs!

Edit: forgot to mention exporting tiles also splits frames :slight_smile:

1 Like

I’m new at scripting for aseprite, i wanna something to select some blocks of 32x32 in the canvas, then flip it and move it one pixel for right or left.
i Found this to move


app.command.MoveMask{
  target='content',
  direction='right',
  units='pixel',
  quantity=1,
  wrap=true
}

and about flip i got this

app.command.Flip{
}

its good, but now i need something to select the location before move it.

Hi all, I’ve been at it again. Made a script to create a Paint Drip animation.
Here you can download it for free.

If there’s animo I can make it support masks and have some layer options as well as optimization

1 Like

I’ve made s script to emphasise the layer you’re working on so you’re able to see better what you’re doing. There’s a free download for all patreon members (including the free ones) so please sign up for free:slight_smile: