• Login

Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

1

Tuesday, October 28th 2014, 11:48pm

Action Description für den RPG Maker XP und RPG Maker VX und VX Ace

Ich hatte mal ein Skript geschrieben, das für ActionEvents es ermöglicht eine kurze Beschreibung der auszuführenden Aktion (über den Events) anzuzeigen.
Das ganze habe ich für den RMXP und RMVX Ace geschrieben, auf Wünsche hin erweitert und dies soll hier auch veröffentlicht werden. Aber die Ace Version will ich vorher nochmal überarbeiten und im Umfang an die RMXP Version anpassen.

Wenn es wünsche gibt immer her damit. :) Wer freundlich fragt kriegt vermutlich auch schnell eine Erweiterung serviert.

Quellcode


Für den RPG Maker XP :rmxp:
Spoiler: Source

Bitte die geänderten Nutzungsbedingungen beachten. Diese Nutzungsbedingung gilt auch für vorherige Skriptversionen. Die CC-Lizenz wurde zum 31.12.2014 widerrufen. Näheres auf meiner Profilseite.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
#==============================================================================
#  Action Description Skript (Version 1.3)
#------------------------------------------------------------------------------
#  Erlaubt es für Events mit dem Aktiostasten-Trigger, die zu erwartende
#  Aktion am unteren linken Bildschirmrand anzuzeigen.
#  Schreibt dazu in so ein Event einfach in ein Kommentar:
#    <actn_desc text="Beschreibung der Aktion"/>
#  Für den Text gelten folgende Steuerzeichen:
#  + Ihr könnt wie in den Textboxen \C[n] benutzen, um die Farbe anzupassen.
#  + Weiterhin wird \I[001-Weapon01] durch den Icon mit diesem Namen ersetzt
#    ihr könnt in eckigen Klammern beliebiges schreiben und das Skript sucht
#    dann den Icon raus.
#  + Aus Kompatiblität wird [[ im Fließtext durch [ ersetzt. Diese Funktion
#    ist aber veraltet und wird in späteren Versionen nichtmehr unterstützt
#    werden.
#  + Falls ihr auch mal einen anderen Helden auf die Map setzt wird nun auch
#    \N[n] unterstützt, welches euch wie bei ShowText den Namen des Helden n
#    zurückliefert.
#  + Wenn euer Held etwas Bargeld finden soll ist auch hier eine Hilfe dabei
#    mit \G wird euch der Name der Währung angezeigt - so kann man problemlos
#    ein paar Geldstücke auf den Boden legen ohne sich sorgen zu müssen.
#------------------------------------------------------------------------------
# Autor:  Playm
# Datum:  September 2014 (Version 1.2)
#         März 2015      (Version 1.3)
# Maker:  RPG Maker XP
# Einfache Nutzung in nicht-kommerziellen  RMXP  Projekten ist gestattet.
# Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
# Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Sprite_Actiondescription
#------------------------------------------------------------------------------
#  Display Action Descriptions on Map Screen
#==============================================================================
class Sprite_Actiondescription < Sprite
  #--------------------------------------------------------------------------
  # * Object Initisliation
  #--------------------------------------------------------------------------
  def initialize(viewport)
    super(viewport)
    self.bitmap = Bitmap.new(640,32)
    self.y = 480 - 32
    @event = nil
 
    @phase = :idle
    self.opacity = 0
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    action_event_in_front = $game_player.get_action_event_in_front
    if @event != action_event_in_front
      @event = action_event_in_front
      @phase = @event.nil? ? :disappearing : :appearing
      refresh
    end
    update_phase
  end
  #--------------------------------------------------------------------------
  # * Update Appearing or Disappearing Process
  #--------------------------------------------------------------------------
  def update_phase
    case @phase
      when :appearing    then self.opacity += 50
      when :disappearing then self.opacity -= 50
    end
    @phase = :idle if self.opacity.zero? or self.opacity == 255
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    return if @event.nil?
    self.bitmap.clear
    template = /<actn_desc\s+text\s*=\s*\"([^\"]+)\"\s*\/>/m
    template.match( @event.page_comments.join("\n") )
    draw_rich_text( $1.nil? ? "" : $1 )
  end
  #--------------------------------------------------------------------------
  # * Draw Text with Colors, Icons, Variablevalues and Actornames
  #--------------------------------------------------------------------------
  def draw_rich_text( text )
    x = 4
    begin
      last_text = text.clone
      text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    end until text == last_text
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    text.gsub!(/\[\[/) { "\002" }
    text.gsub!(/\\G/) { $data_system.words.gold }
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) do
      $game_actors[$1.to_i] ? $game_actors[$1.to_i].name : ""
    end
    text.gsub!(/\\[Ii]\[([^\]]+)\]/) { "\003[#{$1}]" }
    while ((c = text.slice!(/./m)) != nil)
      if c == "\001" # If color change \C[n]
        text.sub!(/\[([0-9]+)\]/, "")
        color_index = $1.to_i
        if color_index >= 0 and color_index <= 7
          self.bitmap.font.color = text_color(color_index)
        end
        next
      end
      if c == "\002" # Placeholder for [[
        c = "[["
      end
      if c == "\003" # Icon
        text.sub!(/\[([^\]]+)\]/, "")
        icon_name = $1
        icon = RPG::Cache.icon(icon_name)
        self.bitmap.blt( x + 4, 4, icon, Rect.new(0,0,24,24) )
        x += 32
        next
      end
      if c == "\n" # Zeilenumbruch
        next
      end
      draw_char_shadow( x, 0, c )
      self.bitmap.draw_text( x, 0, 40, 32, c)
      x += self.bitmap.text_size(c).width
    end
  end
  #--------------------------------------------------------------------------
  # * Draw one Character as shadow
  #--------------------------------------------------------------------------
  def draw_char_shadow( x, y, char )
    remember_color = self.bitmap.font.color.dup
    self.bitmap.font.color = text_color(-1)
    self.bitmap.draw_text( x + 2, y + 2, 32, 32, char)
    self.bitmap.font.color = remember_color
  end
  #--------------------------------------------------------------------------
  # * Get Text Color
  #     n : text color number (0-7)
  #--------------------------------------------------------------------------
  def text_color(n)
    case n
    when -1
      return Color.new(  0,   0,   0, 128)
    when 0
      return Color.new(255, 255, 255, 255)
    when 1
      return Color.new(128, 128, 255, 255)
    when 2
      return Color.new(255, 128, 128, 255)
    when 3
      return Color.new(128, 255, 128, 255)
    when 4
      return Color.new(128, 255, 255, 255)
    when 5
      return Color.new(255, 128, 255, 255)
    when 6
      return Color.new(255, 255, 128, 255)
    when 7
      return Color.new(192, 192, 192, 255)
    end
  end
  #--------------------------------------------------------------------------
  # * Dispose Sprite
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    super
  end
