Salut tout le monde !
Nature de la demande : j'aimerais que lorsque l'intro finisse, le jeu ne reviennent pas sous windows mais qu'elle reste en pleine ecran avec le jeu
Script :
class Game_Film
def initialize(hash)
hash.has_key?(:film) ? film=hash[:film] : return
hash.has_key?(
) ? @x=hash[
]+" " : @x="0"
hash.has_key?(:y) ? @y=hash[:y]+" " : @y="0"
hash.has_key?(:w) ? @w=hash[:w]+" " : @w=""
hash.has_key?(:h) ? @h=hash[:h]+" " : @h=""
hash.has_key?(:vol) ? @vol=hash[:vol]+" " : @vol="1000"
hash.has_key?(:bass) ? @bass=hash[:bass]+" " : @bass="1000"
hash.has_key?(:aig) ? @aig=hash[:aig]+" " : @aig="1000"
hash.has_key?(:pos) ? @pos="at pos #{hash[:pos].to_i*1000} " : @pos="at pos 0 "
@full=hash[:full] if hash.has_key?(:full)
@full&&dim_ecran !=[640,480] ? @plee="fullscreen " : @plee=""
@type=" "
@type=" type mpegvideo" if File.extname(film)==(".mpg"||".mpeg")
@type=" type avivideo" if File.extname(film)==".avi"
@nom='./Films/'+film
(p "fichier #{@nom} non trouvé";return) if !FileTest.exist?(@nom)
@film=Win32API.new('winmm','mciSendString','ppll','v')
@film.call("close FILE",0,0,0)
@status=" "*255
lecture
end
def handle
jeu="\0"*256
ini=Win32API.new('kernel32','GetPrivateProfileStringA','pppplp', 'l')
ini.call('Game','Title','',jeu,255,".\\Game.ini")
return Win32API.new('user32','FindWindowEx','llpp','l').call(0,0,nil,jeu.delete!("\0"))
end
def lecture
pause=false
@film.call("open #{@nom} alias FILE#{@type} style child parent "+handle.to_s,0,0,0)
@film.call("put FILE window at #{@x}#{@y}#{@w}#{@h}", @status,0,0)
@film.call("setaudio File volume to #{@vol}",@status,0,0)
@film.call("setaudio File bass to #{@bass}",@status,0,0)
@film.call("setaudio File trebble to #{@bass}",@status,0,0)
@film.call("play FILE #{@plee}",@statut,0,0)
Graphics.freeze
loop do
sleep(1.0/24)
Input.update
@film.call("status FILE mode",@status,255,0)
break if @status.unpack("aaaa")=="stop".split(//)||Input.trigger?(Input::B)
if Input.trigger?(Input::C)
Input.update
if !pause;@film.call("pause FILE",@status,0,0);pause=true
else;@film.call("play FILE #{@plee}",@statut,0,0);pause=false
end
end
end
@film.call("close FILE",0,0,0)
$scene=Scene_Map.new
end
def dim_ecran
lw=Win32API.new('user32','GetSystemMetrics','i','i')
return lw.call(0),lw.call(1)
end
end
Dir.open("./Films") rescue Dir::mkdir("./Films",0777)
class Game_Interpreter #rmvx
def eval(script)
if script.include?("[film]")
hash={}
script.gsub!("[film]"){}
list=script.split("\n")
list.each{|e|e.gsub!(" "){};f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
Game_Film.new(hash)
else;return Kernel.eval(script)
end
end
end
class Interpreter #rmxp
def eval(script)
if script.include?("[film]")
hash={}
script.gsub!("[film]"){}
list=script.split("\n")
list.each{|e|e.gsub!(" "){};f=e.split("=");hash[f[0].to_sym]=f[1] if !f[1].nil?}
Game_Film.new(hash)
else;return Kernel.eval(script)
end
end
end
Projet en cours :Halo Tempest
Description du script voulu :j'aimerais que lorsque l'intro finisse, le jeu ne reviennent pas sous windows mais qu'elle reste en pleine ecran avec le jeu en rajoutant ou en modifiant ce script
merci d'avance