Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Zamknięty przez: Ayene
Pią 08 Kwi, 2011 21:22
Skrypt
Autor Wiadomość
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Wto 29 Mar, 2011 03:17
Skrypt
Witam. ponieważ nie zdążyłem się dopytać w poprzednim temacie. W skrypcie z minimapką można ponoć zaznaczać punkty na mapie. Nie wiem jednak jak? mianowicie muszę niby gdzieś wpisać.

Kod:
OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)


Nie wiem jednak gdzie? A chciałbym np: zaznaczyć na niej miejsce położenia kupca itp.[/code]
________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Wto 29 Mar, 2011 09:34
Kolejnym problemem który mnie nęka. To. Gdy teleportuje się po rozmowie z mapy 1 na mapę 2 jest ok. A gdy używam drzwi by przejść z punktu A do B to wyskakuje mi błąd z linijką 132 a dokładniej

" line132:NoMethodError occured
undifined method show_minimap? for nil:NilClass"

Nie wiem czemu? Czy to wina rozmiaru danej mapy? czy może muszę coś podczas jej
tworzenia dopisać? Gdzieś właśnie czytałem że mapa nie współpracuje z małymi pomieszczeniami. Jeżeli to prawda to trochę dupny skrypt bo nie będę robił np: Kowala w rozmiarach 100x100. Mam nadzieję że problem więc tkwi gdzie indziej?
________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Wto 29 Mar, 2011 09:43
Ok problem związany z linijką 132 sam rozwiązałem. Okazuje się że pierw muszę zrobić całą grę i dopiero się bawić. Bowiem gdy zrobię np: mapa 1 i przejście do mapy 2 i odpalę projekt to mapa działa. Gdy np: teraz zapiszę stan gry by zacząć w np: w mieście a nie od początku i zrobię tera szybką mapę 3 i odpalę grę to już są błędy bowiem gdy wejdź do pomieszczenia z mapą 3 wyskakuje właśnie błąd. A więc trzeba zawsze zaczynać od początku :/ Trochę to więc będzie denerwujące, ale znalazłem rozwiązanie, pierw zajmę się grą, questami itp. A gdy skończę dodam skrypt z mapą i tyle.

Pozostaje więc 1 pytanie do was.
Jak zaznaczać punkty na mapie? Np położenie skarbu, Zleceniodawcy itp?
________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Wto 29 Mar, 2011 15:26
Żartujesz sobie? Trzy posty w jednym temacie, to ewidentne łamanie regulaminu :!: Powinieneś otrzymać ostra, który automatycznie uniemożliwiłby Tobie dalsze pisanie na forum. Jednak w drodze wyjątku upominam (korzystaj w opcji 'Edytuj') :!:

Co do pytania, żeby zaznaczyć kolorem dane zdarzenie, musisz wpisać w treści komentarza, np.
npc - jako bohater niezależny
treasure - skarb
enemy - wróg
merchant - kupiec
Zresztą wszystko jest wyjaśnione w instrukcji. Nawet jeśli nie znasz angielskiego, zawsze możesz skorzystać z tłumacza.
________________________


 
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Wto 29 Mar, 2011 16:49
Wybacz za kilka postów na raz. I jeżeli możesz powiedz dokładnie gdzie i jak wpisać to np: npc itp? Bo próbowałem na kilka sposobów i guzik.
________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
bionicl 




Preferowany:
RPG Maker VX

Pomógł: 1 raz
Dołączył: 06 Gru 2009
Posty: 99
Skąd: z Huty Mińskiej
Wysłany: Wto 29 Mar, 2011 17:26
Powiem za Ayene:
Dodając opcję w zdarzeniu, wchodzisz na 1 zakładkę i na samym dole po lewej jest "komentarz". Tam wchodzisz, wpisujesz np. ten "npc" i z głowy (oczywiście trzeba jeszcze nacisnąć ok...)
________________________
Gość, podoba ci się moja gra? ;)
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Wto 29 Mar, 2011 18:00
robię tak jak mówisz.
1) zdarzenie
2) Pierwsza zakładka i Komentarz.
3) Wpisuję

i nic. Nie wiem w jakiej postaci mam to wpisać? Samo npc, 'npc' czy ['npc'] nie wiem. Próbowałem na kilka sposobów i dalej nic. :-? powiem że pierwszy raz mam takie problemy z jakimś skryptem.

podam cały skrypt może w tedy jakoś pomożecie mi co i jak mam wpisać?

Spoiler:

Kod:

#===============================================================
# ? [VX] ? MiniMap ? ?
# * Plug N Play Minimap (Don't need image~) *
#--------------------------------------------------------------
# ? by Woratana [woratana@hotmail.com]
# ? Thaiware RPG Maker Community
# ? Released on: 09/06/2008
# ? Version: 1.0 Beta
#--------------------------------------------------------------
# ? Credit: KGC for XP MiniMap script,
# this script can't be done without his MiniMap.
#--------------------------------------------------------------
module MiniMap
#===========================================================================
# [START] MINIMAP script SETUP PART
#---------------------------------------------------------------------------
SWITCH_NO_MINIMAP = 0 # Turn ON this switch to NOT SHOW minimap

MAP_RECT = [410, 20, 100, 100] # Minimap size and position
# [X, Y, Width, Height]
# You can change it in game, by call script:
# $game_system.minimap = [X, Y, Width, Height]
MAP_Z = 0 # Minimap's Z-coordinate
# Increase this number if there is problem that minimap show below some objects.
GRID_SIZE = 5 # Minimap's grid size. Recommend to use more than 3.

MINIMAP_BORDER_COLOR = Color.new(0, 0, 255, 160) # Minimap's border color
# Color.new(Red, Green, Blue, Opacity)
MINIMAP_BORDER_SIZE = 2 # Minimap's border size

FOREGROUND_COLOR = Color.new(224, 224, 255, 160) # Passable tile color
BACKGROUND_COLOR = Color.new(0, 0, 0, 160) # Unpassable tile color
USE_OUTLINE_PLAYER = true # Draw outline around player in minimap?
PLAYER_OUTLINE_COLOR = Color.new(0, 0, 0, 192) # Player Outline color
USE_OUTLINE_EVENT = true # Draw outline around events in minimap?
EVENT_OUTLINE_COLOR = Color.new(255, 255, 255, 192) # Player Outline color

PLAYER_COLOR = Color.new(255, 0, 0, 192) # Player color
#---------------------------------------------------------------------------
OBJECT_COLOR = {} # Don't change or delete this line!
#===============================================================
# * SETUP EVENT KEYWORD & COLOR
#---------------------------------------------------------------
# ** Template:
# OBJECT_COLOR['keyword'] = Color.new(Red, Green, Blue, Opacity)
#-------------------------------------------------------------
# * 'keyword': Word you want to put in event's comment to show this color
# ** Note: 'keyword' is CASE SENSITIVE!
# * Color.new(...): Color you want
# You can put between 0 - 255 in each argument (Red, Green, Blue, Opacity)
#-------------------------------------------------------------
OBJECT_COLOR['npc'] = Color.new(30,144,255,160)
OBJECT_COLOR['treasure'] = Color.new(0,255,255,160)
OBJECT_COLOR['enemy'] = Color.new(139,35,35,160)
OBJECT_COLOR['merchant'] = Color.new(255,255,0,160)

#===========================================================================
# * [OPTIONAL] TAGS:
#---------------------------------------------------------------------------
# Change keyword for disable minimap & keyword for show event on minimap~
#-----------------------------------------------------------------------
TAG_NO_MINIMAP = '[NOMAP]'
TAG_EVENT = 'MMEV'
#---------------------------------------------------------------------------
#---------------------------------------------------------------------------
# [END] MINIMAP script SETUP PART
#===========================================================================

def self.refresh
if $scene.is_a?(Scene_Map)
$scene.spriteset.minimap.refresh
end
end

def self.update_object
if $scene.is_a?(Scene_Map)
$scene.spriteset.minimap.update_object_list
end
end
end
#==============================================================================
# ¦ RPG::MapInfo
#==============================================================================
class RPG::MapInfo
def name
return @name.gsub(/\[.*\]/) { }
end
def original_name
return @name
end
def show_minimap?
return !@name.include?(MiniMap::TAG_NO_MINIMAP)
end
end
#==============================================================================
# ¦ Game_System
#==============================================================================
class Game_System
attr_accessor :minimap
alias wora_minimap_gamsys_ini initialize

def initialize
wora_minimap_gamsys_ini
@minimap = MiniMap::MAP_RECT
end

def show_minimap
return !$game_switches[MiniMap::SWITCH_NO_MINIMAP]
end
end
#==============================================================================
# ¦ Game_Map
#==============================================================================
class Game_Map
alias wora_minimap_gammap_setup setup
def setup(map_id)
wora_minimap_gammap_setup(map_id)
@db_info = load_data('Data/MapInfos.rvdata') if @db_info.nil?
@map_info = @db_info[map_id]
end

