PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Musik-Ordner unzugänglich machen [Ace]



Sanghelios
18.01.2013, 19:46
Hallo zusammen, ich frage mich, ob es möglich ist, den Musik-Ordner beim einem Ace-Spiel später unzugänglich zu machen. Oder wenn nicht, zumindest unsichtbar.
Ich habe mir nämlich jetzt jemanden ins Boot geholt, der mir einen Soundtrack komponiert und ich möchte nicht, das ich die Tracks später in irgendwelchen Musik-Sammlungen auf dubiosen Ressourcen-Seiten wiederfinde.

MagicMaker
18.01.2013, 20:30
Komprimierte Musik in verschlüsselte Archive hineinzucrypten und nochmal negativ zu komprimieren
endet im Performancechaos, wenn die Festplatten deiner Spieler versuchen, auf das Audiomaterial
vernünftig zuzugreifen. Die Ladezeiten sind mitunter für MP3 und OGG schon so astronomisch
SCHLECHT, es ist nicht ohne Grund, dass eb!'s RGSSAD-crypting solch derartige Verpackungs-
prozeduren nicht unterstützt.

Ascare
19.01.2013, 03:17
Ein Trick den ich auch benutze wäre die Musik auf 200% hochzupitchen und dann mit 50% Speed abspielen. Das ist etwas Schutz zumindest und die Musik wird dadurch kleiner komprimiert. Nachteil ist evtl. die etwas schlechtere Qualität der Musik. Probiers aus, bei mir klingts fast gleich gut.

Sanghelios
21.01.2013, 18:46
Hm, hatte mir leider schon sowas in der Richtung gedacht. Aber danke, ich werde es dann trotzdem mal probieren, vielleicht gehts ja noch einigermaßen.

Gruß

Skorp
08.02.2013, 00:05
Ich hab was für den RMXP gefunden der dieses Problem lösen dürfte:


##########################################################################
###
# Script by: BEHEMOTH # #
####################### #
#Version: 1.0 #
#Date Created: October 26th 2006 8:42 PM (Eastern Standard Time) #
#Description: An encryption script for audio files. #
#Thanks goes to thephantom from http://www.phanxgames.com/ for pointing out #
#the whole encryption key idea which I was too blind to see. #
#############################################################################

#############################################################################
# ***IMPORTANT RESTRICTIONS*** #
#1) If the audio file is an .mp3 file, it will NOT encrypt the file and it #
#will play it normally. If you wish to have your mp3 file encrypted please #
#save it as another compatible audio file, such as .ogg, .mid #
#or .wav(compressed of course) or .wma #
# #
#2) Your audio files must NOT be: read only, or hidden, or protected in #
#anyway or it will not encrypt the file and it will play it normally. #
# #
#3) Audio files should not have the same filename with a different #
# extension. #
# BAD: "battle01.mid" "battle01.ogg" #
# GOOD: "battle01.mid" "battle02.ogg" #
# #
#4) Files from an RMXP RTP will not be encrypted and will play normally. #
#############################################################################

#############################################################################
# ***NOTES*** #
#Positives: #
# - Protects your own custom audio files #
# - Gives a point to having a BGM test inside your game #
# - Ummmm.......it's cool #
# #
#Negatives: #
# - Audio files take slightly longer to load #
# - mp3 files do not encrypt #
# - Once encrypted, audio files will not play in rmxp gui, only in the game #
# - The audio file is slightly bigger in file size then the orginal file #
# #
#If you have problems, suggestions, comments about this script then you can #
#currently find me here: http://www.phanxgames.com/forum/ #
# #
#How to Use: #
#To encrypt your audio files play the file in your game at least once. #
#The script will handle the rest. MAKE SURE TO BACK UP YOUR ORIGINAL #
#AUDIO FILES BEFORE ENCRYPTING IT, because it automatically overwrites #
#the original file with the encrypted file. To make this script encrypt #
#only certain audio files such as BGM, BGS, ME, SE then change the values #
#of the variables below named: #
#ENCRYPT_BGM, ENCRYPT_BGS, ENCRYPT_ME, ENCRYPT_SE #
# (located below class Game_System) #
#changing the value to true means those files will be encrypted and false #
#means those files will not be encrypted. Changing these values when an #
#audio file is encrypted may cause undesired results. So choose what you #
#want first then start encrypting your audio files. Deleting the Encryption #
#key file (default = "audio.edat") after encrypting your audio will also #
#result in undesired results....so don't delete or move that file once #
#you've been encrypting or else you'll have to start encrypting all your #
#audio again. This script is more for people who create their own audio #
#files. #
#############################################################################

class Game_System
ENCRYPT_EXT = ".eaudio" #Encrypted file extenstion
ENCRYPT_FILE = "audio.edat" #File containing encrypted data
ENCRYPT_KEY_LENGTH = 16 #Number of characters for encryption key

#Change encryption for certain audio files.......HERE!!!!!
ENCRYPT_BGM = true #Encrypt bgm?
ENCRYPT_BGS = false #Encrypt bgs?
ENCRYPT_ME = false #Encrypt me? Yes, please! lol
ENCRYPT_SE = false #Encrypt se?

