Wiele osĂłb narzeka na to, Ĺźe RPGXP jest gorszy, bo nie moĹźna w nim odtwarzaÄ filmikĂłw avi. Wiecie, kilka osĂłb teĹź to draĹźniĹo, i postanowili z tym coĹ zrobiÄ. Mianowicie napisali kod w ruby, ktĂłry wĹaĹnie umoĹźliwi odtwarzanie plikĂłw *.AVI. MaĹy minus polega na tym, Ĺźe trzeba siÄ niestety z tym trochÄ pobawiÄ.
Pierwsze co zrobimy to w gĹĂłwnym folderze naszego projektu tworzymy nowy folder o nazwie ‘Movies’ (tak, z duĹźej literki, przez v napisane dokĹadnie jak obok). KaĹźdy projekt ma 3 foldery: Data, Graphics, Audio; No i tam wĹaĹnie gdzie widzimy te foldery zakĹadamy folder o nazwie ‘Movies’. Ĺatwiej siÄ juĹź nie da wytĹumaczyÄ.
Filmie *.AVI wrzucamy do tego tam stworzonego folderu. Odpalamy RPGXP, wchodzimy do edytora skryptĂłw ruby. Wstawiamy sobie nowy skrypt (klasÄ, cokolwiek to tam jest i siÄ nazywa) – nazwijmy to Scene_Movie no i wklejamy tam poniĹźszy podany kod:
Spoiler:
Kod:
#### Autor skryptu: Magmar
# Skrypt zostaĹ znaleziony na stronie RPG Creative [www.rpgcreative.net]
# Jednak jeĹźeli widzisz tÄ notatkÄ, to znaczy Ĺźe pobraĹeĹ go z Twierdzy RPG Makera
# www.rpgmaker.pl
#################### WaĹźne!!!!!!
# Teraz daj 'WywoĹaj skrypt w zdarzeniu' i napisz to coĹ:
# Scene_Movie.new("NAZWA TWOJEGO FILMU.avi")
#
# PamiÄtaj aby twĂłj filmik znalazĹ siÄ w folderze o nazwie 'Movies', ktĂłry bÄdzie
# w folderze twojego projektu.
########################
class Scene_Movie
def initialize(movie)
@readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
@movie_name = Dir.getwd()+"\\Movies\\"+movie
main
end
@detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
@width = @detector.call(0)
if @width == 640
fullscreen
Graphics.update
sleep(1)
Graphics.update
sleep(1)
Graphics.update
sleep(1)
end
status = " " * 255
movie.call("play FILE",0,0,0)
loop do
sleep(0.1)
@message.call(@temp.to_i,11,0,0)
Graphics.update
@message.call(@temp.to_i,11,1,0)
Input.update
movie.call("status FILE mode",status,255,0)
true_status = status.unpack("aaaa")
if true_status.to_s != "play"
break
end
if Input.trigger?(Input::B)
Input.update
break
end
end
movie.call("close FILE",0,0,0)
bail
end
def bail
if @width == 640
fullscreen
end
end
end
def fullscreen()
$full.call(18,0,0,0)
$full.call(13,0,0,0)
$full.call(18,0,2,0)
$full.call(13,0,2,0)
end
$full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')
#end code
#koniec kodu
No i w sumie to by byĹo na tyle. A, wĹaĹnie jeszcze później jak zrobiÄ, aby wywoĹaÄ nasz filmik. Robimy sobie jakieĹ tam zdarzenie, no i w poleceniach zdarzenia istnieje takie coĹ jak wywoĹaj skrypt. No to dajmy na to coĹ, wyskoczy nam jakieĹ okno z skryptem do napisania. Napiszcie w nim coĹ takiego:
Kod:
Scene_Movie.new("NAZWA TWOJEGO FILMU.avi")
OK. Koniec. Filmik odtwarza siÄ jeden raz.
WaĹźna informacja, skrypt zostaĹ testowany na patchu 1.03, Niestety na wersji 1.00 skrypt na odtwarzanie plikĂłw *.AVI - niedziaĹa.
________________________
Ostatnio zmieniony przez Ayene Wto 09 Mar, 2010 17:59, w całości zmieniany 1 raz
Ja teĹź nie jestem pewien z czym masz problem, skoro ci dziaĹa i chodzi tylko o przycinanie siÄ...to nie wiem czy jest co poprawiaÄ. xD Ale ktoĹ na pewno ci pomoĹźe.
[ Dodano: Czw 11 Mar, 2010 19:27 ]
CiekawostkÄ jest to, Ĺźe jeszcze niedawno mi dziaĹaĹo, a teraz za nic nie reaguje...
Kolejny EDIT!
Wiecie Ĺźe ten skrypt kĹĂłci siÄ z anty lagami? o_O
SkasowaĹem antylag i piÄknie dziaĹa. O_O
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum