Malian - Nie 10 Sty, 2010 16:52 Temat postu: ChodzenieMam problem, od pewnego czasu zajmowałem się skryptami, w takim sensie że je wklejałem z tej strony ale nie ważyłem się ich edytować. Teraz pousuwałem wszystkie skrypty które dodałem i zauważyłem że nie mogę chodzić.
Proszę o szybką odpowiedź.
Pozdro malian.Czeliosss - Nie 10 Sty, 2010 18:34 Daj nieskompresowane demo gry to coś poradzę.Ayene - Nie 10 Sty, 2010 20:14 Musiałeś przypadkowo usunąć któryś ze standardowych skryptów. Najlepiej będzie jak założysz nowy projekt i skopiujesz z folderu Data plik o nazwie Scripts.rxdata i umieścisz go w folderze Data w swoim projekcie (po prostu go nadpisz )Malian - Pon 11 Sty, 2010 13:55 Dzięki Ayane, tak przy okazji czy mogłabyś dać skrypt na ring menu bez opcji "wyjście" "zapisz" oraz aby tam była opcja "bestiariusz"? Póki co sam tam trochę pokombinuję.Ayene - Pon 11 Sty, 2010 14:19 Proszę bardzo:
def initialize(menu_index = 0)
@menu_index = menu_index
$location_text=[]
$gold_text=[]
$window_size=[]
$ring_menu_text=[]
$chara_select=[]
@window_opacity=[]
@chara_select=[]
@window_position=[]
$location_text[0]="Comic Sans MS" # Font Type
$location_text[1]=24 # Font Size
$location_text[2]=0 # Location Title Color
$location_text[4]=0 # Map Name Color
$location_text[3]="Lokacja:" # Text
$gold_text[0]="Comic Sans MS" # Font Type
$gold_text[1]=24 # Font Size
$gold_text[2]=0 # Gold Title Color
$gold_text[6]=0 # Gold Color
$gold_text[4]="Złoto:" # Text
@window_opacity[0]=255 # Border Opacity
@window_opacity[1]=130 # Background Opacity
$window_location_skin="001-Blue01" # Location Windowskin
$window_gold_skin="001-Blue01" # Gold Windowskin
@window_position[0]=0 # X Axis Position
@window_position[1]=0 # Location Y Axis Position
@window_position[2]=384 # Gold Y Axis Position
$window_size[0]=160 # Length
$window_size[1]=96 # Height
$ring_menu_text[0]="Comic Sans MS" # Font Type
$ring_menu_text[7]=0 # Font Color
$ring_menu_text[8]=24 # Font Size
$ring_menu_text[1]="Przedmioty"
$ring_menu_text[2]="Czary"
$ring_menu_text[3]="Ekwipunek"
$ring_menu_text[4]="Stan"
$ring_menu_text[5]="Bestiariusz"
@chara_select[0]=408 # X Axis Position
@chara_select[1]=0 # Y Axis Position
$chara_select[0]="Comic Sans MS" # Font Type
$chara_select[1]=0 # Font Color
$chara_select[5]=24 # Font Size
$chara_select[2]=255 # Border Opacity
$chara_select[3]=130 # Background Opacity
$chara_select[4]="001-Blue01" # Windowskin
end
if @command_window.active
update_command
return
end
if @status_window.active
update_status
return
end
end
def update_command
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
return
end
if Input.trigger?(Input::C)
if $game_party.actors.size == 0 and @command_window.index < 4
$game_system.se_play($data_system.buzzer_se)
return
end
case @command_window.index
when 0
$game_system.se_play($data_system.decision_se)
$scene = Scene_Item.new
when 1
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 2
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 3
$game_system.se_play($data_system.decision_se)
@command_window.active = false
@status_window.active = true
@status_window.visible = true
@status_window.index = 0
when 4
$game_system.se_play($data_system.decision_se)
$scene = Scene_MonsterBook.new
end
return
end
return if @command_window.animation?
if Input.press?(Input::UP) or Input.press?(Input::LEFT)
$game_system.se_play($data_system.cursor_se)
@command_window.setup_move_move(Window_RingMenu::MODE_MOVEL)
return
end
if Input.press?(Input::DOWN) or Input.press?(Input::RIGHT)
$game_system.se_play($data_system.cursor_se)
@command_window.setup_move_move(Window_RingMenu::MODE_MOVER)
return
end
end
def update_status
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@command_window.active = true
@status_window.active = false
@status_window.visible = false
@status_window.index = -1
return
end
if Input.trigger?(Input::C)
case @command_window.index
when 1
if $game_party.actors[@status_window.index].restriction >= 2
$game_system.se_play($data_system.buzzer_se)
return
end
$game_system.se_play($data_system.decision_se)
$scene = Scene_Skill.new(@status_window.index)
when 2
$game_system.se_play($data_system.decision_se)
$scene = Scene_Equip.new(@status_window.index)
when 3
$game_system.se_play($data_system.decision_se)
$scene = Scene_Status.new(@status_window.index)
end
return
end
end
end
def refresh
self.contents.clear
case @mode
when MODE_START
refresh_start
when MODE_WAIT
refresh_wait
when MODE_MOVER
refresh_move(1)
when MODE_MOVEL
refresh_move(0)
end
rect = Rect.new(@cx - 272, @cy + 24, self.contents.width-32, 32)
self.contents.draw_text(rect, @commands[@index],1)
end
def refresh_start
d1 = 2.0 * Math::PI / @item_max
d2 = 1.0 * Math::PI / STARTUP_FRAMES
r = RING_R - 1.0 * RING_R * @steps / STARTUP_FRAMES
for i in 0...@item_max
j = i - @index
d = d1 * j + d2 * @steps
x = @cx + ( r * Math.sin( d ) ).to_i
y = @cy - ( r * Math.cos( d ) ).to_i
draw_item(x, y, i)
end
@steps -= 1
if @steps < 1
@mode = MODE_WAIT
end
end
def refresh_wait
d = 2.0 * Math::PI / @item_max
for i in 0...@item_max
j = i - @index
x = @cx + ( RING_R * Math.sin( d * j ) ).to_i
y = @cy - ( RING_R * Math.cos( d * j ) ).to_i
draw_item(x, y, i)
end
end
def refresh_move( mode )
d1 = 2.0 * Math::PI / @item_max
d2 = d1 / MOVING_FRAMES
d2 *= -1 if mode != 0
for i in 0...@item_max
j = i - @index
d = d1 * j + d2 * @steps
x = @cx + ( RING_R * Math.sin( d ) ).to_i
y = @cy - ( RING_R * Math.cos( d ) ).to_i
draw_item(x, y, i)
end
@steps -= 1
if @steps < 1
@mode = MODE_WAIT
end
end
def draw_item(x, y, i)
rect = Rect.new(0, 0, @items[i].width, @items[i].height)
if @index == i
self.contents.blt( x, y, @items[i], rect )
if @disabled[@index]
self.contents.blt( x, y, ICON_DISABLE, rect )
end
else
self.contents.blt( x, y, @items[i], rect, 128 )
if @disabled[@index]
self.contents.blt( x, y, ICON_DISABLE, rect, 128 )
end
end
end
def disable_item(index)
@disabled[index] = true
end
def setup_move_start
@mode = MODE_START
@steps = STARTUP_FRAMES
if SE_STARTUP != nil and SE_STARTUP != ""
Audio.se_play("Audio/SE/" + SE_STARTUP, 80, 100)
end
end
def setup_move_move(mode)
if mode == MODE_MOVER
@index -= 1
@index = @items.size - 1 if @index < 0
elsif mode == MODE_MOVEL
@index += 1
@index = 0 if @index >= @items.size
else
return
end
@mode = mode
@steps = MOVING_FRAMES
end
def refresh
self.contents.clear
self.windowskin = RPG::Cache.windowskin($chara_select[4])
self.contents.font.name = $chara_select[0]
self.contents.font.color = text_color($chara_select[1])
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
x = 80
y = 80 * i
actor = $game_party.actors[i]
draw_actor_graphic(actor, x - 60, y + 65)
draw_actor_name(actor, x, y + 2)
draw_actor_hp(actor, x - 40, y + 26)
draw_actor_sp(actor, x - 40, y + 50)
end
end
def update_cursor_rect
if @index < 0
self.cursor_rect.empty
else
self.cursor_rect.set(0, @index * 80, self.width - 32, 80)
end
end
end
class Game_Map
def name
$map_infos[@map_id]
end
end
class Scene_Title
$map_infos = load_data("Data/MapInfos.rxdata")
for key in $map_infos.keys
$map_infos[key] = $map_infos[key].name
end
end
A jeśli chcesz, aby po wyjściu z Bestiariusza powracało się do menu to w skrypcie Bestiariusza znajdź linijkę:
Kod:
$scene = Scene_Map.new
i zamień ją na:
Kod:
$scene = Scene_Menu.new(4)
PS Na przyszłość, pytając o coś innego, zakładaj nowe tematy Czeliosss - Pon 11 Sty, 2010 15:26 Mi wyskakuje błąd A oto screenMalian - Pon 11 Sty, 2010 19:14 Hah... Już wiem dlaczego nie mogłem chodzić. W jednym pomieszczeniu wogóle nie można chodzić, Za to w innych bez problemu. proszę pomóżcie.Ayene - Pon 11 Sty, 2010 20:15 czeliosss, a masz skrypt Bestiariusza z tego tematu? Coś mi się zdaje, że nie Czeliosss - Pon 11 Sty, 2010 21:07 No nie miałem. Tak jak było z Vx'em. heh Ja to zawsze o czymś zapomnę.Malian - Wto 12 Sty, 2010 15:09 No dobra, ale czy możemy powrócić do mojego pytania? Więc tak: Mam problem z jednym pomieszczeniem, ponieważ nie mogę chodzić. Coś z mapą jest nie tak? Stworzyć nową czy jak?Ayene - Wto 12 Sty, 2010 16:02 Z ciekawości, zrób screenshot tej mapki Wina musi leżeć tylko i wyłącznie po stronie nieodpowiedniego ustawienia właściwości tilesetu (albo wykorzystania tej części, która po prostu nie jest przechodna).Malian - Wto 12 Sty, 2010 16:13 To jest to:
Spoiler:
Przestałem się tą mapką narazie zajmować, no bo właśnie nie wiem czy nową będę musiał dać. Ayene - Wto 12 Sty, 2010 16:36 A wejdź w bazę danych, w zakładkę Tilesets i zobacz czy masz te same ustawienia mapy?
Spoiler:
Malian - Wto 12 Sty, 2010 16:42 Tak mam wszędzie kółka tam gzie jest podłoże, itp.
Spróbuję zmienić i tileset i będę na nim robił może zadziała.
Zmiana tileseta nie pomogła, a na innych mapkach on działa. Co mi na to poradzisz? Bo ja podejrzewam że usunięcie i stworzenie mapki spowrotem coś pomoże.bionicl - Wto 12 Sty, 2010 20:06 Jeżeli nie jest to jakaś "cenna" mapka, to co ci szkodzi ją usunąć i zrobić taką samą?Malian - Wto 12 Sty, 2010 21:39 bionicl:
Właśnie zapomniałem dopisać że usunołem mapkę i ją na nowo zrobiłem, ta mapka nie miała dużo eventów bo tylko dwa teleporty oraz pusty event, tak wygląda cenniejsza mapka pierwszego piętra:
Spoiler:
No może nie jest całkiem dobra, ale to początek na razie trochę ją obrobię i zrobię pare innych i gdzieś na forum wrzucę.bionicl - Wto 12 Sty, 2010 22:43 No, ale możesz już chodzić?Malian - Wto 12 Sty, 2010 23:02 Jasne, nie wiem czy mozna ale ocencie mi ta druga mapke, bo chcialbym wiedziec czy mam ja jakos dobracowac.
Mysle ze jutro zrobie temat do tej gry jej nazwa to "Powrot do Eternii" reszte napisze jutro. Zdradze tylko to ze bedzie to gra przplizona pod paru wzgledami do gry Squla.
Pozdro.bionicl - Wto 12 Sty, 2010 23:50 Jeśli chodzi o mapkę:
-wg. mnie na dole (w całej dolnej części), jest pusto, tylko ten stół... Zrób tam coś, albo lekko zmniejsz mapkę...
-przydał by się jakiś dywanik.
-coś zrobić z tymi łóżkami: najlepiej je odłączyć i pomiędzy wstawić jakiś mały stoliczek...
-radzę dodać kwiatki (tylko radzę, i tylko żeby było ładnie )
To jest wg. mojego zdania. Zrób jak chcesz, ale najważniejszy to pkt. 1 .
Podoba mi się też ten sposób z pokazaniem zewnętrznej strony i tej czarnej ramki.Malian - Sro 13 Sty, 2010 14:43 Dzięki chodziło mi ogólnie o to ostatnie obramowanie mapki bo nie wiedziałem czy dobrze zaczynam.
Ogólnie jest jeden mały problem. Są trzy warstwy. Na pierwszej jest podłoże a jak tam dam dywan to będzie wokół niego czarno. Na drugiej warstwie jeśli dam dywan to na stole nie będzie żadnych dodatków. Hmm... Albo jeśli dam w evencie grafika i poukładam obrazki z tileseta tam to może coś wyjdzie.Ayene - Sro 13 Sty, 2010 15:43 Tak czy owak, problem chodzenia został rozwiązany. Do oceny mapek jest dział Screeny w kategorii Galeria. Zamykam.