RPG-Maker Quartier

Hier dreht sich alles um die RPG-Maker-Reihe von ASCII/Enterbrain. Der RPG-Maker ist ein Tool, mit dem du dir dein eigenes kleines Rollenspiel erstellen kannst. Du findest hier alles, was du dazu brauchst. Aber natürlich umfasst die Community noch mehr!
Aktuelle Zeit: Di Mär 03, 2020 3:01

Alle Zeiten sind UTC + 1 Stunde



Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
Offline
Alex
Alex
Beiträge: 2
BeitragVerfasst: Di Mär 15, 2011 21:35 
Hallo leute, ich bin ein absoluter "frischling" und hab mich jetzt mehrere Tage mit dem RPGMaker VX herumgespielt. Komme auch find ich soweit gut voran, allerdings schaffe ich es nicht, zwei Events zu bauen

in der Suche habe ich leider nichts gefunden was mir weiterhelfen würde :(

1. Ich würde gerne ein event bauen welches nach der dritten aktiverung zB ein anderes Event auslöst

beispiel ist eine Kiste in einem Haus,
Anklicken der kiste hat erst zur Folge dass der besitzer der Kiste böse schaut (nur textevent dass der besitzer bös schaut)
wenn man ein zweites mal anklickt, schaut er nochmal böse (selbes event)
beim dritten mal sollte der besitzer den spieler vor die tür setzen (also mapwechsel, eventuell 10 HP verlieren *aua* und für den tag hat der spieler "Hausverbot" -- kein Kampf der Besitzer ist "Hafenmeister" und den braucht man um vom Ort wegzukommen also abmurksen = ganz schlecht

geh das? :)

die zweite Frage geht eben darum: der hafenmeister erklärt wo man hinfahren kann, danach wählt man eine destination aus, zahlt den nötigen betrag (soweit hab ichs schon)

danach sollte ein Schiff im Hafen - also in der darüberliegenden Zone - erscheinen das den Spieler in die gewünschte Zone bringt.

das Event am Schiff sollte natürlich nur verfügbar sein wenn das Schiff da ist, allerdings kann das schiff an einer anderen Position am Kai liegen, sodass sich die Events nicht überlappen

geht das? ;)

sorry wenn ich Euch so überrumple aber ich hab mir einige beiträge hier durchgelesen, und habe gemerkt dass sie hier geholfen werden.

ich zeig auch dann auch die resultate :)

dankeschön, Euer Zaph*


Nach oben
 Profil  
Mit Zitat antworten  

BeitragVerfasst: Mi Mär 16, 2011 0:32 
Ich gehe einfach mal ganz grob davon aus, dass du dich mit Variablen noch nicht sonderlich beschäftigt hast, weil dein erstes problem damit ganz leicht gelöst werden kann. Variablen sind im Maker das umfangreichste Werkzeug, was einem für komplexe Events zu verfügung steht, allerdings ist der Umgang damit nicht so einfach und für Neulinge recht schwer.

Zu dem eigentlichen Problem:

Du machst auf Seite 1 im Event Kiste deine erste Aktion. Also die wo der Typ nur böse guckt.
Außerdem lässt du am Ende eine Variable hochzählen. Das machst du mit "Control Variables" und dann "Add" mit "Constant" 1.
Dann fügst du einen neue Seite mit "New Event Page" ein und machst dort die 2. Aktion.
Der zweiten Seite gibst du eine Bedingung links oben das dritte Feld und gibst als Wert 2 ein.

In Kurzform:
Code:
Seite 1:
Aktion 1, [versuche] += 1
Seite 2:
Bed. [versuche] >= 2, Aktion 2


Problem 2:
Das hab ich nicht so ganz verstanden. Wann ist das Schiff nicht da und mit was soll es sich nicht überlappen?


Nach oben
  
Mit Zitat antworten  
Offline
Alex
Alex
Beiträge: 2
BeitragVerfasst: Mi Mär 16, 2011 19:56 
Hi Whiteshadow, danke für die Lösungsansätze, das mit den Variablen hab ich gestern noch nach intensiver herumwurstlerei rausgefunden :) so ähnlich hab ichs dann gelöst

zu meinem zweiten problem: eigentlich habe ich hier schon eine "light" variante davon beschrieben was ich eigentlich will.

mein "traum" wäre ja folgendes

der Held geht zum hafenmeister, und der sagt dem Helden welche Schiffe gerade im Hafen liegen (voraussetzung dafür ist ein Tag-Nacht Wechsel, den implementier ich später wenn ich mich besser aukenne) der Hafenmeister informiert den Spieler dass das Schiff nach A am nächsten Tag abfährt. der Spieler bucht die Passage, und bekommt dafür als Item ein Ticket.

am nächsten Tag soll dann am Hafen ein Schiff stehen, dass nach A fährt, und wenn der Spieler das Item hat (Ticket) dann soll er teleportiert werden. (in der idealplanung eine Landkarte wo die route eingezeichnet ist a-la sternenschweif, und in der light planung ein einfacher teleport - den ich schon kann) ich bekomm nur einfach nicht hin dass ich die schiffe bei bedarf anzeigen lasse, bzw störts mich nicht, wenn die schiffe immer da sind, der port aber nur stattfindet wenn der Spieler das Ticket hat.

