Benutzerinformationen überspringen
Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"
[Erledigt] Moonpearl "party-follow" - Sequenzen
Ich arbeite momentan mit dem
http://moonpearl-gm.blogspot.de/2012/05/party-follow.html
um meine Party in Bewegung zu bringen.
Hierbei handelt es sich um ein Script, welches Events als Partymember nachlaufen lässt. Diese kann man ansprechen und alles was man mit Events sonst so tun kann.
(Es ist von Terv modifiziert worden, so dass es zusätzlich auf ein Pathfinding-Script zugreifen kann, wenn die Partymember weit weg sind, die Figuren rennen, wenn sie sollen, Through werden, wenn sie sollen, usw).
Ich hab jetzt mal probiert, eine Cutszene umzusetzen.
Dabei sind mir folgende zwei Probleme aufgefallen:
1. Der Spieler geht immer nur einen Schritt, auch wenn ich alle "Runswitches" ausstelle (war früher ein öfteres Problem bei mir :P)
2. Die Viecher rennen dem Player auch während der Cutszene nach.
-> Lösen konnte ich das Problem bisher nur, indem ich alle Partymember während einer Szene aus dem Team nehme. Wenn ich das tue, läuft der Actor soviel, wie er soll und die Partymember tun das, was sie sollen. Danach nehme ich sie wieder ins Team.
Gibt es da einen Trick, oder muss ich die Partymember aus dem Team nehmen, während einer Cutszene?
Und wieso tappt der Spieler immer nur einen Schritt, wenn die Figuren im Team sind? Liegts am pathfinding?
Kann man das Script "ausschalten" und wieder "einschalten? :)
Kann sich jemand das Script kurz ansehen, und mir weiterhelfen? :)
Ich würde mich über eine Hilfe freuen :) (ein An- und Ausschalter für das Script würde mir schon reichen, glaube [hoffe] ich XD)
Script nochmal extra angehangen, damit keiner sich bei MP durchklicken muss:
|
|
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 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 |
#============================================================================== # BITMASK #------------------------------------------------------------------------------ # This class stores boolean information (true/false) as Integer bits, in # order to save memory. #============================================================================== class Bitmask attr_reader :size def initialize(size = 1) @data = [0] resize(size) end def [](i) if i >= @size raise RangeError, "Bit ##{i} not defined (max = #{@size - 1}) in Bitmask#[]" end return @data[i >> 5][i % 32] == 1 end def []=(i, b) case b when TrueClass, FalseClass if self[i] == b return nil else @data[i >> 5] ^= 2 ** (i % 32) return b end else raise TypeError, "TrueClass or FalseClass expected as parameters in Bitmask#[]=" end end def &(other) bitmask = Bitmask.new(@size) for i in 0...@size bitmask[i] = self[i] & other[i] end return bitmask end def |(other) bitmask = Bitmask.new(@size) for i in 0...@size bitmask[i] = self[i] | other[i] end return bitmask end def each for i in 0...@size yield i if self[i] end end def each_false for i in 0...@size unless self[i] yield i end end end def resize(size) while (size >> 5) >= @data.size @data << 0 end @size = size end def to_s str = String.new for i in 0...@size if i & 7 == 0 str << " " end str << @data[i >> 5][i & 31].to_s end return str end def ==(other) case other when Bitmask #return true if @data == other.data return false unless @size == other.size for i in 0...@size return false unless self[i] == other[i] end return true end return false end alias :inspect :to_s end # ============================================================================== # DIALOG BOXES # ------------------------------------------------------------------------------ # Makes dialog boxes to give warning messages and confirm choices. # ============================================================================== module RPG def self.warn(str) $game_system.se_play($data_system.decision_se) Graphics.freeze message = [] str.break_into_lines(65) do |s| message << s end height = 32 * (message.size + 2) window = Window_Base.new(32, (480 - height) / 2, 576, height) window.contents = Bitmap.new(window.width - 32, window.height - 32) for i in 0...message.size window.contents.draw_text(0, i * 32, window.width - 32, 32, message[i], 1) end window.contents.draw_text(0, window.contents.height - 32, 544, 32, "OK", 1) window.cursor_rect.set(208, window.contents.height - 32, 128, 32) window.active = true window.z = 5000 Graphics.transition loop do Input.update Graphics.update window.update if Input.trigger?(Input::C) or Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) break end end Graphics.freeze window.dispose Graphics.transition return end def self.confirm(str) $game_system.se_play($data_system.buzzer_se) Graphics.freeze message = [] str.break_into_lines(65) do |s| message << s end height = 32 * (message.size + 2) window = Window_Base.new(32, (480 - height) / 2, 576, height) window.contents = Bitmap.new(window.width - 32, window.height - 32) for i in 0...message.size window.contents.draw_text(0, i * 32, window.width - 32, 32, message[i], 1) end window.contents.draw_text(0, window.contents.height - 32, 272, 32, "OK", 1) window.contents.draw_text(272, window.contents.height - 32, 272, 32, "Cancel", 1) window.cursor_rect.set(72, window.contents.height - 32, 128, 32) window.active = true window.z = 5000 Graphics.transition index = 0 result = nil while result.nil? Input.update Graphics.update window.update if Input.repeat?(Input::LEFT) or Input.repeat?(Input::RIGHT) $game_system.se_play($data_system.cursor_se) index += 1 index %= 2 window.cursor_rect.set(72 + 272 * index, window.contents.height - 32, 128, 32) end if Input.trigger?(Input::C) $game_system.se_play($data_system.decision_se) result = index == 0 end if Input.trigger?(Input::B) $game_system.se_play($data_system.cancel_se) result = false end end Graphics.freeze window.dispose Graphics.transition return result end end #============================================================================== # FUNCTIONS #------------------------------------------------------------------------------ # These classes allow to compute a variable from another using a particular # mathematical formula. Typically used to simulate movements (compute x/y from # a time factor) #============================================================================== #============================================================================== # ** Function_Affine #------------------------------------------------------------------------------ # This class handles constant functions (type y = a) #============================================================================== class Function_Constant attr_reader :a #----------------------------------------------------------------------------- # * Initialize parameters #----------------------------------------------------------------------------- def initialize(a) @a = a end #----------------------------------------------------------------------------- # * Compute image #----------------------------------------------------------------------------- def [](x) return @a end #----------------------------------------------------------------------------- # * Check for equality #----------------------------------------------------------------------------- def ==(function) if not function.is_a?(Function_Constant) return false end if function.a == @a return true end return false end end #============================================================================== # ** Function_Affine #------------------------------------------------------------------------------ # This class handles 1st degree polynomial functions (type y = ax + b) #============================================================================== class Function_Affine attr_reader :a attr_reader :b #----------------------------------------------------------------------------- # * Initialize parameters #----------------------------------------------------------------------------- def initialize(a, b) @a, @b = a, b end #----------------------------------------------------------------------------- # * Compute image #----------------------------------------------------------------------------- def [](x) return @a * x + @b end #----------------------------------------------------------------------------- # * Display function #----------------------------------------------------------------------------- def to_s s = "f(x) = #{@a}x" s += " + #{@b}" unless @b == 0 return s end #----------------------------------------------------------------------------- # * Check for equality #----------------------------------------------------------------------------- def ==(function) # Return false if other function is not affine if not function.is_a?(Function_Affine) return false end # Return true if all parameters are equal if @a == function.a and @b == function.b return true end # In any other cases, return false return false end #----------------------------------------------------------------------------- # * Compute intersection point with another affine function #----------------------------------------------------------------------------- def inter(function) # Return nil if other function is not affine if not function.is_a?(Function_Affine) return nil end return (function.b - @b).to_f / (@a - function.a) end #----------------------------------------------------------------------------- # * Compute solution #----------------------------------------------------------------------------- def solve(y = 0) return (y - @b).to_f / @a end #----------------------------------------------------------------------------- # * Compute derivative #----------------------------------------------------------------------------- def derive # Return a new Function_Constant function return Function_Constant.new(@a) end end #============================================================================== # ** Function_Trinome #------------------------------------------------------------------------------ # This class handles 2nd degree polynomial functions (type y = ax² + bx + c) #============================================================================== class Function_Trinome attr_reader :a attr_reader :b attr_reader :c #----------------------------------------------------------------------------- # * Initialize parameters #----------------------------------------------------------------------------- def initialize(a, b, c) @a, @b, @c = a, b, c end #----------------------------------------------------------------------------- # * Compute image #----------------------------------------------------------------------------- def [](x) return @a * x ** 2 + @b * x + @c end #----------------------------------------------------------------------------- # * Display function #----------------------------------------------------------------------------- def to_s s = "f(x) = #{@a}x^2" s += " + #{@b}x" unless @b == 0 s += " + #{@c}" unless @c == 0 return s end #----------------------------------------------------------------------------- # * Check for equality #----------------------------------------------------------------------------- def ==(function) # Return false if other function is not a trinome if not function.is_a?(Function_Trinome) return false end # Return true if all parameters are equal if @a == function.a and @b == function.b and @c == function.c return true end # Return false in any other cases return false end #----------------------------------------------------------------------------- # * Comput delta #----------------------------------------------------------------------------- def delta return @b ** 2 - 4 * @a * @c end #----------------------------------------------------------------------------- # * Compute solutions #----------------------------------------------------------------------------- def solve(y = 0) if y != 0 return Function_Trinome.new(@a, @b, @c - y).solve end # Compute delta d = delta # If positive delta, return two solutions if d > 0 x1 = (-@b - Math::sqrt(d)).to_f / (2 * @a) x2 = (-@b + Math::sqrt(d)).to_f / (2 * @a) return x1, x2 # If null delta, return one solution elsif d == 0 x = -@b.to_f / (2 * @a) return x end # If negative delta, return nil return nil end #----------------------------------------------------------------------------- # * Compute derivative #----------------------------------------------------------------------------- def derive # Return a new affine function return Function_Affine.new(2 * @a, @b) end end #============================================================================== # ** Function_Polynome #------------------------------------------------------------------------------ # This class handles polynomial functions of any arbitrary degree #============================================================================== class Function_Polynome attr_reader :coeffs class << self #--------------------------------------------------------------------------- # * Return an object of a more specific Function class if appropriate #--------------------------------------------------------------------------- alias old_new new def new(*coeffs) while coeffs.last == 0 coeffs.pop end case coeffs.size when 0 return Function_Constant.new(0) when 1 return Function_Constant.new(coeffs[0]) when 2 return Function_Affine.new(coeffs[1], coeffs[0]) when 3 return Function_Trinome.new(coeffs[2], coeffs[1], coeffs[0]) end return old_new(*coeffs) end end #----------------------------------------------------------------------------- # * Initialize parameters #----------------------------------------------------------------------------- def initialize(*coeffs) coeffs.flatten! if coeffs[0].is_a?(Array) while coeffs.last == 0 coeffs.pop end @coeffs = coeffs end #----------------------------------------------------------------------------- # * Compute image #----------------------------------------------------------------------------- def [](x) i = 0 self.each { |n, coeff| i += coeff * x ** n } return i end #----------------------------------------------------------------------------- # * Display function #----------------------------------------------------------------------------- def to_s s = "f(x) = " a = [] self.each { |n, coeff| next if coeff == 0 a.push(case n when 0 coeff.to_s when 1 "#{coeff}x" else "#{coeff}x^#{n}" end ) } s += a.join(" + ") return s end def degree return @coeffs.size - 1 end def each for i in 0...@coeffs.size yield i, @coeffs[i] end end def derive coeffs = [] for i in 1..@coeffs.size coeffs.push(i * @coeffs[i]) end return Function_Polynome.new(*coeffs) end end class Function_Composite def initialize(data) @data = data end def [](x) @data.each do |range, function| if range.include?(x) return function[x] end end return nil end end # ============================================================================== # RUBY EXPANSION # ------------------------------------------------------------------------------ # Adds new functions to existing Ruby classes. Each new feature is commented # individually. # ============================================================================== class Object # Make all objects respond to :display for compatibility purposes alias :display :inspect end class Array # Returns an item selected at random def sample return self[rand(self.size)] end # Return a copy with items shuffled def shuffle src = self.clone ary = Array.new() until src.empty? ary << src.delete(src.sample) end return ary end # Shuffle items def shuffle! self.replace(self.shuffle) end end class Dir # Returns all files matching given extensions in specified directory as an array # - directory: directory to be searched # - filters: strings representing extensions to be kept def self.files(directory = self.pwd, *filters) ary = [] for filename in self.entries(directory) next if File.directory?(filename) or filename == "." or filename == ".." if filters.empty? or filters.include?(File.extname(filename)) ary << filename end end return ary end # Returns all subdirectories in specified directory as an array def self.subdirectories(directory = self.pwd) ary = [] for filename in self.entries(directory) if File.directory?(filename) ary << filename end end return ary end end class File # Assess whether a filename is a directory name or not def self.directory?(filename) return false if filename == "." return true if self.extname(filename) == "" return false end end class Integer # Computes self factorial def factorial f = 1 for i in 1..self f *= i end return f end # Compute number of combinations from k in self # - k: a positive integer less than or equal to self def combin(k) return self.factorial / (k.factorial * (n - k).factorial) end end class String # Breaks string into several lines # - amount: max number of characters per line def break_into_lines(amount) if self.size <= amount yield self else i = 0 until i >= self.size n = self[i, amount].reverse.index(" ") n = amount - (n.nil? ? 0 : n) yield self[i, n] i += n end end end # Make string into a symbol name def symbolize return :empty if self.empty? return self.downcase.gsub(" ", "_").to_sym end end class Symbol # Make symbol into a string ready fot display def display str = "" name = self.to_s name.split("_").each { |s| str += s.capitalize + " " } str = str.rstrip return str end # Comparison functions, included for compatiblity purposes def ===(other) return (self <=> other) == 0 end def >(other) case other when Numeric return nil end return (self <=> other) == 1 end def <(other) case other when Numeric return nil end return (self <=> other) == -1 end def <=>(other) return self.to_s <=> other.to_s end end # ============================================================================== # VARIABLES & SWITCHES COMMANDS # ------------------------------------------------------------------------------ # This allows to bind commands to changes in game variables by events. # ------------------------------------------------------------------------------ # EXAMPLE: by entering the following, the first actor's HP will automatically # change to the content of game variable #0001 each time the variable is # changed via an event. # $variables_command[1] = Proc.new { |v| $game_actors[1].hp = v } # ============================================================================== $switches_command = {} $variables_command = {} class Interpreter alias mp_common_command_121 command_121 def command_121 mp_common_command_121 for i in @parameters[0]..@parameters[1] unless $switches_command[i].nil? $variables_command[i].call($game_switches[i]) end end end alias mp_common_command_122 command_122 def command_122 mp_common_command_122 for i in @parameters[0]..@parameters[1] unless $switches_command[i].nil? $variables_command[i].call($game_variables[i]) end end end end |
|
|
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 |
# For each actor #, maximal distance it will keep from player # (if low, they will always keep very close) DISTANCE_TOLERANCES = [3, 3, 3, 4, 3, 3, 3, 3] # ID of variable holding the ID of actor being controlled (change to appoint another actor) VAR_PARTY_LEADER = 10 # For each actor, ID of switch holding whether he/she is in the party SW_ACTOR_IN_PARTY = [11, 12, 13, 14, 15, 16, 17, 18] # ID of switch holding whether to auto place party members whenever changing map SW_AUTOPLACE = 20 # Animation to be played when taking control of a party member (0 for none) ANIMATION_TAKE_CONTROL = 0 class Game_Character attr_reader :move_route attr_accessor :direction def distance_from(character) return (@x - character.x).abs + (@y - character.y).abs end end class Game_Event alias mp_autofollow_update update def update mp_autofollow_update for i in 0...$data_actors.size - 1 # If event is an actor if $data_actors[i + 1].name == self.name # Do nothing if already moving or actor isn't in party return if moving? or not $game_switches[SW_ACTOR_IN_PARTY[i]] move_route = RPG::MoveRoute.new move_route.repeat = false move_route.skippable = true # If too far from player if distance_from($game_player) > DISTANCE_TOLERANCES[i] # Take a step towards player move_route.list[0].code = 10 else # Face player move_route.list[0].code = 25 end force_move_route(move_route) @move_route_forcing = false end end end def name return @event.name end def restore @erased = false refresh end end class Game_Map attr_reader :party_events attr_reader :event_leader attr_reader :event_id_leader attr_reader :spriteset_map alias mp_autofollow_setup setup def setup(map_id) mp_autofollow_setup(map_id) @event_leader = nil # Set refresh flag @need_refresh = true # Build party names array party_names = [] for actor in $game_party.actors[0...$game_party.actors.size] party_names << actor.name end to_place = [] # Pass through all events for event in @events.values # If event name matches a party member if party_names.include?(event.name) if event.name == $game_party.actors[0].name self.event_leader = event else to_place << event end end end # If auto placement of party members allowed if $game_switches[SW_AUTOPLACE] return if to_place.empty? # Place events for a in [0, -1, -2, 1, 2] for b in [-1, 1, -2, 2, 0] next if a == 0 and b == 0 x = $game_temp.player_new_x y = $game_temp.player_new_y case $game_player.direction # Down when 2 x += b y += a # Left when 4 y += b x -= a # Right when 6 y += b x += a # Up when 8 x += b y -= a end if (0...self.width).include?(x) and (0...self.height).include?(y) if self.passable?(x, y, 0) event = to_place.shift event.moveto(x, y) event.refresh return if to_place.empty? end end end end end end def event_leader=(event) # If a leader event was previously erased if @event_leader # Restore event @event_leader.restore end # Store event in memory to restore it later @event_leader = event # Remove event from the map event.erase end alias mp_autofollow_refresh refresh def refresh # Update party members game switches actors = $game_party.actors[1...$game_party.actors.size] || [] for i in 0...$data_actors.size - 1 if actors.include?($game_actors[i + 1]) $game_switches[SW_ACTOR_IN_PARTY[i]] = true else $game_switches[SW_ACTOR_IN_PARTY[i]] = false end end mp_autofollow_refresh end def actor_event(actor_id) for event in @events.values return event if event.name == $data_actors[actor_id].name end return nil end end class Spriteset_Map def sprite_player return @character_sprites.last end end class Game_Actor attr_reader :actor_id end class Interpreter alias mp_autofollow_command_129 command_129 def command_129 result = mp_autofollow_command_129 # Update new leader actor_id = $game_party.actors[0].actor_id $game_variables[VAR_PARTY_LEADER] = actor_id appoint_leader(actor_id) $game_map.need_refresh = true return result end end def appoint_leader(actor_id) #print [$game_party.actors[0].actor_id, actor_id].inspect actor = $game_actors[actor_id] # Return if actor is already the leader if actor == $game_party.actors[0] return end # If actor not present in party, force them inside unless $game_party.actors.include?(actor) $game_party.actors.unshift(actor) $game_party.actors.delete_at($game_party.actors.size - 1) end # Put event matching the previous leader in place of the player #event = $game_map.actor_event($game_party.actors[0].id) event = $game_map.event_leader event.moveto($game_player.x, $game_player.y) event.direction = $game_player.direction # Put player in place of the event matching the new leader event = $game_map.actor_event(actor_id) $game_player.moveto(event.x, event.y) $game_player.direction = event.direction $game_player.animation_id = ANIMATION_TAKE_CONTROL $game_map.event_leader = event # Put desired actor at party's first position $game_party.add_actor(actor_id) $game_party.actors.unshift($game_party.actors.delete(actor)) $game_player.refresh $game_switches[SW_ACTOR_IN_PARTY[actor_id - 1]] = false $game_map.need_refresh = true end $variables_command[VAR_PARTY_LEADER] = Proc.new { |n, o| appoint_leader(n) } #$variables_init[VAR_PARTY_LEADER] = 1 |
-
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:


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
-
Meine Fähigkeiten
Maker:
XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:

