Autor |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Keine Lebensenergieheilung bei der Rast |  |
Servus!
Ich bin der Stern der Modder!
Nee, kleiner Scherz .
Ich bin einfach nur ein durchgeknallter Morrowindspieler der mit dem Editor so'n bisschen rumtüfftelt.
Was ich aber bin: Ich bin ein riesen Vampirfan.
Deshalb möchte ich im Spiel meine eigene Vampirrasse erstellen. Hat so weit ganz gut geklappt.
Jetzt habe ich aber ein Problem, und ich hoffe ihr könnt mir helfen.
Ich möchte das die Rasse im Schlaf nicht ihre Lebensenergie regeneriert, halt wie bei den Vampiren. Ich würde ja ihnen die Vampirismus-Fähikeit geben, aber dann sind mir alle feindlich gesonnen, und greifen mich evtl. an, was ich aber nicht will. Denn es sollen Vampire werden, die ihren Vampirismus verbergen.
Also, nochmal zum Mitschreiben:
Wie kriege ich es hin, dass die Rasse im Schlaf keine Lebenspunkte regeneriert. Vermutlich mit dem Script. Habe aber keine Ahnung wie das funktioniert.
Könnt ihr mir helfen?
Dieser Beitrag wurde von Duran am 15.04.2005, 22:06 Uhr editiert.
|
|
15.04.2005, 22:01 |
|
F.I.M.
Acid Monk
  

Dabei seit: März 2004
Geschlecht: 
Herkunft: 127.0.0.1
Beiträge: 2058
 |
|
Zitat: Original von Duran
Vermutlich mit dem Script.
die frage ist nur wo willste den script drauf tun...
__________________
|
|
15.04.2005, 22:17 |
 |
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Tja, gute Frage...
Wie funktioniert denn das mit der fehlenden Lebenspunkteregeneration bei den normalen Vampiren?
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
15.04.2005, 22:42 |
|
F.I.M.
Acid Monk
  

Dabei seit: März 2004
Geschlecht: 
Herkunft: 127.0.0.1
Beiträge: 2058
 |
|
Zitat: Original von Duran
Wie funktioniert denn das mit der fehlenden Lebenspunkteregeneration bei den normalen Vampiren?
gute frage, ich koennte mir vorstellen das is hardcoded... aber da bin ich mir nicht sicher !!!
__________________
|
|
15.04.2005, 23:01 |
 |
Uranor
Bard
  

Dabei seit: April 2005
Geschlecht: 
Herkunft: oh ja
Beiträge: 39
 |
