UltimaForum

Wsparcie [XP] - Pytania i Odpowiedzi

Angius - Nie 16 Paź, 2011 11:16
Temat postu: Pytania i Odpowiedzi
Ten temat, również inspirowany pewną propozycją.

W założeniu mają się tu pojawiać krótkie pytania niegodne osobnych tematów, a także odpowiedzi nań. Ot, taka samopomoc chłopska ;-)

Zasady:
- Pytamy tutaj o banały, problemy początkujących, etc.
- Banalne pytania będą tu przenoszone.

Ot i wsio. No, jeszcze może dodam przykłady banalnych pytań:
Cytat:
Gdzie wrzucić charsety?
Jak wstawić zdarzenie?
Polećcie jakiś dobry skrypt na...
Gdzie znajdę fajne materiały?
Jak mam zakodować grę?

Odpowiedzi udzielamy słownie lub w formie linku do posta z rozwiązaniem.

Zaczynamy! :ahoy:

Nexis - Nie 16 Paź, 2011 11:57

To może ja zacznę ;-) .
Mam problem, bo kiedyś zmieniłem w skryptach domyślny kolor czcionki w grze, a teraz
zupełnie zapomniałem gdzie się go zmieniało. Mam nowego windowskina do którego
bardziej pasuję biały, niż zielony :lol: . Prosiłbym o odpowiedź.

Pozdrawiam.

Angius - Nie 16 Paź, 2011 11:59

Najprościej kolor czcionki można zmienić zmieniając kolor odpowiedniej kratki na palecie windowskina. Jeśli nie, to poszukaj w window_base.
Melvin - Nie 16 Paź, 2011 12:01

Podstawowy kolor:
Kod:
self.contents.font.color = normal_color


Własny:
Kod:
self.contents.font.color = Color.new(R, G, B, T)

R - Czerwony
G - Zielony
B - Niebieski
T - Ton

Nexis - Nie 16 Paź, 2011 12:02

Dzięki, znalazłem w window_base. :jupi:

Pozdrawiam

wojtas025c - Czw 26 Sty, 2012 04:12

Moje pytanko to jak ogarnac titlesety :D

Pusto tu

spartanPAGE - Sob 25 Lut, 2012 20:16

1. jak wyświetlić hp przeciwnika w ,,naturalnym" systemie walki? Serio nie wiem :omgomg: . całą przygode z makerem to na abs :boogie:


_________________----------------___________



2. Nie widać batterback podczas gty. Wiecie czemu? podczas testowania walki w edytorze, normalnie dziala

Feniks - Sob 25 Lut, 2012 21:15

1. Musisz użyć innego systemu walki. Polecam Asan Tear Battle System. Działa tak samo, ale ma kilka dodatków jak wyświetlanie życia wrogów.

2. A ustawiłeś w bazie danych na danym tilesecie? Bo tam trzeba.

Avara - Sro 06 Lut, 2013 21:44

Temat otwieram, by można było zadawać w nim jakieś drobne pytania :aww:
TheeBaggio - Czw 07 Lut, 2013 17:59

Jak zrobi zeby np.: byla animowana fontanna lub ognisko?
Feniks - Czw 07 Lut, 2013 18:10

zaznacz w zdarzeniu z ogniem - move i stop animation.
TheeBaggio - Czw 07 Lut, 2013 19:11

Feniks napisał/a:
zaznacz w zdarzeniu z ogniem - move i stop animation.


ale to musze jakis specjalny tilset miec?

SaE - Czw 07 Lut, 2013 19:12

Nie tileset, tylko character. Musisz mieć chara, który ma klatki animacji. Ustawiasz go jako grafikę zdarzenia... dalej jak napisał Feniks.
bezi3 - Pią 08 Mar, 2013 18:39

Witam mam problem nie mogę uruchomić Rpg makera xp.
gdy próbuję uruchomić piszę Rpg maker przestał działać

Nex - Pią 08 Mar, 2013 18:43

spróbuj go jeszcze raz zainstalować
bezi3 - Pią 08 Mar, 2013 18:46

Próbowałem już kilka razy
Wodecki - Pią 08 Mar, 2013 19:00

wejdź w start -> uruchom : gpedit.msc
Następnie przejdź do Szablony Administracyjne -> Składniki systemu Windows i wyłącz tam (klikając na właściwości ) :
- Raportowanie błędów
- Wyświetlanie powiadomień błędów
- Zapobiegaj wyświetlaniu interfejsu....

bezi3 - Pią 08 Mar, 2013 19:53

jak wchodzę w gpedit mam tylko do wyboru ustawienia oprogramowania i ustawienia systemu windows
Trzynasty - Sob 16 Mar, 2013 22:03

Siemanko, mam prośbę.
Mam HUD i Minimap, ale ta moja mapka mi zasłania HUD'a co mam zrobić, aby przesunąć mapke ?
Spoiler:

class Scene_Map
alias main_passminimap main
alias update_passminimap update
alias transfer_passminimap transfer_player
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize
@corner = 4 # 1 or 2 or 3 or 4
end
#--------------------------------------------------------------------------
# ● main
#--------------------------------------------------------------------------
def main
@mini_map = Map_Event.new(@corner)
main_passminimap
@mini_map.dispose
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
@mini_map.update
if $game_system.map_interpreter.running?
@mini_map.visible = true
elsif not $game_system.map_interpreter.running? and @mini_map
@mini_map.visible = true
end
update_passminimap
end
#--------------------------------------------------------------------------
# ● transfer_player
#--------------------------------------------------------------------------
def transfer_player
transfer_passminimap
@mini_map.dispose
@mini_map = Map_Event.new(@corner)
end
end