-
(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!
:*
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 (
) in meiner Signatur! XD

-
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

Abstimmung
Siegerehrung
Das Wunder der Berge

Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D 
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
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
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
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
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josey« (29. Oktober 2013, 19:50)
Benutzerinformationen überspringen
Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"
Ich pushe mal beide :P *schieb*
(Siehe anderer Threadt, wenn man eine Demo haben will :D)
*schieb* (auch wenns nicht tief gerutscht ist)
-
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:


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
-
Meine Fähigkeiten
Maker:
XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:

-
(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!
:*
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 (
) in meiner Signatur! XD

-
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

Abstimmung
Siegerehrung
Das Wunder der Berge

Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D 
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
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
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
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
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Josey« (24. Oktober 2013, 21:58)
Benutzerinformationen überspringen
Motto: Die Kunst ist, vor lauter Pixel nicht das große Ganze aus den Augen zu verlieren.
hab mir das Problem mal angeschaut. Ich glaub ich hab eine Lösung gefunden:
|
|
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 |
# For each actor #, maximal distance it will keep from player
# (if low, they will always keep very close)
DISTANCE_TOLERANCES = [3, 3, 3, 4, 3, 3, 3, 3]
# ID of variable holding the ID of actor being controlled (change to appoint another actor)
VAR_PARTY_LEADER = 10
# For each actor, ID of switch holding whether he/she is in the party
SW_ACTOR_IN_PARTY = [11, 12, 13, 14, 15, 16, 17, 18]
# ID of switch holding whether to auto place party members whenever changing map
SW_AUTOPLACE = 20
# switch ID to switch following on or off (for example, switch it
# off during cutscenes)
SWITCH_ID_ENABLE_FOLLOWING = 21
# Animation to be played when taking control of a party member (0 for none)
ANIMATION_TAKE_CONTROL = 0
class Game_Character
attr_reader :move_route
attr_accessor :direction
def distance_from(character)
return (@x - character.x).abs + (@y - character.y).abs
end
end
class Game_Event
alias mp_autofollow_update update
def update
#print 'GameEvent.update'
mp_autofollow_update
for i in 0...$data_actors.size - 1
# If event is an actor
if $game_switches[SWITCH_ID_ENABLE_FOLLOWING] == true
if $data_actors[i + 1].name == self.name
# Do nothing if already moving or actor isn't in party
return if moving? or not $game_switches[SW_ACTOR_IN_PARTY[i]]
move_route = RPG::MoveRoute.new
move_route.repeat = false
move_route.skippable = true
# If too far from player
if distance_from($game_player) > DISTANCE_TOLERANCES[i]
# Take a step towards player
move_route.list[0].code = 10
else
# Face player
move_route.list[0].code = 25
end
force_move_route(move_route)
@move_route_forcing = false
end
end
end
end
def name
return @event.name
end
def restore
@erased = false
refresh
end
end
class Game_Map
attr_reader :party_events
attr_reader :event_leader
attr_reader :event_id_leader
attr_reader :spriteset_map
alias mp_autofollow_setup setup
def setup(map_id)
mp_autofollow_setup(map_id)
@event_leader = nil
# Set refresh flag
@need_refresh = true
# Build party names array
party_names = []
for actor in $game_party.actors[0...$game_party.actors.size]
party_names << actor.name
end
to_place = []
# Pass through all events
for event in @events.values
# If event name matches a party member
if party_names.include?(event.name)
if event.name == $game_party.actors[0].name
self.event_leader = event
else
to_place << event
end
end
end
# If auto placement of party members allowed
if $game_switches[SW_AUTOPLACE]
return if to_place.empty?
# Place events
for a in [0, -1, -2, 1, 2]
for b in [-1, 1, -2, 2, 0]
next if a == 0 and b == 0
x = $game_temp.player_new_x
y = $game_temp.player_new_y
case $game_player.direction
# Down
when 2
x += b
y += a
# Left
when 4
y += b
x -= a
# Right
when 6
y += b
x += a
# Up
when 8
x += b
y -= a
end
if (0...self.width).include?(x) and (0...self.height).include?(y)
if self.passable?(x, y, 0)
event = to_place.shift
event.moveto(x, y)
event.refresh
return if to_place.empty?
end
end
end
end
end
end
def event_leader=(event)
# If a leader event was previously erased
if @event_leader
# Restore event
@event_leader.restore
end
# Store event in memory to restore it later
@event_leader = event
# Remove event from the map
event.erase
end
alias mp_autofollow_refresh refresh
def refresh
# Update party members game switches
actors = $game_party.actors[1...$game_party.actors.size] || []
for i in 0...$data_actors.size - 1
if actors.include?($game_actors[i + 1])
$game_switches[SW_ACTOR_IN_PARTY[i]] = true
else
$game_switches[SW_ACTOR_IN_PARTY[i]] = false
end
end
mp_autofollow_refresh
end
def actor_event(actor_id)
for event in @events.values
return event if event.name == $data_actors[actor_id].name
end
return nil
end
end
class Spriteset_Map
def sprite_player
return @character_sprites.last
end
end
class Game_Actor
attr_reader :actor_id
end
class Interpreter
alias mp_autofollow_command_129 command_129
def command_129
result = mp_autofollow_command_129
# Update new leader
actor_id = $game_party.actors[0].actor_id
$game_variables[VAR_PARTY_LEADER] = actor_id
appoint_leader(actor_id)
$game_map.need_refresh = true
return result
end
end
def appoint_leader(actor_id)
#print [$game_party.actors[0].actor_id, actor_id].inspect
actor = $game_actors[actor_id]
# Return if actor is already the leader
if actor == $game_party.actors[0]
return
end
# If actor not present in party, force them inside
unless $game_party.actors.include?(actor)
$game_party.actors.unshift(actor)
$game_party.actors.delete_at($game_party.actors.size - 1)
end
# Put event matching the previous leader in place of the player
#event = $game_map.actor_event($game_party.actors[0].id)
event = $game_map.event_leader
event.moveto($game_player.x, $game_player.y)
event.direction = $game_player.direction
# Put player in place of the event matching the new leader
event = $game_map.actor_event(actor_id)
$game_player.moveto(event.x, event.y)
$game_player.direction = event.direction
$game_player.animation_id = ANIMATION_TAKE_CONTROL
$game_map.event_leader = event
# Put desired actor at party's first position
$game_party.add_actor(actor_id)
$game_party.actors.unshift($game_party.actors.delete(actor))
$game_player.refresh
$game_switches[SW_ACTOR_IN_PARTY[actor_id - 1]] = false
$game_map.need_refresh = true
end
$variables_command[VAR_PARTY_LEADER] = Proc.new { |n, o|
appoint_leader(n)
}
#$variables_init[VAR_PARTY_LEADER] = 1 |
Einfach das Script oben anstelle des MP Party follow verwenden. Es gibt jetzt oben die Zeile "SWITCH_ID_ENABLE_FOLLOWING = 21". Hier kannst Du die ID eines Switches angeben, über den Du das Party following an- oder ausschalten kannst.
Ich hab's in einem leeren Projekt getestet, und da ging es. Die Sache, dass der Player nur einen Schritt geht, hatte ich nicht. Vielleicht gibt es da einen Konflikt mit einem anderen Script...?
Ich würde das Script evtl. gern in meinem eigenen Projekt verwenden. Darf das Script (incl. aller Modifikationen von Terv) auch in anderen Projekten verwendet werden?
Grüße, StorMeye
-
Mein Projekt
Mein Projekt: Estarmaror - Verschwunden im Nichts
Introvideo dazu: Estarmaror - Verschwunden im Nichts -- Intro - YouTube
Kampfsystem: Estarmaror - Verschwunden im Nichts: Kampfsystem - YouTube
Die erste Demo ist da! Estarmaror_ViN_v0.1.1.exe.zip -
Praktisches
Automatische Ressourcentabelle in Excel: Account Suspended
Benutzerinformationen überspringen
Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"
Das ist das Orginalscript- ohne die Modifikationen von Terv.
Ich frag ihn mal :)
Welche Stelle genau hast du jetzt geändert? Dann kann ich es an der richtigen Stelle einfügen :3
Vielen Dank :D
-
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:


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
-
Meine Fähigkeiten
Maker:
XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:

-
(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!
:*
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 (
) in meiner Signatur! XD

-
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

Abstimmung
Siegerehrung
Das Wunder der Berge

Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D 
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
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
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
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
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Benutzerinformationen überspringen
Motto: Die Kunst ist, vor lauter Pixel nicht das große Ganze aus den Augen zu verlieren.
die Zeilen 10-12, 32 und 50 sind dazu gekommen (Zeilennummern wie im Script unten). Ich hoff, Dein Script weicht nicht zu sehr ab von dem unten, dann müsste es gehen, die Zeilen einfach zu kopieren.
Grüße, StorMeye
-
Mein Projekt
Mein Projekt: Estarmaror - Verschwunden im Nichts
Introvideo dazu: Estarmaror - Verschwunden im Nichts -- Intro - YouTube
Kampfsystem: Estarmaror - Verschwunden im Nichts: Kampfsystem - YouTube
Die erste Demo ist da! Estarmaror_ViN_v0.1.1.exe.zip -
Praktisches
Automatische Ressourcentabelle in Excel: Account Suspended
Benutzerinformationen überspringen
Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"
Alles funktioniert einwandfrei! :D
Vielen vielen vielen Dank! :D
Ich räume das Projekt noch etwas auf, weil man sonst nicht durchblickt, was davon wichtig ist, und was nicht.
Das kann nach einen Tag länger dauern, dann schick ich dir wie abgesprochen, das Projekt mit den Modis von Terv :3
Vielen Dank! :D
(Gibt aber noch eine kleine Kinderkrankheit, die aber normalerweise nicht stören sollte)
-
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:


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
-
Meine Fähigkeiten
Maker:
XP
Pixeln:
Mappen:
Eventen:
Scripten:
Komponieren:

-
(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!
:*
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 (
) in meiner Signatur! XD

-
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

Abstimmung
Siegerehrung
Das Wunder der Berge

Abstimmung
Siegerehrung -
Meine Contests
Ein Schreibcontest in Arbeit! : D 
-
-
Joseys Spiele
-
Endless Ending
-
Scripted Desaster
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
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
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
Story: 60%
Charas: 20%
Maps: 01%
Zeichnungen: 05%
Grafiken: 30%
Scripte: 70%
Musik: 00%
...ist nicht viel, huh? ^^° -
Scripted Desaster
Story: 10%
Charas: 60%
Maps: 30%
Zeichnungen: 01%
Grafiken: 60%
Scripte: 70%
Musik: 00%
Gut Ding... -
Pokemon EV
Story: 60%
Charas: 10%
Maps: 00%
Zeichnungen: 00%
Grafiken: 80%
Scripte: 90%
Musik: 70%
Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht... -
Lost Island
Story: 100%
Charas: 10%
Maps: 90%
Zeichnungen: 00%
Grafiken: 60%
Scripte: 90%
Musik: 00%
Das macht richtig Spaß XD
-
-
Huiii
Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.
Ähnliche Themen
-
Ältere Suchanfragen »-
Kinder Sprites
(13. Februar 2013, 15:07)
-
Spiele & Konsolen »-
Bestes Horrorspiel
(2. Februar 2009, 20:50)
-
Spiele & Konsolen »-
Bestes Horrorspiel
(2. Februar 2009, 20:50)
-
(Alt) Smalltalk »-
Star Wars-Knights of the old Republic
(25. Mai 2005, 23:54)