end
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  Die Kommentare auf der aktuellen Eventseite werden gesammelt und als
#  page_comments String-Array öffentlich gemacht.
#==============================================================================
class Game_Event
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_refresh_wo_actndesc, :refresh )
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    old_page = @page
    org_refresh_wo_actndesc
    refresh_comments if old_page != @page
  end
  #--------------------------------------------------------------------------
  # * Refresh Comments List
  #--------------------------------------------------------------------------
  def refresh_comments
    @page_comments = []
    return if @list.nil?
    index = 0
    for command in @list
      if command.code == 108
        @page_comments[index] = command.parameters[0]
        index += 1
      elsif command.code == 408
        @page_comments[index - 1] += "\n" + command.parameters[0]
      end
    end
    return !@page_comments.empty?
  end
  #--------------------------------------------------------------------------
  # * Attr
  #--------------------------------------------------------------------------
  attr_reader :page_comments
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  Man kann abfragen welches Event vor dem Helden steht, das per Action Button
#  getriggert wird.
#==============================================================================
class Game_Player
  #--------------------------------------------------------------------------
  # * Get Action Button Event in Front
  #--------------------------------------------------------------------------
  def get_action_event_in_front
    # No Description if event is running
    return nil if $game_system.map_interpreter.running?
    # Rückgabe
    event_in_front = nil
    # Calculate front event coordinates
    f_x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
    f_y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
    # All event loops
    for ev in $game_map.events.values
      next if ev.trigger.nil?
      event_in_front = ev if ev.x == f_x and ev.y == f_y and ev.trigger.zero?
    end
    # If fitting event is not found
    if event_in_front.nil?
      # If front tile is a counter
      if $game_map.counter?(f_x, f_y)
        # Calculate 1 tile inside coordinates
        f_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
        f_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
        # All event loops
        for ev in $game_map.events.values
          next if ev.trigger.nil?
          event_in_front = ev if ev.x == f_x and ev.y == f_y and ev.trigger.zero?
        end
      end
    end
    return event_in_front
  end
end
#==============================================================================
# ** Spriteset_Map Alias Edit
#------------------------------------------------------------------------------
#  Fügt einen neuen Sprite hinzu.
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  alias_method(:org_ini_wo_actndsc, :initialize)
  alias_method(:org_dsp_wo_actndsc, :dispose)
  alias_method(:org_upd_wo_actndsc, :update)
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    org_ini_wo_actndsc
    @actiondescription_sprite = Sprite_Actiondescription.new(nil)
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    @actiondescription_sprite.dispose
    org_dsp_wo_actndsc
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if @actiondescription_sprite != nil
      @actiondescription_sprite.update
    end
    org_upd_wo_actndsc
  end
end
highlight to read

Für den RPG Maker VX :rmvx:
Spoiler: Source :new:
Als neues Skript unter ▼ Materials einfügen.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
#==============================================================================
#  Action Description Skript (Version VX.1.1.01)
#------------------------------------------------------------------------------
#  Erlaubt es für Events mit dem Aktiostasten-Trigger, die zu erwartende
#  Aktion am unteren linken Bildschirmrand anzuzeigen.
#  Schreibt dazu in so ein Event einfach in ein Kommentar:
#    <actn_desc text="Beschreibung der Aktion"/>
#  Ihr könnt wie in den Textboxen \C[n] und \I[n] für Farbänderungen oder
#  um einen Icon anzuzeigen benutzen. \$ wird durch den Namen der im Spiel
#  verwendeten Währung ersetzt.
#------------------------------------------------------------------------------
#  Autor: Playm
#  Datum: April 2015
#  Maker: RPG Maker VX
#  Einfache Nutzung in nicht-kommerziellen  RMVX  Projekten ist gestattet.
#  Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
#  Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Sprite_Actiondescription
#------------------------------------------------------------------------------
#  Display Action Descriptions on Map Screen
#==============================================================================
class Sprite_Actiondescription < Sprite
  #--------------------------------------------------------------------------
  # * Object Initisliation
  #--------------------------------------------------------------------------
  def initialize(viewport)
    super(viewport)
    self.bitmap = Bitmap.new( Graphics.width, 32 )
    self.bitmap.font.shadow = true
    self.y = Graphics.height - 32
    @event = nil
 
    @phase = :idle
    self.opacity = 0
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    action_event_in_front = $game_player.get_action_event_in_front
    if @event != action_event_in_front
      @event = action_event_in_front
      @phase = @event.nil? ? :disappearing : :appearing
      refresh
    end
    update_phase
  end
  #--------------------------------------------------------------------------
  # * Update Appearing or Disappearing Process
  #--------------------------------------------------------------------------
  def update_phase
    case @phase
      when :appearing    then self.opacity += 50
      when :disappearing then self.opacity -= 50
    end
    @phase = :idle if self.opacity.zero? or self.opacity == 255
  end
  #--------------------------------------------------------------------------
  # * Read attributes from tag
  #--------------------------------------------------------------------------
  def read_tag
    tag_template = /<actn_desc\s+(.+)\/>/m
    tag_template.match( @event.page_comments.join("\n") )
    return {} unless $1
    content_string = ' ' + $1
    hash = {}
    loop do
      content_string.sub!( /\s+(\w+)\s*=\s*"([^"]+)"/, '' )
      break unless Regexp.last_match(0)
      hash[ Regexp.last_match(1) ] = Regexp.last_match(2)
    end
    return hash
  end
  #--------------------------------------------------------------------------
  # * Do nothing, but maybe usefull for future use
  #--------------------------------------------------------------------------
  def setup()
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    return if @event.nil?
    self.bitmap.clear
    @content = read_tag
    setup
    draw_rich_text( @content["text"].dup ) if @content["text"]
  end
  #--------------------------------------------------------------------------
  # * Draw Text with Colors
  #--------------------------------------------------------------------------
  def draw_rich_text( text )
    self.bitmap.font.color = text_color(0)
    x = 0
    text.gsub!(/\\[Cc]\[([0-9]+)\]/) { "\001[#{$1}]" }
    text.gsub!(/\\[Ii]\[([0-9]+)\]/) { "\002[#{$1}]" }
    text.gsub!(/\\$/)                { Vocab::gold }
    while ((c = text.slice!(/./m)) != nil)
      if c == "\001" # If color change \C[n]
        text.sub!(/\[([0-9]+)\]/, "")
        color_index = $1.to_i
        if color_index >= 0 and color_index <= 31
          self.bitmap.font.color = text_color(color_index)
        end
        next
      end
      if c == "\002" # If icon \I[n]
        text.sub!(/\[([0-9]+)\]/, "")
        icon_index = $1.to_i
        draw_icon(icon_index, x)
        x += 24
        next
      end
      self.bitmap.draw_text(4 + x, 0, 40, 32, c)
      x += self.bitmap.text_size(c).width
    end
  end
  #--------------------------------------------------------------------------
  # * Get Text Color
  #     n : Text color number (0..31)
  #--------------------------------------------------------------------------
  def text_color(n)
    Cache.system("Window").get_pixel(64 + (n % 8) * 8, 96 + (n / 8) * 8)
  end
  #--------------------------------------------------------------------------
  # * Draw Icon
  #     enabled : Enabled flag. When false, draw semi-transparently.
  #--------------------------------------------------------------------------
  def draw_icon(icon_index, x)
    iconset = Cache.system("Iconset")
    rect = Rect.new(icon_index % 16 * 24, icon_index / 16 * 24, 24, 24)
    bitmap.blt(x, 4, iconset, rect)
  end
  #--------------------------------------------------------------------------
  # * Dispose Sprite
  #--------------------------------------------------------------------------
  def dispose
    self.bitmap.dispose
    super
  end
