Ergebnis 1 bis 20 von 24

Thema: Zwei Fragen über RGSS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Hi.

    Was genau hast du denn jetzt in Scene_Title geändert?
    Poste am besten das ganze Script.

  2. #2
    Hat sie denn das XP-RTP installiert?

  3. #3
    Nein sie hat das nicht installiert, aber eigentlich hab ich alles importiert was ich verwendet hab...

    Mein Scene_Title Script sieht jetzt so aus:

    PHP-Code:
    #==============================================================================
    # ** Scene_Title
    #------------------------------------------------------------------------------
    #  This class performs title screen processing.
    #==============================================================================

    class Scene_Title
      
    #--------------------------------------------------------------------------
      # * Main Processing
      #--------------------------------------------------------------------------
      
    def main
        
    # If battle test
        
    if $BTEST
          battle_test
          
    return
        
    end
        
    # Load database
        
    $data_actors        load_data("Data/Actors.rxdata")
        
    $data_classes       load_data("Data/Classes.rxdata")
        
    $data_skills        load_data("Data/Skills.rxdata")
        
    $data_items         load_data("Data/Items.rxdata")
        
    $data_weapons       load_data("Data/Weapons.rxdata")
        
    $data_armors        load_data("Data/Armors.rxdata")
        
    $data_enemies       load_data("Data/Enemies.rxdata")
        
    $data_troops        load_data("Data/Troops.rxdata")
        
    $data_states        load_data("Data/States.rxdata")
        
    $data_animations    load_data("Data/Animations.rxdata")
        
    $data_tilesets      load_data("Data/Tilesets.rxdata")
        
    $data_common_events load_data("Data/CommonEvents.rxdata")
        
    $data_system        load_data("Data/System.rxdata")
        
    # Make system object
        
    $game_system Game_System.new
        
    # Make title graphic
        
    @sprite Sprite.new
        @
    sprite.bitmap RPG::Cache.title($data_system.title_name)
        
    # Play title BGM
        
    $game_system.bgm_play($data_system.title_bgm)
        
    # Stop playing ME and BGS
        
    Audio.me_stop
        Audio
    .bgs_stop
        
    # Execute transition
        
    Graphics.transition
        
    # Prepare for transition
        
    Graphics.freeze
        
    # Dispose of title graphic
        
    @sprite.bitmap.dispose
        
    @sprite.dispose
        
    # Play decision SE
        
    $game_system.se_play($data_system.decision_se)
        
    # Stop BGM
        
    Audio.bgm_stop
        
    # Reset frame count for measuring play time
        
    Graphics.frame_count 0
        
    # Make each type of game object
        
    $game_temp          Game_Temp.new
        
    $game_system        Game_System.new
        
    $game_switches      Game_Switches.new
        
    $game_variables     Game_Variables.new
        
    $game_self_switches Game_SelfSwitches.new
        
    $game_screen        Game_Screen.new
        
    $game_actors        Game_Actors.new
        
    $game_party         Game_Party.new
        
    $game_troop         Game_Troop.new
        
    $game_map           Game_Map.new
        
    $game_player        Game_Player.new
        
    # Set up initial party
        
    $game_party.setup_starting_members
        
    # Set up initial map position
        
    $game_map.setup($data_system.start_map_id)
        
    # Move player to initial position
        
    $game_player.moveto($data_system.start_x$data_system.start_y)
        
    # Refresh player
        
    $game_player.refresh
        
    # Run automatic change for BGM and BGS set with map
        
    $game_map.autoplay
        
    # Update map (run parallel process event)
        
    $game_map.update
        
    # Switch to map screen
        
    $scene Scene_Map.new
      
    end
      
    #--------------------------------------------------------------------------
      # * Frame Update
      #--------------------------------------------------------------------------
      
    def update
        
    # Update command window
        
    @command_window.update
        
    # If C button was pressed
        
    if Input.trigger?(Input::C)
          
    # Branch by command window cursor position
          
    case @command_window.index
          when 0  
    # New game
            
    command_new_game
          when 1  
    # Continue
            
    command_continue
          when 2  
    # Shutdown
            
    command_shutdown
          end
        end
      end
      
    #--------------------------------------------------------------------------
      # * Battle Test
      #--------------------------------------------------------------------------
      
    def battle_test
        
    # Load database (for battle test)
        
    $data_actors        load_data("Data/BT_Actors.rxdata")
        
    $data_classes       load_data("Data/BT_Classes.rxdata")
        
    $data_skills        load_data("Data/BT_Skills.rxdata")
        
    $data_items         load_data("Data/BT_Items.rxdata")
        
    $data_weapons       load_data("Data/BT_Weapons.rxdata")
        
    $data_armors        load_data("Data/BT_Armors.rxdata")
        
    $data_enemies       load_data("Data/BT_Enemies.rxdata")
        
    $data_troops        load_data("Data/BT_Troops.rxdata")
        
    $data_states        load_data("Data/BT_States.rxdata")
        
    $data_animations    load_data("Data/BT_Animations.rxdata")
        
    $data_tilesets      load_data("Data/BT_Tilesets.rxdata")
        
    $data_common_events load_data("Data/BT_CommonEvents.rxdata")
        
    $data_system        load_data("Data/BT_System.rxdata")
        
    # Reset frame count for measuring play time
        
    Graphics.frame_count 0
        
    # Make each game object
        
    $game_temp          Game_Temp.new
        
    $game_system        Game_System.new
        
    $game_switches      Game_Switches.new
        
    $game_variables     Game_Variables.new
        
    $game_self_switches Game_SelfSwitches.new
        
    $game_screen        Game_Screen.new
        
    $game_actors        Game_Actors.new
        
    $game_party         Game_Party.new
        
    $game_troop         Game_Troop.new
        
    $game_map           Game_Map.new
        
    $game_player        Game_Player.new
        
    # Set up party for battle test
        
    $game_party.setup_battle_test_members
        
    # Set troop ID, can escape flag, and battleback
        
    $game_temp.battle_troop_id $data_system.test_troop_id
        $game_temp
    .battle_can_escape true
        $game_map
    .battleback_name $data_system.battleback_name
        
    # Play battle start SE
        
    $game_system.se_play($data_system.battle_start_se)
        
    # Play battle BGM
        
    $game_system.bgm_play($game_system.battle_bgm)
        
    # Switch to battle screen
        
    $scene Scene_Battle.new
      
    end
    end 
    Ich hab halt so gut ich konnte das hauptfenster raus editiert sowie die Definitionen (Heißen die so? Stand "def" davor^^) für Neues Spiel, Laden und Beenden entfernt, so dass er gleich ins Game springt.

  4. #4
    Dein Kumpel soll mal das RTP installieren.
    Das Script macht keine Probleme.

  5. #5
    Hm, sie ist gestern offline gegangen bevor ich ihr das vorschlagen konnte, aber ich hab das Projekt noch einem anderen Bekannten geschickt, der hat immerhin eine ordentlich Meldung "RGSS102e.dll not found" bekommen. Als er dann das RTP installiert hat, hat es funktioniert, also werde ich meiner zuerst erwähnten Bekannten das auch noch mal vorschlagen aber ich finds trotzdem seltsam dass er eine Fehlermeldung bekommt und sie nicht

    Naja, vielen Dank für die Hilfe an alle^^

  6. #6
    Das RTP besteht nicht nur aus Grafiken & Sounds, sondern auch aus eben jener dll ohne die kein Makergame funktioniert. Wenn du glaubst alles importiert zu haben, kannst du auch nur die dll mit in den Ordner beifügen.

  7. #7
    So, nächste Frage: Ich hab jetzt mehrere Skripts ausprobiert die das Spiel auf Vollbild stellen, die funktionieren auch. Meine Frage ist jetzt: Gibt es auch ein Script welches das Spiel zurück auf Fenstermodus stellt? Mit den Vollbildscripts funktioniert das nämlich nicht...
    Grund für die Frage: Ich hatte geplant einen Optionsbildschirm einzubauen auf dem man diverse Einstellungen vornehmen kann, unter anderem eine Schaltfläche, die zwischen Fenster und Vollbild umschaltet.

    Ausprobiert wurden:
    PHP-Code:
    unless $keybd
    $keybd 
    Win32API.new 'user32.dll'
    'keybd_event', ['i''i''l''l'], 
    'v'
    $keybd.call 0xA4000
    $keybd
    .call 13000
    $keybd
    .call 13020
    $keybd
    .call 0xA4020
    end 
    PHP-Code:
    unless $keybd
    $keybd 
    Win32API.new('user32.dll'
    'keybd_event', ['i''i''l''l'], 
    'v')
    $keybd.call(0x12000)
    $keybd.call(0x0D000)
    $keybd.call(0x0D020)
    $keybd.call(0x12020)
    end 
    Hab auch ein drittes gefunden aber das funktioniert gar nicht, da bleibt das Fenster gleich schwarz...

    €dit: OK, hat sich erledigt... Ich hab die erste und letzte Zeile rausgenommen, dann gings^^ Ich sollte wirklich erst mal RGSS lernen bevor ich anfange blöde Fragen zu stelllen

    Geändert von Estelyen (29.09.2008 um 18:46 Uhr)

  8. #8
    Zitat Zitat von Estelyen Beitrag anzeigen
    Ausprobiert wurden:
    PHP-Code:
    unless $keybd
    $keybd 
    Win32API.new 'user32.dll'
    'keybd_event', ['i''i''l''l'], 
    'v'
    $keybd.call 0xA4000
    $keybd
    .call 13000
    $keybd
    .call 13020
    $keybd
    .call 0xA4020
    end 
    PHP-Code:
    unless $keybd
    $keybd 
    Win32API.new('user32.dll'
    'keybd_event', ['i''i''l''l'], 
    'v')
    $keybd.call(0x12000)
    $keybd.call(0x0D000)
    $keybd.call(0x0D020)
    $keybd.call(0x12020)
    end 
    Hab auch ein drittes gefunden aber das funktioniert gar nicht, da bleibt das Fenster gleich schwarz...

    €dit: OK, hat sich erledigt... Ich hab die erste und letzte Zeile rausgenommen, dann gings^^ Ich sollte wirklich erst mal RGSS lernen bevor ich anfange blöde Fragen zu stelllen
    Nicht so toll, weil dann immer ein neues WinAPI-Objekt erzeugt wird. Besser:

    PHP-Code:
    unless $keybd
        $keybd 
    Win32API.new('user32.dll''keybd_event', ['i''i''l''l'], 'v')
    end
    $keybd
    .call(0x12000)
    $keybd.call(0x0D000)
    $keybd.call(0x0D020)
    $keybd.call(0x12020
    mfG Cherry

  9. #9
    Da sagt er: "Syntax Error occurred while running Script"...

    Ich hab leider immer noch nicht wirklich Ahnung von den Feinheiten von RGSS, soll heißen, ich hab kein Plan von der Sprache...
    Was zum Henker ist ein WinAPI-Objekt? Und ist es so schlimm wenn es davon mehrere gibt? Außerdem, die meisten Spieler werden ja wohl nicht stundenlang im Optionsmenü rumhängen und ständig das Fenster groß und klein machen

  10. #10
    Der Code von Cherry ist aber richtig. Müsstest irgendwo einen Tippfehler drin haben.

    Ein Winapi-Objekt ist eine Schnittstelle zwischen Windows und einem Programm. Im Grunde sagt der Code folgendes aus:
    "Hey, Winapi, wie geht's? Ich möchte gerne auf deine user32 Bibliothek zugreifen und dort das Buch keybd_event benutzen! Eigentlich sind mir nur die Stellen wo ALT+Enter gedrückt werden wichtig...die müsstest du bitte einmal für mich ausführen, Thx!"
    Und Winapi macht wie ihm befohlen wird und so wird dann der Tastendruck simuliert.

  11. #11
    Zitat Zitat von Ascare Beitrag anzeigen
    Ein Winapi-Objekt ist eine Schnittstelle zwischen Windows und einem Programm. Im Grunde sagt der Code folgendes aus:
    "Hey, Winapi, wie geht's? Ich möchte gerne auf deine user32 Bibliothek zugreifen und dort das Buch keybd_event benutzen! Eigentlich sind mir nur die Stellen wo ALT+Enter gedrückt werden wichtig...die müsstest du bitte einmal für mich ausführen, Thx!"
    Und Winapi macht wie ihm befohlen wird und so wird dann der Tastendruck simuliert.
    Hihi, du solltest Autor für Kinderprogrammierbücher werden.

  12. #12
    Mal ne gaaanz andere Frage: Wie kann ich es in diesem Forum bewerkstelligen, dass meine Signatur unter den Beiträgen angezeigt wird? Mir wird sie nur auf meiner Profilseite angezeigt, und ja, ich habe "Signatur anzeigen" beim Beitrag schreiben aktiviert... Wird die vielleicht erst ab einer gewissen Anzahl an Beiträgen verfügbar?

    €dit: Ah sry, ich sehs schon... wird nur bei neuen Beiträgen angezeigt, das muss man natürlich wissen

    Geändert von Estelyen (20.10.2008 um 06:29 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •