PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hintergrund geht nicht!



Myuyu_Ro
13.06.2007, 14:43
Ich habe schon mehrmals probiert irgend wie Nebel oder Wolken über der Stadt zu machen, bei MapProperties, allerdings wird da rein gar nichts angezeigt?
Habe eine Nebel grafik rein gemacht und autoscroll etc.. aber man sieht es einfach nicht.
pls help

WoOdY49
13.06.2007, 15:45
Das Panorama, was du da einstellst, wird auch nur an Stellen der Map angezeigt, an denen nichts ist (bzw. die transparente Farbe), also unter der Stadt.
Wenn du etwas über der Map haben willst, musst du mit Pictures arbeiten.

Myuyu_Ro
14.06.2007, 09:40
mhh.. ach ja... -.- *vor kopf hau*
ja hab ich gemacht.... aber wenn ich das als picture irgend wo drauf mache dann sagt der maker wenn ich testspiel machen will, das er dieses bild nicht aufmachen kann??

UND ich hab noch ne frage..
wie kann man es einstellen, das der held etwas automatisch sagt, nachdem er mit allen leuten in der stadt geredet hat?

Myuyu_Ro
14.06.2007, 10:12
OKAY also das mit dem Hintergrund klappt jetzt!!
würd gern nur noch die andere frage beantwortet kriegen : )
(sry fürs viele fragen : P - les mir auch das e-book und nen kurz gleichzeitig durch, keine sorge)

Caine Luveno
14.06.2007, 11:41
Ganz einfach:

- In jedem Event welches du eingebaut hast wo er mit den Leuten spricht, rechnest du eine Variable +1 und schaltest einen Switch an um überprüfen zu können ob der Held schon mit der Person geredet hat. Sähe so aus:



if (Switch:'Person 1') is off {
Change Variable: PersonenGeredet + 1;
Change Switch: Person 1 switch On.
}


Ohne den Switch und die Abfrage könnte der Held eine Person ständig immer wieder anreden und der "Zähler" mit wie vielen er schon geredet hat steigt immer weiter ;)

- Dann legst du ein neues Event auf der Map von der Stadt an, Parallel Process oder AutoStart, das Event soll nur dann starten (bei Start Conditions eintragen) wenn deine Variable PersonenGeredet einen bestimmten Wert hat, z.b. 7 (wenn der Held zuvor mit sieben Leuten reden muss)

Dann kannst du in dem Event den Helden machen lassen was du willst ;)

Myuyu_Ro
14.06.2007, 19:23
... aber wenn ich so viele switches anmache, dann hab ich ja irgend wann keinen platz mehr für andere sachen? o.O so ne große anzahl kann man an switches/variablen ja nich machen... mhh ich werd aber mal gucken, danke : )

Grandy
14.06.2007, 19:29
Du musst die max switch no. hochsetzen. Dann kannst du bis zu 5000 switches und Varis verwenden.

Myuyu_Ro
14.06.2007, 19:48
aha ok..
mal ne frage, was ist der unterschied zwischen switches und variablen... ich habs mir tausend mal durchgelsenen und verstehs immer noch nicht -.-

treeghost
14.06.2007, 21:11
Mit switches kanns du schalter aus lösen oder ein Monster verschwinden lassen mit Variablen kanns du Sks und Aks zaubern!Menüs wie in FF und wo zu hat Alzi das e-book gemacht wenn gar kein einziger Noob das liest XD

Myuyu_Ro
14.06.2007, 22:17
hab ich ja -.- aber irgend wie versteh ichs trotzdem nich so.. naja, mal schauen, wenn ichs ausprobiere klappts meistens dann : P

Caine Luveno
15.06.2007, 00:49
Mit switches kanns du schalter aus lösen oder ein Monster verschwinden lassen mit Variablen kanns du Sks und Aks zaubern!Menüs wie in FF und wo zu hat Alzi das e-book gemacht wenn gar kein einziger Noob das liest XD

Dann ließ es bitte selber, denn das ist so nicht richtig. Switche und Varibalen rbauchst du für WEIT mehr und sie können WEIT mehr.

Ein Switch ist folgendes:

Wie ein Lichtschalter. Er ist an, oder aus. Mit dem Befehl Change Switch kannst du einen Switch an doer aus schalten.

Damit kannst du nun 3 Dinge anstellen:
- Ein komplettes Event nur ausführen lassen wenn irgendwo anders vorher der angegebene Switch aktiviert wurde
- Ein Event auf eine andere seiner Seiten springen lassen
- Über Fork Conditions bestimmte Befehle innerhalb eines Events nur ausführen lassen wenn ein entsprechender Switch an ist

Es ist, wirklich, wie bei einem Lichtschalter ;)

Eine Variable ist folgendes:

