Autor |
Nachricht |
< Ein paar Fragen |
|
Verfasst am:
Di, 28 Nov 2006 - 18:20
|
|
|
Neuling
Anmeldungsdatum: 09.06.2006
Beiträge: 11
|
|
Hi,
ich hab mal wieder eine Frage. Bin aber schon soweit ganz gut voran gekommen.
Bevor ich euch mit meinen vielen Themen nerve, schreibe ich alle Fragen jetzt einfach hier herein. Also immer mal wieder vorbeischauen.
Ich hab jetzt meine Anzahl an Räumen mit den Attr innen/außen versehen. Jetzt würde ich gern den Effekt "Regen" einbauen.
Sprich, das es zufällig draußen anfangen kann zu regnen und dieser Regen etv. auch ein paar Züge anhält.
Das könnte ich dann so einbauen das der Spieler zB. bei "wenn regen" nicht über die Brücke gehen kann oder die Chancen prozentual auf einen treffer mit dem Bogen sinken.
Da komme ich zum nächtsen Thema. Ich möchte gern das der Spieler auf einen Vieh mit dem Bogen schießen kann, wenn er Pfeile hat. Und das er dieses Vieh dann nach dem Zufallprinzip trifft und erlegt hat!
Auch das sich diser "Zufallswert" dann entweder verbssern oder verschlechtern kann. Jenachdem ob es ihm vielleicht jemand erklärt hat oder er einen besseren Bogen trägt.
Hab auch schon Dinge dazu gelesen, aber irgendwie scheitere ich immer noch daran.
Wäre fein wenn ich noch Mal Hilfe bekommen könnte.
Zum Gruße an euch alle
Nash |
|
|
|
|
|
Verfasst am:
Di, 28 Nov 2006 - 22:13
|
|
|
Experte
Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München
|
|
Nash hat folgendes geschrieben: | Ich hab jetzt meine Anzahl an Räumen mit den Attr innen/außen versehen. Jetzt würde ich gern den Effekt "Regen" einbauen.
Sprich, das es zufällig draußen anfangen kann zu regnen und dieser Regen etv. auch ein paar Züge anhält. |
Das kannst du mit einer Aktion* machen, wie sie im Handbuch beschrieben wird. Am besten machst du das in Verbindung mit einer Flagge, die besagt ob es gerade regnet oder nicht, und einem Zähler, der angibt wie lange das momentane Wetter noch anhalten soll. Die Raumattribute innen und außen kannst du dann verwenden, um deine Texte anzupassen. (Die Innenräume sollten vielleicht noch ein Attribut bekommen, das angibt, ob man von ihnen ins Freie sehen kann.)
Aber: Was ist das für ein Regen, der alle Naslang einsetzt und wieder aufhört? Es ist ja eigentlich viel wahrscheinlicher, dass immer die Sonne scheint oder es immer regnet. Oder dass sich das Wetter einmal ändert während des Spiels und dann so bleibt.
Nash hat folgendes geschrieben: | Das könnte ich dann so einbauen das der Spieler zB. bei "wenn regen" nicht über die Brücke gehen kann ... |
Das ist allerdings ein sehr einfaches System. Tatsächlich muss es ja schon lange regnen, bis der Fluss so anschwillt, dass man die Brücke nicht mehr gefahrlos überqueren kann. Und die Brücke ist noch feucht, nachdem es aufgehört hat zu regnen und daher vielleicht noch glitschig.
Wenn du diese Bedingungen fair einbauen willst, ist das eine Menge Arbeit. Auch für deine Tester. Du solltest die vielleicht einmal überlegen, ob du das willst.
Nash hat folgendes geschrieben: | Auch das sich diser "Zufallswert" dann entweder verbssern oder verschlechtern kann. Jenachdem ob es ihm vielleicht jemand erklärt hat oder er einen besseren Bogen trägt. |
Ein mögliches Zufallssystem ist, die Trefferquote als Prozentwert zu implementieren:
Code: |
...
VorAusf
(erschießen)
Flagge p 40 | Trefferwahrscheinlichkeit
Bed (Bogen beimir) oder (Armbrust beimir)
'Womit denn?'
Bed (Pfeil beimir)
'Keine Munition'
wenn (Armbrust beimir) sei p 60
wenn (Zielwasser_getrunken) inkr p 20
wenn (Regen) dekr p 20
wenn (Hubertus_Amulett angezogen) inkr p 20
wenn (selbst ist hurtig) dekr p 10
Wenn (Proz p) dann
Tausche selbst Kadaver
ObjNach Pfeil aRaum
Text 'Treffer!'
sonst
Text 'Daneben!
[Der selbst] verschwinde[t] im Wald.'
ObjNach Pfeil Nirwana
ObjNach selbst Nirwana
Ende
EndeAusf
|
Ob ein solches System allerdings besonders clever ist, sei einmal dahingestellt. Was macht nämlich der Spieler, wenn er seinen Pfeil verschießt? Er sagt 'undo' und probiert's nochmal. Wenn also p klein ist, muss der Spieler oft versuchen. Andererseits kann es sein, dass auch bei p=20 der erste Schuss sitzt und der Spieler bei p=60 oft danabenschießt. Die Bedingungen in deinem cleveren Zufallssystem werden also vielleicht gar nicht erkannt. _________________ Every silver lining has a cloud. |
|
|
|
|
|
Verfasst am:
Mi, 29 Nov 2006 - 17:42
|
|
|
Neuling
Anmeldungsdatum: 09.06.2006
Beiträge: 11
|
|
Hi,
das sind gute Gedanken zu meinem Thema! Vielen Dank. Es wäre sicher frustrierend wenn man immer wieder schießt und trotz des "Zielwassers" etv. nicht besser wird, sondern es durchaus noch länger dauern könnte als wenn man es nicht hat.
Das hat mich zu der Idee gebracht:
Vielleicht könnte man den Dingen bestimmte Werte/Punkte geben.
Gesundheit/Schaden
Der Spieler hat zwei Schüsse, sonst wird der Eber ihn überrennen. Der Pfeil würde immer treffen.
Wobei der Eber Gesundheit 100 hat
Der Pfeil ein Schaden von 40
Zwei schüsse würden den Eber also nicht umhauen! Wenn man nun aber das Zielwasser vorher trinkt, wird der Schaden der Pfeile auf 50 erhöht. So das dieser Zustand dan beispielsweise ne Stunde anhält!
Ginge das?
Das sind alles so Fragen, die ich mir selbst noch nicht beantworten kann. >Was ist alles möglich!?<
Bei dem Regen hast Du mich nun auf einen guten Weg geführt. Meine Idee wäre im Spiel wahrscheinlich ganz schön konfus geworden. Lieben dank. |
|
|
|
|
|
Verfasst am:
Mo, 4 Dez 2006 - 18:21
|
|
|
Neuling
Anmeldungsdatum: 09.06.2006
Beiträge: 11
|
|
Hallo an euch,
das Problem hat sich jetzt auch erledigt, hab das so weit umsetzen können.
Jetzt habe ich die reden.adx bei mir eingebaut und gefällt mir auch soweit gut.
Allerdings muß der Spieler immer wieder eingeben "rede mit..."
Kann ich auch irgendetwas hinzufügen, so das ein Gespräch nicht einfach beendet ist, sondern die Auswahlmöglichkeiten einfach wieder hintenan stehen?
Dann könnte der Spieler das Gespräch nur selbst beenden. Würde mir besser gefallen.
Wär fein wenn ihr - DU @ Martin ;) da noch einen Tip hättest!
Grüße |
|
|
|
|
|
Verfasst am:
Mo, 4 Dez 2006 - 19:29
|
|
|
Neuling
Anmeldungsdatum: 07.10.2003
Beiträge: 15
Wohnort: Verden
|
|
Hi Nash,
ich habe leider im Moment nicht wirklich die Zeit dir ausführlicher zu Antworten, aber ich denke ein schnell mit Copy&Paste eingefügter Codeschnipsel wird dir schon helfen können. :-)
Code: | Bef hilfe
Name 'hilfe'
Verb 'hilfe' 'info' 'help' 'hilf mir' 'help me'
Verb 'informationen' 'hotline' 'hints'
Ausf
wiederhole
Ausf hilfeinfo
bis (nächsteHilfe = 0)
EndeAusf
Aktion hilfeinfo
Ausf
lokal x
lösche x
Text '[x]Der HILFE-Bildschirm[x][x]
Drücke[x]
( [f]1[n] ) --> Wie funktioniert dieses Spiel[x]
[x]
( [f]2[n] ) --> F-Tasten und Abkürzungen[x]
[x]
( [f]3[n] ) --> ich komme nicht weiter....gib mir ein paar Tips[x]
[x]
( [f]4[n] ) --> bla bla[x]
[x]
( [f]5[n] ) --> Zurück zum Spiel[x]
[x]
Wähle : '
Auswahl x '12345'
jenach x
(1) Text '1 gedrückt[x][#]'
sei nächsteHilfe 1
(2) Text '2 gedrückt[x][#]'
sei nächsteHilfe 1
(3) Text '3 gedrückt[x][#]'
sei nächsteHilfe 1
(4) Text '4 gedrückt[x][#]'
sei nächsteHilfe 1
(5) Text '5 gedrückt[x][#]'
sei nächsteHilfe 0
Ende
EndeAusf |
Das für dich entscheidene ist... Code: |
...
Ausf
wiederhole
Ausf hilfeinfo
bis (nächsteHilfe = 0)
EndeAusf
...
...
sei nächsteHilfe 1
....
sei nächsteHilfe 0
|
Der Dialog wiederholt sich bis "sei nächste Hilfe 0" gegeben ist, in diesem Beispiel die Taste 5.
Ich hoffe das hilft dir erstmal weiter. Sonst frag nochmal, habe evtl später noch etwas Zeit.
Viel Spass,
Torsten |
|
|
|
|
|
Verfasst am:
Di, 5 Dez 2006 - 17:56
|
|
|
Neuling
Anmeldungsdatum: 09.06.2006
Beiträge: 11
|
|
Hi Torsten,
Danke für Deine schnelle Antwort - prima, ich immer so ungeduldig.
Hmm, hab das auch so weit verstanden und denke ich könnte es umsetzen in dieser Form. Allerdings - ich hab das ja bei mir alles etwas anders stehen, weil ich das "system" wie bei der rede.adx datei von Martin verwendet habe.
Somit weiß ich da leider immer noch nicht bescheid....
Ich setze das mal hier rein vielleicht hast Du (oder jemand anders) noch eine Idee?!
In der .adx datei steht auch so viel von schleife und so vielleicht hängt es damit zusammen.
Code: | Obj Wirt
Name 'Rache' m 1
vor 'wirt' 'schank'
subst 'wirt' m 'schankmann' m 'schankwirt' m 'rache' m
Ort Raches_Wacht
Var redeBeginn 1
Var redeEnde 8
Attr Person immer
Besch 'Der Wirt sieht aus wie ein gutgelaunter Kerl. Er steht hinter
seinem Schanktisch und poliert Tonkrüge, wischt die Tische sauber
oder Fegt sein Gasthaus. Raches ist rundlich und nicht sehr groß,
was ihn noch rundlicher wirken lässt. Sein Haar trägt er glatt zu einem
Topfschnitt. Dabei hätter er auch gut als Mönch gehen können.'
Erst ''
VorAusf
(reden)
Ausf redeDialog
! '[f]"Zum Gruße!"[n]' !
Jenach redeAuswahl
(1) Text '"[f]Zum Gruße, mein Name ist Falk von Tibor."[n]Falk reichte dem
Wirt die Hand. [f]"Und Ihr seid dann sicher Rache. Euer Name eilt
euch voraus," [n]meinte Falk.[n]
[f]"OhHo, nur bis vor die Haustür, auf dem Schild der Wacht."[n]
Grinste dieser zur Antwort. [f]"Wo kommt ihr her?"'[n]
setze aktiv.2
setze aktiv.5
lösche aktiv.1
!'[f]"Wo bin ich hier genau?"[n] Fragte Falk'
(2) Text 'Ihr seid hier in La`esch. Dem Wald von La`esch um genau zu sein. Hier
kommt eigentlich nie jemand vorbei. Man sagt über dem Wald, es würde hier
spuken. Geister würden ihr unwesen treiben," Rache machte eine wegwerfende
Handbewegung. "Alles Gewäsch! La`esch gehört nicht zu den Landen des
Hochkönigs. Das hier ist nicht sein Hoheitsgebiet, noch das eines anderen.
Dieses Stück Land gehört sich selbst.
Wenn Du mich fragst, darum erzählen die Leute Geschichten.
Natürlich gibt es hier auch Ungehäuer - darum rate ich Dir nicht allein
in der Nacht durch die Wälder zu streifen. Nicht hier in La`esch. Frag den
Hühnen - er weiß bescheid.
Am besten Ihr besorgt Euch eine Landkarte oder zeichnest Dir bei Deinen
Erkundungen welche. Auf Leder zum Beispiel. Da köntest Du sehr gut Karten drauf
malen. So verlierst Du die Orientierung nicht."'[n]
setze aktiv.6
lösche aktiv.2
!'[f]"Wer sind die anderen Leute hier?'[n]!
(3) Text '[f]"Das sind alles besondere Leute. Sie trauen sich in die Wälder von
La`esch und genau darum seid ihr alle hier bei mir willkommen. Frag sie
doch einfach."
Gerade in diesem Augenblick schaute die schöne Maid auf
den Fellen zu Falk hinüber. Machte einen Schmollmund mit ihren rosaroten
Lippen, neigte den Kopf und plinkerte ihm mit ihren langen Wimpern engegen.
Eine weiter Einladung war wohl nicht nötig.'
!'[f]"Ein Zimmer von dem Ihr gesprochen habt."[n]' !
(4) Text 'Natürlich bekommt Ihr ein Zimmer - nur 5 Talente.[n]
!'[f]Ich komme aus der Mark im Westen.[n]'!
(5) Text '[f]"Ein weiter Weg den Ihr zurück gelegt habt."[n] staunte Rache
den Neuankömmling an. [f]"Sicher habt ihr Hunger und durst oder wünscht
eine Nacht in einem gemütlichem warmen Bett, mit Dach über dem Kopf.
Kann ich Euch alles bieten."[n] grinste Rache ihn an. [f]"5 Talente
für ein Zimmer mit warmer Mahlzeit und einem kühlem Bier dazu.
Pfeifenkraut kostet extra. Amüsiert euch."'
setze aktiv.4
setze aktiv.8
lösche aktiv.5
!'[f]Von welchen Ungehäuern sprichst Du?'[n]!
(6) Text 'fragte Falk ungehalten. Diese Frage schien Ihn zu beschäftigen!
[f]"Das kannst Du besser den Mohr fragen - wenn er mit Dir spricht!
Siehst Du seine Gewandung aus Fell? ...Das sind die Skalpps seiner
Jagdbeute...'[n]
!'[f]"Nur ein Bier"'[n]
(7) Text '[f]"Natürlich ein Bier - 1Talent. Doch pass auf mit dem Bier, zu viel und es
haut Euch um oder beeintrechtigt eure Aktionen."[n]'
!'[f]"Ich möchte gern ein wenig Pfeifenkraut haben - habt ihr welches für mich."[n]'
(8) Text '[f]"Ich habe gutes Kraut für euch - es kostet 12 Talente und ihr könnt eure
Pfeife drei Mal Stopfen. es wird Euch beruhigen und euch aufmerksamer machen."'[n]
Ende
Stop
EndeAusf
Block "r"
/* Wirt
----------------------------------------------------------------
*/
1 '[f]"Zum Gruße!"[n]'
2 '[f]"Wo bin ich hier genau?"[n] Fragte Falk'
3 '[f]"Wer sind die anderen Leute hier?'[n]
4 '[f]"Ein Zimmer von dem Ihr gesprochen habt."[n]'
5 '[f]"Ich komme aus der Mark im Westen."[n]'
6 '[f]Von welchen Ungehäuern sprichst Du?'[n]
7 '[f]"Nur ein Bier"'[n]
8 '[f]"Ich möchte gern ein wenig Pfeifenkraut haben - habt ihr welches für mich."'[n]
Aktion Anfang
Ausf
!'[f]"Zum Gruße!"[n]'!
setze aktiv.1
EndeAusf |
Hier die reden.adx
Code: | ================================================================
*/
Konst maxAktiv 255
Feld aktiv (maxAktiv)
/* Dieses Feld enthält die momentan aktiven Sätze, die auf
* dem Textblock "r" abgelegt sind. Jedem NPC ist hier ein
* Bereich zugeordnet, der in den Objektvariablen
* redeBeginn und redeEnde abgelegt wird.
*/
Feld redeRef (10)
/* Hilfsfeld, das die Belegung der Tasten während des
* Dialogs enthält
*/
Flagge redeAuswahl
/* Diese Flagge wird in redeAuswahl gesetzt. Sie ist null
* fuer kein Gespraech oder gleich dem Satz, der gesagt
* wurde.
*/
Aktion redeDialog
/*
* Die aktiven Elemente im Redebereich eines NPC werden
* hier angezeigt. Wenn es welche gibt, bekommt der
* Spieler die Auswahl
*
* redeAuswahl ist null, wenn kein Gespräch gewünscht
* wurde oder kein Gespräch möglich war. Ansonsten ist
* redeAuswahl die globale Ziffer des gesagten Satzes, der
* immer im Redebereich des NPC liegt.
*/
Ausf
lokal i j
lösche j
Schleife i aObj.redeBeginn aObj.redeEnde
Wenn (aktiv.i) und (j < 9) dann
inkr j
sei redeRef.j i
Text ' [(][j][)][+8][Text "r" i][+0][x]'
Ende
Ende
lösche redeAuswahl
Bed (j) 'Dir fällt nichts ein, worüber du mit [dem aObj]
reden könntest.'
Text '[+0][x](Bitte einen Text [(]1-[j][)] wählen oder
0 drücken, um nichts zu sagen)'
Auswahl redeAuswahl '1234567890'
Wenn (redeAuswahl > j) lösche redeAuswahl
Wenn (redeAuswahl > 0) sei redeAuswahl redeRef.redeAuswahl
EndeAusf
Bef reden
Name 'reden'
Verb 'rede' 'sprich' 'spreche' 'plaudere'
Syntax mit demObj (Person) |
Sieht hier irgendwie total wirr aus, aber ich hoffe Du findest durch und hast ein Tipp für mich!?
Danke schöön!
Grüße |
|
|
|
|
|
Verfasst am:
Di, 5 Dez 2006 - 19:46
|
|
|
Neuling
Anmeldungsdatum: 07.10.2003
Beiträge: 15
Wohnort: Verden
|
|
Hallöchen!
Habe mich da jetzt nochmal ein bißchen schlau gelesen und meine verschiedenen Codeschnipsel durchgeschaut. Und wie es immer so ist: Kaum habe ich etwas relevantes gefunden, kam mir doch die Idee nochmal das Forum durchzuschauen bevor ich antworte.
Hier wird es gut von Martin erklärt: http://forum.ifzentrale.de/viewtopic.php?t=502&highlight=reden
Ich glaube das sollte dein Problem lösen. ;-)
Ich habe mir einmal ein kleines "Lagermodul" getippt. Als kleines Beispiel, was man mit Martins Code noch so machen kann. Ist allerdings ganz rudimentär und einfach gehalten, mit nur einem möglichen Befehl (lagern). Aber soll ja auch nur ein Beispiel sein, gelle?! Kannste dir ja mal compilieren und anschauen. :-)
Code: | Raum Natur
Name 'Natur'
Besch 'Pure, unverfälschte Natur.'
Konst maxAktiv 255
Feld aktiv (maxAktiv)
Feld tastBel (10)
Flagge M_Auswahl
Flagge MenueBeginn 1
Flagge MenueEnde 4
Aktion Lagermenue
Ausf
lokal i j
lösche j
Schleife i MenueBeginn MenueEnde
Wenn (aktiv.i) und (j < 9) dann
inkr j
sei tastBel.j i
Text '[x] [+0][f]([j])[n][+8][Text "r" i][+0][x]'
Ende
Ende
lösche M_Auswahl
Bed (j) 'Noch nicht.'
Text '[x]Wähle : '
Auswahl M_Auswahl '1234'
Wenn (M_Auswahl > j) lösche M_Auswahl
Wenn (M_Auswahl > 0) sei M_Auswahl tastBel.M_Auswahl
EndeAusf
Aktion Anfang
Ausf
Ausf LMenueInit
EndeAusf
Flagge gelagert
Flagge lagerMerker
Aktion lagerpause *
Ausf
Wenn (aBef = lagern) und /(lagerMerker = 0) dann
Text 'So schnell hintereinander kannst du nicht
lagern.'
Ende
Wenn (lagerMerker = 6) dann
Ausf LMenueInit
Dekr gelagert
Sei lagerMerker 0
Ende
Wenn (gelagert = 1) dann
Inkr lagerMerker
Ende
EndeAusf
Aktion LMenueInit
Ausf
Daten aktiv 1 (1 1 0 1 )
EndeAusf
Block "r"
1 'Holz suchen und ein Feuer entzünden.'
2 'In der näheren Umgebung nach Nahrung suchen.'
3 'Verträumt das Feuer beobachten.'
4 'Dich sofort schlafen legen.'
Flagge lagerflagge 1
Bef Lagern
Name 'Lagern'
Verb 'lager' 'nachtlager' 'lagern'
Ausf
wiederhole
Ausf Lagermenue
! Holz suchen und ein Feuer entzünden
jenach M_Auswahl
(1) Text 'Holz gesammelt und Feuer gemacht.[x][x][x]'
lösche aktiv.1
setze aktiv.3
sei lagerflagge 1
! In der näheren Umgebung nach Nahrung suchen
(2) Text 'Gesucht und gefunden.[x][x][x]'
lösche aktiv.2
sei lagerflagge 1
! Verträumt das Feuer beobachten
(3) Text 'Feuer beobachtet.[x][x][x]'
lösche aktiv.3
sei lagerflagge 1
! Dich sofort schlafen legen
(4) Text 'Schlaf jetzt.[x][x][x]'
lösche aktiv.1
lösche aktiv.2
lösche aktiv.3
lösche aktiv.4
sei lagerflagge 0
Inkr gelagert
Ende
bis (lagerflagge = 0)
EndeAusf |
bye,
Torsten |
|
|
|
|
|
Verfasst am:
Mi, 6 Dez 2006 - 18:31
|
|
|
Neuling
Anmeldungsdatum: 09.06.2006
Beiträge: 11
|
|
Boa, danke!!!
Ich hab auch schon im Forum herumgesucht und alles mögliche gefunden was ich gerade nicht brauche. Aber manchesmal sieht man den Wald vor lauter Bäumen nicht.
Es hat jetzt alles geklappt und Deine "Lager Programmierung"
Kann ich nur sagen cool - respect wie ihr mal ebend so etwas aus dem Ärmel schütteln könnt - wo ich Stunden für ein paar Dialoge brauche!
Würde dieses Lagern auch gern bei mir - bei Zeiten einbauen udn für mich anpassen!! ;)
Danke noch Mal. Kommen sicher noch mehr Fragen
Schönen Abend noch! |
|
|
|
|
|
|
Alle Zeiten sind GMT + 1 Stunde (MEZ) |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|