• Anmelden

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

1

Freitag, 21. November 2008, 15:04

Bleib stehen, nicht weiterspringen!

Ich habe mal wieder ein problem. Ich hab zwar jetzt ne Trial version, aber endlich kann ich Scripts einfügen.
Ich habe bei mir einen Sprungscript eingefügt.
>>>>>Original Thread >>> Jump Script

Der Thread ist veraltet und ich wollte ihn nicht ausgraben, aber jetzt zu meinem problem.
2 Fehler wurden dort gefunden und korrigiert.
Ich hab noch n Problem festgestellt, der weder angesprchen wurde, noch gelöst wurde.
Wenn eine textnachricht dran steht kann man ja mit seinem chara nicht laufen, sondern die nachricht wegdrücken/weiterdrücken und wenn sie weg ist, gehts wieder.
Wenn man aber den Sprungscript eingebaut hat, kann man während einer textnachricht durch die gegend springen.
Das finde ich persöhnlich nicht so toll, da es manche stellen in einem spiel gibt, wo ja sachen erscheinen, einen umzingeln oder sowas, wenn man wärenddessen, wo die nachrichten stehen, wegspringen kann, Sieht das Blöd aus, wenn auf der anderen seite der map die monser auftauchen. Und manchmal stimmen die texte auch nicht mehr zum spielverhalten, wenn man wegspringt.
Noch ein ähnliches problem ist, wenn der Chara eigendlich Durch 'Set Move Route' einen bestimmten weg gehen soll, kann man auch da springen.

Also mal kurzgefasst:
Egal was passiert, man kann springen (auser im Kampf)
Kann das jemand ändern? jemand der mehr ahnung von Scripts hat als ich?

Hier ist der Sprungscript, wie er von slayeroflight zusammengesetzt wurde:

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
=begin
Einfügen:
Das Script fügst du ein indem du ein im Maker F11 drückst und dann über Maine ein Neues Script erstellst und dann den ganzen Code einfügst.
Einstellungen:
●$jump_length
In dieser Variable wird gespeichert wie viele Felder der Spieler springen kann. (Standard 2)
●$terrain
In dieser Variable wird eine Terrain ID gespeichert.
Wenn man auf das Terrain mit dieser ID Springt verlieren Der Spieler Energie und wird wieder an den Ausgansort Teleporiert.(Standard  7)
●$lose_hp
In dieser Variable wird gespeichert wie viel Energie der Spiele verliert wen er auf die oben gewählte Terrain ID springt.
●$dead
Hier wird mit true und false fest gelegt ob der Spieler sterben kannwen er auf die Terrain ID springt.
●$heightMit diser Veraiable kann man die Höhe des Sprungs einstellen.
●$disable_terrainIn dieser Variable kann man einen Terraintag speichern über den man nicht springen kann. (nil bedeutet man kann über jeden springen)
 
