Hi! First off, welcome to the forum
Since you don't mention what RPG Maker version you're using, I'll assume it's RMXP (mainly because that's the only one I'm familiar with and can answer). RMXP doesn't natively support gifs for animation, but there are
scripts available for that (link is in Spanish and I haven't used it personally). For animated monster sprites, I was able to find
this, though I haven't used it myself to know how it works.
For the third question, you can make use of the Application Data folder to create a global directory for your game, regardless of where the player keeps it.
Something along the lines of:
path = ENV['APPDATA']+'/Your Game/'
if !File.directory?(path)
Dir.mkdir(path)
File.open(path+"demo.dat", "w") {|f| f.write("1") }
end
in the demo, and then in the final game checking to see if that file exists. You can take it a step further by storing the save file there, and then loading it into "demo variables" in the final game to see what the player has done in the demo.
In the final game, you could have something like
read_demo_save_data(ENV['APPDATA']+'/Your Game/demo.dat')
def read_demo_save_data(file)
# Read character data for drawing save file
characters = Marshal.load(file)
# Read each type of game object
$demo_system = Marshal.load(file)
$demo_switches = Marshal.load(file)
$demo_variables = Marshal.load(file)
$demo_self_switches = Marshal.load(file)
$demo_screen = Marshal.load(file)
$demo_actors = Marshal.load(file)
$demo_party = Marshal.load(file)
$demo_troop = Marshal.load(file)
$demo_map = Marshal.load(file)
$demo_player = Marshal.load(file)
end
and see if the player has finished the demo (say, represented by switch 55) with $demo_switches[55]. Let me know if this isn't super clear, I'll try to clarify or make a demo for you.