def show_minimap?
return @map_info.show_minimap?
end
end
#==============================================================================
# ¦ Game_Event
#==============================================================================
class Game_Event < Game_Character
def mm_comment?(comment, return_comment = false )
if !@list.nil?
for i in 0...@list.size - 1
next if @list[i].code != 108
if @list[i].parameters[0].include?(comment)
return @list[i].parameters[0] if return_comment
return true
end
end
end
return '' if return_comment
return false
end
end
#==============================================================================
# &#166; Game_MiniMap
#------------------------------------------------------------------------------
class Game_MiniMap
def initialize(tilemap)
@tilemap = tilemap
refresh
end
def dispose
@border.bitmap.dispose
@border.dispose
@map_sprite.bitmap.dispose
@map_sprite.dispose
@object_sprite.bitmap.dispose
@object_sprite.dispose
@position_sprite.bitmap.dispose
@position_sprite.dispose
end
def visible
return @map_sprite.visible
end
def visible=(value)
@map_sprite.visible = value
@object_sprite.visible = value
@position_sprite.visible = value
@border.visible = value
end
def refresh
@mmr = $game_system.minimap
map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
grid_size = [MiniMap::GRID_SIZE, 1].max
@x = 0
@y = 0
@size = [map_rect.width / grid_size, map_rect.height / grid_size]
@border = Sprite.new
@border.x = map_rect.x - MiniMap::MINIMAP_BORDER_SIZE
@border.y = map_rect.y - MiniMap::MINIMAP_BORDER_SIZE
b_width = map_rect.width + (MiniMap::MINIMAP_BORDER_SIZE * 2)
b_height = map_rect.height + (MiniMap::MINIMAP_BORDER_SIZE * 2)
@border.bitmap = Bitmap.new(b_width, b_height)
@border.bitmap.fill_rect(@border.bitmap.rect, MiniMap::MINIMAP_BORDER_COLOR)
@border.bitmap.clear_rect(MiniMap::MINIMAP_BORDER_SIZE, MiniMap::MINIMAP_BORDER_SIZE,
@border.bitmap.width - (MiniMap::MINIMAP_BORDER_SIZE * 2),
@border.bitmap.height - (MiniMap::MINIMAP_BORDER_SIZE * 2))

@map_sprite = Sprite.new
@map_sprite.x = map_rect.x
@map_sprite.y = map_rect.y
@map_sprite.z = MiniMap::MAP_Z
bitmap_width = $game_map.width * grid_size + map_rect.width
bitmap_height = $game_map.height * grid_size + map_rect.height
@map_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
@map_sprite.src_rect = map_rect
@object_sprite = Sprite.new
@object_sprite.x = map_rect.x
@object_sprite.y = map_rect.y
@object_sprite.z = MiniMap::MAP_Z + 1
@object_sprite.bitmap = Bitmap.new(bitmap_width, bitmap_height)
@object_sprite.src_rect = map_rect
@position_sprite = Sprite_Base.new
@position_sprite.x = map_rect.x + @size[0] / 2 * grid_size
@position_sprite.y = map_rect.y + @size[1] / 2 * grid_size
@position_sprite.z = MiniMap::MAP_Z + 2

bitmap = Bitmap.new(grid_size, grid_size)
# Player's Outline
if MiniMap::USE_OUTLINE_PLAYER and MiniMap::GRID_SIZE >= 3
bitmap.fill_rect(bitmap.rect, MiniMap::PLAYER_OUTLINE_COLOR)
brect = Rect.new(bitmap.rect.x + 1, bitmap.rect.y + 1, bitmap.rect.width - 2,
bitmap.rect.height - 2)
bitmap.clear_rect(brect)
else
brect = bitmap.rect
end

bitmap.fill_rect(brect, MiniMap::PLAYER_COLOR)
@position_sprite.bitmap = bitmap
draw_map
update_object_list
draw_object
update_position
end
def draw_map
bitmap = @map_sprite.bitmap
bitmap.fill_rect(bitmap.rect, MiniMap::BACKGROUND_COLOR)
map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
grid_size = [MiniMap::GRID_SIZE, 1].max