Bedienung:
Man Springt mit A. Die Taste könnt ihr auf Zeile 54 ändern.   credits: slayeroflight
=end#-------------------------------------------------------------$jump_length = 2  #Die Länge des Sprungs$height = 2           #Höhe des Sprungs$disable_terrain = 7 #Terrain Tag über den man nicht springen kann.$terrain = 7         #Terrain auf dem Schaden erzielt wird.$lose_hp = 100       #Hp verlust$dead = true         #Stirbt wen die HP 0 ist.$embed_events = false #Über events Springen oder nicht.#-------------------------------------------------------------#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Scene_Map#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  attr_accessor      :on_point  #-------------------------------------------------------------  alias origin_update update if $alias == nil  def update    origin_update    if Input.trigger?(Input::X)      jump    end  end  #-------------------------------------------------------------  def jump    jump = Input.dir4 / 2    case jump    when 0      @on_point = true      $game_player.jump(0, 0)    when 1       $game_player.jump(0, $jump_length)    when 2      $game_player.jump(-$jump_length, 0)    when 3      $game_player.jump($jump_length, 0)    when 4      $game_player.jump(0, -$jump_length)    end  end  #-------------------------------------------------------------#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Game_Player#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  #-------------------------------------------------------------  def jump(x_plus, y_plus)    if (chack_disable_terrain and $scene.on_point != true) or (check_disable_event == false)      return     end    $scene.on_point = nil    if x_plus != 0 or y_plus != 0      if x_plus.abs > y_plus.abs        x_plus < 0 ? turn_left : turn_right      else        y_plus < 0 ? turn_up : turn_down      end    end    @prejump_x = @x    @prejump_y = @y    new_x = @x + x_plus    new_y = @y + y_plus    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)      straighten      @x = new_x      @y = new_y      distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round      @jump_peak = 10 + distance - @move_speed + ($height - distance)      @jump_count = @jump_peak * 2      @stop_count = 0      return    elsif passable?(new_x, new_y, 0) == false      if $game_map.terrain_tag(new_x, new_y) == $terrain        straighten        @x = new_x        @y = new_y        distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round        @jump_peak = 10 + distance - @move_speed + ($height - distance)        @jump_count = @jump_peak * 2        @stop_count = 0        for i in $game_party.actors          if i.hp - $lose_hp <= 0 and $dead == false            i.hp = 1          else            i.hp -= $lose_hp          end        end      end    end  end  #-------------------------------------------------------------  alias origin_update update if $alias == nil  def update    origin_update    if $game_map.terrain_tag(@x, @y) == $terrain      @loop_count = 6 if @loop_count == nil      if @jump_count == 0        @loop_count -= 1        if @loop_count == 0          $game_temp.gameover = $game_party.all_dead?          unless $game_party.all_dead?            moveto(@prejump_x, @prejump_y)          end          @loop_count = 6        end      end    end  end  #-------------------------------------------------------------  def chack_disable_terrain    if $disable_terrain != nil      for i in 0...$jump_length + 1        case @direction        when 2          return true if $game_map.terrain_tag(@x, @y + i) == $disable_terrain        when 4          return true if $game_map.terrain_tag(@x - i, @y) == $disable_terrain        when 6          return true if $game_map.terrain_tag(@x + i, @y) == $disable_terrain        when 8          return true if $game_map.terrain_tag(@x, @y - i) == $disable_terrain        end      end    end    return false  end  def check_disable_event    if $embed_events      for i in 0...$jump_length + 1        case @direction        when 2          return false unless new_passable?($game_player.x, $game_player.y + i)        when 4          return false unless new_passable?($game_player.x - 1, $game_player.y)        when 6          return false unless new_passable?($game_player.x + i, $game_player.y)        when 8          return false unless new_passable?($game_player.x, $game_player.y - i)        end      end     end    return @returned_value  end  def new_passable?(x, y)    for event in $game_map.events.values      if event.x == x and event.y == y        return false      end    end  end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Game_Character#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  #-------------------------------------------------------------  alias origin_update_jump update_jump if $alias == nil  def update_jump    Input.update    origin_update_jump  end  #------------------------------------------------------------- #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#------------------------------------------------------------- $alias = 0#-------------------------------------------------------------


Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

2

Freitag, 21. November 2008, 20:02

Das Problem ist mir bekannt... Nunja, du hast 2 Dinge zur Auswahl:
1) Du kennst dich mit den Standardscripten aus und setzt alles in ein "if", mit der Bedingung, dass kein Auto-Event, bzw. eine Nachricht am laufen ist, aber dazu muss man die richtigen Befehle kennen.
2) Soweit ich mich erinnern kann, war das Script über einen Switch steuerbar, wenn nicht, lässt sich das schnell ändern. Ist zwar 'ne Drecksarbeit, aber dann musst du nur noch vor und nach jeder Nachricht, bzw. vor und nach jedem Auto-Event den Schalter setzen^^"
Hoffe, das hat geholfen^^"
  • :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

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

3

Freitag, 21. November 2008, 21:21

Ich kenn mich mit scripts (oder ich glaube das heißt Ruby) nicht aus. Ich könnte nichtmal das einfachste des makers scripten...Leider...

Mit den switchern hab ich mich auch noch nie auseinander gesetzt. Und ausserdem ist in meinem spiel echt viel zu lesen. das wäre eine arbeit von wochen, und das spiel hat gerade mal die ersten ca. 100 Maps. Ich würde nur noch die switcher machen. das wäre wirklich viel zu viel arbeit.

Villeicht kann das einer von euch für mich umscripten?

das wäre echt nett und ich wäre demjenigen echt dankbar.

PS: Hab ich irgendetwas falsch gemacht, das oben das script im ersten Post nicht richtig angezeigt wird?

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

4