Eine Variable speichert eine Zahl. Punkt. Diese Zahl ist von -2000000000 bis 2000000000 und n paar zerdrückte frei wählbar.

Die Zuweißung dieser Zahl, besteht aus 6 Möglichkeiten:

1. SET, die Variable erhält den Zahlenwert den du eingegeben hast (was nicht unbedingt eine feste Zahl sein muss, sondern auch wieder eine Variable sein könnte)

2. +, der Zahl welche momentan in der Variablen gespeichert ist, wird der eingegebene Wert dazugerechnet

3. -, von der Zahl welche momentan in der Variablen gespeichert ist wird der eingegebene Wert abgezogen

[...]

Ich denke * (Mal) und / (geteilt) kann ich mir sparen ;)

6. MOD, sorgt gerne mal für Verwirrung, aber es ist ganz eifnach, MOD gibt den Rest einer Division zurück.

10 / 3 = 9 REST 1 <-- die Variable erhält den Wert 1

Was kann man damit machen? Du kannst wie bei Switches, verschiedene Abfragen starten. Wo liegt der Vorteil? Du kannst Dinge sozusagen "zählen", wie deine Dorfbewohner.

Ein Switch, ist genaugenommen eine Variable, nur kann dieser nur die Werte 0 (aus) und 1 (an) annehmen.

Ein Switch hat seine existenzberechtigung daher, das nur die Werte 0 und 1 möglich sind. Das heißt im Arbeitsspeicher des Computers werden für diesen Switch auch nur diese Werte registriert. Kurz gesagt: 4000000000 mögliche Werte brauchen mehr Speicher als nur 2. Deswegen gibt es Switches.

In einem AKS, kann man z.b. die Lebenspunkte des Helden in einer Variablen speichern, und dann per Fork Conditions abfragen, wie viele LP der Held hat, und ein entsprechendes Picture anzeigen.

makenshi
15.06.2007, 09:45
Switche sind Variablen. Sie sind Variablen vom Typ Boolean.

Aber mal zur Erklärung:

Switche(Booleanvariable):
Ein Switch verhält sich wie ein Lichtschalter. Er kann nur 2 Zustände haben. An(1) und Aus(0). Diese zwei Zustände kannst du ausnutzen um NPCs,Events und ähnliches "auszuschalten". Damit du verstehst was ich meine:


Naja gut. Dann halt nochmal das ganze Switchprinzip:

Wie du weisst hat der Maker Events.In diese Events kannst du Befehle setzen die dann in dem Spiel passieren. Und diese Events können viele verschiedene Seiten haben.
Jede Seite hat dabei sogenannte Aktivierungsbedingungen. Diese müssen erfüllt sein damit der Maker diese Seite aktiviert. Damit du es besser verstehst:

Nehmen wir an, wir haben ein Event mit 2 Seiten. Auf der zweiten Seite ist der Switch "2SeiteAN" eingestellt. Auf der ersten Seite steht nichts bei den Aktivierungsbedingungen. Der Switch "2SeiteAN" ist noch auf off/aus.

Der Maker geht das Event nun von hinten durch. Sprich er schaut sich zuerst Seite 2 an und prüft ob die Aktivierungsbedingungen dieser Seite wahr sind. Sprich ob sie erfüllt sind. Der Maker merkt das die Seite 2 als Aktivierungsbedingung drinstehen hat, das der Switch "2Seitean" auf ON/AN stehen muss. Wir wissen aber, das er noch auf OFF/AUS steht. Das merkt der Maker und wechselt auf die nächste Seite -> die Seite 1.

Dort ist gar keine Aktivierungsbedingung. Also aktiviert er sie auch mal direkt. Auf der Seite 1 steht ein Messagebefehl der den Text auf dem Bildschirm erscheinen lässt:" Hallo! Das ist noch die Seite 1!". Nach dem Messagebefehl, wird der Switch "2Seitean" auf ON/AN gestellt. Der Maker hat die erste Seite komplett ausgeführt.

Nun prüft er erstmal wieder die 2te Seite. Und diesmal merkt er das die Aktivierungsbedingung erfüllt ist. Wir haben ja den Switch "2Seitean" auf ON/AN gestellt ! Der Maker aktiviert nun diese 2te Seite und führt sie aus. Das bedeutet natürlich auch das er jetzt nicht mehr die erste Seite aktivieren wird. Immerhin prüft er ja erst Seite 2 und dann Seite 1. Und da Seite 2 nun immer aktiviert wird, bleibt er auch bei dieser stehen.


Ich poste dir gleich noch 2 Bilder dazu.

Edit:

So. Das ist das Event was ich eben erklärt habe.

Seite 1:
http://home.arcor.de/makenshi2k/testevent-seite1.png


Seite 2:
http://home.arcor.de/makenshi2k/testevent-seite2.png


