• Anmelden

1

Samstag, 9. Mai 2009, 19:01

Probleme mit hinterherlauf skript!

Hallo leute ich hab ein problem mit den hinterherlaufskript und zwar bekomm ich immer ein error wenn ich die geschwindigkeit des helden erhöhe ich bitte um hilfe ...

Spoiler

#==============================================================================
# ** Trailing Characters
#==============================================================================
# SephirothSpawn
# Version 1
# 2006-05-24
#------------------------------------------------------------------------------
# * Instructions:
#
# ~ Adding Trailing Character:
# <game_character>.add_trailing_character(<name>, <hue>)
#
# ~ Deleting Trailing Character at a index
# <game_character>.delete_trailing_character(<index>)
#
# ~ Delete Last Trailing Character
# <game_character>.pop_trailing_character
#
# ~ Get Last Trailing Character
# <game_character>.last_trailing_character
#
# ~ Get Number of Trailing Characters
# <game_character>.number_of_trailing_characters
#
# * For Events, Replace <game_character> with
# $game_map.events[<event_id>]
#
# * For Player, Replace <game_character> with
# $game_player
#
# ~ Enable or Disable Caterpillar
# $game_player.enable_caterpillar = True (On) or False (Off)
#==============================================================================

#------------------------------------------------------------------------------
# * SDK Log Script
#------------------------------------------------------------------------------
SDK.log('Trailing Characters', 'SephirothSpawn', 1, '2006-05-24')

#------------------------------------------------------------------------------
# * Begin SDK Enable Test
#------------------------------------------------------------------------------
if SDK.state('Trailing Characters') == true

#==============================================================================
# ** Game_TrailingCharacter
#==============================================================================

class Game_TrailingCharacter < Game_Character
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :trail_number
attr_accessor :character_hue
attr_accessor :character_name
attr_accessor :x, :y, :direction
#--------------------------------------------------------------------------
# * Screen Z
#--------------------------------------------------------------------------
def screen_z(height = 0)
# Get Original Z Value
n = super(height)
# Decrease Z By 1 and return
return n - @trail_number
end
#--------------------------------------------------------------------------
# * Setup Initialization
#--------------------------------------------------------------------------
def setup(parent_character, character_name, character_hue)
# Set X & Y Coordinates
@x, @y = parent_character.x, parent_character.y
@real_x, @real_y = @x * 128, @y * 128
@direction = parent_character.direction
# Sets Character Sprite Information
@character_name = character_name
@character_hue = character_hue
# Turns Through On
@through = true
# If Parent Character is a Trailing Character
if parent_character.is_a?(Game_TrailingCharacter)
# Sets Trailing Number 1
@trail_number = parent_character.trail_number 1
else
# Sets 1 to Trailing Number
@trail_number = 1
end
end
#--------------------------------------------------------------------------
# * Delete
#--------------------------------------------------------------------------
def delete
# Return No Trailing Sprite
return if @trailing_character.nil?
# Switch Properties with trailing sprite
@character_name = @trailing_character.character_name
@character_hue = @trailing_character.character_hue
@trail_number = @trailing_character.trail_number
# Delete Trail Sprite
@trailing_character.delete
end
end

#==============================================================================
# ** Game_Character
#==============================================================================

class Game_Character
#--------------------------------------------------------------------------
# * Trailing Character Movements
#--------------------------------------------------------------------------
Trailing_Character_Movements = [[], [], [], [], []]
Trailing_Character_Movements[0][2] = '@trailing_character.move_right'
Trailing_Character_Movements[1][1] =
'@direction == 2 ? @trailing_character.move_right : @trailing_character.move_down'
Trailing_Character_Movements[1][2] =
'@trailing_character.turn_right unless @trailing_character.direction == 6'
Trailing_Character_Movements[1][3] =
'@direction == 8 ? @trailing_character.move_right : @trailing_character.move_up'
Trailing_Character_Movements[2][0] = '@trailing_character.move_down'
Trailing_Character_Movements[2][1] =
'@trailing_character.turn_down unless @trailing_character.direction == 2'
Trailing_Character_Movements[2][3] =
'@trailing_character.turn_up unless @trailing_character.direction == 8'
Trailing_Character_Movements[2][4] = '@trailing_character.move_up'
Trailing_Character_Movements[3][1] =
'@direction == 2 ? @trailing_character.move_left : @trailing_character.move_down'
Trailing_Character_Movements[3][2] =
'@trailing_character.turn_left unless @trailing_character.direction == 4'
Trailing_Character_Movements[3][3] =
'@direction == 8 ? @trailing_character.move_left : @trailing_character.move_up'
Trailing_Character_Movements[4][2] = '@trailing_character.move_left'
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :trailing_character
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_trailingchara_gmchar_init initialize
alias seph_trailingchara_gmchar_update update
alias seph_trailingchara_gmchar_jump jump
alias seph_trailingchara_gmchar_mt moveto
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Original Initialization
seph_trailingchara_gmchar_init
# Create Nil Trailing Character
@trailing_character = nil
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
# Original Frame Update
seph_trailingchara_gmchar_update
# If Trailing Sprite Exist
unless @trailing_character.nil?
# Update Trailing Character
@trailing_character.update
# Update Trailing Character Movements
update_trailing_character_movements
end
end
#--------------------------------------------------------------------------
# * Jump
#--------------------------------------------------------------------------
def jump(x_plus, y_plus)
# Original Jump Method
seph_trailingchara_gmchar_jump(x_plus, y_plus)
# Return if No Trailing Character
return if @trailing_character.nil?
# If Jumping
if self.jumping?
x_plus = @x - @trailing_character.x
y_plus = @y - @trailing_character.y
# Jump Trialing Character
@trailing_character.jump(x_plus, y_plus)
end
end
#--------------------------------------------------------------------------
# * Move to Designated Position
#--------------------------------------------------------------------------
def moveto(x, y)
# Original Moveto Method
seph_trailingchara_gmchar_mt(x, y)
# Move Trailing Sprite
unless @trailing_character.nil?
# Move Trailing Character
@trailing_character.moveto(x, y)
end
end
#--------------------------------------------------------------------------
# * Frame Update : Trailing Sprite Movements
#--------------------------------------------------------------------------
def update_trailing_character_movements
# Return if Trailing Character is Moving or Jumping
return if @trailing_character.moving? || @trailing_character.jumping?
# Calculate X & Y Difference
x_diff = @trailing_character.x - @x 2
y_diff = @trailing_character.y - @y 2
# Trailing Character Movements
unless Trailing_Character_Movements[x_diff][y_diff].nil?
eval Trailing_Character_Movements[x_diff][y_diff]
end
end
#--------------------------------------------------------------------------
# * Add Trailing Character
#--------------------------------------------------------------------------
def add_trailing_character(name = '', hue = 0)
# Add Trailing Character
if @trailing_character.nil?
@trailing_character = Game_TrailingCharacter.new
@trailing_character.setup(self, name, hue)
# Adds Sprite to Spriteset
if $scene.is_a?(Scene_Map)
$scene.spriteset.add_trailing_character(@trailing_character)
end
# Add Trailing Character to Trailing Sprite
else
@trailing_character.add_trailing_character(name, hue)
end
end
#--------------------------------------------------------------------------
# * Delete Trailing Character
#--------------------------------------------------------------------------
def delete_trailing_character(index = 0)
# Return if No Trailing Character
return if @trailing_character.nil?
# Start Indexing
n = 0
tc = @trailing_character
# Gets Trialing Character Index
while n < index
# Return if No Trailing Character
return if tc.trailing_character.nil?
# Add Index
n = 1
# Get Next Trailing Character
tc = tc.trailing_character
end
# Delete all Trailing Characters
tc.delete
# Pop Last Character
pop_trailing_character
end
#--------------------------------------------------------------------------
# * Pop Trailing Character
#--------------------------------------------------------------------------
def pop_trailing_character
# Return if No Trailing Character
return nil if @trailing_character.nil?
# If Trailing Sprite has a trailing Sprite
if @trailing_character.trailing_character != nil
@trailing_character.pop_trailing_character
# Delete Trailing Character
else
# Remove from Spriteset
$scene.spriteset.pop_trailing_character(@trailing_character)
# Delete Trailing Sprite
@trailing_character = nil
end
end
#--------------------------------------------------------------------------
# * Last Trailing Character
#--------------------------------------------------------------------------
def last_trailing_character
# Return nil if no trailing character
return nil if @trailing_character.nil?
# Fetches Last Character
tc = @trailing_character
until tc.trailing_character.nil?
tc = tc.trailing_character
end
return tc
end
#--------------------------------------------------------------------------
# * Number of Trailing Character
#--------------------------------------------------------------------------
def number_of_trailing_characters
# Returns 0 if no Trailing Character
return 0 if @trailing_character.nil?
# Starts Counter
n = 1
tc = @trailing_character
# Adds to Counter when more Trailing Characters
until tc.trailing_character.nil?
n = 1
tc = tc.trailing_character
end
# Return Counter
return n
end
end