Mittwoch, 26. November 2008, 14:44

weiß niemand, wie man das ändern kann???

Yuber

Seher

Motto: Die Welt zu beherrschen.

  • Nachricht senden

5

Mittwoch, 26. November 2008, 15:43

Kannst du das Script nochmal posten?
Nur noch selten hier.

'Til now, I always let people walk all over me!
From now on, if anyone makes fun of me, I'll kill 'em! Just like that!

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

6

Mittwoch, 26. November 2008, 16:37

natürlich:

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
=begin
Einfügen:
Das Script fügst du ein indem du ein im Maker F11 drückst und dann über Maine ein Neues Script erstellst und dann den ganzen Code einfügst.
Einstellungen:
●$jump_length
In dieser Variable wird gespeichert wie viele Felder der Spieler springen kann. (Standard 2)
●$terrain
In dieser Variable wird eine Terrain ID gespeichert.
Wenn man auf das Terrain mit dieser ID Springt verlieren Der Spieler Energie und wird wieder an den Ausgansort Teleporiert.(Standard  7)
●$lose_hp
In dieser Variable wird gespeichert wie viel Energie der Spiele verliert wen er auf die oben gewählte Terrain ID springt.
●$dead
Hier wird mit true und false fest gelegt ob der Spieler sterben kannwen er auf die Terrain ID springt.
●$heightMit diser Veraiable kann man die Höhe des Sprungs einstellen.
●$disable_terrainIn dieser Variable kann man einen Terraintag speichern über den man nicht springen kann. (nil bedeutet man kann über jeden springen)
 
Bedienung:
Man Springt mit A. Die Taste könnt ihr auf Zeile 54 ändern.   credits: slayeroflight
=end#-------------------------------------------------------------$jump_length = 2  #Die Länge des Sprungs$height = 5          #Höhe des Sprungs$disable_terrain = 7 #Terrain Tag über den man nicht springen kann.$terrain = 7         #Terrain auf dem Schaden erzielt wird.$lose_hp = 100       #Hp verlust$dead = true         #Stirbt wen die HP 0 ist.$embed_events = false #Über events Springen oder nicht.#-------------------------------------------------------------#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Scene_Map#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  attr_accessor      :on_point  #-------------------------------------------------------------  alias origin_update update if $alias == nil  def update    origin_update    if Input.trigger?(Input::X)      jump    end  end  #-------------------------------------------------------------  def jump    jump = Input.dir4 / 2    case jump    when 0      @on_point = true      $game_player.jump(0, 0)    when 1       $game_player.jump(0, $jump_length)    when 2      $game_player.jump(-$jump_length, 0)    when 3      $game_player.jump($jump_length, 0)    when 4      $game_player.jump(0, -$jump_length)    end  end  #-------------------------------------------------------------#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Game_Player#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  #-------------------------------------------------------------  def jump(x_plus, y_plus)    if (chack_disable_terrain and $scene.on_point != true) or (check_disable_event == false)      return     end    $scene.on_point = nil    if x_plus != 0 or y_plus != 0      if x_plus.abs > y_plus.abs        x_plus < 0 ? turn_left : turn_right      else        y_plus < 0 ? turn_up : turn_down      end    end    @prejump_x = @x    @prejump_y = @y    new_x = @x + x_plus    new_y = @y + y_plus    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)      straighten      @x = new_x      @y = new_y      distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round      @jump_peak = 10 + distance - @move_speed + ($height - distance)      @jump_count = @jump_peak * 2      @stop_count = 0      return    elsif passable?(new_x, new_y, 0) == false      if $game_map.terrain_tag(new_x, new_y) == $terrain        straighten        @x = new_x        @y = new_y        distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round        @jump_peak = 10 + distance - @move_speed + ($height - distance)        @jump_count = @jump_peak * 2        @stop_count = 0        for i in $game_party.actors          if i.hp - $lose_hp <= 0 and $dead == false            i.hp = 1          else            i.hp -= $lose_hp          end        end      end    end  end  #-------------------------------------------------------------  alias origin_update update if $alias == nil  def update    origin_update    if $game_map.terrain_tag(@x, @y) == $terrain      @loop_count = 6 if @loop_count == nil      if @jump_count == 0        @loop_count -= 1        if @loop_count == 0          $game_temp.gameover = $game_party.all_dead?          unless $game_party.all_dead?            moveto(@prejump_x, @prejump_y)          end          @loop_count = 6        end      end    end  end  #-------------------------------------------------------------  def chack_disable_terrain    if $disable_terrain != nil      for i in 0...$jump_length + 1        case @direction        when 2          return true if $game_map.terrain_tag(@x, @y + i) == $disable_terrain        when 4          return true if $game_map.terrain_tag(@x - i, @y) == $disable_terrain        when 6          return true if $game_map.terrain_tag(@x + i, @y) == $disable_terrain        when 8          return true if $game_map.terrain_tag(@x, @y - i) == $disable_terrain        end      end    end    return false  end  def check_disable_event    if $embed_events      for i in 0...$jump_length + 1        case @direction        when 2          return false unless new_passable?($game_player.x, $game_player.y + i)        when 4          return false unless new_passable?($game_player.x - 1, $game_player.y)        when 6          return false unless new_passable?($game_player.x + i, $game_player.y)        when 8          return false unless new_passable?($game_player.x, $game_player.y - i)        end      end     end    return @returned_value  end  def new_passable?(x, y)    for event in $game_map.events.values      if event.x == x and event.y == y        return false      end    end  end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\class Game_Character#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\  #-------------------------------------------------------------  alias origin_update_jump update_jump if $alias == nil  def update_jump    Input.update    origin_update_jump  end  #------------------------------------------------------------- #\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\end#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\#------------------------------------------------------------- $alias = 0#-------------------------------------------------------------


