• Anmelden

1

Samstag, 11. Februar 2012, 00:35

TRain Actor

Huhu, hab eine einfache Frage,

besitzt jemand noch den Train Actor Script oder einen alternativen passenden Script dazu?
Falls ja kann ihn mir jemanden zu Verfügung stellen? In der Datenbank ist er nicht mehr aufzufinden.


Der Train Actor ist ein Script mit dem die Partiemitglieder einem auf Schritt und Titt folgen genau wie das Pikachu aus Pokemon Gelb

2

Samstag, 11. Februar 2012, 07:42

Du meinst bestimmt das Caterpillar System.
Spoiler

Ruby Quellcode

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
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
TRAIN_ACTOR_TRANSPARENT_SWITCH = true
TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX = 1
# ------------------------------------
DOWN_LEFT  = 1
DOWN_RIGHT = 3
UP_LEFT	= 7
UP_RIGHT  = 9
JUMP  	= 5
# ------------------------------------
class Game_Party_Actor < Game_Character
# ------------------------------------
  def initialize
	super()
	@through = true
  end
# ------------------------------------
  def setup(actor)
	if actor != nil
  	@character_name = actor.character_name
  	@character_hue = actor.character_hue
	else
  	@character_name = ""
  	@character_hue = 0
	end
	@opacity = 255
	@blend_type = 0
  end
# ------------------------------------
  def screen_z(height = 0)
	if $game_player.x == @x and $game_player.y == @y
  	return $game_player.screen_z(height) - 1
	end
	super(height)
  end
# ------------------------------------  
  def move_down(turn_enabled = true)
	if turn_enabled
  	turn_down
	end
	if passable?(@x, @y, Input::DOWN)
  	turn_down
  	@y += 1
	end
  end
# ------------------------------------ 
  def move_left(turn_enabled = true)
	if turn_enabled
  	turn_left
	end
	if passable?(@x, @y, Input::LEFT)
  	turn_left
  	@x -= 1
	end
  end
# ------------------------------------
  def move_right(turn_enabled = true)
	if turn_enabled
  	turn_right
	end
	if passable?(@x, @y, Input::RIGHT)
  	turn_right
  	@x += 1
	end
  end
# ------------------------------------ 
  def move_up(turn_enabled = true)
	if turn_enabled
  	turn_up
	end
	if passable?(@x, @y, Input::UP)
  	turn_up
  	@y -= 1
	end
  end
