Ergebnis 1 bis 20 von 41

Thema: No problems ^,^] Adrian2000 - Problemthread(RGSS)

Hybrid-Darstellung

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

    Frage bei Event

    Hallo
    Ich habe mir ein Palast erstellt bei dem ich König bin. Und eine Stadt hab ich mir erstellt mit Einkaufsläden.
    Dann habe ich mir einen Butler erstellt bei dem man auf die Antwort "Steuern einnehmen" klicken kann. Dann habe ich verschiedene Läden(Waffenladen, Itemshop, Pension, Wirtshaus) auf die man danach klicken kann. Ich möchte es so machen, dass wenn man dan z.b. auf Waffenladen klickt man 1000 Gold erhält. Will aber nicht, dass man das die ganze Zeit machen kann sondern nur so jede Stunde. Und jetzt kommt endlich die Frage^^: wie kann ich das einstellen, das ich einstellen kann das man nur jede Stunde 1000 Gold bekommt nur man hinklickt, nicht einfach so. Und wenn wenn noch keine Stunde vergangen ist und man auf Steuern einnehmen und z.b. auf Waffenladen klick soll so was kommen wie "du kannst nur jede Stunde Steuern einnehmen". Ich hoffe ihr könnt mir beschreiben wie ich das machen kann. Ich habe auch schon ein bisschen Erfahrung mit RPG Maker XP.

    ------------------------------------------------------------------------------
    Programmiere mit RPG Maker XP

  2. #2
    mach einen eigenen Thread auf, bittä ^,^

  3. #3
    So, erneut habe ich eine Frage ^,^
    Und zwar möchte ich, dass im laufendem Spiel eine Datei auf dem Desktop erstellt wird. Dabei ist es aber wichtig, dass die enstprechende .txt-Datei niergendswo im Game Ordner liegt. Dabei möchte ich den Text innerhalb Ruby selber bestimmen. Allerdings ist der Text bloß einzeilig.

    Wichtig ist auch, dass der Name der .txt Datei bestimmbar ist.
    Zum Beispiel wäre es sehr sinnvoll, dass die Datei den Namen »Blatt Papier.txt« heißt und den Inhalt: ,,Dies ist ein Blatt Papier"
    bekommt.

    Wie bereits gesagt ist es sehr wichtig, dass die Datei am Ende im Spieleordner nicht ist.
    Dabei ist es mir eigentlich egal, ob die Datei im ~/MeinProjekt/Graphics/texte/Blatt Papier.txt/ ist und am Ende, wenn das Spiel verschlüsselt wird, nicht mehr einsehbar ist, aber vom Maker aus auf dem Desktop kopierbar ist oder ob sie sogar ganz mit Ruby erstellt wird, was ja bei einem einfachen Text Dokument nicht schwer sein sollte.

  4. #4
    Wenn du eine .txt-Datei erstellen willst tust du folgendes:
    Code:
    PATHNAME = "E:/IrgendEineDatei.txt"
    MODE = "wb"
    TEXT= "Dies ist ein Test"
    
    f = File.open(PATHNAME, MODE)
    f.write(TEXT)
    f.close
    PATHNAME gibt den Pfad der Datei an. Du kannst die Datei an jede beliebige Stelle auf dem Computer speichern.
    Der MODE ist im Moment auf "wb" == write-binary gestellt. Damit kannst du einen Text in die Datei schreiben, jedoch nicht lesen. Außerdem wird der Inhalt der Datei bei jedem öffnen dadurch gelöscht.

    Das sollte bereits alles sein was du brauchst, nun musst du nur den Pfad finden auf welchen du die Datei kopieren möchtest.
    Willst du übrigens herausfinden auf welchem Pfad der RPG-Maker XP installiert ist machst du: File.expand_path(""), dadurch bekommst du den Pfad des RPG-Makers als String zurückgegeben. Zum Beispiel: "E:/Spiele/Maker/RPG-Maker XP/".

  5. #5
    Code (Ruby):
    PATHNAME =  
    "C:/users/ich/Desktop/Nachricht.txt"
    MODE = "wb"
    TEXT= "Dies ist ein Test"
     
    f = File.open(PATHNAME, MODE)
    f.write(TEXT)
    f.close

    Das klappt ja zum Teil.
    Aber die Sache ist die, sobald ich ja das an einen anderem PC mache, wo der Nutzername nicht ich ist, würde das ja nicht mehr gehen.
    Und für
    PATHNAME = "C:/users/Public/Desktop/Nachricht.txt"
    ist die Zeile zu kurz... Also geht das auch nicht.
    Wie stelle ich das am besten an?

  6. #6
    Zeile zu kurz?
    Du machst das per Eventcommand?
    Du kannst das ganze auch aus Teilstrings zusammen setzen:
    a = "C:/users/"
    b = "Public/Desktop"
    c = "/Nachricht.txt"
    d = a+b+c
    Und schon kann man der kurzen Zeile entgegen kommen.

    Es sollte aber wahrscheinlich auch einen Weg geben den Benutzernamen zu erfassen, im schlimmsten Fall über WinApi. Damit kenne ich mich allerdings nicht aus.

  7. #7
    In Ruby gibt es dafür das Objekt ENV, das Zugriff auf die Umgebungsvariablen des OS bietet.
    Für den Desktop kann man schreiben:
    Code:
    path = ENV['USERPROFILE']+'/Desktop/Nachricht.txt'

  8. #8
    bei mir klappt aber:
    Code (ruby):
    a = "ENV['USERPROFILE']"
    b = "+'/Desktop/Nachricht.txt'"
    c = a+b
    PATHNAME = c
    MODE = "wb"
    TEXT= "Dies ist ein Test"
     
    f = File.open(PATHNAME, MODE)
    f.write(TEXT)
    f.close
    nicht.

  9. #9
    Code:
    a = ENV['USERPROFILE']
    b = "/Desktop/Nachricht.txt"
    PATHNAME = a+b
    MODE = "wb"
    TEXT= "Dies ist ein Test"
    
    f = File.open(PATHNAME, MODE)
    f.write(TEXT)
    f.close

  10. #10
    klappt perfekt. Danke ^,^

  11. #11
    Wenn du Text reinschreiben willst, solltest du nicht "wb" sondern "w" verwenden, sonst stellt Ruby die Zeilenumbrüche nicht richtig dar. Weiterhin solltest du die Variablennamen (außer ENV natürlich) alle klein schreiben, sonst werden Konstanten draus.

Berechtigungen

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