wieso wird der script nicht richtig angezeigt???
ich schreib den mal noch so:
[info]=begin

Einfügen:

Das Script fügst du ein indem du ein im Maker F11 drückst und
dann über Maine ein Neues Script erstellst und dann den ganzen
Code einfügst.

Einstellungen:

●$jump_length

In dieser Variable wird gespeichert wie viele Felder der Spieler
springen kann. (Standard 2)

●$terrain

In dieser Variable wird eine Terrain ID gespeichert.

Wenn man auf das Terrain mit dieser ID Springt verlieren Der
Spieler Energie und wird wieder an den Ausgansort Teleporiert.
(Standard 7)

●$lose_hp

In dieser Variable wird gespeichert wie viel Energie der Spiele
verliert wen er auf die oben gewählte Terrain ID springt.

●$dead

Hier wird mit true und false fest gelegt ob der Spieler sterben kann
wen er auf die Terrain ID springt.

●$height
Mit diser Veraiable kann man die Höhe des Sprungs einstellen.

●$disable_terrain
In dieser Variable kann man einen Terraintag speichern über den man
nicht springen kann. (nil bedeutet man kann über jeden springen)


Bedienung:

Man Springt mit A. Die Taste könnt ihr auf Zeile 54 ändern.

credits: slayeroflight