# ------------------------------------
  def move_lower_left
	unless @direction_fix
  	@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
	end
	if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  	(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  	@x -= 1
  	@y += 1
	end
  end
# ------------------------------------ 
  def move_lower_right
	unless @direction_fix
  	@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
	end
	if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  	(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  	@x += 1
  	@y += 1
	end
  end
# ------------------------------------ 
  def move_upper_left
	unless @direction_fix
  	@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
	end
	if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  	(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  	@x -= 1
  	@y -= 1
	end
  end
# ------------------------------------
  def move_upper_right
	unless @direction_fix
  	@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
	end
	if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  	(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  	@x += 1
  	@y -= 1
	end
  end
# ------------------------------------
  def set_move_speed(move_speed)
	@move_speed = move_speed
  end
end
 
 
class Spriteset_Map
# ------------------------------------
  def setup_actor_character_sprites?
	return @setup_actor_character_sprites_flag != nil
  end
# ------------------------------------
  def setup_actor_character_sprites(characters)
	if !setup_actor_character_sprites?
  	index_game_player = 0
  	@character_sprites.each_index do |i|
    	if @character_sprites[i].character.instance_of?(Game_Player)
      	index_game_player = i
      	break
    	end
  	end
  	for character in characters.reverse
    	@character_sprites.unshift(
      	Sprite_Character.new(@viewport1, character)
    	)
  	end
  	@setup_actor_character_sprites_flag = true
	end
  end
end
 
 
class Scene_Map
# ------------------------------------
  def setup_actor_character_sprites(characters)
	@spriteset.setup_actor_character_sprites(characters)
  end
end
 
 
class Game_Party
# ------------------------------------
  def set_transparent_actors(transparent)
	@transparent = transparent
  end
# ------------------------------------
  def setup_actor_character_sprites
	if @characters == nil
  	@characters = []
  	for i in 1 .. 4
    	@characters.push(Game_Party_Actor.new)
  	end
	end
	if @actors_chach == nil
  	@actors_chach = []
	end
	if @actors_chach != @actors
  	@actors_chach = @actors.clone
  	for i in 1 .. 4
    	@characters[i - 1].setup(actors[i])
  	end
	end
	if $scene.instance_of?(Scene_Map)
  	$scene.setup_actor_character_sprites(@characters)
	end
  end
# ------------------------------------
  def update_party_actors
	setup_actor_character_sprites
	transparent = $game_player.transparent
	if transparent == false
  	if TRAIN_ACTOR_TRANSPARENT_SWITCH
    	transparent = $game_switches[TRAIN_ACTOR_TRANSPARENT_SWITCHES_INDEX]
  	else
    	transparent = $game_player.transparent
  	end
	end
	for character in @characters
  	character.transparent = transparent
  	character.set_move_speed($game_player.get_move_speed)
  	character.update
	end
  end
# ------------------------------------
  def moveto_party_actors( x, y )
	setup_actor_character_sprites
	for character in @characters
  	character.moveto( x, y )
	end
	if @move_list == nil
  	@move_list = []
	end
	for i in 0 .. 10
  	@move_list[i] = nil
	end
  end
  def move_party_actors
	if @move_list == nil
  	@move_list = []
  	for i in 0 .. 10
    	@move_list[i] = nil
  	end
	end
	@move_list.each_index do |i|
  	if @characters[i] != nil
    	case @move_list[i].type
      	when Input::DOWN
        	@characters[i].move_down(@move_list[i].args[0])
      	when Input::LEFT
        	@characters[i].move_left(@move_list[i].args[0])
      	when Input::RIGHT
        	@characters[i].move_right(@move_list[i].args[0])
      	when Input::UP
        	@characters[i].move_up(@move_list[i].args[0])
      	when DOWN_LEFT
        	@characters[i].move_lower_left
      	when DOWN_RIGHT
        	@characters[i].move_lower_right
      	when UP_LEFT
        	@characters[i].move_upper_left
      	when UP_RIGHT
        	@characters[i].move_upper_right
      	when JUMP
        	@characters[i].jump(@move_list[i].args[0],@move_list[i].args[1])
    	end
  	end
	end
  end
 
 
 class Move_List_Element
# ------------------------------------
	def initialize(type,args)
  	@type = type
  	@args = args
	end
	def type() return @type end
	def args() return @args end
  end
# ------------------------------------
  def add_move_list(type,*args)
	@move_list.unshift(Move_List_Element.new(type,args)).pop
  end
# ------------------------------------
  def move_down_party_actors(turn_enabled = true)
	move_party_actors
	add_move_list(Input::DOWN,turn_enabled)
  end
# ------------------------------------
  def move_left_party_actors(turn_enabled = true)
	move_party_actors
	add_move_list(Input::LEFT,turn_enabled)
  end
# ------------------------------------
  def move_right_party_actors(turn_enabled = true)
	move_party_actors
	add_move_list(Input::RIGHT,turn_enabled)
  end
# ------------------------------------
  def move_up_party_actors(turn_enabled = true)
	move_party_actors
	add_move_list(Input::UP,turn_enabled)
  end
# ------------------------------------
  def move_lower_left_party_actors
	move_party_actors
	add_move_list(DOWN_LEFT)
  end
# ------------------------------------
  def move_lower_right_party_actors
	move_party_actors
	add_move_list(DOWN_RIGHT)
  end
# ------------------------------------
  def move_upper_left_party_actors
	move_party_actors
	add_move_list(UP_LEFT)
  end
# ------------------------------------
  def move_upper_right_party_actors
	move_party_actors
	add_move_list(UP_RIGHT)
  end
# ------------------------------------
  def jump_party_actors(x_plus, y_plus)
	move_party_actors
	add_move_list(JUMP,x_plus, y_plus)
  end
end
 
 
module Game_Player_Module
# ------------------------------------
  def update
	$game_party.update_party_actors
	super
  end
# ------------------------------------
  def moveto( x, y )
	super
	$game_party.moveto_party_actors( x, y )
  end
# ------------------------------------
  def move_down(turn_enabled = true)
	if passable?(@x, @y, Input::DOWN)
  	$game_party.move_down_party_actors(turn_enabled)
	end
	super(turn_enabled)
  end
# ------------------------------------
  def move_left(turn_enabled = true)
	if passable?(@x, @y, Input::LEFT)
  	$game_party.move_left_party_actors(turn_enabled)
	end
	super(turn_enabled)
  end
# ------------------------------------
  def move_right(turn_enabled = true)
	if passable?(@x, @y, Input::RIGHT)
  	$game_party.move_right_party_actors(turn_enabled)
	end
	super(turn_enabled)
  end
# ------------------------------------
  def move_up(turn_enabled = true)
	if passable?(@x, @y, Input::UP)
  	$game_party.move_up_party_actors(turn_enabled)
	end
	super(turn_enabled)
  end
# ------------------------------------
  def move_lower_left
	if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
  	(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
  	$game_party.move_lower_left_party_actors
	end
	super
  end
# ------------------------------------
  def move_lower_right
	if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
  	(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
  	$game_party.move_lower_right_party_actors
	end
	super
  end
# ------------------------------------
  def move_upper_left
	if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
  	(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
  	$game_party.move_upper_left_party_actors
	end
	super
  end
# ------------------------------------
  def move_upper_right
	if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
  	(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
  	$game_party.move_upper_right_party_actors
	end
	super
  end
# ------------------------------------
  def jump(x_plus, y_plus)
	new_x = @x + x_plus
	new_y = @y + y_plus
	if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
  	$game_party.jump_party_actors(x_plus, y_plus)
	end
	super(x_plus, y_plus)
  end
# ------------------------------------
 def get_move_speed
	return @move_speed
  end
end
 
 
class Game_Player
  include Game_Player_Module
end
zum Lesen den Text mit der Maus markieren


MFG
Realität ist auch nur eine Art von Rollenspiel.

3

Samstag, 11. Februar 2012, 11:05

Vielen vielen Dank genau das meine ich, meine mich sogar zu erinnern gestern darüber gestolpert zu sein. Aber ich hatte nur Train Actor in Erinnerung. :rolleyes:

Social Bookmarks