|
Hmmm... der Player wird ja im Soiel nicht real plaziert. Also wird allgemein davon ausgegangen, für gäbe es keinen Script.
Wenn es aber ein selbsterstelltes Volk ist (Rasse kommt bei Hunden von und bei Ideenlosigkeit ), kann es sehr wohl ein Volkskript geben, wenn das angemessen erscheint.
Als Basismöglichkeit besteht z.B. die Levitation, aber fähigkeitsunabhängig. Vielleicht kann man den PC immer etwas über dem Boden bleiben lassen? Dann rastet der schon mal nicht außerhalb von Betten.
Lässt sich das aufgerufene RestMenu abfragen? Am billigsten wäre es, wenn man das Ereignis einfach abfangen und mit return quittieren könnte. Keine Rast, keine Info, du bist Vampir, fertig. Info darüber gibt's bei Sataros, dem Obersauger,
Vielleicht können sie in ihrem persönlichen Sarg regenerieren, dann nimmt man den von der Sonderbehandlung aus.
Ansonsten bringt ja wohl frisches Blut die allseits gefürchtete Regenerierung. Char muss sein Unleben also durch Absorbermagie regenerieren.
Mehr als das kann ich leider nicht bringen. Eine interessante und schwere Aufgabe.
|
|
15.04.2005, 23:07 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Das passende Script muss eben einfach als gloales script mit dem Startscript-befehl gestartet werden und nicht auf irgend einem objekt liegen - bei den originalVampiren bewirkt das script vampdreamScript den gewünschten effekt - die träume rauszuoperieren dürfte ja kein problem sein.
wie bekommt man jetzt das script in die Welt? Die Startscriptliste kommt nur bedingt in frage, mann muss die rasse ja nicht wählen wenn das PI akttiv ist. Antwort: man legt ein script auf einen Gegenstand, den man in Seyda neen ausserhalb der reichweite des spielers plaziert. das script prüft, ob der Spieler die "richtige" rasse gewählt hat - man fragt einfach mit Getspell ab, ob die Rassenfähigkeit auf dem Spieler liegt. wenn ja, kann man das anti-heil-script starten und das Spawnerscript lahmlegen - z.B. mit einem
if (scriptrunning Antiheilscript)
Return
endif
ganz am beginn des Spawnerscriptes.
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
15.04.2005, 23:53 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Wie gesagt, mit scripten kenne ich mich so gut wie garnicht aus.
Deshalb eine ganz wichtige Frage:
Wer oder was ist ein "Spawnerscript"?
(Haltet mich jetzt bitte nich für blöd. Ich kenn mich halt nicht aus. )
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
16.04.2005, 09:27 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Mal ne Frage:
Könnte man es nicht so machen? Man kopiert das vampdreamscript, benennt es um, und verändert es so, das dieses "neue" script nur funktioniert, wenn der Spieler die vampirrasse gewählt hat. Dann müsste man es doch locker auch auf die Startscriptliste legen können, oder?
(Warscheinlich aber auch nicht)
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
16.04.2005, 09:31 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Zitat: Original von Duran
Wer oder was ist ein "Spawnerscript"?
(Haltet mich jetzt bitte nich für blöd. Ich kenn mich halt nicht aus. )
eben besagtes script, das auf irgend nem gegenstand liegt (bethesda hat z.B. einen Ring in der Arenazelle versteckt, von dem aus die kämpfe gesteuert werden) und das globale script mit der vampirsache startet. Wörtlich heisst "to spawn" so viel wie Produzieren (aber auch Laichen, also die Eiablage bei Fischen) Wird aber in der Computerspielterminologie dafür verwendet, wenn etwas neues in die "welt" gebracht wird. Viele Spiele haben z.B. Spawnpoints, an denen Monster erscheinen können
Blöd ist nur der, der nicht fragt.
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
16.04.2005, 10:10 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
OK.
Ich hab folgendes vor:
Ich werde irgendwo in Seyda Neen im Steueramt, bevor man mit dem Typ spricht, der die Klasse und das Sternenzeichen festlegt, einen Ring plazieren der einen script enthält. Dieser Script prüft ob man die Vampirrasse gewählt hat. Und wenn dies der Fall ist, startet das script, den "vampdreamscript".
Mit meinen bescheidenen C++ Kenntnissen, habe ich versucht, so einen script aufzubauen, hat auch ganz gut geklappt. Aber aus irgendeinen Grund, hängt sich das Spiel auf wenn man das Steueramt dann betritt. Er sagt irgendwass von einem Fehler in script "my_vampiretest" (so habe ich den script genannt).
Wenn's nicht zuviel arbeit macht: Kann mir jemand hier vielleicht reinschreiben, wie der script auszusehen hat?
Wäre echt cool!
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
16.04.2005, 14:20 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
zeig uns, was Du hast und wir finden den fehler - Fertigscripts sind hier von einem gewissen administrator nicht gern gesehen - nicht aus bosheit, sondern weil man dann beim nächsten script vieleicht schon mehr selbst bewältigen kann...
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
16.04.2005, 15:18 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
So sieht mein Script aus:
Begin My_vampiretest
If (getspell, vampireblood)
startscript, vampdreamscript
End if
End My_Vampiretest
Ich hab keine Ahnung wo der Fehler ist.
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
16.04.2005, 16:51 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
ganz einfach: es kann nur eine Instanz eines globalen scriptes laufen. da lokale scripte (also solche, die auf objekten laufen) ein mal pro Bildschirmaufbau ( = "frame") aufgerufen werden, stürzt MW beim aufbau des 2. Frames ab. du musst also ne Scriptrunning- bedingung davorschalten, also
Begin My_vampiretest
if (scriptrunning vampdreamscript)
Return
endif
If (player -> getspell, vampireblood)
startscript, vampdreamscript
End if
End My_Vampiretest
dadurch wird ein starten einer 2. Instanz des Globalen scriptes verhindert. Ausserdem fehlt bei Deiner versiondie Addressierung der Getspell - abfrage. Schließlich muss das programm ja wissen, welcher actor (Sammelbegriff für NPCs, den Spieler und die kreaturen) mit dem Zauber belegt sein soll.
Übrigens würde ich trotzdem empfehlen, Kopien anzulegen - sowohl vom Vampdreamscript (vieleicht willst Du ja auch die Träume rausoperieren) als auch von der Vampir-fähigkeit. es kann auch von vorteil sein, ein kürzel für Deine änderungen zur markierung zu verwenden und alle IDs damit zu versehen - z.B. "VR_" für Vampirrasse. Kann unter Umständen beim wiederfinden von Änderungen im editor sehr hilfreich sein...
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
16.04.2005, 17:36 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Irgendwas funktioniert da nicht.
Wenn ich den script so eingebe erscheinen zwei Fehlermeldungen:
script my_vampiretest
Line 7 function reference object "End" not found
und:
script my_vampiretest
Miss matched if/else/endif starting on line 3
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
17.04.2005, 10:02 |
|
Uranor
Bard
  