#==============================================================================
# ** Game_Player
#==============================================================================

class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_reader :enable_caterpillar
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_catapillar_gmplyr_init initialize
alias seph_catapillar_gmplyr_refresh refresh
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Original Initialization
seph_catapillar_gmplyr_init
# Enables Catapillar
@enable_caterpillar = true
end
#--------------------------------------------------------------------------
# * Enable Caterpiller
#--------------------------------------------------------------------------
def enable_caterpillar=(boolean)
# If Enabling
if boolean
@enable_caterpillar = true
else
# Deletes Party Members
($game_party.actors.size - 1).times do
delete_trailing_character
end
@enable_caterpillar = false
end
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
# Original Refresh
seph_catapillar_gmplyr_refresh
# Delete all Trailing Characters
until number_of_trailing_characters <
(@enable_caterpillar ? $game_party.actors.size : 1)
pop_trailing_character
end
# Return unless Caterpillar Disabled
return unless @enable_caterpillar
# Refreshes Actors
unless @trailing_character.nil?
tc, i = @trailing_character, 0
loop do
i = 1
actor = $game_party.actors
tc.character_name = actor.character_name
tc.character_hue = actor.character_hue
tc.trailing_character.nil? ? break : tc = tc.trailing_character
end
end
# Add Party Characters
for i in (number_of_trailing_characters 1)...$game_party.actors.size
# Gets Actor
actor = $game_party.actors[i]
# Adds Actor
add_trailing_character(actor.character_name, actor.character_hue)
end
end
#--------------------------------------------------------------------------
# * Pop Trailing Character
#--------------------------------------------------------------------------
def pop_trailing_character
# If Caterpillar Enabled
if @enable_caterpillar
# If No Extra Trailing Characters
return if number_of_trailing_characters < $game_party.actors.size
end
super
end
#--------------------------------------------------------------------------
# * Delete Trailing Character
#--------------------------------------------------------------------------
def delete_trailing_character(index = 0)
# If Caterpillar Enabled
if @enable_caterpillar
# Return if trying to delete a party member
return if (index 1) < $game_party.actors.size
end
super(index)
end
end

#==============================================================================
# ** Spriteset_Map
#==============================================================================

class Spriteset_Map
#--------------------------------------------------------------------------
# * Alias Listings
#--------------------------------------------------------------------------
alias seph_trailingchara_ssetm_init initialize
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize
# Original Initialization
seph_trailingchara_ssetm_init
# Adds Trailing Characters (Player)
unless $game_player.trailing_character.nil?
trailing_character = $game_player.trailing_character
add_trailing_character(trailing_character)
until trailing_character.trailing_character.nil?
trailing_character = trailing_character.trailing_character
add_trailing_character(trailing_character)
end
end
# Adds Trailing Characters (Events)
for event in $game_map.events.values
unless event.trailing_character.nil?
trailing_character = event.trailing_character
add_trailing_character(trailing_character)
until trailing_character.trailing_character.nil?
trailing_character = trailing_character.trailing_character
add_trailing_character(trailing_character)
end
end
end
end
#--------------------------------------------------------------------------
# * Add Trailing Character
#--------------------------------------------------------------------------
def add_trailing_character(character = nil)
# Return if nil Character
return if character.nil?
# Adds Character Sprite
@character_sprites.push(Sprite_Character.new(@viewport1, character))
end
#--------------------------------------------------------------------------
# * Pop Trailing Character
#--------------------------------------------------------------------------
def pop_trailing_character(character)
# Return if nil character
return if character.nil?
# Passes through all Character Sprites
for sprite in @character_sprites
# Pops Sprites Character
if sprite.character == character
# Disposes Sprite
sprite.dispose
# Deletes from Character Sprites
@character_sprites.delete(sprite)
return
end
end
end
end