end
#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  Die Kommentare auf der aktuellen Eventseite werden gesammelt und als
#  page_comments String-Array öffentlich gemacht.
#==============================================================================
class Game_Event
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_setup_wo_actndesc, :setup )
  #--------------------------------------------------------------------------
  # * Event page setup
  #--------------------------------------------------------------------------
  def setup( *args )
    org_setup_wo_actndesc( *args )
    refresh_comments
  end
  #--------------------------------------------------------------------------
  # * Refresh Comments List
  #--------------------------------------------------------------------------
  def refresh_comments
    @page_comments = []
    return if @list.nil?
    index = 0
    for command in @list
      if command.code == 108
        @page_comments[index] = command.parameters[0]
        index += 1
      elsif command.code == 408
        @page_comments[index - 1] += "\n" + command.parameters[0]
      end
    end
    return !@page_comments.empty?
  end
  #--------------------------------------------------------------------------
  # * Attr
  #--------------------------------------------------------------------------
  attr_reader :page_comments
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  Man kann abfragen welches Event vor dem Helden steht, das per Action Button
#  getriggert wird.
#==============================================================================
class Game_Player
  #--------------------------------------------------------------------------
  # * Get the Action Event in Front
  #--------------------------------------------------------------------------
  def get_action_event_in_front()
    return nil if $game_map.interpreter.running?
    event_in_front = nil
    for ev in $game_map.events_xy(@x, @y)
      event_in_front = ev if ev.trigger == 0 and ev.priority_type == 0
    end
    return event_in_front unless event_in_front.nil?
    front_x = $game_map.x_with_direction(@x, @direction)
    front_y = $game_map.y_with_direction(@y, @direction)
    for ev in $game_map.events_xy(front_x, front_y)
      event_in_front = ev if ev.trigger == 0 and ev.priority_type == 1
    end
    return event_in_front unless event_in_front.nil?
    return nil unless $game_map.counter?(front_x, front_y)
    front_x = $game_map.x_with_direction(front_x, @direction)
    front_y = $game_map.y_with_direction(front_y, @direction)
    for ev in $game_map.events_xy(front_x, front_y)
      event_in_front = ev if ev.trigger == 0 and ev.priority_type == 1
    end
    return event_in_front
  end
end
#==============================================================================
# ** Spriteset_Map Alias Edit
#------------------------------------------------------------------------------
#  Fügt einen neuen Sprite hinzu.
#==============================================================================
class Spriteset_Map
  #--------------------------------------------------------------------------
  alias_method(:org_ini_wo_actndsc, :initialize)
  alias_method(:org_dsp_wo_actndsc, :dispose)
  alias_method(:org_upd_wo_actndsc, :update)
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    org_ini_wo_actndsc
    @actiondescription_sprite = Sprite_Actiondescription.new(nil)
  end
  #--------------------------------------------------------------------------
  # * Dispose
  #--------------------------------------------------------------------------
  def dispose
    @actiondescription_sprite.dispose
    org_dsp_wo_actndsc
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    if @actiondescription_sprite != nil
      @actiondescription_sprite.update
    end
    org_upd_wo_actndsc
  end
end
highlight to read

Für den RPG Maker VX Ace kommt noch eine Version. :ace:

:plus: :rmxp: Erweiterungen für die RMXP Version


Spoiler: Shaberweiterung

Statt den Text in der unteren Ecke anzuzeigen, wird dieser nun zentriert über dem Event angezeigt.
:new: Die Multiline Version benötigt v1.3 oder höher.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#==============================================================================
#  Action Description Skript Erweiterung für Shab (Multiline Version)
#------------------------------------------------------------------------------
#  Der Text wird nun zentriert über dem Event angezeigt, statt in der unteren
#  linken Ecke. Zusätzlich kann man in die Tags auch noch das Attribut
#  offset eintragen, und selbst bestimmen, wie die Ausrichtung auf der Y-Achse
#  erfolgen soll (ansonsten wird der Text oberhalb der Charaktergrafik an-
#  gezeigt).
#------------------------------------------------------------------------------
# Autor:  Playm
# Datum:  September 2014
# Maker:  RPG Maker XP
# Einfache Nutzung in nicht-kommerziellen  RMXP  Projekten ist gestattet.
# Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
# Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Sprite_Actiondescription
#------------------------------------------------------------------------------
#  Display Action Descriptions on Map Screen
#==============================================================================
class Sprite_Actiondescription < Sprite
  #--------------------------------------------------------------------------
  # * Update Sprite Position
  #--------------------------------------------------------------------------
  def update_position( )
    return if @event.nil?
    pure_text = @display_text.gsub(/\\[Cc]\[([0-9]+)\]/, '')
    pure_text = pure_text.gsub(/\\[Ii]\[([^\]]+)\]/, '____')
    self.x = @event.screen_x
    self.y = @event.screen_y
    self.ox = self.bitmap.text_size(pure_text).width / 2
    self.oy = RPG::Cache.character(@event.character_name,
                                   @event.character_hue).height / 4 + 32
    self.oy = @offset + 32     if @offset != nil
    self.x = self.ox = 0       if self.x - self.ox < 0
    self.x = 640 - self.ox - 8 if self.x + self.ox > 640
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    action_event_in_front = $game_player.get_action_event_in_front
    if @event != action_event_in_front
      @event = action_event_in_front
      @phase = @event.nil? ? :disappearing : :appearing
      refresh
    end
    update_phase
    update_position
  end
  #--------------------------------------------------------------------------
  # * read tag sequence
  #--------------------------------------------------------------------------
  def read_tag
    @display_text = ""
    @offset = nil
 
    tag_template = /<actn_desc\s+((?:(?!\/>).)+)\/>/m
    attr_template_text   = /text\s*=\s*\"(.+)\"/m
    attr_template_offset = /offset\s=\s*\"(.+)\"/
 
    tag_template.match( @event.page_comments.join("\n") )
    tag_attr = $1
 
    return if tag_attr.nil?
 
    attr_template_text.match( tag_attr )
    @display_text = $1.nil? ? "" : $1
 
    attr_template_offset.match( tag_attr )
    @offset = $1.nil? ? nil : $1.strip.to_i
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    return if @event.nil?
    self.bitmap.clear
    read_tag
    draw_rich_text( @display_text.dup )
  end
end
highlight to read


:plus: :rmvx: Erweiterung für die RMVX Version


Spoiler: Sourcecode Shaberweiterung :new:

Statt den Text in der unteren Ecke anzuzeigen, wird dieser nun zentriert über dem Event angezeigt.

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#==============================================================================
#  Action Description Skript Erweiterung für Shab (Version VX.1.1)
#------------------------------------------------------------------------------
#  Der Text wird nun zentriert über dem Event angezeigt, statt in der unteren
#  linken Ecke. Zusätzlich kann man in die Tags auch noch das Attribut
#  offset eintragen, und selbst bestimmen, wie die Ausrichtung auf der Y-Achse
#  erfolgen soll (ansonsten wird der Text oberhalb der Charaktergrafik an-
#  gezeigt).
#------------------------------------------------------------------------------
#  Autor: Playm
#  Datum: April 2015
#  Maker: RPG Maker VX
#  Einfache Nutzung in nicht-kommerziellen  RMVX  Projekten ist gestattet.
#  Keine kommerzielle Nutzung gestattet. Für Lizenzen an den Autor wenden.
#  Keine Weiterverbreitung in originaler oder abgeänderter Form gestattet.
#==============================================================================
# ** Sprite_Actiondescription
#==============================================================================
class Sprite_Actiondescription < Sprite
  #--------------------------------------------------------------------------
  # * Update Sprite Position
  #--------------------------------------------------------------------------
  def update_position( )
    return if @event.nil? or @content['text'].nil?
    pure_text = @content['text'].gsub(/\\[Cc]\[([0-9]+)\]/,
                                      '').gsub(/\\[Ii]\[([0-9]+)\]/, '')
    self.x = @event.screen_x
    self.y = @event.screen_y
    self.ox = bitmap.text_size(pure_text).width / 2
    self.oy = get_character_height + 32
    self.x = self.ox = 0       if self.x - self.ox < 0
    self.x = Graphics.width - self.ox - 8 if self.x + self.ox > Graphics.width
  end
  #--------------------------------------------------------------------------
  # * Calculated vertical offset
  #--------------------------------------------------------------------------
  def get_character_height
    if @content['offset'].nil?
      if @event.tile_id > 0
        return 32
      else
        sign = @event.character_name[/^[\!\$]./]
        if sign != nil and sign.include?('$')
          return Cache.character(@event.character_name).height / 4
        else
          return Cache.character(@event.character_name).height / 8
        end
      end
    else
      @content['offset'].to_i
    end
  end
  #--------------------------------------------------------------------------
  # * Alias
  #--------------------------------------------------------------------------
  alias_method( :org_update_wo_pos_adjustment , :update )
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    org_update_wo_pos_adjustment
    update_position
  end
end
highlight to read


:plus: :ace: Erweiterungen für die RMVX Ace Version


Auf Anfrage.

Event Commands

Abschließend ein paar Beispielhafte Eventcommands, wie sie in der Testdemo vorkommen:
  • RMXP

    • 1
      @>Comment: Mehrere Kommentare in einem Event sind kein
      : _______: Problem.
      @>Comment: <actn_desc
      : _______: text="Die [002-Weapon02] Speere betrachten"/>
      @>Comment: Man kann seine Information auch ganz kompakt
      : _______: reinquetschen (aber muss dies nicht).
      @>Change Text Options: Bottom, Show
      @>Text:
      : ____:
      : ____: Ein paar Speere. Sie sehen neu aus, wie nie benutzt.
      @>Change Text Options: Bottom, Show
    • 2
      @>Comment: <actn_desc
      : _______: text="\c[5]Öffne\c[0] die Kiste"
      : _______: />
      @>Play SE: '044-Chest01', 80, 100
      @>Set Move Route: This Event
      : ______________: $>Turn Down
      : ______________: $>Turn Left
      : ______________: $>Turn Right
      : ______________: $>Turn Up
      @>Wait for Move's Completion
      @>Text: Ein Heiltrank gefunden.
      @>Change Items: [Item 001], + 1
      @>Control Self Switch: A = ON
    • 3
      :information: Die Shaberweiterung wird benötigt.
      @>Text:
      : ____: Na sowas. Hier liegt eine Kette.
      @>Comment: <actn_desc
      : _______: offset = "-32"
      : _______: text = "Betrachte die Kette."
      : _______: />

Avery

Dinoritterin mit Herrschaft über die Contests und Ressourcen

  • Send private message

2

Wednesday, October 29th 2014, 12:00am

Schick, schick^^
Gefällt mir gut und erscheit auch sehr nützlich.

Kann es sein, dass du die Vorschauscreens vergessen hast? ;>

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

3

Wednesday, October 29th 2014, 12:02am

Naja, es würde ein Text auf dem Bildschirm zu sehen sein. Ich weiß nicht wie spannend das ist, das man da einen Screenshot für braucht? Also nicht wirklich vergessen, sondern eher nicht für nötig gehalten.
Edit Aber die Postings sind alle noch wip - ich überleg noch, was ein ansprechendes Format zur Präsentation wäre. Ideen sind gern gesehen.

Cryztal

Knappe

Motto: Ich mag das Gefühl von völliger Ungezwungenheit. Dann bin ich am besten, würde ich sagen.

  • Send private message

4

Sunday, January 11th 2015, 1:11am

Moin playm.
Kann sein das ich das jetzt missverstanden hab. Aber ist es möglich das die textbox auch aufgerufen wird durch einen vorprogrammierten trigger statt durch eingeben einer taste?

LG cryztal
Lg Cryztal

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

5

Sunday, January 11th 2015, 4:03am

Hallo Cryztal,

ich bin mir nicht sicher was Du verstanden hast, deswegen versuche ich es möglichst nochmal ausführlich zu erklären, was mein Skript bietet:

Für das eine Event, vor dem der Spieler steht[1] kann ein Text definiert werden, der dann auf dem Bildschirm angezeigt[2] wird. Dieser Text wird freistehend gezeichnet und befindet sich nicht innerhalb einer Textbox mit Rahmen. Weiter ist dieses Skript dafür gedacht für adventureartige Spiele dem Spieler anzuzeigen welche Aktion möglich ist, deswegen werden nur Events mit dem Trigger "Action Button" ausgewählt und andere nicht.
Das Skript wird aktiv, wenn der Spieler sich direkt vor einem Event mit ActionButton befindet und für dieses ein Text definiert wurde, es ist nicht nötig das der Spieler eine zusätzliche Taste drückt, er muss das Event einfach nur angucken,

[1] liegen mehrere Events übereinander auf dem Feld vor dem Spieler wird eines davon gewählt
[2] Standardmäßig wird dieser Text am unteren Bildschirmrand angezeigt. Inzwischen existiert eine Erweiterung, die den Text über dem einen Event anzeigt. Ich betone hier immer wieder das dieser Text nur für ein einziges Event angezeigt wird, weil im technischen Hintergrund nur ein Zusatzsprite hinzukommt, und somit es nicht möglich ist über mehreren Events gleichzeitig Text anzuzeigen - aber dafür ist das Skript nicht gedacht.

Cryztal

Knappe

Motto: Ich mag das Gefühl von völliger Ungezwungenheit. Dann bin ich am besten, würde ich sagen.

  • Send private message

6

Sunday, January 11th 2015, 5:03am

Oh dann hab ich es wirklich falsch verstanden. Hatte eig gehofft das sich über dem event ein kleines textfenster oeffnet in dem ich sowas wie schadenszahlen und/oder gegnerische spells anzeigen lassen kann. Weißt du da Vllt was passenderes für mich?
Lg Cryztal

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

7

Sunday, January 11th 2015, 5:08am

Hatte eig gehofft das sich über dem event ein kleines textfenster oeffnet in dem ich sowas wie schadenszahlen und/oder gegnerische spells anzeigen lassen kann. Weißt du da Vllt was passenderes für mich?

Für Schadenszahlen hatte ich schonmal eine Anfrage beantwortet, hier die Anfrage: Schaden auf der Map mit Visuellen Zahlen (Thread komplett lesen, ich überarbeite das Skript mehrfach im Diskussionsverlauf)

Vielleicht hätte ich noch mehr auf Lager, da müsstest Du möglichst genau beschreiben in welchen Situationen Du das für was einsetzen möchtest.

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

8

Sunday, January 11th 2015, 3:02pm

Etwas anderes noch eben (sorry Cryztal, ich vergesse es sonst D:)

Ich habe das hier gefunden:
Multiple Event Trigger
Das Hauptscript löst eins meiner anderen Probleme, aber als Bonus gibts in der Demo noch folgendes Script:

Spoiler

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
# [Xp/Vx-VXA] Event Interaction
# Version: 2.25
# Author : LiTTleDRAgo
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
module LiTTleDRAgo
  module Event_Interaction
 
    BUTTON_ACTION_PREV    = Input::L
    BUTTON_ACTION_NEXT    = Input::R
    BUTTON_ACTION_CONFIRM = Input::C
    EVENT_INTERACT_SWITCH = false
 
    VX  = defined?(Window_ActorCommand)
    VXA = defined?(Window_BattleActor)
 
  end
