Azsak von Triger - Sro 04 Lis, 2009 13:17 Temat postu: System zapisu i wczytywania
Siemano ludziska
Jest to już mój trzeci skrypt na forum .Yoooohhhhhuuu ...xD
No dobra do rzeczy.Skrypt daje możliwość zapisania dwudziestu slotów ,ogólnie ładniej to wszystko wygląda bo dochodzi pare nowych rzeczy ,które zauważycie na screenach .
SCREENY: SKRYPT:
Spoiler:
Kod:
#===============================================================
# ● [VX] ◦ Neo Save System III ◦ □
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 15/02/2009
# ◦ Version: 3.0
#--------------------------------------------------------------
# ◦ Log III:
# - Change back to draw tilemap as screenshot. Don't need any image.
# - For drawing tilemap, the characters won't show on the tilemap.
#--------------------------------------------------------------
# ◦ Log II:
# - Screenshot DLL is not work with Vista Aero, so I remove it
# and use image for each map instead of screenshot.
# - Actor's level in last version (V.1) is incorrect.
#--------------------------------------------------------------
# ◦ Features:
# - Unlimited save slots, you can choose max save slot
# - You can use image for scene's background
# - Choose your save file's name, and folder to store save files
# - Choose to show only information you want
# - Editable text for information's title
# - Draw tilemap for map that player is currently in.
# - Remove text you don't want from map's name (e.g. tags for special script)
# - Choose map that you don't want to show its name
# - Include save confirmation window before overwrite old save
#=================================================================
module Wora_NSS
#==========================================================================
# * START NEO SAVE SYSTEM - SETUP
#--------------------------------------------------------------------------
NSS_WINDOW_OPACITY = 255 # All windows' opacity (Lowest 0 - 255 Highest)
# You can change this to 0 in case you want to use image for background
NSS_IMAGE_BG = '' # Background image file name, it must be in folder Picture.
# use '' for no background
NSS_IMAGE_BG_OPACITY = 255 # Opacity for background image
MAX_SAVE_SLOT = 20 # Max save slots no.
SLOT_NAME = 'Zapis {id}'
# Name of the slot (show in save slots list), use {id} for slot ID
SAVE_FILE_NAME = 'Saveslot{id}.rvdata'
# Save file name, you can also change its file type from .rvdata to other
# use {id} for save slot ID
SAVE_PATH = '' # Path to store save file, e.g. 'Save/' or '' (for game folder)
SAVED_SLOT_ICON = 133 # Icon Index for saved slot
EMPTY_SLOT_ICON = 141 # Icon Index for empty slot
EMPTY_SLOT_TEXT = '-Jeszcze tu nie zapisałeś :)-' # Text to show for empty slot's data
MAP_NAME_TEXT_SUB = %w{}
# Text that you want to remove from map name,
# e.g. %w{[LN] [DA]} will remove text '[LN]' and '[DA]' from map name
MAP_NO_NAME_LIST = [] # ID of Map that will not show map name, e.g. [1,2,3]
MAP_NO_NAME_NAME = '??????????' # What you will use to call map in no name list
MAP_BORDER = Color.new(0,0,0,200) # Map image border color (R,G,B,Opacity)
FACE_BORDER = Color.new(0,0,0,200) # Face border color
## SAVE CONFIRMATION WINDOW ##
SFC_Text_Confirm = 'Nadpisze lepiej te stare dzieje!' # Text to confirm to save file
SFC_Text_Cancel = 'Ojojoj..Chyba nie tu chciałem zapisać.' # Text to cancel to save
SFC_Window_Width = 300 # Width of Confirmation Window
SFC_Window_X_Offset = 0 # Move Confirmation Window horizontally
SFC_Window_Y_Offset = 0 # Move Confirmation Window vertically
#----------------------------------------------------------------------
# END NEO SAVE SYSTEM - SETUP
#=========================================================================
end
def make_filename(file_index)
return SAVE_PATH + SAVE_FILE_NAME.gsub(/\{ID\}/i) { (file_index).to_s }
end
def file_exist?(slot_id)
return @exist_list[slot_id] if !@exist_list[slot_id].nil?
@exist_list[slot_id] = FileTest.exist?(make_filename(slot_id))
return @exist_list[slot_id]
end
def get_mapname(map_id)
if @map_data.nil?
@map_data = load_data("Data/MapInfos.rvdata")
end
if @map_name[map_id].nil?
if MAP_NO_NAME_LIST.include?(map_id)
@map_name[map_id] = MAP_NO_NAME_NAME
else
@map_name[map_id] = @map_data[map_id].name
MAP_NAME_TEXT_SUB.each_index do |i|
@map_name[map_id].sub!(MAP_NAME_TEXT_SUB[i], '')
end
end
end
return @map_name[map_id]
end
def dispose_tilemap
unless @tilemap.nil?
@tilemap.dispose
@tilemap = nil
end
end
end
class Scene_Title < Scene_Base
def check_continue
file_name = Wora_NSS::SAVE_PATH + Wora_NSS::SAVE_FILE_NAME.gsub(/\{ID\}/i) { '*' }
@continue_enabled = (Dir.glob(file_name).size > 0)
end
end
#======================================================================
# END - NEO SAVE SYSTEM by Woratana
#======================================================================
Greed - Sro 04 Lis, 2009 13:23 Super! Wygląda to lepiej niż przypuszczałem
Wielkie dzięki Karsznickus.Ayene - Sro 04 Lis, 2009 13:57 Również korzystam z tego skryptu, lecz w nieco zmienionej formie. Hehe muszę przyznać, że ciekawie przetłumaczyłeś komendy potwierdzające zapis Azsak von Triger - Sro 04 Lis, 2009 14:13 Znaczy widziałem chyba na rpg revolution nową tego wersje ale przywiązałem się do tej i nie jest zła , a co do komend to nie mogłem napisać tak sztywno jak "Czy jesteś pewien ,że chcesz tu zapisać" albo "Nie tutaj nie chce zapisać!" czy jakoś tak .Cyklop - Sro 04 Lis, 2009 15:49 To jest to czego szukałem :) Dzienks. I w połączeniu z bitmapą ładnie wygląda. Chyba też tak zrobię tylko czcionke zmienię, bo ten comic taki za okrągły jest :PAyene - Sro 04 Lis, 2009 15:51 Tak, jest wersja, która wymaga nowej biblioteki screenshot.dll, lecz nie różni się znacznie od powyższej - jedynie screen jest bardziej dokładny, gdyż widać na nim wszystkie elementy, łącznie z postacią.Asantos - Sro 26 Maj, 2010 20:08 A czy mogłabyś ową wersję zamieścić? Posiadam tą bibliotekę ale nic mi z niej jeśli mam zły skrypt.Amelanduil - Sro 26 Maj, 2010 20:26 Dobry skrypt, nawet bardzo :D
4 Sloty na save to zdecydowanie za mało... :]
A i jeszcze pytanko: da się zmienić ten kolor tekstu z niebieskiego na jakiś inny? :DCreeperCrisis - Pią 11 Cze, 2010 16:12 Ja tylko tak, aby inni się nie pytali jak różne rzeczy poukrywać.
Kod:
DRAW_GOLD = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
DRAW_PLAYTIME = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
DRAW_LOCATION = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
DRAW_FACE = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
DRAW_LEVEL = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
DRAW_NAME = true # (true - jak chcesz pokazać, false - jak chcesz ukryć)
Poster27 - Pon 01 Lis, 2010 18:06 Ponawiam prośbę Asantosa. Też chciałbym dokładniejsze screeny.serb7 - Sro 03 Lis, 2010 12:06 na prawdę ładnie to wygląda thx pokpo - Pon 08 Lis, 2010 17:15 Super dzięk Karsznickus!!!Popek1 - Czw 06 Sty, 2011 09:19 a jak go wywołać bo ja bym chciał zrobić punkty zapisuAyene - Czw 06 Sty, 2011 11:50 To jest skrypt, który automatycznie nadpisuje klasę "Scene_File", zatem wywołuje się go normalnie w zdarzeniach za pomocą polecenia 'Open Save Screen' Christo - Sob 19 Lut, 2011 15:55 Da się zamiast np.: Zapis1 dać, aby wyświetlało nazwę mapki?Shlizer - Nie 20 Lut, 2011 01:41 Da się.Christo - Nie 20 Lut, 2011 12:12 A jak ?CrasheR - Nie 20 Lut, 2011 13:51 Szukałem czegoś takiego ;]
DziękiPiotro888 - Czw 10 Mar, 2011 17:09 Da się zrobić tak, żeby zamiast twarzy postaci był chars?Prometherion - Pią 18 Mar, 2011 16:55 Bardzo prosiłbym o odpowiedź na następujące pytanie:
- Czy można tak zmienić skrypt, żeby zamiast screena z aktualnej mapki pokazywało panoramę?
Obecnie gdy jest tylko panorama nie wyświetla nic tylko czarne tło.Angius - Wto 21 Cze, 2011 14:47 Widziałem gdzieś ten skrypt, tylko z opcją robienia screenów - w zapisie widać wszystkie zdarzenia, panoramę, deszcz, etc. Poszukajcie dobrze na rpgmakervx.netAngius - Sob 25 Cze, 2011 13:24 Poradziłem sobie, znalazłem ten skrypt i na nowo go dodałem
Spoiler:
Usunąłem jakiś skrypt depozytu (nie ten na 4000 zmiennych, nie pamiętam jaki) i wywala mi teraz błąd w linijkach ~411:
makerowiec64 - Sob 29 Wrz, 2012 11:44 Ten skrypt z zapisem...pierwsza klasa!Ja sobie to tak poprzerabiałem,że
zajęte miejsca były oznaczone czerwonym kółkiem,a wolne niebieskim