Dabei seit: April 2005
Geschlecht: 
Herkunft: oh ja
Beiträge: 39
 |
|
Jo, solche Tipfehler kommen vor. Da er die Zeile sagt, ist in der Zeile auch der Fehler:
End if
wird zu
endif
Alles weitere sind Folgefehler, da er ja immer noch den if-Abschluss sucht.
-- Schwerer entdeckbar ist ein right Eval im Spiel, der sich aus Tipfehlern ergeben kann, ohne dass es der editor-Compiler gemerkt hat. Man bekommt keine Hilfe, wo der liegen könnte. Ich hatte grad als Beispiel
"short timer" declariert und im Script "time" verwendet. - Nur mal so spontan aus der Praxis.
|
|
17.04.2005, 10:55 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
OK.
Ich habe jetzt die End if als Endif geschrieben
Aber jetzt tauchen (zum teil) andere Fehlermeldungen auf:
Script my_vampiretest
Line 7 function reference object "endif" not found.
(Und ich bin mir ganz sicher, dass ich dort nen Endif-Befehl gesetzt habe. Ich habe mich auch nicht verschrieben.)
Die Zeile 7 - 9 lauten:
if (player->getspell, vampireblood)
startscript, my_vampdreamScript
endif
Des weiteren taucht nun folgende Fehlermeldung auf:
Script my_vampiretest
Syntax Error Line 7
Miss matched parenthesis
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
17.04.2005, 11:30 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Zitat: Original von Duran
if (player->getspell, vampireblood)
ja, ja, die berühmten Spaces bei -> zuweisungen... noch so ne macke vom editor. Probier mal, ein leerzeichen zwischen ( und player zu setzen. wenn das nicht funktioniert, setz e je ein leerzeichen vor und nach ->
das ist halt ein klein wenig bizarr am editor: Kommas oder nicht ist ihm völlig egal, aber an manchen stellen besteht er auf leerzeichen...
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
17.04.2005, 11:40 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Garak, ich habe jetzt leerzeichen gesetzt.
Wenigstens ist jetzt die Syntaxfehlermeldung weg.
ABER die Fehlermeldung:
script my_vampiretest
Miss matched if/else/endif starting on line 3
ist immernoch da.
Jetzt wirds bizarr: Seit ich leerzeichen gesetzt habe erscheint folgende Fehlermeldung:
Script my_vampiretest
Script command "B" not found on line 12. B (und dann so ein viereck)
Der Witz bei der Sache:
Line12 !? Mein Script hat nur 11 Zeilen...
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
17.04.2005, 12:13 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Na also!
Ich zwar keine Ahnung warum, aber jetzt kam keine Fehlermeldung.
Jetzt werde ich mal Testen ob es funktioniert.
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
|
|
17.04.2005, 12:52 |
|
Duran
Archer
 

Dabei seit: April 2005
Geschlecht: 
Herkunft: Planet Erde
Beiträge: 19
 |
|
Es hat nicht funktioniert. Ich glaub ich weiß auch woran das liegt. Das Spiel prüft zu früh, ob man die Vampirrasse gewählt hat, oder nicht. Anscheindend wird einem die Rasse erst wirklich zugeteilt, wenn man mit dem Typ im Steueramt geredet hat und alles eingestellt hat. Daraus ergibt sich jetzt ein Problem. Wenn ich den Ring mit dem script im Steueramt platziere prüft das Spiel zu früh, und wenn ich ihn irgendwo in Syeda Neen platziere prüft das Spiel zu früh, weil man ja wenn man das Schiff verlässt, noch nichtmal die Rasse im Rassenmenü gewählt hat.
__________________ The time has come. Duran is appeared. The revival of Solarion. Necron will fall.
Master Raygo
Dieser Beitrag wurde von Duran am 17.04.2005, 13:44 Uhr editiert.
|
|
17.04.2005, 13:43 |
|
|