end
 
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================
class Scene_Map
 
  alias_method :drg136_main, :main unless method_defined?(:drg136_main)
  alias_method :drg136_upd, :update unless method_defined?(:drg136_upd)
 
  attr_accessor :event_interaction
  def main
    @event_interaction = [Window_EventInteraction.new]
    @event_interaction[6] = LiTTleDRAgo::Event_Interaction::VX
    drg136_main
    @event_interaction[0].dispose 
  end
 
  def update
    drg136_upd 
    event_interaction_update
  end
 
  def event_interaction_update
    cond = @event_interaction[6] ? !$game_player.movable? : 
           ($game_system.map_interpreter.running? or
           $game_player.move_route_forcing or 
           $game_temp.message_window_showing)
    @event_interaction[0].update_position
    unless cond
      @event_interaction[0].update  
      event = facing_object([0,1,2],0) || facing_object([0,1,2],1) 
      event_interaction_refresh(event)
    end
  end
 
  def event_interaction_refresh(event)
    @event_interaction[5] = $game_player.direction
    set_command_object(event,[],'',0)
    event.list.each {|list| next unless [108,408].include?(list.code)
    var_eventint_process(list.parameters[0])} if event
  end
 
  def var_eventint_process(parameter)
    return if parameter.nil?
    if parameter =~ /<Action = (.+?)>/i 
      @event_interaction[2] = $1.split(/,/).to_a.uniq
    end
    if parameter =~ /<Action \+= (.+?)>/i
      @event_interaction[2] += $1.split(/,/).to_a.uniq
    end
    if parameter =~ /<Object = (.+?)>/i 
      @event_interaction[3] = $1.to_s
    end
  end
 
  def set_command_object(*args)  @event_interaction[1..4] = *args  end
 
  def facing_object(triggers,type)
    coor,dir = [$game_player.x,$game_player.y],$game_player.direction
    new_x = coor[0] + (dir == 6 ? 1 : dir == 4 ? -1 : 0)
    new_y = coor[1] + (dir == 2 ? 1 : dir == 8 ? -1 : 0)
    type += 2 if @event_interaction[6]
    case type
    when 0
      return $game_map.events.values.map {|e| e if (new_x - e.x).abs < 1 &&
        (new_y - e.y).abs < 1 &&  triggers.include?(e.trigger) && 
        !e.jumping? &&  !e.over_trigger?}.compact[0]
    when 1  
      return $game_map.events.values.map {|e| e if (coor[0] - e.x).abs < 1 &&
        (coor[1] - e.y).abs < 1 &&  triggers.include?(e.trigger) && 
        !e.jumping? && e.over_trigger?}.compact[0]
    when 2
      front_x = $game_map.x_with_direction(coor[0], dir)
      front_y = $game_map.y_with_direction(coor[1], dir)
      $game_map.events_xy(front_x, front_y).each {|event|
        if triggers.include?(event.trigger) && event.priority_type == 1
          return event
        end}
      if $game_map.counter?(front_x, front_y)
        front_x = $game_map.x_with_direction(front_x, dir)
        front_y = $game_map.y_with_direction(front_y, dir)
        $game_map.events_xy(front_x, front_y).each {|event|
          if triggers.include?(event.trigger) && event.priority_type == 1
            return event
          end}
      end
    when 3      
      $game_map.events_xy(coor[0], coor[1]).each {|event|
        if [1,2].include?(event.trigger) and event.priority_type == 1
          return event
        end }
    end
    return nil
  end
end
 