ich hoffe ich habs damit ein wenig besser beschrieben


Nach oben
 Profil  
Mit Zitat antworten  

BeitragVerfasst: Do Mär 17, 2011 1:21 
Ok, jetzt hab ichs verstanden.
Die Lösung dazu ist ein globales Managment aller Schiffe, was extrem komliziert ist.
Und komplexe Sachen haben auch oft viele Möglichkeiten zur Umsetzung.
Ich kann ja mal versuchen einen Ansatz zu machen.

Zunächst gehtst du alles Systematisch durch. Was im Einzelnen auf den Maps passiert ist jetzt völlig uninteressant.
Wichtig ist nur, dass du später eine eindeutige Zuweisung hast, was welches Schiff genau macht.

Du nummeriert alle Hafen durch, dasselbe machst du mit den Anlegestellen und definierst für jeden Hafen eine Variable, die die Anzahl der Anlegestellen enthält und eine, welche die Belegung enthält. (Am Besten beide im Binärcode: 1, 3, 7, 15, ...)
Für jedes Schiff legst du 5 Variablen an.
1: Starthafen (Hafen-ID)
2: Zielhafen (Hafen-ID)
3: Reisezeit (Zeit in Sek oder irgendwas anderes)
4: Anlegeposition (Auch Binär)
5: Ankunfts/Abfahrts-Zeit (Zeit in Sek oder irgendwas anderes)
(1, 2, 3 können durchaus Konstant sein, oder anders definiert werden. Ich gehen hier einfach mal vom Komplexesten Fall aus. Du kannst auch mehrere Hafen nehmen, aber dann solltest du die Reisezeit über ein CE mit der Hafenverbindung als Parameter definieren. Lassen wirs fürs Erste lieber^^)

Zu Beginn des Spiels setzt du jedes Schiff in einen Hafen. Also Position auf den gewünschten Hafen setzen und die Hafen-Belegung nicht vergessen. Die Zeit setzt du auf die nächste Abfahrszeit.

Jetzt schreibst du ein Common-Event als Parallel-Prozess.
Dort wird für jedes Schiff geprüft, ob die Spielzeit == Ankunfts/Abfahrts-Zeit ist.
Wenn ja, prüfst du die Position. 0 bedeutet, dass das Schiff noch unterwegs war.
Also gerade anlegen will. Damit es dazu kommt, prüfst du ob eine Anlegestelle frei ist, und setzt ggf. Anlegeposition dadrauf und den Anlegezustand vom Hafen. Nun änderst du den Zielhafen auf den neuen Hafen.
Die Zeit setzt du um die Haltezeit höher.
Code:
Zeit += Haltezeit

Wenn die Position ungleich 0 ist, bedeutet es, dass das Schiff ablegen will. Anlegeposition setzt du auf 0. Starthafen auf den aktuellen Hafen und die Zeit auf:
Code:
Zeit += Reisezeit

Damit sollte es auch gewesen sein. Jetzt hast du einen Virtuellen Schiffsverkehr.

Kommen wir zum Hafen.
Um obrigen Prozess einfach einbinden zu können, solltest du dir CE's schreiben die gewisse Routineabfragen machen und in eine Variable schreiben.
Dazu gehört: Nächste Schiff, was Ankommt/Abreist, Zeit dieses Schiffs, Name, ...

Ein Besipiel mach ich mal mit dem Ermitteln einer freien Anlegeposition:

Var 1 = Hafen (Funktions-Parameter)
Start: CE
Code:
Var 2 = Position der ersten Variablen der Anlegestellenanzahl - 1
Var 2 += Var 1 (Nur wenn die Variablen hintereinander liegen möglich)
Kommentar: Ich muss Ruby benutzen, weil der Editor keine Zeiger-Funktion hat
Skript: $game_variables[3] = $game_variables[$game_variables[2]]
$game_variables[4] = $game_variables[$game_variables[2] + 1]
if Var 3 == Var 4
  Hafen voll
  $game_variables[4] = 0
else
  if Var 3 == 0
    Hafen existiert nicht. (Ja, sollte es nicht geben, aber wer weiß)
  end if
  Var 3 -= Var 4
  Var 2 = 0
  loop
    if Skript: $game_variables[3] & ($game_variables[2] ** 2) > 0
       Skript: $game_variables[4] = $game_variables[2] ** 2
       exit Event
    end if
    Var 2 += 1
  end loop
end if

Am Ende enthält Variable 4 den Binärcode der Freien Position
Im Nachhinein hätte ich lieber ein Screenshot machen sollen.

Rest musst du zusehn, wie dus hinbekommst. Ich muss auch mal pennen.
Versuchs erst einmal mit einem Schiff. Ist schon schwer genug.

mfg TWS


Nach oben
  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de