#--------------------------------------------------------------------------
# * Play Background Music
# bgm : background music to be played
#--------------------------------------------------------------------------
def bgm_play(bgm)
@playing_bgm = bgm
if bgm != nil and bgm.name != ""
filename = "Audio/BGM/" + bgm.name
if ENCRYPT_BGM
decrypt_file(filename)
Audio.bgm_play(filename, bgm.volume, bgm.pitch)
encrypt_file(filename)
else
Audio.bgm_play(filename, bgm.volume, bgm.pitch)
end
else
Audio.bgm_stop
end
Graphics.frame_reset
end
#--------------------------------------------------------------------------
# * Play Background Sound
# bgs : background sound to be played
#--------------------------------------------------------------------------
def bgs_play(bgs)
@playing_bgs = bgs
if bgs != nil and bgs.name != ""
filename = "Audio/BGS/" + bgs.name
if ENCRYPT_BGS
decrypt_file(filename)
Audio.bgs_play(filename, bgs.volume, bgs.pitch)
encrypt_file(filename)
else
Audio.bgs_play(filename, bgs.volume, bgs.pitch)
end
else
Audio.bgs_stop
end
Graphics.frame_reset
end
#--------------------------------------------------------------------------
# * Play Music Effect
# me : music effect to be played
#--------------------------------------------------------------------------
def me_play(me)
if me != nil and me.name != ""
filename = "Audio/ME/" + me.name
if ENCRYPT_ME
decrypt_file(filename)
Audio.me_play(filename, me.volume, me.pitch)
encrypt_file(filename)
else
Audio.me_play(filename, me.volume, me.pitch)
end
else
Audio.me_stop
end
Graphics.frame_reset
end
#--------------------------------------------------------------------------
# * Play Sound Effect
# se : sound effect to be played
#--------------------------------------------------------------------------
def se_play(se)
if se != nil and se.name != ""
filename = "Audio/SE/" + se.name
if ENCRYPT_SE
decrypt_file(filename)
Audio.se_play(filename, se.volume, se.pitch)
encrypt_file(filename)
else
Audio.se_play(filename, se.volume, se.pitch)
end
end
end
#--------------------------------------------------------------------------
# Finds the extension of an audio filename with no extension
#--------------------------------------------------------------------------
def get_file_ext(filename)
if FileTest.exist?(filename + ".wav")
return ".wav"
elsif FileTest.exist?(filename + ".mp3")
return ".mp3"
elsif FileTest.exist?(filename + ".ogg")
return ".ogg"
elsif FileTest.exist?(filename + ".mid")
return ".mid"
elsif FileTest.exist?(filename + ".wma")
return ".wma"
else
return ENCRYPT_EXT
end
end
#--------------------------------------------------------------------------
# Encrypts an audio file and saves it with the encrypted extension and
# deletes the non encrypted file if it was not already encrypted.
#--------------------------------------------------------------------------
def encrypt_file(filename)
ext = get_file_ext(filename)
filen = filename + ext
# If file doesn't not exist in project/audio folder then exit.
# File either doesn't exist or is part of the RTP.
if (not FileTest.exist?(filen))
return
end
# Load File
afile = File.open(filen, "rb")
t = afile.readlines
afile.close
#If filename was not previously encrypted
if ext != ENCRYPT_EXT
begin
# Test if file is writeable
afile = File.open(filen, "wb")
afile.close
# Delete File
File.delete(filen)
rescue
#File could not be encrypted
return
end
end
get_encryption
# Save File
filen = filename + ENCRYPT_EXT
afile = File.open(filen, "wb")
for i in 0...t.size
s = @encrypt_data + t[i]
t[i] = s
end
Marshal.dump(t, afile)
afile.close
end
#--------------------------------------------------------------------------
# Decrypts a file if it is encrypted.
#--------------------------------------------------------------------------
def decrypt_file(filename)
filename += ENCRYPT_EXT
#If file is not encrypted
if (not FileTest.exist?(filename))
return
end
get_encryption
# Load File
afile = File.open(filename, "rb")
t = Marshal.load(afile)
for i in 0...t.size
s = t[i]
t[i] = s[ENCRYPT_KEY_LENGTH, t[i].size]
end
afile.close
# Save File
afile = File.open(filename, "wb")
for i in 0...t.size
afile.write(t[i])
end
afile.close
end
#--------------------------------------------------------------------------
# * Retrieve's encryption data from file. If file doesn't exist then it
# creates an encryption data file.
#--------------------------------------------------------------------------
def get_encryption
# No encryption data(method) found
if @encrypt_data == nil
# Encryption data file exists?
if FileTest.exist?(ENCRYPT_FILE)
# Load Data File
afile = File.open(ENCRYPT_FILE, "rb")
@encrypt_data = Marshal.load(afile)
afile.close
else
# Create encryption data file
afile = File.open(ENCRYPT_FILE, "wb")
Marshal.dump(create_key, afile)
afile.close
end
end
end
#--------------------------------------------------------------------------
# * Returns ENCRYPT_KEY_LENGTH character randomized string used to encrypt
# the audio file
#--------------------------------------------------------------------------
def create_key
key = ""
for i in 0...ENCRYPT_KEY_LENGTH
key_num = rand(36)
key_char = key_num.to_s(36)
upper_case = rand(2) == 1
if key_num > 9 && upper_case
key_char.upcase!
end
key += key_char
end
return key
end
#--------------------------------------------------------------------------
end

Ich weiss allerdings jetzt nicht in wie weit man es für den VXAce umschreiben müsste....