EVENT_INTERACTION =<<_SCRIPT_
#==============================================================================
# ** Window_EventInteraction
#------------------------------------------------------------------------------
#  This window is used to select the choice when interacting with event
#==============================================================================
class Window_EventInteraction < Window_Base
 
  MODULE = LiTTleDRAgo::Event_Interaction
  BUTTON_ACTION_PREV    = MODULE::BUTTON_ACTION_PREV
  BUTTON_ACTION_NEXT    = MODULE::BUTTON_ACTION_NEXT
  BUTTON_ACTION_CONFIRM = MODULE::BUTTON_ACTION_CONFIRM
  ENABLE_SWITCH         = MODULE::EVENT_INTERACT_SWITCH
 
  def initialize
    super( (640 - init_width) / 2, 0, init_width, init_height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.opacity = 128
    @command = [0]
  end
 
  def init_width()   240  end
  def init_height()  64   end
  def event()        scene.event_interaction[1] || 0            end
  def scene()        MODULE::VXA ? SceneManager.scene : $scene  end
  def command_text(index=0)  object(@command[1][index])            end
 
  def enabled?
    return true if !ENABLE_SWITCH 
    return $game_switches[ENABLE_SWITCH]
  end
 
  def object(obj=scene.event_interaction[3])
    text = obj.to_s
    text.gsub!(/\\[Vv]\[([0-9]+)\]/) { $game_variables[$1.to_i] }
    text.gsub!(/\\[Nn]\[([0-9]+)\]/) {
        $game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : '' } 
    return text
  end
 
  def update
    return unless scene.is_a?(Scene_Map)
    @command[1] = scene.event_interaction[2] 
    interpreter = MODULE::VX ? $game_map.interpreter.running? : 
                  $game_system.map_interpreter.running?
    return self.visible = false  if interpreter || @command[1].nil? ||
           @command[1].empty? || @command[0] == nil || event == 0 || object == ''
    self.visible = enabled?
    @command[0] = @command[1][@command[0]].nil? ? 0 : @command[0]
    if self.visible
      update_position
      if Input.repeat?(BUTTON_ACTION_PREV)
        sound_play('cursor')
        @command[0] = (@command[0] - 1) % @command[1].size
      elsif Input.repeat?(BUTTON_ACTION_NEXT)
        sound_play('cursor')
        @command[0] = (@command[0] + 1) % @command[1].size
      elsif Input.repeat?(BUTTON_ACTION_CONFIRM)
        refresh
        if self.contents.font.color == normal_color
          sound_play('decision')
          $interaction = @command[1][@command[0]].downcase.dup
          $object_event = object.downcase.dup
          self.visible = false
          event.start if event != 0
          scene.event_interaction[2] = []
        else
          $interaction = nil
          sound_play('buzzer')
        end
        return
      end
      refresh if @command[2] != command_text(@command[0])+' '+object
    end
  end
 
  def update_position
    return unless scene.is_a?(Scene_Map)
    return unless self.visible 
    return self.visible = false if event == 0
    if scene.event_interaction[4] == 0
      self.x = [[event.screen_x - self.width/2, 0].max, 640 - self.width].min
      self.y = [[event.screen_y-32-self.height, 0].max, 480 - self.height].min
    else
      x = scene.event_interaction[4][0].to_f.round 
      y = scene.event_interaction[4][1].to_f.round  
      screen_x=(x * 128 - $game_map.display_x + 3) / 4 + 16
      screen_y=(y * 128 - $game_map.display_y + 3) / 4 + 32
      self.x = [[screen_x - self.width/2, 0].max, 640 - self.width].min
      self.y = [[screen_y-32-self.height, 0].max, 480 - self.height].min
    end
  end    
 
  def sound_play(se)
    case se
    when 'cursor'
      MODULE::VX ? Sound.play_cursor :
      $game_system.se_play($data_system.cursor_se)
    when 'decision'
      MODULE::VX ? MODULE::VXA ? Sound.play_ok : Sound.play_decision : 
      $game_system.se_play($data_system.decision_se)
    when 'buzzer'
      MODULE::VX ? Sound.play_buzzer :
      $game_system.se_play($data_system.buzzer_se)
    end
  end
 
  def refresh
    return if @command[0].nil? || @command[1].nil? || !scene.is_a?(Scene_Map)
    return self.visible = false if event == 0
    @command[2] = command_text(@command[0])+' '+object
    if @command[2].length >= 20 && !@command[3]
      self.contents.dispose
      self.contents = Bitmap.new(width+100 - 32, height - 32)
      self.width += 100
      @command[3] = true
    elsif @command[2].length < 20 && @command[3]
      self.contents.dispose
      self.contents = Bitmap.new(width-100 - 32, height - 32)
      self.width -= 100
      @command[3] = false
    end
    cw,ch  = self.width - 32, self.height - 32 
    font   = self.contents.font.size
    self.contents.font.size = font
    self.contents.fill_rect(0, 0, cw, ch, Color.new(0, 0, 0, 0))
    self.contents.font.color = object == '' ? disabled_color : normal_color
    self.contents.draw_text(0, 0, cw, 32, @command[2],1)
    self.contents.font.size -= 6
    self.contents.draw_text(4, 0, cw, 32, '<Q', 0)  if BUTTON_ACTION_PREV
    self.contents.draw_text(-3, 0, cw, 32, 'W>', 2) if BUTTON_ACTION_NEXT
    self.contents.font.size = font
  end
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  This class handles maps. It includes event starting determinants and map
# scrolling functions. The instance of this class is referenced by $game_map.
#==============================================================================
 
class Game_Player
  if LiTTleDRAgo::Event_Interaction::VX 
    alias drg_136_chk check_action_event unless method_defined?(:drg_136_chk)
    def check_action_event
      scene = LiTTleDRAgo::Event_Interaction::VXA ? SceneManager.scene : $scene
      return if scene.is_a?(Scene_Map) && !scene.event_interaction[2].empty?
      drg_136_chk
    end
  end
end
#==============================================================================
# ** Game_Interpreter
#------------------------------------------------------------------------------
#  An interpreter for executing event commands. This class is used within the
# Game_Map, Game_Troop, and Game_Event classes.
#==============================================================================
 
class #{LiTTleDRAgo::Event_Interaction::VX ? 'Game_Interpreter' : 'Interpreter'}
  if method_defined?(:command_end) && !method_defined?(:drg138_com_end)
    alias drg138_com_end command_end
  end
 
  def command_end
    drg138_com_end
    scene = LiTTleDRAgo::Event_Interaction::VXA ? SceneManager.scene : $scene
    event = scene.event_interaction[1] || 0 if scene.is_a?(Scene_Map)
    $interaction, $object_event = nil, '' if (event||0) != 0 && event.id == @event_id
  end
end
_SCRIPT_
 
eval(EVENT_INTERACTION)
 
$drago_event_interaction = true
highlight to read


Es scheint ein wenig ähnlich wie dein ADS zu funktionieren- aber ich mag deins lieber, es ist übersichtlich und die Umsetzung gefällt mir. Nun wollte ich fragen ob du es für sinnvoll erachtest, so eine Funktion einzubauen, wie dort, dass man zwischen mehreren Action-Button-Möglichkeiten wählen könnte? Ich glaube nicht, ob ich in meinem Spiel soetwas zwingend benötigen würde, aber locken würde es mich schon, wenn dein Script das auch könnte :D
Dann baue ich es ein, weil ich es kann XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

9

Sunday, January 11th 2015, 3:58pm

Nun wollte ich fragen ob du es für sinnvoll erachtest, so eine Funktion einzubauen, wie dort, dass man zwischen mehreren Action-Button-Möglichkeiten wählen könnte?

Ich glaube wenn so etwas gewünscht wäre, würde ich eher ein neues Skript schreiben, da die Basis meines Skripts dafür nicht ausreicht.
LiTTleDRAgos Skript ist zwar etwas unschön geschrieben und wirklich anstrengend zu lesen, da er wo Objekte mit Attributen sinnvoll wären Arrays benutzt und die globalen Variablen finde ich auch nicht so schön, aber es funktioniert fehlerfrei soweit ich gesehen habe. Sollange sich niemand am Aufbau oder an den Funktionen des Skripts stört werde ich also vermutlich kein neues schreibe, was nur sein Skript in ordentlich wäre.

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

10

Sunday, January 11th 2015, 5:44pm

Okay, hab verstanden :3
Ich bleibe lieber bei deinem XD Das ist auch von der Optik her schöner und es ist absolut kompatibel mit allen meinen Scripten :3
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

11

Monday, March 23rd 2015, 4:14pm

Hallo!


Ich hab grad versucht, ein Icon einzusetzen.
Mache ich etwas falsch?

Source code

1
2
3
4
<actn_desc
        offset = "-32"
        text = "[001-Weapon01]"
/>


In einem RGSS1 Spiel wird gar nichts angezeigt und in einem RGSS3 Spiel wird das Wort angezeigt o.o


Zudem bekomme ich Probleme, wenn der Iconname zu lang ist und ich noch zusätzlich etwas dazuschreiben will- das Script schafft keine Zeilenumbrüche. Dann passt der Iconname hin und sonst nix. Bleibt mir da nur die Icons umzubenennen, oder gibts einen Trick? :3
(Ich benutze die oben ausgestellte Versiond es Scripts)

Den Namen anzuzeigen klappt übrigens wunderbar ;D


Edit: Okay, ich weiß wieso. Ich kann kein Icon-Name einsetzen, ohne das weiterer Text mit dabei ist. Nur das Icon geht scheinbar nicht.
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 1 times, last edit by "Josey" (Mar 23rd 2015, 6:13pm)


Lucy Fox

Zee Captain

Motto: 'That is not dead which can eternal lie.' - 'And with strange aeons even death may die.'

  • Send private message

12

Monday, March 23rd 2015, 8:11pm

Als "Text" reicht es schon, wenn du nur einmal ein Leerzeichen einfügst.
Das hatte ich auch gemerkt und so funktioniert es bei mir ;)
  • Meins

  • Support

    Bild
    Bild
    Bild
    Bild
    Bild
  • Jokes

    Spoiler: C vs. C++

    In C, you merely shoot yourself in the foot.

    In C++, you accidentally create a dozen instances of yourself and shoot them all in the foot. Providing emergency medical care is impossible, because you can't tell which are bitwise copies and which are just pointing at others and saying, "That's me, over there."
    zum Lesen den Text mit der Maus markieren

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

13

Monday, March 23rd 2015, 8:33pm

Ausprobiert und für gut befunden XD
Danke :3

Sind die Icons bei dir auch nicht zentriert? Bei mir sind sie links vom Event (oben oder unten, je nachdem was ich als Offset eingebe). Und wenn ich dann viele Freizeichen einfüge, kann ich sie in die Mitte schieben.
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