#==============================================================================
# ** Scene_Map
#==============================================================================

class Scene_Map
attr_accessor :spriteset
end


#------------------------------------------------------------------------------
# * End SDK Enable Test
#------------------------------------------------------------------------------
end
zum Lesen den Text mit der Maus markieren
[/i]

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

2

Samstag, 9. Mai 2009, 19:42

1. Was für ein Fehler wird ausgegeben?
2. Benutz Code-Tags v_v
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

3

Samstag, 9. Mai 2009, 20:00

Hallo Neo.

Also folgender fehler wird ausgegeben:

Skript 'Name des Skipts' line 204: NoMethodError occurred.
undefined method `[]' for nil:NilClass

Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

4

Samstag, 9. Mai 2009, 21:20

Gut, ohne Ruby-Tag nützt das alles garnichts...

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
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
#==============================================================================
 # ** Trailing Characters
 #==============================================================================
 # SephirothSpawn
 # Version 1
 # 2006-05-24
 #------------------------------------------------------------------------------
 # * Instructions:
 # 
 # ~ Adding Trailing Character:
 # <game_character>.add_trailing_character(<name>, <hue>)
 #
 # ~ Deleting Trailing Character at a index
 # <game_character>.delete_trailing_character(<index>)
 #
 # ~ Delete Last Trailing Character
 # <game_character>.pop_trailing_character
 #
 # ~ Get Last Trailing Character
 # <game_character>.last_trailing_character
 #
 # ~ Get Number of Trailing Characters
 # <game_character>.number_of_trailing_characters
 #
 # * For Events, Replace <game_character> with
 # $game_map.events[<event_id>]
 #
 # * For Player, Replace <game_character> with
 # $game_player
 #
 # ~ Enable or Disable Caterpillar
 # $game_player.enable_caterpillar = True (On) or False (Off)
 #==============================================================================
 
 #------------------------------------------------------------------------------
 # * SDK Log Script
 #------------------------------------------------------------------------------
 SDK.log('Trailing Characters', 'SephirothSpawn', 1, '2006-05-24')
 
 #------------------------------------------------------------------------------
 # * Begin SDK Enable Test
 #------------------------------------------------------------------------------
 if SDK.state('Trailing Characters') == true
 
 #==============================================================================
 # ** Game_TrailingCharacter
 #==============================================================================
 
 class Game_TrailingCharacter < Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :trail_number
 attr_accessor :character_hue
 attr_accessor :character_name
 attr_accessor :x, :y, :direction 
 #--------------------------------------------------------------------------
 # * Screen Z
 #--------------------------------------------------------------------------
 def screen_z(height = 0)
 # Get Original Z Value
 n = super(height)
 # Decrease Z By 1 and return
 return n - @trail_number
 end
 #--------------------------------------------------------------------------
 # * Setup Initialization
 #--------------------------------------------------------------------------
 def setup(parent_character, character_name, character_hue)
 # Set X & Y Coordinates
 @x, @y = parent_character.x, parent_character.y
 @real_x, @real_y = @x * 128, @y * 128
 @direction = parent_character.direction
 # Sets Character Sprite Information
 @character_name = character_name
 @character_hue = character_hue
 # Turns Through On
 @through = true
 # If Parent Character is a Trailing Character
 if parent_character.is_a?(Game_TrailingCharacter)
 # Sets Trailing Number 1
 @trail_number = parent_character.trail_number 1
 else
 # Sets 1 to Trailing Number
 @trail_number = 1
 end
 end
 #--------------------------------------------------------------------------
 # * Delete
 #--------------------------------------------------------------------------
 def delete
 # Return No Trailing Sprite
 return if @trailing_character.nil?
 # Switch Properties with trailing sprite
 @character_name = @trailing_character.character_name
 @character_hue = @trailing_character.character_hue
 @trail_number = @trailing_character.trail_number
 # Delete Trail Sprite
 @trailing_character.delete
 end
 end
 
 #==============================================================================
 # ** Game_Character
 #==============================================================================
 
 class Game_Character
 #--------------------------------------------------------------------------
 # * Trailing Character Movements
 #--------------------------------------------------------------------------
 Trailing_Character_Movements = [[], [], [], [], []]
 Trailing_Character_Movements[0][2] = '@trailing_character.move_right'
 Trailing_Character_Movements[1][1] = 
 '@direction == 2 ? @trailing_character.move_right : @trailing_character.move_down'
 Trailing_Character_Movements[1][2] = 
 '@trailing_character.turn_right unless @trailing_character.direction == 6'
 Trailing_Character_Movements[1][3] = 
 '@direction == 8 ? @trailing_character.move_right : @trailing_character.move_up'
 Trailing_Character_Movements[2][0] = '@trailing_character.move_down'
 Trailing_Character_Movements[2][1] = 
 '@trailing_character.turn_down unless @trailing_character.direction == 2'
 Trailing_Character_Movements[2][3] = 
 '@trailing_character.turn_up unless @trailing_character.direction == 8'
 Trailing_Character_Movements[2][4] = '@trailing_character.move_up'
 Trailing_Character_Movements[3][1] = 
 '@direction == 2 ? @trailing_character.move_left : @trailing_character.move_down'
 Trailing_Character_Movements[3][2] = 
 '@trailing_character.turn_left unless @trailing_character.direction == 4'
 Trailing_Character_Movements[3][3] = 
 '@direction == 8 ? @trailing_character.move_left : @trailing_character.move_up'
 Trailing_Character_Movements[4][2] = '@trailing_character.move_left'
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_accessor :trailing_character
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------
 alias seph_trailingchara_gmchar_init initialize
 alias seph_trailingchara_gmchar_update update
 alias seph_trailingchara_gmchar_jump jump
 alias seph_trailingchara_gmchar_mt moveto
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
 # Original Initialization
 seph_trailingchara_gmchar_init
 # Create Nil Trailing Character
 @trailing_character = nil
 end
 #--------------------------------------------------------------------------
 # * Frame Update
 #--------------------------------------------------------------------------
 def update
 # Original Frame Update
 seph_trailingchara_gmchar_update
 # If Trailing Sprite Exist
 unless @trailing_character.nil?
 # Update Trailing Character
 @trailing_character.update
 # Update Trailing Character Movements
 update_trailing_character_movements
 end
 end
 #--------------------------------------------------------------------------
 # * Jump
 #--------------------------------------------------------------------------
 def jump(x_plus, y_plus)
 # Original Jump Method
 seph_trailingchara_gmchar_jump(x_plus, y_plus)
 # Return if No Trailing Character
 return if @trailing_character.nil?
 # If Jumping
 if self.jumping?
 x_plus = @x - @trailing_character.x
 y_plus = @y - @trailing_character.y
 # Jump Trialing Character
 @trailing_character.jump(x_plus, y_plus)
 end
 end
 #--------------------------------------------------------------------------
 # * Move to Designated Position
 #--------------------------------------------------------------------------
 def moveto(x, y)
 # Original Moveto Method
 seph_trailingchara_gmchar_mt(x, y)
 # Move Trailing Sprite
 unless @trailing_character.nil?
 # Move Trailing Character
 @trailing_character.moveto(x, y)
 end
 end
 #--------------------------------------------------------------------------
 # * Frame Update : Trailing Sprite Movements
 #--------------------------------------------------------------------------
 def update_trailing_character_movements
 # Return if Trailing Character is Moving or Jumping
 return if @trailing_character.moving? || @trailing_character.jumping?
 # Calculate X & Y Difference
 x_diff = @trailing_character.x - @x 2
 y_diff = @trailing_character.y - @y 2
 # Trailing Character Movements
 unless Trailing_Character_Movements[x_diff][y_diff].nil?
 eval Trailing_Character_Movements[x_diff][y_diff]
 end
 end
 #--------------------------------------------------------------------------
 # * Add Trailing Character
 #--------------------------------------------------------------------------
 def add_trailing_character(name = '', hue = 0)
 # Add Trailing Character
 if @trailing_character.nil?
 @trailing_character = Game_TrailingCharacter.new
 @trailing_character.setup(self, name, hue)
 # Adds Sprite to Spriteset
 if $scene.is_a?(Scene_Map)
 $scene.spriteset.add_trailing_character(@trailing_character)
 end
 # Add Trailing Character to Trailing Sprite
 else
 @trailing_character.add_trailing_character(name, hue)
 end
 end
 #--------------------------------------------------------------------------
 # * Delete Trailing Character
 #--------------------------------------------------------------------------
 def delete_trailing_character(index = 0)
 # Return if No Trailing Character
 return if @trailing_character.nil?
 # Start Indexing
 n = 0
 tc = @trailing_character
 # Gets Trialing Character Index
 while n < index
 # Return if No Trailing Character
 return if tc.trailing_character.nil?
 # Add Index
 n = 1
 # Get Next Trailing Character
 tc = tc.trailing_character
 end
 # Delete all Trailing Characters
 tc.delete
 # Pop Last Character
 pop_trailing_character
 end
 #--------------------------------------------------------------------------
 # * Pop Trailing Character
 #--------------------------------------------------------------------------
 def pop_trailing_character
 # Return if No Trailing Character
 return nil if @trailing_character.nil?
 # If Trailing Sprite has a trailing Sprite
 if @trailing_character.trailing_character != nil
 @trailing_character.pop_trailing_character
 # Delete Trailing Character
 else
 # Remove from Spriteset
 $scene.spriteset.pop_trailing_character(@trailing_character)
 # Delete Trailing Sprite
 @trailing_character = nil
 end
 end
 #--------------------------------------------------------------------------
 # * Last Trailing Character
 #--------------------------------------------------------------------------
 def last_trailing_character
 # Return nil if no trailing character
 return nil if @trailing_character.nil?
 # Fetches Last Character
 tc = @trailing_character
 until tc.trailing_character.nil?
 tc = tc.trailing_character
 end
 return tc
 end
 #--------------------------------------------------------------------------
 # * Number of Trailing Character
 #--------------------------------------------------------------------------
 def number_of_trailing_characters
 # Returns 0 if no Trailing Character
 return 0 if @trailing_character.nil?
 # Starts Counter
 n = 1
 tc = @trailing_character
 # Adds to Counter when more Trailing Characters
 until tc.trailing_character.nil?
 n = 1
 tc = tc.trailing_character
 end
 # Return Counter
 return n 
 end
 end
 
 #==============================================================================
 # ** Game_Player
 #==============================================================================
 
 class Game_Player < Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :enable_caterpillar 
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------
 alias seph_catapillar_gmplyr_init initialize
 alias seph_catapillar_gmplyr_refresh refresh
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
 # Original Initialization
 seph_catapillar_gmplyr_init
 # Enables Catapillar
 @enable_caterpillar = true
 end
 #--------------------------------------------------------------------------
 # * Enable Caterpiller
 #--------------------------------------------------------------------------
 def enable_caterpillar=(boolean)
 # If Enabling
 if boolean
 @enable_caterpillar = true
 else
 # Deletes Party Members
 ($game_party.actors.size - 1).times do
 delete_trailing_character
 end
 @enable_caterpillar = false
 end
 refresh
 end
 #--------------------------------------------------------------------------
 # * Refresh
 #--------------------------------------------------------------------------
 def refresh
 # Original Refresh
 seph_catapillar_gmplyr_refresh
 # Delete all Trailing Characters
 until number_of_trailing_characters < 
 (@enable_caterpillar ? $game_party.actors.size : 1)
 pop_trailing_character
 end
 # Return unless Caterpillar Disabled
 return unless @enable_caterpillar
 # Refreshes Actors
 unless @trailing_character.nil?
 tc, i = @trailing_character, 0
 loop do
 i = 1
 actor = $game_party.actors
 tc.character_name = actor.character_name
 tc.character_hue = actor.character_hue
 tc.trailing_character.nil? ? break : tc = tc.trailing_character
 end
 end
 # Add Party Characters
 for i in (number_of_trailing_characters 1)...$game_party.actors.size
 # Gets Actor
 actor = $game_party.actors[i]
 # Adds Actor
 add_trailing_character(actor.character_name, actor.character_hue)
 end
 end
 #--------------------------------------------------------------------------
 # * Pop Trailing Character
 #--------------------------------------------------------------------------
 def pop_trailing_character
 # If Caterpillar Enabled
 if @enable_caterpillar
 # If No Extra Trailing Characters
 return if number_of_trailing_characters < $game_party.actors.size
 end
 super
 end
 #--------------------------------------------------------------------------
 # * Delete Trailing Character
 #--------------------------------------------------------------------------
 def delete_trailing_character(index = 0)
 # If Caterpillar Enabled
 if @enable_caterpillar
 # Return if trying to delete a party member
 return if (index 1) < $game_party.actors.size
 end
 super(index)
 end
 end
 
 #==============================================================================
 # ** Spriteset_Map
 #==============================================================================
 
 class Spriteset_Map
 #--------------------------------------------------------------------------
 # * Alias Listings
 #--------------------------------------------------------------------------
 alias seph_trailingchara_ssetm_init initialize
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize
 # Original Initialization
 seph_trailingchara_ssetm_init
 # Adds Trailing Characters (Player)
 unless $game_player.trailing_character.nil?
 trailing_character = $game_player.trailing_character
 add_trailing_character(trailing_character)
 until trailing_character.trailing_character.nil?
 trailing_character = trailing_character.trailing_character
 add_trailing_character(trailing_character)
 end
 end
 # Adds Trailing Characters (Events)
 for event in $game_map.events.values
 unless event.trailing_character.nil?
 trailing_character = event.trailing_character
 add_trailing_character(trailing_character)
 until trailing_character.trailing_character.nil?
 trailing_character = trailing_character.trailing_character
 add_trailing_character(trailing_character)
 end
 end
 end
 end
 #--------------------------------------------------------------------------
 # * Add Trailing Character
 #--------------------------------------------------------------------------
 def add_trailing_character(character = nil)
 # Return if nil Character
 return if character.nil?
 # Adds Character Sprite
 @character_sprites.push(Sprite_Character.new(@viewport1, character))
 end
 #--------------------------------------------------------------------------
 # * Pop Trailing Character
 #--------------------------------------------------------------------------
 def pop_trailing_character(character)
 # Return if nil character
 return if character.nil?
 # Passes through all Character Sprites
 for sprite in @character_sprites
 # Pops Sprites Character
 if sprite.character == character
 # Disposes Sprite
 sprite.dispose
 # Deletes from Character Sprites
 @character_sprites.delete(sprite)
 return
 end
 end
 end
 end
 
 #==============================================================================
 # ** Scene_Map
 #==============================================================================
 
 class Scene_Map
 attr_accessor :spriteset
 end
 
 
 #------------------------------------------------------------------------------
 # * End SDK Enable Test
 #------------------------------------------------------------------------------
 end

So... kann eigentlich nicht sein mit den [], da die nicht benutzt werden. Sicher, dass nicht ein anderes Script spakkt? Wenn doch in diesem Script, dann haste paar leere Zeilen mehr, als ich, und dann hilft die Zeilenangabe nix.
Und noch was *DK mit Zaunpfahl zuwing*:
Der Ruby-Tag ist verdammt nochmal verbuggt! Erst hört der bei 496 Zeilen auf, zu zählen, und zudem zählt er schon bei 213 exakt um eine Zeile zu wenig!!! Wie soll man da exakt in größeren Scripts debuggen, wenn die Zählerabstände kleiner sind, als die Zeilenabstände?
  • :medal: Werbung

    Bild

    Cpp Quellcode

    1
    
    #define TRUE FALSE //Happy debugging suckers
    (Einfach nur wundervoll.)
  • :palette: 1plus3 :cake:

    Bild
  • :fires: Nuuuhminaaah

    Bild
  • :medal: compétences

    mes compétences
    :heart_full: :heart_full: :heart_full: :heart_full: :heart_full: max.
    :ruler-triangle: Maps machen :heart_full: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :media-player: Musik machen :heart_full: :heart-half: :heart-empty: :heart-empty: :heart-empty:
    :cup: Scripts machen :heart_full: :heart_full: :heart_full: :heart_full: :heart-break:
    :paper: Story ausdenken :heart_full: :heart_full: :heart_full: :heart-empty: :heart-empty:
    :cut: Pixeln und so :heart-empty: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :game: Events proggen :heart_full: :heart_full: :heart_full: :heart_full: :heart_full:
    (Dieser Tab ist rein satirisch.)
  • :folder-open: mes projets

    • :addressbook: Silentium
      :book: Name: Silentium
      :rmxp: Maker: Eigenbau (C++, x86-SSE/AVX-Assembly, Ruby/Lua)

      :paper: Story
      :game: NPCs
      :cup: Scripts
      :drill: Ressis
      :ruler-triangle: Maps
      :compile: Gesamt
      (3+4)% 42 69% 0815 -17.438 103.38% ± 6.3mm²

      (Die Tabelle erfüllt lediglich satirische Zwecke.)
    • :compile: Onyx
      Eine in C++ implementierte, modulare, plattformunabhängige, virtuelle Maschine. Die Test-Version ist bereits halb fertig. Ab dann gibt es vielleicht mehr Infos. Sie soll die auf dem ersten Blick LISP-artige und eigens dafür konstruierte Sprache Obsidian ausführen können. Experimentell wird auch ein Lua-Compiler für Onyx gebaut. Ziel ist eine leistungsfähige, virtuelle Maschine für beliebige Scriptsprachen. Theoretisch gesehen müsste man bloß noch einen kompatiblen Compiler schreiben, der Quellcode jener Sprache in Onyx-Assembly, oder direkt in Onyx-Bytecode übersetzt. Ob die jemand nutzen wird, ist eine andere Frage und nur ein sekundäres... nein, eher tertiäres Ziel dieser VM. Primär dient es mir lediglich dazu, mein Verständnis von Hardware, ISA, und Assembly zu vertiefen, sowie eigene Grenzen auszutesten.

      :exclamation: Warnung!
      Das Entwickeln einer virtuellen Maschine oder Programmiersprache (im wahnsinnigsten Fall beides) ist eine höchst komplizierte Tätigkeit, aus der viel Frust und Hirnmatsche hervor gehen. Sollte sich dennoch ein ähnlich wahnsinniger finden, der sowas zusammen schustern will, so lege ich ihm/ihr die folgenden Bücher ans Herz:
      • Compiler - Das Drachenbuch [978-3-8273-7097-6]
        Dieses Buch schlachtet ausführlich und leicht verständlich die Grundlagen bis hoch zu den Experten-Techniken des Compilerbaus aus. Es fängt mit der Automaten-Theorie und formalen Sprachen an, arbeitet sich durch Analysetechniken vor, und landet schließlich bei Techniken wie Optimierung und Register-Zuweisung. Das Buch wiegt 3Kg oder 4Kg. Hab's mal gewogen. Ist also nicht gerade die Lektüre für unterwegs.

      • Computerarchitektur [3-8273-7016-7]
        Hier werden leicht verständlich die wichtigsten Entwicklungen der Rechnerarchitekturen erklärt (Gut, das Buch ist in die Jahre gekommen, aber der Weg zu heute ist ein winziger Schritt, den man sich nach diesem Buch selbst erdenken kann). Hauptbestandteil des Buchs ist eine relativ umfassende Betrachtung der Funktionsweise dreier gänzlich unterschiedlicher, aber dominierender Prozessor-Typen am Beispiel des Pentium II, UltraSPARC II, sowie picoJava. Die meisten Elemente dieses Buchs sind zwar für die Konstruktion einer virtuellen Maschine irrelevant, oder aufgrund der Tatsache, dass die VM Software ist und z.B. Byte-Grenzen hat, sogar zu Leistungseinbußen führen kann, doch ist ein hinreichendes Verständnis dieser Maschinen, mit denen wir arbeiten, äußerst hilfreich für die Überlegungen, wie die VM arbeiten soll.

      Es kann sehr hilfreich und inspirierend sein, den Code quelloffener, virtueller Maschinen anderer Sprachen zu überfliegen. Meine Lieblings-Quelle war und ist stets die VM von Lua. Sie ist schlank, verständlich, in C implementiert, und basiert im Gegensatz zu vielen anderen Scriptsprachen-VMs auf einer Register-Maschine statt einer Stapelmaschine. Es wäre natürlich vorteilhaft, die entsprechende Sprache zu verstehen, in der man auch die eigene VM implementieren will. Weiterhin ist es äußerst vorteilhaft, eine leistungsstarke und bequeme Sprache wie C++ zu beherrschen, um die VM zu implementieren. Und bevor irgendwer auf die Idee kommt: Assembly ist NICHT als dominierende Sprache für den Bau einer VM geeignet. Wer die Frage des "Warum?" nicht beantworten kann, sollte zunächst die gewählte Sprache und Assembly hinreichend verstehen lernen, und es dann erneut mit der Frage versuchen. Es lohnt sich dennoch, Assembly zu lernen. Allein schon, um erneut das Verständnis zu vertiefen, zumal ihr mehr oder weniger gezwungen seid, auch für eure VM eine Assembler-Sprache zu entwickeln (Außer natürlich ihr schreibt eure Test-Programme Bit für Bit ;3).
  • :locale: enfin

    Je ne peux pas parler français.
    C'est tout ce que Goodle et les restes de cours de français.
Signaturstand: 24.07.2013

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Evrey« (9. Mai 2009, 21:27)


Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

5

Samstag, 9. Mai 2009, 21:23

Die Fehlerzeile ist

Ruby Quellcode

1
unless Trailing_Character_Movements[x_diff][y_diff].nil?

Schreib vor der Zeile mal

Ruby Quellcode

1
p x_diff,y_diff,Trailing_Character_Movements
um die 3 Variablen auszugeben und sag uns dann, was geschieht : D
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

6

Samstag, 9. Mai 2009, 21:33

Dann wenn das die Fehlerzeile sein soll... müsste der Fehler so weggehen:

Ruby Quellcode

1
2
if (!Trailing_Character_Movements == nil) && (!Trailing_Character_Movements[x_diff][y_diff] == nil)
  #bla
  • :medal: Werbung

    Bild

    Cpp Quellcode

    1
    
    #define TRUE FALSE //Happy debugging suckers
    (Einfach nur wundervoll.)
  • :palette: 1plus3 :cake:

    Bild
  • :fires: Nuuuhminaaah

    Bild
  • :medal: compétences

    mes compétences
    :heart_full: :heart_full: :heart_full: :heart_full: :heart_full: max.
    :ruler-triangle: Maps machen :heart_full: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :media-player: Musik machen :heart_full: :heart-half: :heart-empty: :heart-empty: :heart-empty:
    :cup: Scripts machen :heart_full: :heart_full: :heart_full: :heart_full: :heart-break:
    :paper: Story ausdenken :heart_full: :heart_full: :heart_full: :heart-empty: :heart-empty:
    :cut: Pixeln und so :heart-empty: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :game: Events proggen :heart_full: :heart_full: :heart_full: :heart_full: :heart_full:
    (Dieser Tab ist rein satirisch.)
  • :folder-open: mes projets

    • :addressbook: Silentium
      :book: Name: Silentium
      :rmxp: Maker: Eigenbau (C++, x86-SSE/AVX-Assembly, Ruby/Lua)

      :paper: Story
      :game: NPCs
      :cup: Scripts
      :drill: Ressis
      :ruler-triangle: Maps
      :compile: Gesamt
      (3+4)% 42 69% 0815 -17.438 103.38% ± 6.3mm²

      (Die Tabelle erfüllt lediglich satirische Zwecke.)
    • :compile: Onyx
      Eine in C++ implementierte, modulare, plattformunabhängige, virtuelle Maschine. Die Test-Version ist bereits halb fertig. Ab dann gibt es vielleicht mehr Infos. Sie soll die auf dem ersten Blick LISP-artige und eigens dafür konstruierte Sprache Obsidian ausführen können. Experimentell wird auch ein Lua-Compiler für Onyx gebaut. Ziel ist eine leistungsfähige, virtuelle Maschine für beliebige Scriptsprachen. Theoretisch gesehen müsste man bloß noch einen kompatiblen Compiler schreiben, der Quellcode jener Sprache in Onyx-Assembly, oder direkt in Onyx-Bytecode übersetzt. Ob die jemand nutzen wird, ist eine andere Frage und nur ein sekundäres... nein, eher tertiäres Ziel dieser VM. Primär dient es mir lediglich dazu, mein Verständnis von Hardware, ISA, und Assembly zu vertiefen, sowie eigene Grenzen auszutesten.

      :exclamation: Warnung!
      Das Entwickeln einer virtuellen Maschine oder Programmiersprache (im wahnsinnigsten Fall beides) ist eine höchst komplizierte Tätigkeit, aus der viel Frust und Hirnmatsche hervor gehen. Sollte sich dennoch ein ähnlich wahnsinniger finden, der sowas zusammen schustern will, so lege ich ihm/ihr die folgenden Bücher ans Herz:
      • Compiler - Das Drachenbuch [978-3-8273-7097-6]
        Dieses Buch schlachtet ausführlich und leicht verständlich die Grundlagen bis hoch zu den Experten-Techniken des Compilerbaus aus. Es fängt mit der Automaten-Theorie und formalen Sprachen an, arbeitet sich durch Analysetechniken vor, und landet schließlich bei Techniken wie Optimierung und Register-Zuweisung. Das Buch wiegt 3Kg oder 4Kg. Hab's mal gewogen. Ist also nicht gerade die Lektüre für unterwegs.

      • Computerarchitektur [3-8273-7016-7]
        Hier werden leicht verständlich die wichtigsten Entwicklungen der Rechnerarchitekturen erklärt (Gut, das Buch ist in die Jahre gekommen, aber der Weg zu heute ist ein winziger Schritt, den man sich nach diesem Buch selbst erdenken kann). Hauptbestandteil des Buchs ist eine relativ umfassende Betrachtung der Funktionsweise dreier gänzlich unterschiedlicher, aber dominierender Prozessor-Typen am Beispiel des Pentium II, UltraSPARC II, sowie picoJava. Die meisten Elemente dieses Buchs sind zwar für die Konstruktion einer virtuellen Maschine irrelevant, oder aufgrund der Tatsache, dass die VM Software ist und z.B. Byte-Grenzen hat, sogar zu Leistungseinbußen führen kann, doch ist ein hinreichendes Verständnis dieser Maschinen, mit denen wir arbeiten, äußerst hilfreich für die Überlegungen, wie die VM arbeiten soll.

      Es kann sehr hilfreich und inspirierend sein, den Code quelloffener, virtueller Maschinen anderer Sprachen zu überfliegen. Meine Lieblings-Quelle war und ist stets die VM von Lua. Sie ist schlank, verständlich, in C implementiert, und basiert im Gegensatz zu vielen anderen Scriptsprachen-VMs auf einer Register-Maschine statt einer Stapelmaschine. Es wäre natürlich vorteilhaft, die entsprechende Sprache zu verstehen, in der man auch die eigene VM implementieren will. Weiterhin ist es äußerst vorteilhaft, eine leistungsstarke und bequeme Sprache wie C++ zu beherrschen, um die VM zu implementieren. Und bevor irgendwer auf die Idee kommt: Assembly ist NICHT als dominierende Sprache für den Bau einer VM geeignet. Wer die Frage des "Warum?" nicht beantworten kann, sollte zunächst die gewählte Sprache und Assembly hinreichend verstehen lernen, und es dann erneut mit der Frage versuchen. Es lohnt sich dennoch, Assembly zu lernen. Allein schon, um erneut das Verständnis zu vertiefen, zumal ihr mehr oder weniger gezwungen seid, auch für eure VM eine Assembler-Sprache zu entwickeln (Außer natürlich ihr schreibt eure Test-Programme Bit für Bit ;3).
  • :locale: enfin

    Je ne peux pas parler français.
    C'est tout ce que Goodle et les restes de cours de français.
Signaturstand: 24.07.2013

7

Samstag, 9. Mai 2009, 22:09

wo muss ich die zeile einfügen?

Ok hab beides versucht aber keins geh von beiden bei den was neo gesagt hat komt immer ne meldung wo ein ausschnitt
von den gesamten skript steht :wacko: .

und bei den anderen code leuft das andere party mitglied gar nicht erst mit -.- wisst ihr vllt was anders?

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »F-J-« (9. Mai 2009, 22:52)


Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

8

Samstag, 9. Mai 2009, 22:58

Dass der bei meinem Code nicht läuft ist ja der Sinn. Jetzt kann man mit Prints nach dem Fehler im Script suchen, ohne dass es abschmiert. SephirothSpawn is' zwar ein genialer Scripter, aber er bedenkt selten alles, in diesem Fall das Tempowechseln.
  • :medal: Werbung

    Bild

    Cpp Quellcode

    1
    
    #define TRUE FALSE //Happy debugging suckers
    (Einfach nur wundervoll.)
  • :palette: 1plus3 :cake:

    Bild
  • :fires: Nuuuhminaaah

    Bild
  • :medal: compétences

    mes compétences
    :heart_full: :heart_full: :heart_full: :heart_full: :heart_full: max.
    :ruler-triangle: Maps machen :heart_full: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :media-player: Musik machen :heart_full: :heart-half: :heart-empty: :heart-empty: :heart-empty:
    :cup: Scripts machen :heart_full: :heart_full: :heart_full: :heart_full: :heart-break:
    :paper: Story ausdenken :heart_full: :heart_full: :heart_full: :heart-empty: :heart-empty:
    :cut: Pixeln und so :heart-empty: :heart-empty: :heart-empty: :heart-empty: :heart-empty:
    :game: Events proggen :heart_full: :heart_full: :heart_full: :heart_full: :heart_full:
    (Dieser Tab ist rein satirisch.)
  • :folder-open: mes projets

    • :addressbook: Silentium
      :book: Name: Silentium
      :rmxp: Maker: Eigenbau (C++, x86-SSE/AVX-Assembly, Ruby/Lua)

      :paper: Story
      :game: NPCs
      :cup: Scripts
      :drill: Ressis
      :ruler-triangle: Maps
      :compile: Gesamt
      (3+4)% 42 69% 0815 -17.438 103.38% ± 6.3mm²

      (Die Tabelle erfüllt lediglich satirische Zwecke.)
    • :compile: Onyx
      Eine in C++ implementierte, modulare, plattformunabhängige, virtuelle Maschine. Die Test-Version ist bereits halb fertig. Ab dann gibt es vielleicht mehr Infos. Sie soll die auf dem ersten Blick LISP-artige und eigens dafür konstruierte Sprache Obsidian ausführen können. Experimentell wird auch ein Lua-Compiler für Onyx gebaut. Ziel ist eine leistungsfähige, virtuelle Maschine für beliebige Scriptsprachen. Theoretisch gesehen müsste man bloß noch einen kompatiblen Compiler schreiben, der Quellcode jener Sprache in Onyx-Assembly, oder direkt in Onyx-Bytecode übersetzt. Ob die jemand nutzen wird, ist eine andere Frage und nur ein sekundäres... nein, eher tertiäres Ziel dieser VM. Primär dient es mir lediglich dazu, mein Verständnis von Hardware, ISA, und Assembly zu vertiefen, sowie eigene Grenzen auszutesten.

      :exclamation: Warnung!
      Das Entwickeln einer virtuellen Maschine oder Programmiersprache (im wahnsinnigsten Fall beides) ist eine höchst komplizierte Tätigkeit, aus der viel Frust und Hirnmatsche hervor gehen. Sollte sich dennoch ein ähnlich wahnsinniger finden, der sowas zusammen schustern will, so lege ich ihm/ihr die folgenden Bücher ans Herz:
      • Compiler - Das Drachenbuch [978-3-8273-7097-6]
        Dieses Buch schlachtet ausführlich und leicht verständlich die Grundlagen bis hoch zu den Experten-Techniken des Compilerbaus aus. Es fängt mit der Automaten-Theorie und formalen Sprachen an, arbeitet sich durch Analysetechniken vor, und landet schließlich bei Techniken wie Optimierung und Register-Zuweisung. Das Buch wiegt 3Kg oder 4Kg. Hab's mal gewogen. Ist also nicht gerade die Lektüre für unterwegs.

      • Computerarchitektur [3-8273-7016-7]
        Hier werden leicht verständlich die wichtigsten Entwicklungen der Rechnerarchitekturen erklärt (Gut, das Buch ist in die Jahre gekommen, aber der Weg zu heute ist ein winziger Schritt, den man sich nach diesem Buch selbst erdenken kann). Hauptbestandteil des Buchs ist eine relativ umfassende Betrachtung der Funktionsweise dreier gänzlich unterschiedlicher, aber dominierender Prozessor-Typen am Beispiel des Pentium II, UltraSPARC II, sowie picoJava. Die meisten Elemente dieses Buchs sind zwar für die Konstruktion einer virtuellen Maschine irrelevant, oder aufgrund der Tatsache, dass die VM Software ist und z.B. Byte-Grenzen hat, sogar zu Leistungseinbußen führen kann, doch ist ein hinreichendes Verständnis dieser Maschinen, mit denen wir arbeiten, äußerst hilfreich für die Überlegungen, wie die VM arbeiten soll.

      Es kann sehr hilfreich und inspirierend sein, den Code quelloffener, virtueller Maschinen anderer Sprachen zu überfliegen. Meine Lieblings-Quelle war und ist stets die VM von Lua. Sie ist schlank, verständlich, in C implementiert, und basiert im Gegensatz zu vielen anderen Scriptsprachen-VMs auf einer Register-Maschine statt einer Stapelmaschine. Es wäre natürlich vorteilhaft, die entsprechende Sprache zu verstehen, in der man auch die eigene VM implementieren will. Weiterhin ist es äußerst vorteilhaft, eine leistungsstarke und bequeme Sprache wie C++ zu beherrschen, um die VM zu implementieren. Und bevor irgendwer auf die Idee kommt: Assembly ist NICHT als dominierende Sprache für den Bau einer VM geeignet. Wer die Frage des "Warum?" nicht beantworten kann, sollte zunächst die gewählte Sprache und Assembly hinreichend verstehen lernen, und es dann erneut mit der Frage versuchen. Es lohnt sich dennoch, Assembly zu lernen. Allein schon, um erneut das Verständnis zu vertiefen, zumal ihr mehr oder weniger gezwungen seid, auch für eure VM eine Assembler-Sprache zu entwickeln (Außer natürlich ihr schreibt eure Test-Programme Bit für Bit ;3).
  • :locale: enfin

    Je ne peux pas parler français.
    C'est tout ce que Goodle et les restes de cours de français.
Signaturstand: 24.07.2013

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

9

Sonntag, 10. Mai 2009, 00:40

*hust*

Zitat

um die 3 Variablen auszugeben und sag uns dann, was geschieht : D
Damit meinte ich, du sollst uns den INHALT des Fensters sagen...
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

10

Sonntag, 10. Mai 2009, 00:59

wie schon gesagt es kommt ne weldung mit inhalt vom gesamten skript ich hab ma ein screen gemach weil da scheht wirklich viel drinn...

wie schon gesagt es kommt ne weldung mit inhalt vom gesamten skript ich hab ma ein screen gemach weil da scheht wirklich viel drinn...
»F-J-« hat folgendes Bild angehängt:
  • fehlermeldung.jpg

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

11

Sonntag, 10. Mai 2009, 01:23

Ne, das ist kein Auszug aus dem Skript, das ist nur der Inhalt der 3 Variablen v_v
Also... ich hab ehrlich gesagt keine Ahnung was das soll und auch keine Lust die 400 Zeilen zu lesen und zu verstehn :D
Das überlass ich Evrey xD"
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

12

Donnerstag, 14. Mai 2009, 22:23

Ich brauch bitte schnell hilfe kann mir jemand helfen. Wäre auch froh wenn jemand ein anderen hinterherlauf Skript kennt den man Ein und Aus stellen kann und wo die tempo-veränderung geht.

Ähnliche Themen

Social Bookmarks