"Makervariable"(Integervariable):
Diese Variablen können einen x-beliebigen Wert von -999.999 bis 999.999(2k) bzw. von -9.999.999 bis 9.999.999(2k3) annehmen.
Sprich du kannst Zahlen in diesen Variablen abspeichern. Hierbei können das nur ganze Zahlen sein. Keine mit Komma. Wenn durch eine Rechnung mit so einer Variable Kommazahlen herauskommen, dann schneidet der Maker alles hinter dem Komma einfach ab. Ergo:

5 / 2 = 2,5 (So wäre die normale Rechnung)
5 / 2 = 2 ( Das wäre die Makerrechnung)

Wozu das nun gut ist? Nunja, diese Variablen sind eines deiner Hauptwerkzeugen bei fortgeschritten und kleineren Dingen auf dem Maker. Stell dir z.B. du willst abspeichern wieviele Gegner von einer Sorte ein Spieler bereits getötet hat. Jedesmal einen Switch anzumachen für jeden getöteten Gegner wäre doch irgendwo leicht lästig. Also kannst du hergehen und dir einfach eine Variable schnappen. Diese ist nun dein Zähler. In dieser Variable speichern wir nun ab wie oft der Spieler eine bestimmte Monsterart getötet hat.

Und wie speichern wir das nun ab? Nunja, die Variable hat am Anfang den Wert 0. Immer. Also können wir einfach immer dann wenn der Spieler ein Monster dieser bestimmten Art tötet unsere Zählervariable um eins(1) erhöhen.
Zusätzlich dazu können wir dann noch eine Fork/IF-Bedingung benutzen.
Mit dieser können wir abfragen OB unsere Zählervariable auf dem gewünschten Wert ist und dann einen Effekt auslösen. Denn das war ja was wir wollten. Das etwas passiert wenn der Spieler eine bestimmte Monsterart x-mal getötet hat.



|Monsterevent - Mapevent - EnterKey/Pushkey - Seite 1|

Show Message: "Monster: Ich machen kaputt!" //Monster sagt was
Start Battle: Monstertyp1 // Kampf im Standardks wird aufgerufen
Show Message: "Monster: Urgggss" //Monster sagt wieder was
[0001:Zählervariable] + 1 //Das Monster ist tot, Zählervariable wird um eins erhöht
Delete Event/Clear Timer // Event wird temporär gelöscht


Das Monster sagt seinen Startsatz. Es wird ein Kampf im KS aufgerufen. Wenn der Kampf nun erfolgreich ausgeht, dann geht das Event weiter. Das Monster sagt seinen Sterbesatz und es wird anschließend unsere Zählervariable um eins erhöht. Zum Schluss löschen wir das Monsterevent solange bis der Spieler die Map wieder betritt.

Nun läuft währenddessen ein anderes Event im Hintergrund. Das steht auf PP(Paralleler Process). Das bedeutet soviel wie das dieses Event die ganze Zeit weiter läuft. Es wiederholt sich immer wieder.



|Monsterevent - Mapevent - PP - Seite 1|

IF [0001:Zählervariable] == 10 // Wenn der Spieler 10 Monster tötet...
Show Message: "Quest absolviert! 10 dumpfe Monster sind tot!"
Play Sound: Victory
Delete Event/Clear Timer
Change Switch[0001:QuestPruefung] - ON
ENDIF




|Monsterevent - Mapevent - PushKey - Seite 2 - [0001:QuestPruefung]==ON|
###leere Seite ####


WENN die Zählervariable auf 10 ist, dann passiert das was in der Fork/IF-Bedingung drinsteht. Ergo es wird die Nachricht gezeigt das die Quest absolviert wurde, der Sound Victory wird abgespielt und schlussendlich wird das Event auf seine 2te leere Seite geschaltet. So wie oben in meinem Beispiel. So ist das das Event praktisch "ausgeschaltet". Und das Mithilfe eines Switches(booleanvariable).



Das mag jetzt alles vielleicht kompliziert auf dich wirken, jedoch ist das an sich alles ganz einfach vom Ablauf her. Und mit etwas Übung verstehst du das auch relativ schnell. Man muss sich nur etwas Mühe geben. Versuch bei solchen Dingen auf jeden Fall soviel zu begreifen wie du kannst. Das hilft dir mehr als wenn du es nur irgendwo abschreibst.

Myuyu_Ro
15.06.2007, 10:59
okay.. gut ich glaube ich habe es so langsam verstanden..
mit den switches hab ich gestern einfach mal so einiges ausprobiert und habs glaub ich verstanden wie das mit den dingern geht ^^
mit den variablen muss ich mir das hier nochmal durchlesen udn währendessen mal was probieren.. denke das schaff ich auch noch irgend wie : )

Ich danke allen vielmals für die mühe !!! ^^ *verneig*
hat mir geholfen!