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
    Ok, die blöde Frage mit dem Mausscript tut mir leid... Ich hatte auf der Hauptseite nicht unter Ressourcen sondern unter Skripte gesucht, da war natürlich nichts. Ich wusste nicht, dass es unter den Ressourcen zum XP noch nen Unterpunkt Skripte gibt, hätte ich genauer nachschauen sollen, Asche auf mein Haupt!

    Jedenfalls vielen Dank für deine Antwort. Dass man sich nicht "mal eben schnell" Ruby beibringen kann ist mir klar, das war ja der Grund warum ich fragte, denn das wäre doch ziemlich blöd sich monatelang die Freizeit damit um die Ohren zu hauen nur um am Ende festzustellen, dass das was man vorhat mit Ruby gar nicht zu machen ist...

    "Endstation Wedel", so ist es xD Obwohl ich ziemlich genau auf halber Strecke zwischen der vorletzten Station (Rissen) und der letzten wohne^^


    €dit: Hab jetzt das Mausscript runtergeladen und sowohl das Script als auch das Event welches das Script startet von dem Demoprojekt in mein Projekt kopiert, aber jedes Mal wenn das Event zu der Stelle
    "Script: Mouse.initSystem((Mouse::INIT_SAVE), 'cursor', 1, 2)"
    kommt, bekomm ich die Fehlermeldung:
    "NameError occurred while running script. uninitialized constant Interpreter::Mouse"
    Das wundert mich ein wenig, weil das script in der Demo hervorragend funktioniert... Leider weiß ich auch nicht so ganz, was diese Fehlermeldung zu bedeuten hat :P Hab ich irgendetwas übersehen?

    Geändert von Estelyen (27.09.2008 um 12:41 Uhr)

  2. #2
    Bestimmt hast du was übersehen. Erstell mal ein neues Projekt und benutze erst dann das Mausscript. Halte dich am Besten genau an die mitgelieferte Anleitung.
    Wenn es im Testprojekt klappt, weißt du das du was im Hauptprojekt falsch gemacht hast.

  3. #3
    Ich hatte das schon in ein neues Projekt kopiert xD Ist ja quasi mein erster Vorstoß in dem RMXP. Und ich hatte mich an die Anleitung gehalten, keine Ahnung was falsch lief...

    Ich hab das Problem jetzt umgangen indem ich einfach das Demoprojekt nehme (da funktioniert es ja), es umbenenne und mein Projekt da quasi hineinbaue. 8)

    Des weiteren hatte ich jetzt die ersten Erfolgserlebnisse: Die zwei Zeilen Code von dir hab ich in ein Common Event getan, das funktioniert wunderbar, vielen Dank! Außerdem hab ich mich ein wenig mit dem Script-Editor befasst und erstmal das Scene_Title Script leicht modifiziert um das dämliche Maker-eigene Hauptmenü zu umgehen und mein eigenes zu erstellen (Ich bin einfach RM2k-verwöhnt, da gabs für so was auch einen Patch ).

    Jetzt kommt aber mein nächstes Problem: Ich hab eine schöne Animation erstellt und an den Spielstart gesetzt und ein vorläufiges Titelbild gemacht. Dann hab ich das Projekt in eine .exe zusammengefasst und an eine Bekannte geschickt, weil ich nur mal testen wollte ob die animation auch auf anderen rechnern gut läuft (muss erst mal noch lernen in Frames statt in Sekunden zu rechnen ). Aber sie konnte die Datei nicht starten, sie meinte, da käme nur kurz ein schwarzes Fenster das sich sofort wieder schließt... Ich glaub eigentlich nicht dass das mit den Änderungen zusammenhängt die ich in Scene_Title gemacht hab, denn bei mir funktioniert alles wunderbar... Weiß jemand wie so ein Effekt zustande kommen kann? Ich meine, bei dem (nicht funktionierenden) Mausscript hab ich immerhin ne anständige Fehlermeldung kassiert aber so ganz ohne Feedback des Programms steh ich natürlich blöd da...

  4. #4
    Hi.

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

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

  6. #6
    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.

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

  8. #8
    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^^

  9. #9
    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.

  10. #10
    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 17:46 Uhr)

  11. #11
    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

  12. #12
    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

Berechtigungen

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