=end
#-------------------------------------------------------------
$jump_length = 2 #Die Länge des Sprungs
$height = 5 #Höhe des Sprungs
$disable_terrain = 7 #Terrain Tag über den man nicht springen kann.
$terrain = 7 #Terrain auf dem Schaden erzielt wird.
$lose_hp = 100 #Hp verlust
$dead = true #Stirbt wen die HP 0 ist.
$embed_events = false #Über events Springen oder nicht.
#-------------------------------------------------------------
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
class Scene_Map
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
attr_accessor :on_point
#-------------------------------------------------------------
alias origin_update update if $alias == nil
def update
origin_update
if Input.trigger?(Input::X)
jump
end
end
#-------------------------------------------------------------
def jump
jump = Input.dir4 / 2
case jump
when 0
@on_point = true
$game_player.jump(0, 0)
when 1
$game_player.jump(0, $jump_length)
when 2
$game_player.jump(-$jump_length, 0)
when 3
$game_player.jump($jump_length, 0)
when 4
$game_player.jump(0, -$jump_length)
end
end
#-------------------------------------------------------------
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
class Game_Player
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#-------------------------------------------------------------
def jump(x_plus, y_plus)
if (chack_disable_terrain and $scene.on_point != true) or (check_disable_event == false)
return
end
$scene.on_point = nil
if x_plus != 0 or y_plus != 0
if x_plus.abs > y_plus.abs
x_plus < 0 ? turn_left : turn_right
else
y_plus < 0 ? turn_up : turn_down
end
end
@prejump_x = @x
@prejump_y = @y
new_x = @x + x_plus
new_y = @y + y_plus
if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
straighten
@x = new_x
@y = new_y
distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
@jump_peak = 10 + distance - @move_speed + ($height - distance)
@jump_count = @jump_peak * 2
@stop_count = 0
return
elsif passable?(new_x, new_y, 0) == false
if $game_map.terrain_tag(new_x, new_y) == $terrain
straighten
@x = new_x
@y = new_y
distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
@jump_peak = 10 + distance - @move_speed + ($height - distance)
@jump_count = @jump_peak * 2
@stop_count = 0
for i in $game_party.actors
if i.hp - $lose_hp <= 0 and $dead == false
i.hp = 1
else
i.hp -= $lose_hp
end
end
end
end
end
#-------------------------------------------------------------
alias origin_update update if $alias == nil
def update
origin_update
if $game_map.terrain_tag(@x, @y) == $terrain
@loop_count = 6 if @loop_count == nil
if @jump_count == 0
@loop_count -= 1
if @loop_count == 0
$game_temp.gameover = $game_party.all_dead?
unless $game_party.all_dead?
moveto(@prejump_x, @prejump_y)
end
@loop_count = 6
end
end
end
end
#-------------------------------------------------------------
def chack_disable_terrain
if $disable_terrain != nil
for i in 0...$jump_length + 1
case @direction
when 2
return true if $game_map.terrain_tag(@x, @y + i) == $disable_terrain
when 4
return true if $game_map.terrain_tag(@x - i, @y) == $disable_terrain
when 6
return true if $game_map.terrain_tag(@x + i, @y) == $disable_terrain
when 8
return true if $game_map.terrain_tag(@x, @y - i) == $disable_terrain
end
end
end
return false
end
def check_disable_event
if $embed_events
for i in 0...$jump_length + 1
case @direction
when 2
return false unless new_passable?($game_player.x, $game_player.y + i)
when 4
return false unless new_passable?($game_player.x - 1, $game_player.y)
when 6
return false unless new_passable?($game_player.x + i, $game_player.y)
when 8
return false unless new_passable?($game_player.x, $game_player.y - i)
end
end
end
return @returned_value
end
def new_passable?(x, y)
for event in $game_map.events.values
if event.x == x and event.y == y
return false
end
end
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
class Game_Character
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#-------------------------------------------------------------
alias origin_update_jump update_jump if $alias == nil
def update_jump
Input.update
origin_update_jump
end
#-------------------------------------------------------------
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
end
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
#-------------------------------------------------------------
$alias = 0
#-------------------------------------------------------------[/info]

Ich hoffe das hilft irgendwie

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

7

Samstag, 29. November 2008, 00:48

kann mir denn wirklich niemand helfen?

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

8

Samstag, 29. November 2008, 01:06

ich hab wieder mla nicht getestet, nur geraten^^

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Scene_Map
alias old_neobahamut_jump jump
def jump
if not $game_switches[1] == true then
old_neobahamut_jump
end
end
end
 
class Window_Message < Window_Selectable
  alias old_neobahamut_blabla_initialize initialize
  def initialize
	old_neobahamut_blabla_initialize
	$game_switches[1] = true
  end
 
  alias old_neobahamut_blabla_dispose dispose
  def dispose
	old_neobahamut_blabla_dispose
	$game_switches[1] = false
  end
end


An den 3 Stellen wo $game_switches[1] steht musst du die 1 durch die Switch-ID deiner Wahle erstzen.
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

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

9

Samstag, 29. November 2008, 01:44

beim starten des spiels problem:

[stop]
Script 'Springen' line 2: NameError occurred
undefined method `jump' for class `Scene_Map'[/stop]

da stimmt wohl etwas nicht.
könntest du dies bitte überarbeiten?
wenn nicht, auch nicht so schlimm. ich danke trotzdem für die schnelle lösung (auch wenn sie nicht funzt^^)

10

Samstag, 29. November 2008, 10:51

Das müsste gehen, füg es als eigenes Skript unter das Jumpskript aber über Main ein...

Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

11

Samstag, 29. November 2008, 12:21

Yo, der einzig mögliche Fehler wäre es, dieses Script über das alte zu packen. Der RGSS-Player liest die Scriptliste von unten nach oben.

Zitat

Ruby Quellcode

1
if not $game_switches[1] == true then
Stil = Neo-Bahamut, fragezeichen? xD

Ruby Quellcode

1
2
3
if $game_switches[1] != true
 bla...
end
tut's doch auch, oder? xD
  • :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

12

Samstag, 29. November 2008, 12:43

Zitat

Ruby Quellcode

1
if not $game_switches[1] == true then
Stil = Neo-Bahamut, fragezeichen? xD

Ruby Quellcode

1
2
3
if $game_switches[1] != true
 bla...
end
tut's doch auch, oder? xD

Wieso, macht doch beides das selbe? Und not ist einfacher zu lesen, außerdem hat nicht jede Programmiersprache !=, für Umsteiger ist not also offensichtlich ^^ Und das then kommt dann warscheinlich auch von ner anderen Sprache.
Aber warum nicht

Ruby Quellcode

1
 if !$game_switches[1] 
Man sieht: Viele Wege führen ans Ziel, is doch egal.

Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

13

Samstag, 29. November 2008, 13:17

Dass nicht jede Sprache das "!=" hat, wusst' ich noch garnich'^^" Naja... außer Assembler^^" Ich fand' das ist nur so viel zu tippen^^" Und beim !@var kommen mir immer Flüchtigkeitsfehler xD Naja, letzten Endes isses ja nur eine Stilfrage :P
  • :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

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

14

Samstag, 29. November 2008, 18:04

ich versteh das jetzt nicht ganz, was soll ich jetzt machen?

Neo-Bahamut

Himmelsgleicher

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

  • Nachricht senden

15

Samstag, 29. November 2008, 18:36

Zitat von »Hüpfende Kokosnuss«

Das müsste gehen, füg es als eigenes Skript unter das Jumpskript aber über Main ein...
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

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

16

Samstag, 29. November 2008, 20:05

das hat keine wirkung.
ist genau so wie vorher auch.
es kommt zwar keine fehlermeldung, aber es hat sich auch nix geändert.

Evrey

Oberschurke im Ruhestand

Motto: "Satzzeichen sind keine Rudeltiere." - Chesra

  • Nachricht senden

17

Samstag, 29. November 2008, 20:35

Wie jetzt??? Haste das mit den Schalter mal ausprobiert??? o__O" Muss eg. 100% laufen o__O"
  • :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

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

18

Sonntag, 30. November 2008, 14:58

ja, es funktioniert ja auch, aber ich kann damit trotzdem wärend messages etc (siehe ersten post) rumspringen.
Das ist ja das problem. und ich will nich vor und nach jeder message den script an und aus schalten, da es bei mir wirklich viel zu lesen gibt. Das wäre zu viel arbeit. am besten wäre es, wenn man irgendwie im script einbauen könnte, das man wärend messages nicht springen kann.

19

Sonntag, 30. November 2008, 15:14

Achso sag das doch... ich dachte schon der Schalter geht nicht. Da gibts ne Abfrage für.
Nimm folgendes Skript (nicht getestet):

Ruby Quellcode

1
2
3
4
5
6
class Scene_Map
  alias hk_nb_nomessage_jump jump
  def jump
    hk_nb_nomessage_jump unless $game_temp.message_window_showing
  end
end

Sora

Knappe

  • »Sora« ist der Autor dieses Themas

Motto: Lest ihr euch alle Mottos durch?

  • Nachricht senden

20

Montag, 1. Dezember 2008, 12:20

also, ich hab das von Hüpfende kokosnuss auf das von Neo-Bahamut getan, das hat funktioniert. das mit dem schalter hab ich nicht ganz verstanden, aber brauch ich auch nicht mehr. Ich hab das von Hüpfende kokosnuss auf das alte script gepackt, und das funktioniert auch. also kann ich das von Neo-Bahamut weglassen (Nicht böse gemeint :) )

Ich danke allen für die zahlreiche hilfe.

Edit Ich hab jetzt noch ein problem(das war aber schon bevor ich jetzt den neuen script reingebaut habe)
und zwar wenn ich die Taste für Menu (esc) und springen (a) gleichzeitig drücke, kommt eine fehlermeldung:

[stop]
Script 'Springen' line 101: NoMethodError occured
undefined method `on_point=' for #[/stop]


Ich editier gleich n Testspiel, oder wie das heißt.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sora« (26. Dezember 2008, 20:56)


Social Bookmarks