14

Tuesday, March 24th 2015, 3:49am

Hallo,
ich habe die Skripte mal aktualisiert. Sie unterstützen jetzt problemlos die Eingabe eines mehrzeiligen Textes. (Achtung! Der Text ist bei der Darstellung immernoch ein Einzeiler, ihr könnt nun bloß längere Sätze schreiben.) Der Icon tag wurde nun in \I[...] statt [...] geändert, was auf Skriptseite einfacher zu verwalten ist und nebenbei einen Bug beseitigt, dass der Buchstabe/das Leerzeichen vor dem Icon verschluckt wurde. Als Bonus kam noch die Möglichkeit hinzu, die in der Database eingestellte Währung anzuzeigen.


Sind die Icons bei dir auch nicht zentriert? Bei mir sind sie links vom Event (oben oder unten, je nachdem was ich als Offset eingebe). Und wenn ich dann viele Freizeichen einfüge, kann ich sie in die Mitte schieben.

Das sollte nur passieren, wenn Du eine veraltete Version der Shaberweiterung nutzt, oder die Schriftgröße des Standardfont geändert hast.

Josey

Storyteller

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

15

Tuesday, March 24th 2015, 8:28am

Okay, danke :3

Ich hatte die alte Shabzversion drin.
Um die Multilines zu verwenden müsste ich meinen Maker erstmal upgraden. Ich hasse die 05er Version und nutze die 02er. Auf 04 upzugraden dürfte kein Problem sein, wenn ich irgendwo ne Datei finde (viel verändert hatte sich da ja eh nicht).

Vielen Dank Playm :D
Tolle Arbeit!
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

16

Tuesday, March 24th 2015, 5:12pm


Um die Multilines zu verwenden müsste ich meinen Maker erstmal upgraden.
Whoops, sry, ich meine mit "v1.3" das Action Description Skript Version 1.3, der Maker ist irrelevant.

Motto: So lasset uns kein Trübsal sinnieren und gar königlich dinieren!

  • Send private message

17

Saturday, April 11th 2015, 11:22am

Hey, da ich jetzt verstanden habe, was genau das Script macht, fallen mir einige Stellen ein, wo ich es verwenden könnte. Ich vermute mal, dass es nahtlos mit anderen Scripts funktionieren sollte.
Falls eine VX-Version keine zu großen Umstände bereitet, wäre es super! :)

Außerdem wird ja nicht der Fall unterstützt, dass man auf einem Event stehen kann, welches einen Actionbutton-Input hat.
Wenn ich davor stehe, wird es ja nicht ausgeführt.
  • :cake: So lasset uns beginnen! :new:

    • Ein Abenteuer, wie du es noch nie erlebt hast!
      Tauche ein in die wunderbare Welt des Königs und erlebe auf deiner Reise die verrücktesten Dinge!
      NICHT MEHR LANGE! :navigation-right: Hier gibt es weitere Informationen! :navigation-left:
    • Jetzt die Demo herunterladen!
      Bild
      Euch erwartet eine Welt, wie sie nur ein exzentrischer König veralbern könnte...
    • Titelbild
      Bild
  • :fires: XBOX 360 Bild

    Bild
  • :new: Avatar im Großformat

    Bild

This post has been edited 1 times, last edit by "Monkey Guardian" (Apr 11th 2015, 1:00pm)


Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

18

Tuesday, April 14th 2015, 11:29pm

Falls eine VX-Version keine zu großen Umstände bereitet, wäre es super! :)

Kein Problem, ist in Arbeit. :hi:

Außerdem wird ja nicht der Fall unterstützt, dass man auf einem Event stehen kann, welches einen Actionbutton-Input hat.
Wenn ich davor stehe, wird es ja nicht ausgeführt.

Ich verstehe nicht, was Du meinst. Kannst Du das nochmal ausführlicher in andere Worte verpacken?

Motto: So lasset uns kein Trübsal sinnieren und gar königlich dinieren!

  • Send private message

19

Thursday, April 16th 2015, 12:50am

Ich vermute mal, die VX-Version oben ist die Richtige. Danke! :D
Es funktioniert an sich ganz gut, bis auf zwei Dinge:

Die Sache, die ich meinte:
Bild
Wenn ich ein solches Event erstelle, kann ich die Aktion nur durchführen, wenn ich auf dem Event stehe. Stehe ich davor, passiert nichts, wenn ich die Aktionstaste drücke. Der Text wird jedoch eingeblendet.

Eine Fehlermeldung:

Line 67 TypeError occurred
Cannot convert nil into String

Ich kann nicht genau sagen, wann er auftritt. Wenn man nach dem Laden direkt vor einem solchen Event steht, passiert es, nachdem der Text eingeblendet wurde und man sich vom Objekt entfernt hat. Manchmal nach 2 Sekunden. Manchmal nach 4. So um den Dreh.
Alternativ taucht der Fehler direkt auf, wenn man nicht vor einem solchen Event steht.

Der Fehler taucht nicht auf, wenn ich einen neuen Spielstand beginne.
Eine Idee?
  • :cake: So lasset uns beginnen! :new:

    • Ein Abenteuer, wie du es noch nie erlebt hast!
      Tauche ein in die wunderbare Welt des Königs und erlebe auf deiner Reise die verrücktesten Dinge!
      NICHT MEHR LANGE! :navigation-right: Hier gibt es weitere Informationen! :navigation-left:
    • Jetzt die Demo herunterladen!
      Bild
      Euch erwartet eine Welt, wie sie nur ein exzentrischer König veralbern könnte...
    • Titelbild
      Bild
  • :fires: XBOX 360 Bild

    Bild
  • :new: Avatar im Großformat

    Bild

Playm

RPG Studio Webmaster

  • "Playm" started this thread
  • Send private message

20

Thursday, April 16th 2015, 7:35pm

Ah, habe mal passend zum Ablauf der Standardskripte das Skript geändert. Sollte nun passen.

Den Fehler habe ich gleich mit korrigiert. Es fehlte eine Fallunterscheidung, wenn ein Event zwar via ActionButton ausgelöst wird, aber keinen description-tag enthält. Einfach die beiden Skripte je durch die Version VX.1.1 ersetzen. :hi:

Startpost wurde editiert


Similar threads

Social bookmarks