Войти на сайт
×
Правила раздела:
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
1 Задавайте конкретные вопросы. Для болтовни есть свободный раздел.
2 По возможности давайте конкретные ответы.
3 Один вопрос=одна тема. Если хотите задать ещё вопрос, то начинайте новую тему.
4 Название темы должно составлять сам вопрос, и быть максимально конкретным. Рекомендуется начинать тему словами "Как", "Что", "Почему". А первый пост повторяет вопрос и даёт расширенные сведения.
5 Рекомендуется указывать версию мейкера (2000, 2003, RMXP, RMVX, ACE, IGM, и.т.д.. Это важно, и всё равно ведь спросят.
6 Темы "Пара вопросов", "Помогите", и подобные им - самый лёгкий путь к бану.
7 Поиск находится вверху справа.
А. Названия подразделов этого раздела уточняются. Советы принимаются.
ТЕМА: Скрипт для замены значения переменной в классе
Скрипт для замены значения переменной в классе 10 года 4 мес. назад #75820
|
Мне нужен скрипт который позволит через событие - Выполнить скрипт заменить значение переменной в любом классе. На данный момент меня лишь интересует через событие в этом скрипте
Cкрипт [ Нажмите, чтобы развернуть ][ Нажмите, чтобы скрыть ] #==============================================================================#
# **SheolShade Minimap** #
#------------------------------------------------------------------------------#
# ** Autor: SheolShade #
# ** Versão: 1.5b #
# ** Data: 24/12/2012 #
#------------------------------------------------------------------------------#
# - Descrição: #
# Este script adiciona um mini mapa circular no jogo. #
# - Utilização: #
# Cole este script na seção "Scripts Adicionais". #
#==============================================================================#
# - Histórico #
# 24/12/2012 - Início e término da versão 1.0b #
# 04/03/2013 - Versão 1.5b Correção de bugs e adição de novas funções. #
# * Correção de um bug em que não verificava corretamente o #
# de determinados tiles. #
# * Correção de um bug em que tiles de grama (bush) eram #
# apresentados como bloqueio. #
# * Correção de um bug em que tiles de bloqueio posicionados #
# sobre tiles de grama era mrepresentados como passáveis. #
# * Código melhorado. #
# + Adicionado a função de mostrar os veiculos. #
# + Adicionado a função de mostrar os seguidores. #
# + Adicionado a função para utilizar IDs de Região para #
# ocultar áreas passáveis. #
#------------------------------------------------------------------------------#
module SheolShade
module MiniMap
#--------------------------------------------------------------------------#
# CONFIGURAÇÂO #
#--------------------------------------------------------------------------#
#Tamanho do tile do mini mapa, recomendável não usar valores menores que 3.
TileSize = 8
#--------------------------------------------------------------------------#
#Ajuste do centralizamento do mini mapa, depende do tamanho do tile.
MapOffset = -4
#--------------------------------------------------------------------------#
#Define a cor do jogador no mapa.
PlayerColor = Color.new(255,0,0)
#--------------------------------------------------------------------------#
#Mostra os seguidores.
ShowFollowers = true
#--------------------------------------------------------------------------#
#Define a cor dos seguidores no mapa.
FollowerColor = Color.new(0,128,255)
#--------------------------------------------------------------------------#
#Define se irá mostrar os veiculos no map.
ShowVehicles = true
#--------------------------------------------------------------------------#
#Define a cor do barco.
BoatColor = Color.new(255,0,255)
#--------------------------------------------------------------------------#
#Define a cor do navio.
ShipColor = Color.new(255,0,255)
#--------------------------------------------------------------------------#
#Define a cor do aeronave.
AirshipColor = Color.new(255,0,255)
#--------------------------------------------------------------------------#
#Define a cor dos objetos mostrados no mapa.
#Objetos são NPCs, portas, teleportes, baús e o que mais o usuário puder
#imaginar.
#Para adicionar um novo objeto use a seguinte sintaxe dentro das {}:
# "tag" => Color.new(R,G,B,A)
#Onde tag é o comentário que será adiocinado a tal evento.
#Separe cada objeto por "," sem as aspas.
ObjectColor = {"npc" => Color.new(0,255,0),
"teleport" => Color.new(150,50,50),
"chest" => Color.new(100,100,100)}
#--------------------------------------------------------------------------#
#Define a cor de contorno dos objetos e do jogador.
BorderColor = Color.new(0,0,0)
#--------------------------------------------------------------------------#
#Opacidade dos objetos mostrados no mapa.
ObjectLayerOpacity = 255
#--------------------------------------------------------------------------#
#Posição do mapa na tela.
#1 = левый верхний угол
#2 = правый верхний угол
#3 = левый нижний угол
#4 = правый нижний угол
MiniMapCorner = 2
#--------------------------------------------------------------------------#
#Define se determinada região mostrará como bloqueada no mini mapa.
#Util pra não revelar "passagens secretas".
UseHideRegion = true
#--------------------------------------------------------------------------#
#Id da região caso UseHideRegion for true.
HideRegionId = 1
#--------------------------------------------------------------------------#
#Cor do da área impassável do mapa.
MapColor = Color.new(200,150,150)
#--------------------------------------------------------------------------#
#Cor do contorno da área impassável do mapa.
MapBorderColor = Color.new(50,50,50)
#--------------------------------------------------------------------------#
#Nome do arquivo de imagem da borda do mini mapa na pasta Graphics/System.
BorderName = "Border"
#--------------------------------------------------------------------------#
#Define se irá utilizar uam textura ao fundo.
UseBGTexture = true
#--------------------------------------------------------------------------#
#Nome do arquivo de imagem da textura usada ao
#fundo do mini mapa na pasta Graphics/System.
#Obs.: A imagem deve estar com as cores invertidas.
BackTextureName = "OldPaper"
#--------------------------------------------------------------------------#
#Cor de preenchimento do fundo caso nã oseja utilizado uma textura.
BGColor = Color.new( 100, 100, 100)
#--------------------------------------------------------------------------#
#Opção de preencher com uma cor a área externa do mapa.
ClearOutsideArea = false
#--------------------------------------------------------------------------#
#Cor utilizada para preencher a área externa do mapa.
ClearOutsideColor = Color.new(0,0,0)
#--------------------------------------------------------------------------#
#Opção de dermarcar os limites do mapa.
OutlineMapArea = true
#--------------------------------------------------------------------------#
#Cor da demarcação dos limites do mapa.
OutlineMapColor = Color.new(0,0,0)
#--------------------------------------------------------------------------#
#Id do switch que habilida/desabilita o mini mapa.
EnableSwitchId = 7
#--------------------------------------------------------------------------#
# FIM DA CONFIGURAÇÂO. #
#--------------------------------------------------------------------------#
MiniMapCoords = {1 => [0,0,112,112],
2 => [Graphics.width - 112,0,112,112],
3 => [0,Graphics.height - 112,112,112],
4 => [Graphics.width - 112,Graphics.height - 112,112,112]}
Switch = 2
Show_Key = :Z
end
end
#==============================================================================#
# ** Classe Color
#==============================================================================#
class Color
#-----------------------------------------------------------------------------
# * Inverte o valor das cores
#-----------------------------------------------------------------------------
def invert
r = 255 - self.red
g = 255 - self.green
b = 255 - self.blue
a = self.alpha
self.set(r, g, b, a)
end
end
#==============================================================================#
# ** Classe Mini Map
#==============================================================================#
class MiniMap
include SheolShade::MiniMap
def initialize(viewport)
@viewport = viewport
@playercolor = PlayerColor.dup.invert
@followercolor = FollowerColor.dup.invert
@boatcolor = BoatColor.dup.invert
@shipcolor = ShipColor.dup.invert
@airshipcolor = AirshipColor.dup.invert
@objectcolor = ObjectColor.dup
@objectcolor.each_pair do |key, value|
@objectcolor[key] = value.dup.invert
end
@bordercolor = BorderColor.dup.invert
@mapcolor = MapColor.dup.invert
@mapbordercolor = MapBorderColor.dup.invert
@clearoutsidecolor = ClearOutsideColor.dup.invert
@outlinemapcolor = OutlineMapColor.dup.invert
refresh
end
def refresh
@map_id = $game_map.map_id
@backmask = Sprite.new(@viewport)
@backmask.bitmap = Cache::system("Back_96")
@backmask.x = @backmask.y = 8
@backtile = Sprite.new(@viewport)
@backtile.blend_type = 2
@backtile.z = 1
@backtile.x = @backtile.y = -100
@map = Sprite.new(@viewport)
@map.z = 2
@map.blend_type = 2
@object_layer = Sprite.new(@viewport)
@object_layer.z = 3
@object_layer.blend_type = 2
@object_layer.bitmap = Bitmap.new($game_map.width*TileSize + 112,
$game_map.height*TileSize + 112)
@object_layer.opacity = ObjectLayerOpacity
@border = Sprite.new(@viewport)
@border.bitmap = Cache::system(BorderName)
@border.z = 4
@border.opacity = 255
@mask = Cache::system("Mask")
draw_back
draw_map
end
def visible?
$game_switches[EnableSwitchId]
end
def draw_map
front = make_map_bitmap(@mapcolor)
border = make_map_bitmap(@mapbordercolor)
result = Bitmap.new($game_map.width*TileSize + 112,
$game_map.height*TileSize+ 112)
result.blt(-1, 0, border, border.rect)
result.blt(1, 0, border, border.rect)
result.blt(0, -1, border, border.rect)
result.blt(0, 1, border, border.rect)
result.blt(0, 0, front, front.rect)
@mapbitmap = result
end
def draw_back
bitmap = Bitmap.new($game_map.width*TileSize+112,
$game_map.height*TileSize+112)
if UseBGTexture
bit = Cache::system(BackTextureName)
bitmap.stretch_blt(bitmap.rect, bit, bit.rect)
else
bitmap.fill_rect(bitmap.rect, BGColor)
end
if ClearOutsideArea
bitmap.fill_rect(0,0,bitmap.width, 56, @clearoutsidecolor)
bitmap.fill_rect(0,0,56, bitmap.height, @clearoutsidecolor)
bitmap.fill_rect(0,bitmap.height-56,bitmap.width, 56, @clearoutsidecolor)
bitmap.fill_rect(bitmap.width-56,0,56, bitmap.height, @clearoutsidecolor)
elsif OutlineMapArea
bitmap.fill_rect(56,55,bitmap.width-112,1,@outlinemapcolor)
bitmap.fill_rect(55,56,1,bitmap.height-112,@outlinemapcolor)
bitmap.fill_rect(bitmap.width-56,55,1,bitmap.height-112,@outlinemapcolor)
bitmap.fill_rect(56,bitmap.height-56,bitmap.width-112,1,@outlinemapcolor)
end
@backtilebitmap = bitmap
end
def draw_object_layer
for event in $game_map.events.keys
if $game_map.events[event].list.size >= 0
for item in $game_map.events[event].list
if item.code == 108 or item.code == 408
if @objectcolor.has_key?(item.parameters[0])
draw_object($game_map.events[event].real_x*TileSize+56,
$game_map.events[event].real_y*TileSize+56,
@objectcolor[item.parameters[0]])
end
end
end
end
end
if ShowFollowers
unless $game_player.vehicle
$game_player.followers.each do |follower|
draw_object(follower.real_x*TileSize+56,
follower.real_y*TileSize+56,
@followercolor) if follower.visible?
end
end
end
if ShowVehicles
unless $game_map.airship.transparent
draw_object($game_map.airship.real_x*TileSize+56,
$game_map.airship.real_y*TileSize+56,
@airshipcolor)
end
unless $game_map.ship.transparent
draw_object($game_map.ship.real_x*TileSize+56,
$game_map.ship.real_y*TileSize+56,
@shipcolor)
end
unless $game_map.boat.transparent
draw_object($game_map.boat.real_x*TileSize+56,
$game_map.boat.real_y*TileSize+56,
@boatcolor)
end
end
draw_object($game_player.real_x*TileSize+56,
$game_player.real_y*TileSize+56,
@playercolor)
end
def draw_object(x, y, color)
@object_layer.bitmap.fill_rect(x, y, TileSize, TileSize, @bordercolor)
@object_layer.bitmap.fill_rect(x+1, y+1, TileSize-2, TileSize-2, color)
@object_layer.bitmap.clear_rect(x,y,1,1)
@object_layer.bitmap.clear_rect(x,y+TileSize-1,1,1)
@object_layer.bitmap.clear_rect(x+TileSize-1,y,1,1)
@object_layer.bitmap.clear_rect(x+TileSize-1,y+TileSize-1,1,1)
end
def make_map_bitmap(color)
bitmap = Bitmap.new($game_map.width*TileSize + 112,
$game_map.height*TileSize + 112)
for x in 0..$game_map.width - 1
for y in 0..$game_map.height - 1
if $game_map.airship_land_ok?(x, y) || $game_map.bush?(x, y)
if UseHideRegion
bitmap.fill_rect(x*TileSize+56,
y*TileSize+56,
TileSize, TileSize,
color) if $game_map.region_id(x, y) == HideRegionId
else
next
end
if $game_map.bush?(x, y)
unless $game_map.passable?(x, y, 4)
bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
end
end
next
end
bitmap.fill_rect(x*TileSize+56, y*TileSize+56, TileSize, TileSize, color)
end
end
bitmap
end
def update_object_layer
@object_layer.bitmap.clear
draw_object_layer
end
def dispose
@backmask.dispose
@backtile.dispose
@map.dispose
@object_layer.dispose
@border.dispose
end
def update
if @map_id != $game_map.map_id
dispose
@map_id = $game_map.map_id
refresh
end
@backmask.visible = visible?
@backtile.visible = visible?
@map.visible = visible?
@object_layer.visible = visible?
@border.visible = visible?
if visible?
@map.bitmap = @mapbitmap.dup
@backtile.bitmap = @backtilebitmap.dup
sx = $game_player.real_x * (TileSize * -1) + MapOffset
sy = $game_player.real_y * (TileSize * -1) + MapOffset
update_object_layer
@map.x = @backtile.x = @object_layer.x = sx
@map.y = @backtile.y = @object_layer.y = sy
@backtile.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
@map.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
@object_layer.bitmap.blt(sx*-1, sy*-1,@mask,@mask.rect)
end
end
end
#==============================================================================#
# ** Classe Spriteset_Map
#==============================================================================#
class Spriteset_Map
alias sheol_mini_map_init initialize
alias sheol_mini_map_updt update
alias sheol_mini_map_disp dispose
include SheolShade::MiniMap
def initialize
create_minimap
sheol_mini_map_init
end
def create_minimap
viewport = Viewport.new(Graphics.width - 112,0,112,112)
viewport.rect.set(MiniMapCoords[MiniMapCorner][0],
MiniMapCoords[MiniMapCorner][1],
MiniMapCoords[MiniMapCorner][2],
MiniMapCoords[MiniMapCorner][3])
viewport.z = 500
@minimapa = MiniMap.new(viewport)
end
def dispose
sheol_mini_map_disp
@minimapa.dispose
end
def update
sheol_mini_map_updt
@minimapa.update
end
end
#==============================================================================#
# ** Fim do Script
#==============================================================================# Заменить значение переменной BorderName Это позволит менять оболочку радара и собственно говоря объединить радар и полоску HP в 1 целое |
Мой id вк: al1710
Мой EMail: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.
Последнее редактирование: 10 года 4 мес. назад от Alexandr7.
Администратор запретил публиковать записи гостям.
|
Скрипт для замены значения переменной в классе 10 года 4 мес. назад #75827
|
Для данного скрипта вызови скрипт:
SheolShade::MiniMap::BorderName="НАПИШИ СЮДА ТЕКСТ" Для замены переменных вообще в любом классе - тебе нужен очень высокий скилл программирования ^_^ (все благодаря инкапсуляции, для обхода которой нужны либо знания, либо долгое и нудное прописывание attr_accessor на каждый чих) |
Последнее редактирование: 10 года 4 мес. назад от DeadElf79.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: MaltonTheWarrior
|
Время создания страницы: 0.219 секунд