#==============================================================================
# ■ Map_Base
#------------------------------------------------------------------------------
#  Base class for mini maps
#==============================================================================

class Map_Base < Sprite
#--------------------------------------------------------------------------
# ● constants and instances
#--------------------------------------------------------------------------
PMP_VERSION = 6
ACTIVATED_ID = true
attr_reader :event
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(corner)
super(Viewport.new(16, 16, width, height))
viewport.z = 8000
#---
@ramka = Sprite.new
@ramka.x = viewport.rect.x - 6
@ramka.y = viewport.rect.y - 6
@ramka.z = viewport.z - 1
@ramka.bitmap = RPG::Cache.picture("Mini-Map HUD")
#---
@border = Sprite.new
@border.x = viewport.rect.x - 6
@border.y = viewport.rect.y - 6
@border.z = viewport.z - 1
@border.bitmap = RPG::Cache.picture("mapback")
self.visible = true
self.opacity = 180
case corner
when 1
self.x = 16
self.y = 16
when 2
self.x = 640 - width - 16
self.y = 16
when 3
self.x = 16
self.y = 480 - height - 16
when 4
self.x = 640 - width - 5
self.y = 480 - height - 5
else
self.x = 16
self.y = 16
end
self.visible = true
end
#--------------------------------------------------------------------------
# ● dispose
#--------------------------------------------------------------------------
def dispose
@border.dispose
@ramka.dispose
super
end
#--------------------------------------------------------------------------
# ● x=
#--------------------------------------------------------------------------
def x=(x)
self.viewport.rect.x = x
@border.x = x - 6
@ramka.x = x - 11
end
#--------------------------------------------------------------------------
# ● y=
#--------------------------------------------------------------------------
def y=(y)
self.viewport.rect.y = y
@border.y = y - 6
@ramka.y = y - 12
end
#--------------------------------------------------------------------------
# ● visible=
#--------------------------------------------------------------------------
def visible=(bool)
super
self.viewport.visible = bool
@border.visible = bool
end

def update
super
self.visible = true

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
#--------------------------------------------------------------------------
# ● width
#--------------------------------------------------------------------------
def width
return 120
end
#--------------------------------------------------------------------------
# ● height
#--------------------------------------------------------------------------
def height
return 90
end
#--------------------------------------------------------------------------
# ● display_x
#--------------------------------------------------------------------------
def display_x
return $game_map.display_x * 3 / 64
end
#--------------------------------------------------------------------------
# ● display_y
#--------------------------------------------------------------------------
def display_y
return $game_map.display_y * 3 / 64
end
end

#==============================================================================
# ■ Map_Passability
#------------------------------------------------------------------------------
# draws the mini map
#
#  thanks to Fanha Giang (aka fanha99) for the autotile drawing method
#==============================================================================

class Map_Passability < Map_Base
#--------------------------------------------------------------------------
# ● constants
#--------------------------------------------------------------------------
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]
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(corner)
super(corner)
@autotile = RPG::Cache.picture("minimap_tiles")
setup()
end
#--------------------------------------------------------------------------
# ● setup
#--------------------------------------------------------------------------
def setup()
@map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id))
tileset = $data_tilesets[@map.tileset_id]
@passages = tileset.passages
@priorities = tileset.priorities
redefine_tiles
refresh
end
#--------------------------------------------------------------------------
# ● pass
#--------------------------------------------------------------------------
def pass(tile_id)
return 15 if tile_id == nil
return @passages[tile_id] != nil ? @passages[tile_id] : 15
end
#--------------------------------------------------------------------------
# ● passable
#--------------------------------------------------------------------------
def passable(tile_id)
return pass(tile_id) < 15
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 and @priorities[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) < 15
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
#--------------------------------------------------------------------------
# ● refresh
#--------------------------------------------------------------------------
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
#------------------------------------------------------------------------------
#  draw the events and hero position
#==============================================================================

class Map_Event < Map_Passability
#--------------------------------------------------------------------------
# ● initialize
#--------------------------------------------------------------------------
def initialize(corner = 4)
super(corner)
@dots = []
@player = Sprite.new(self.viewport)
@player.bitmap = RPG::Cache.picture("mm cursors")
@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
if event.list[i].parameters[0].include?("event")
@events[key].bitmap = RPG::Cache.picture("event")
elsif event.list[i].parameters[0].include?("enemy")
@events[key].bitmap = RPG::Cache.picture("enemy")
elsif event.list[i].parameters[0].include?("teleport")
@events[key].bitmap = RPG::Cache.picture("teleport")
elsif event.list[i].parameters[0].include?("chest")
@events[key].bitmap = RPG::Cache.picture("chest")
elsif event.list[i].parameters[0].include?("npc")
@events[key].bitmap = RPG::Cache.picture("npc")
elsif event.list[i].parameters[0].include?("savepoint")
@events[key].bitmap = RPG::Cache.picture("savepoint")
end
end
end
end
#--------------------------------------------------------------------------
# ● dispose
#--------------------------------------------------------------------------
def dispose
@player.dispose
for event in @events.values
event.dispose
end
super
end
#--------------------------------------------------------------------------
# ● update
#--------------------------------------------------------------------------
def update
super
@player.x = $game_player.real_x * 3 / 64 - 5
@player.y = $game_player.real_y * 3 / 64 - 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 / 64
event.y = mapevent.real_y * 3 / 64
end
end
end


shiwt - Sob 16 Mar, 2013 22:36

9 linijka
@corner = 4
corner to jest róg, więc zmień 4 na 1,2 albo 3 to będzie w innym rogu.


Powered by phpBB modified by Przemo © 2003 phpBB Group