Pomógł: 22 razy Dołączył: 27 Kwi 2010 Posty: 136 Skąd: że znowu
Wysłany: Nie 07 Lis, 2010 17:52
Ksiązki, listy, notatki, śnieżne battlersy ;D
1.No więc Siema.Chciałbym, żeby napisy w książce lub liście wyświetlały się na grafice i żeby nie były tak ucięty tylko na całą stronę.
2.Przyda się także możliwość pisania listów notatek lub książek przy wykorzystaniu przedmiotów takich jak Atrament oraz Papier.(np. na książkę 10 kartek, a na list 1)
3.Też jakieś battlersy ze zwierzętami o kolorystyce białej (zwierzęta arktyczne, lecz nie spotykane na ziemi jeśli można).
EDIT:
4.i przerobienie windowsa
Spoiler:
na takiego śnieżnego heh
Edit:
5.Awwwww... Jeszcze coś, żeby można było zmienić kolor przezroczystość i pół przezroczystość, bo nie zawsze jest.
6.No i czcionkę "Algerian" z polskimi znakami.
7.Mam błąd w skrypcie Mouse System, który gdzieś Ayene podawała:
Spoiler:
8.Nie umiem przerobić w skrypcie
Spoiler:
Kod:
#==============================================================================
# ReinoRPG Mini-Mapa (RPG Maker VX)
#------------------------------------------------------------------------------
# Bennamy (Amy Productions) & RTH (PRCoders)
# Version 1.0
# 09/10/2008
#------------------------------------------------------------------------------
# Descrição:
#
# Este script exibe um mini-mapa em um canto da tela onde nele são mostrados os
# os tiles passáveis e os tiles não passáveis (onde o personagem pode caminhar
# e onde ele não pode caminhar). No mini-mapa podem ser mostradas posições de
# certos eventos, basta colocar comentários específicos para cada evento.
# Todos os gráficos exigidos neste mini-mapa podem ser totalmente alterados.
#------------------------------------------------------------------------------
# Instruções:
#
# Coloque este script entre "Scripts Adicionais" e "Principal".
#
# Copie todas as imagens necessárias para a pasta "Pictures" do seu projeto.
#
# Para exibir determinado evento no mini-mapa você precisa adicionar um
# comentário na página de comandos deste evento. Os comentários podem ser:
# - npc = Para NPCs
# - passagem = Para TELETRANSPORTES/PASSAGENS
# - pousada = Para POUSADAS/PONTOS PARA SALVAR O JOGO
# - bau = Para BAÚS/TESOUROS
# - inimigo = Para INIMIGOS
# - outro = Para SHOPS/COMPANHEIROS/ITENS INTERATIVOS DO MAPA
#
# OBS.: Os comentários nos eventos do mini-mapa podem ser alterados em:
# CONFIGURAÇÕES DE EXIBIÇÃO DOS EVENTOS NO MINI-MAPA.
#
#------------------------------------------------------------------------------
# Customização:
#
# Para modificar a Switch que ATIVA/DESATIVA o mini-mapa, basta procurar onde
# começa a CONFIGURAÇÃO do script e alterar o valor de MM_ACTIVATED_ID.
#
# Para alterar o local onde o mini-mapa será exibido, primeiro você deve
# escolher que variável definirá o local do mini-mapa, isso pode ser feito
# alterando o valor de MM_CORNER_VAR. Depois é necessário alterar também o
# valor da variável indicada logo acima, os valores podem ser:
# 1 = Para exibir o mini-mapa no Canto SUPERIOR ESQUERDO da tela
# 2 = Para exibir o mini-mapa no Canto SUPERIOR DIREITO da tela
# 3 = Para exibir o mini-mapa no Canto INFERIOR ESQUERDO da tela
# 4 = Para exibir o mini-mapa no Canto INFERIOR DIREITO da tela
#
# OBS.: Alterações podem ser efetuadas na parte de CONFIGURAÇÕES do script.
#
#------------------------------------------------------------------------------
# Créditos e Agradecimentos:
#
# Bennamy (Amy Productions) & RTH (PRCoders) - Pela criação deste script
# Selwyn (squall) - Por ter criado o script para RMXP que foi usado como base.
# Fanha Giang (aka fanha99) - Pelo método de exibir autotiles.
#
#------------------------------------------------------------------------------
# Termos de Uso e Disponibilização:
#
# Você deve inserir um link para este tópico na ReinoRPG.
# Você deve inserir um link para www.rmzine.reinorpg.com
# Você deve creditar os autores e demais envolvidos na produção do material
# Mesmo que editar este conteúdo, estas regras devem valer.
#
#==============================================================================
#--------------------------------------------------------------------------
# CONFIGURAÇÕES
#--------------------------------------------------------------------------
module CONFIG
# CONFIGURAÇÕES DE CONTROLE DAS FUNÇÕES MINI-MAPA:
MM_ACTIVATED_ID = 1 # ID da Switch que Ativa/Desativa o MM
MM_CORNER_VAR = 1 # Variável que indica a posição do MM na tela
MM_OPACITY = 180 # Transparência do MM
# CONFIGURAÇÕES DAS IMAGENS EXIBIDAS NO MINI-MAPA:
MM_MAP_BACK = "bg_map" # Imagem que representa o Fundo no MM
MM_TILES = "tile_map" # Imagem que representa o Autotile no MM
MM_CURSOR = "heroi_cursor" # Imagem que representa o Personagem no MM
MM_OTHER = "outro" # Imagem que representa os Outros Eventos no MM
MM_ENEMY = "inimigo" # Imagem que representa os Inimigos no MM
MM_TELEPORT = "passagem" # Imagem que representa as Passagens no MM
MM_CHEST = "bau" # Imagem que representa os Baús e Tesouros no MM
MM_NPC = "npc" # Imagem que representa os Npcs no MM
MM_SAVEPOINT = "pousada" # Imagem que representa as Pousadas no MM
# CONFIGURAÇÕES DE EXIBIÇÃO DOS EVENTOS NO MINI-MAPA:
MM_EVENT_OTHER = "outro" # Comentário para exibir o evento "OUTRO"
MM_EVENT_ENEMY = "inimigo" # Comentário para exibir o evento "INIMIGO"
MM_EVENT_TELEPORT = "passagem" # Comentário para exibir o evento "PASSAGEM."
MM_EVENT_CHEST = "bau" # Comentário para exibir o evento "BAÚ"
MM_EVENT_NPC = "npc" # Comentário para exibir o evento "NPC"
MM_EVENT_SAVEPOINT = "pousada" # Comentário para exibir o evento "POUSADA"
end
#--------------------------------------------------------------------------
# FIM DAS CONFIGURAÇÕES
#--------------------------------------------------------------------------
#==============================================================================
# Scene_Map
#------------------------------------------------------------------------------
# Classe das operações nos mapas.
#==============================================================================
class Scene_Map
include CONFIG
#--------------------------------------------------------------------------
# Lista de métodos aliasados
#--------------------------------------------------------------------------
@@pre_terminate_aliased = false
unless method_defined?(:amy_mm_main)
alias amy_mm_main main
alias amy_mm_update update
alias amy_mm_perform_battle_transition perform_battle_transition
if method_defined?(:pre_terminate)
alias amy_mm_pre_terminate pre_terminate
@@pre_terminate_aliased = true
end
end
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize
@corner = $game_variables[MM_CORNER_VAR]
end
#--------------------------------------------------------------------------
# Principal
#--------------------------------------------------------------------------
def main
@mini_map = Map_Event.new(@corner)
amy_mm_main
@mini_map.dispose
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
if $game_variables[MM_CORNER_VAR] != @corner
@corner = $game_variables[MM_CORNER_VAR]
@mini_map.corner = @corner
end
@mini_map.update
if $game_map.interpreter.running?
@mini_map.visible = false
elsif @mini_map.on?
@mini_map.visible = true
end
amy_mm_update
end
#--------------------------------------------------------------------------
# Transição
#--------------------------------------------------------------------------
def minimap_transfer
@mini_map.dispose
@mini_map = Map_Event.new(@corner)
end
#--------------------------------------------------------------------------
# Execução da transição de batalha
#--------------------------------------------------------------------------
def perform_battle_transition
@mini_map.visible = false
amy_mm_perform_battle_transition
end
#--------------------------------------------------------------------------
# Fim do processo
#--------------------------------------------------------------------------
def pre_terminate
@mini_map.visible = true
amy_mm_pre_terminate if @@pre_terminate_aliased
end
end
#==============================================================================
# Game_Player
#------------------------------------------------------------------------------
# Esta classe controla as informações do jogador. Entre elas: os veículos,
# os eventos (quando iniciá-los), o loop do mapa... etc.
# Pode ser acessada utilizando $game_player.
#==============================================================================
class Game_Player < Game_Character
unless method_defined?(:amy_mm_perform_transfer)
alias amy_mm_perform_transfer perform_transfer
end
#--------------------------------------------------------------------------
# Teletransportar
#--------------------------------------------------------------------------
def perform_transfer
amy_mm_perform_transfer
$scene.minimap_transfer
end
end
#==============================================================================
# Map_Base
#------------------------------------------------------------------------------
# Uma classe Base para mini mapas
#==============================================================================
class Map_Base < Sprite
include CONFIG
#--------------------------------------------------------------------------
# Constantes e Instâncias
#--------------------------------------------------------------------------
PMP_VERSION = 7
attr_reader :event
attr_reader :corner
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize(corner)
super(Viewport.new(16, 16, width, height))
viewport.z = 8000
@border = Sprite.new
@border.x = viewport.rect.x - 6
@border.y = viewport.rect.y - 6
@border.z = viewport.z - 1
@border.bitmap = Cache.picture(MM_MAP_BACK)
self.visible = on?
self.opacity = MM_OPACITY
@corner = -1
self.corner = corner
self.visible = on?
end
#--------------------------------------------------------------------------
# Corner
#--------------------------------------------------------------------------
def corner=(valor)
return if @corner == valor
@corner = valor.to_i
case @corner
when 2
self.x = 544 - width - 16
self.y = 16
when 3
self.x = 16
self.y = 416 - height - 16
when 4
self.x = 544 - width - 16
self.y = 416 - height - 16
else
self.x = 16
self.y = 16
end
end
#--------------------------------------------------------------------------
# dispose
#--------------------------------------------------------------------------
def dispose
@border.dispose
super
end
#--------------------------------------------------------------------------
# x=
#--------------------------------------------------------------------------
def x=(x)
self.viewport.rect.x = x
@border.x = x - 6
end
#--------------------------------------------------------------------------
# y=
#--------------------------------------------------------------------------
def y=(y)
self.viewport.rect.y = y
@border.y = y - 6
end
#--------------------------------------------------------------------------
# visible=
#--------------------------------------------------------------------------
def visible=(bool)
super
self.viewport.visible = bool
@border.visible = bool
end
#--------------------------------------------------------------------------
# minimap_on?
#--------------------------------------------------------------------------
def on?
return $game_switches[MM_ACTIVATED_ID]
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
super
self.visible = on?
if viewport.ox < display_x
viewport.ox += 1
elsif viewport.ox > display_x
viewport.ox -= 1
end
if viewport.oy < display_y
viewport.oy += 1
elsif viewport.oy > display_y
viewport.oy -= 1
end
end
#--------------------------------------------------------------------------
# largura
#--------------------------------------------------------------------------
def width
return 102
end
#--------------------------------------------------------------------------
# altura
#--------------------------------------------------------------------------
def height
return 78
end
#--------------------------------------------------------------------------
# display_x
#--------------------------------------------------------------------------
def display_x
return $game_map.display_x * 3 / 128
end
#--------------------------------------------------------------------------
# display_y
#--------------------------------------------------------------------------
def display_y
return $game_map.display_y * 3 / 128
end
end
#==============================================================================
# Map_Passability
#------------------------------------------------------------------------------
# Exibe o Mini-mapa
# Agradecimentos para Fanha Giang (aka fanha99) pelo método de exibir autotiles
#==============================================================================
class Map_Passability < Map_Base
include CONFIG
#--------------------------------------------------------------------------
# Constantes
#--------------------------------------------------------------------------
INDEX =
[
26, 27, 32, 33, 4, 27, 32, 33, 26, 5, 32, 33, 4, 5, 32, 33,
26, 27, 32, 11, 4, 27, 32, 11, 26, 5, 32, 11, 4, 5, 32, 11,
26, 27, 10, 33, 4, 27, 10, 33, 26, 5, 10, 33, 4, 5, 10, 33,
26, 27, 10, 11, 4, 27, 10, 11, 26, 5, 10, 11, 4, 5, 10, 11,
24, 25, 30, 31, 24, 5, 30, 31, 24, 25, 30, 11, 24, 5, 30, 11,
14, 15, 20, 21, 14, 15, 20, 11, 14, 15, 10, 21, 14, 15, 10, 11,
28, 29, 34, 35, 28, 29, 10, 35, 4, 29, 34, 35, 4, 29, 10, 35,
38, 39, 44, 45, 4, 39, 44, 45, 38, 5, 44, 45, 4, 5, 44, 45,
24, 29, 30, 35, 14, 15, 44, 45, 12, 13, 18, 19, 12, 13, 18, 11,
16, 17, 22, 23, 16, 17, 10, 23, 40, 41, 46, 47, 4, 41, 46, 47,
36, 37, 42, 43, 36, 5, 42, 43, 12, 17, 18, 23, 12, 13, 42, 43,
36, 41, 42, 47, 16, 17, 46, 47, 12, 17, 42, 47, 0, 1, 6, 7
]
X = [0, 1, 0, 1]
Y = [0, 0, 1, 1]
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize(corner)
super(corner)
@autotile = Cache.picture(MM_TILES)
setup()
end
#--------------------------------------------------------------------------
# setup
#--------------------------------------------------------------------------
def setup()
@map = load_data(sprintf("Data/Map%03d.rvdata", $game_map.map_id))
@passages = $data_system.passages
redefine_tiles
refresh
end
#--------------------------------------------------------------------------
# pass
#--------------------------------------------------------------------------
def pass(tile_id)
return 0xf if tile_id == nil
return @passages[tile_id] != nil ? @passages[tile_id] & 0xf : 15
end
#--------------------------------------------------------------------------
# passable
#--------------------------------------------------------------------------
def passable(tile_id, flag = 0x01)
pass = pass(tile_id)
return true if pass & flag == 0x00
return false if pass & flag == flag
return false
end
#--------------------------------------------------------------------------
# redefine_tile
#--------------------------------------------------------------------------
def redefine_tiles
width = @map.width
height = @map.height
map = RPG::Map.new(width, height)
map.data = @map.data.dup
for x in 0...width
for y in 0...height
for level in [1, 2]
id = @map.data[x, y, level]
if id != 0
@map.data[x, y, 0] = id
@passages[@map.data[x, y, 0]] = @passages[id]
end
end
end
end
for x in 0...width
for y in 0...height
for level in [0]
tile = @map.data[x, y, level]
u = @map.data[x, y-1, level]
l = @map.data[x-1, y, level]
r = @map.data[x+1, y, level]
d = @map.data[x, y+1, level]
if !passable(tile)
map.data[x, y] = 0
else
if tile == 0
map.data[x, y, level] = 0
next
end
if pass(tile) > 0
if !passable(u) and !passable(l) and !passable(r) and !passable(d)
map.data[x, y, level] = 0
elsif !passable(u) and !passable(l) and !passable(r) and passable(d)
map.data[x, y, level] = 90
elsif !passable(u) and !passable(l) and !passable(d) and passable(r)
map.data[x, y, level] = 91
elsif !passable(u) and !passable(r) and !passable(d) and passable(l)
map.data[x, y, level] = 93
elsif !passable(l) and !passable(r) and !passable(d) and passable(u)
map.data[x, y, level] = 92
elsif !passable(u) and !passable(d) and passable(r) and passable(l)
map.data[x, y, level] = 81
elsif !passable(u) and !passable(r) and passable(d) and passable(l)
map.data[x, y, level] = 84
elsif !passable(u) and !passable(l) and passable(d) and passable(r)
map.data[x, y, level] = 82
elsif !passable(d) and !passable(r) and passable(l) and passable(u)
map.data[x, y, level] = 86
elsif !passable(d) and !passable(l) and passable(r) and passable(u)
map.data[x, y, level] = 88
elsif !passable(r) and !passable(l) and passable(d) and passable(u)
map.data[x, y, level] = 80
elsif !passable(u) and passable(d) and passable(r) and passable(l)
map.data[x, y, level] = 68
elsif !passable(d) and passable(u) and passable(r) and passable(l)
map.data[x, y, level] = 76
elsif !passable(r) and passable(d) and passable(u) and passable(l)
map.data[x, y, level] = 72
elsif !passable(l) and passable(d) and passable(u) and passable(r)
map.data[x, y, level] = 64
else
map.data[x, y, level] = 48
end
else
map.data[x, y, level] = 0
end
end
end
end
end
@map = map.dup
map = nil
end
#--------------------------------------------------------------------------
# Atualização
#--------------------------------------------------------------------------
def refresh
self.visible = false
self.bitmap = Bitmap.new(@map.width * 6, @map.height * 6)
bitmap = Bitmap.new(@map.width * 6, @map.height * 6)
rect1 = Rect.new(6, 0, 6, 6)
for y in 0...@map.height
for x in 0...@map.width
for level in [0]
tile_id = @map.data[x, y, level]
next if tile_id == 0
id = tile_id / 48 - 1
tile_id %= 48
for g in 0..3
h = 4 * tile_id + g
y1 = INDEX[h] / 6
x1 = INDEX[h] % 6
rect2 = Rect.new(x1 * 3, y1 * 3, 3, 3)
bitmap.blt(x * 6 + X[g] * 3, y * 6 + Y[g] * 3, @autotile, rect2)
end
end
end
end
d_rect = Rect.new(0, 0, @map.width * 6, @map.height * 6)
s_rect = Rect.new(0, 0, bitmap.width, bitmap.height)
self.bitmap.stretch_blt(d_rect, bitmap, s_rect)
self.viewport.ox = display_x
self.viewport.oy = display_y
bitmap.clear
bitmap.dispose
end
end
#==============================================================================
# Map_Event
#------------------------------------------------------------------------------
# Exibe a posição do Héroi e dos Eventos no Mini-mapa
#==============================================================================
class Map_Event < Map_Passability
include CONFIG
#--------------------------------------------------------------------------
# Inicialização do objeto
#--------------------------------------------------------------------------
def initialize(corner = 4)
super(corner)
@dots = []
@player = Sprite.new(self.viewport)
@player.bitmap = Cache.picture(MM_CURSOR)
@player.src_rect = Rect.new(0, 0, 15, 15)
@player.z = self.z + 3
@events = {}
for key in $game_map.events.keys
event = $game_map.events[key]
next if event.list == nil
for i in 0...event.list.size
next if event.list[i].code != 108
@events[key] = Sprite.new(self.viewport)
@events[key].z = self.z + 2
param = event.list[i].parameters[0].downcase
if param.include?(MM_EVENT_OTHER)
@events[key].bitmap = Cache.picture(MM_OTHER)
elsif param.include?(MM_EVENT_ENEMY)
@events[key].bitmap = Cache.picture(MM_ENEMY)
elsif param.include?(MM_EVENT_TELEPORT)
@events[key].bitmap = Cache.picture(MM_TELEPORT)
elsif param.include?(MM_EVENT_CHEST)
@events[key].bitmap = Cache.picture(MM_CHEST)
elsif param.include?(MM_EVENT_NPC)
@events[key].bitmap = Cache.picture(MM_NPC)
elsif param.include?(MM_EVENT_SAVEPOINT)
@events[key].bitmap = Cache.picture(MM_SAVEPOINT)
end
end
end
end
#--------------------------------------------------------------------------
# dispose
#--------------------------------------------------------------------------
def dispose
@player.dispose
for event in @events.values
event.dispose
end
super
end
#--------------------------------------------------------------------------
# Atualização da tela
#--------------------------------------------------------------------------
def update
super
@player.x = $game_player.real_x * 3 / 128 - 5
@player.y = $game_player.real_y * 3 / 128 - 4
@player.src_rect.x = ($game_player.direction / 2 - 1) * 15
for key in @events.keys
event = @events[key]
mapevent = $game_map.events[key]
event.x = mapevent.real_x * 3 / 128
event.y = mapevent.real_y * 3 / 128
next if mapevent.list == nil
for list in mapevent.list
next if list.code != 108
param = list.parameters[0].downcase
if param.include?(MM_EVENT_OTHER)
event.bitmap = Cache.picture(MM_OTHER)
event.visible = true
break
elsif param.include?(MM_EVENT_ENEMY)
event.bitmap = Cache.picture(MM_ENEMY)
event.visible = true
break
elsif param.include?(MM_EVENT_TELEPORT)
event.bitmap = Cache.picture(MM_TELEPORT)
event.visible = true
break
elsif param.include?(MM_EVENT_CHEST)
event.bitmap = Cache.picture(MM_CHEST)
event.visible = true
break
elsif param.include?(MM_EVENT_NPC)
event.bitmap = Cache.picture(MM_NPC)
event.visible = true
break
elsif param.include?(MM_EVENT_SAVEPOINT)
event.bitmap = Cache.picture(MM_SAVEPOINT)
event.visible = true
break
else
event.visible = false
end
end
end
end
end
#==============================================================================
Pomogła: 232 razy Dołączyła: 18 Wrz 2007 Posty: 2424
Wysłany: Pią 19 Lis, 2010 14:04
Co jakiś czas czytając tego typu prośby dochodzę do wniosku, że nie szanuje się naszego czasu, a użytkownik chyba celowo wystawia naszą cierpliwość na próbę. Z miłą chęcią zignorowałabym multi-prośby podobne do powyższych... tak też właśnie robię
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