$game_map.width.times do |i|
$game_map.height.times do |j|
if !$game_map.passable?(i, j)
next
end
rect = Rect.new(map_rect.width / 2 + grid_size * i,
map_rect.height / 2 + grid_size * j,
grid_size, grid_size)
if grid_size >= 3
if !$game_map.passable?(i, j)
rect.height -= 1
rect.x += 1
rect.width -= 1
rect.width -= 1
rect.y += 1
rect.height -= 1
end
end
bitmap.fill_rect(rect, MiniMap::FOREGROUND_COLOR)
end
end
end
def update_object_list
@object_list = {}
$game_map.events.values.each do |e|
comment = e.mm_comment?(MiniMap::TAG_EVENT, true)
if comment != ''
type = comment.gsub(/#{MiniMap::TAG_EVENT}/){}.gsub(/\s+/){}
@object_list[type] = [] if @object_list[type].nil?
@object_list[type] << e
end
end
end
def draw_object
bitmap = @object_sprite.bitmap
bitmap.clear
map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
grid_size = [MiniMap::GRID_SIZE, 1].max
rect = Rect.new(0, 0, grid_size, grid_size)
mw = map_rect.width / 2
mh = map_rect.height / 2
@object_list.each do |key, events|
color = MiniMap::OBJECT_COLOR[key]
next if events.nil? or color.nil?
events.each do |obj|
if !obj.character_name.empty?
rect.x = mw + obj.real_x * grid_size / 256
rect.y = mh + obj.real_y * grid_size / 256
# Event's Outline
if MiniMap::USE_OUTLINE_EVENT and MiniMap::GRID_SIZE >= 3
bitmap.fill_rect(rect, MiniMap::EVENT_OUTLINE_COLOR)
brect = Rect.new(rect.x + 1, rect.y + 1, rect.width - 2,
rect.height - 2)
bitmap.clear_rect(brect)
else
brect = bitmap.rect
end
bitmap.fill_rect(brect, color)
end
end
end
end
def update
if @mmr != $game_system.minimap
dispose
refresh
end
draw_object
update_position
if @map_sprite.visible
@map_sprite.update
@object_sprite.update
@position_sprite.update
end
end
def update_position
map_rect = Rect.new(@mmr[0], @mmr[1], @mmr[2], @mmr[3])
grid_size = [MiniMap::GRID_SIZE, 1].max
sx = $game_player.real_x * grid_size / 256
sy = $game_player.real_y * grid_size / 256
@map_sprite.src_rect.x = sx
@map_sprite.src_rect.y = sy
@object_sprite.src_rect.x = sx
@object_sprite.src_rect.y = sy
end
end
#==============================================================================
# &#166; Spriteset_Map
#------------------------------------------------------------------------------
class Spriteset_Map
attr_reader :minimap
alias wora_minimap_sprsetmap_ini initialize
alias wora_minimap_sprsetmap_dis dispose
alias wora_minimap_sprsetmap_upd update

def initialize
wora_minimap_sprsetmap_ini
if $game_map.show_minimap?
@minimap = Game_MiniMap.new(@tilemap)
$game_system.show_minimap = true if $game_system.show_minimap.nil?
@minimap.visible = $game_system.show_minimap
end
end

def dispose
@minimap.dispose if !@minimap.nil?
wora_minimap_sprsetmap_dis
end
def update
if !@minimap.nil?
if $game_system.show_minimap
@minimap.visible = true
@minimap.update
else
@minimap.visible = false
end
end
wora_minimap_sprsetmap_upd
end
end
#==============================================================================
# &#166; Scene_Map
#------------------------------------------------------------------------------
class Scene_Map < Scene_Base
attr_reader :spriteset
end

________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 08 Kwi, 2011 21:08
W komentarzu w zdarzeniu trzeba dodatkowo wpisać tag 'MMEV', czyli żeby zaznaczyć bohatera niezależnego wpisz dokładnie:
Kod:
MMEV npc

do skarbu:
Kod:
MMEV treasure

itd.
________________________


 
 
 
onimush3 




Preferowany:
RPG Maker VX

Pomógł: 14 razy
Dołączył: 26 Paź 2010
Posty: 164
Wysłany: Pią 08 Kwi, 2011 21:17
dzięki Ayene! Jak zwykle pomocna! Działa :) Masz u mnie piwo! Tylko przyjedź do szczecina :)
________________________
Pracuję nad 2 częścią gry Ostatnia Powieść

Fabuła : Niezła ( jeżeli lubicie Assassin's Creed )
Skrypty: Sporo przyznam się.
Walki: Dużo i to trudnych!
Misje: Wiele głównych i pobocznych
Muzyka: Ciekawa, wpadająca w ucho
Graficzki: Kilka własnych i kilka pożyczonych
Wzorowanie się: Assassin's Creed, Final Fantasy
 
 
Wyświetl posty z ostatnich:   
Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
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
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene