Registrierung Häufig gestellte Fragen Suche Mitgliederliste Portal - Planet Skyrim.de Kalender Moderatoren und Administratoren Startseite
Morrowind&OblivionForum.de - PMM-Projects Network » The Elder Scrolls III: Morrowind » Morrowind Editor Help » Scripting Problem » Hallo Gast [registrieren|anmelden]
« Vorheriges Thema Nächstes Thema » Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Autor
Beitrag [  1  2  >  »  ]
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Scripting ProblemAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Ich hab schon wieder ein Scripting Problem. Ich möchte einen NPC erstellen, der gegen nahezu alle Waffen immun ist, mit einer Ausnahme. Auf deutsch: Eine auserwählte Waffe verursacht vollen Schaden, alle anderen nur 10%.

short onpchitme
short br_health
short br_health_mod
short br_health_reg

set br_health to gethealth

if (hitonme "ID_der_ausgewählten_Waffe" == 1 )
..return
endif

if (onpchitme == 1)
..set br_health_mod to gethealth
..set br_health_reg to ((br_health - br_health_mod)*0,9)
..ModCurrentHealth br_health_reg
endif

Leider funktioniert das Script nicht => alle Waffen verursachen vollen Schaden.
Alternativ hab' ich mir auch überlegt das mit einem Zauber zu machen, aber der Befehl Cast funktioniert ja soweit ich weiß nur auf den PC.

Kann mir jemand helfen? Bitte


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 24.07.2003, 20:45 Uhr editiert.

24.07.2003, 20:45 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Das problem ist, dass Du den "alten" Healthwert br_health erst nach der differenzbildung updaten darfst - in Deiner Variante hat br_health immer den selben wert wie br_health_mod!

l


__________________
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

24.07.2003, 21:31 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Okay, ich geb das Scripten auf, scheinbar bin ich zu bescheuert dazu.
Ich hab das Script jetzt so abgeändert das br_health erst am Ende gesetzt wird (auch wenn ich nicht sicher bin ob ich den Sinn verstehe. Das Script läuft doch als eine Art Schleife). Damit die Var. beim ersten Treffer nicht 0 ist hab ich noch den Cellchange Block eingefügt.

short onpchitme
short br_health
short br_health_mod
short br_health_reg

if ( cellchanged == 1 )
..set br_health to gethealth
endif

if (hitonme "ID_der_ausgewählten_Waffe" == 1 )
..return
endif

if (onpchitme == 1)
..set br_health_mod to gethealth
..set br_health_reg to ((br_health - br_health_mod)*0,9)
..ModCurrentHealth br_health_reg
endif

set br_health to gethealth

Jetzt hab ich das Problem, daß diese Zeile im Spiel auf einmal einen Syntax Error erzeugt, übrigens seltsamer Weise auch, wenn ich das Script wieder auf den Ursprungs-Zustand zurück ändere => Versteh' ich nicht


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

24.07.2003, 23:03 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von Hephaistos
Okay, ich geb das Scripten auf, scheinbar bin ich zu bescheuert dazu.


Unsinn!
Zitat:
Original von Hephaistos
(auch wenn ich nicht sicher bin ob ich den Sinn verstehe. Das Script läuft doch als eine Art Schleife).



ja, aber die schleife wird genau ein mal pro frame durchlaufen, und die trefferabfrage geschieht zwischen den aufrufen des scripts...

Zitat:
Original von Hephaistos
Jetzt hab ich das Problem, daß diese Zeile im Spiel auf einmal einen Syntax Error erzeugt, übrigens seltsamer Weise auch, wenn ich das Script wieder auf den Ursprungs-Zustand zurück ändere => Versteh' ich nicht



sicher das ess die Zeile ist? ich denk eher, er murrt, wenn Du Modcurrenthealth mit ner shortvariable verwendest - da möchte morrowind Floats haben! ist sowieso sinnvoller, deine Berechnungen mit nachkommastellen durchzuziehen...


__________________
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

25.07.2003, 08:27 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
sicher das ess die Zeile ist? ich denk eher, er murrt, wenn Du Modcurrenthealth mit ner shortvariable verwendest - da möchte morrowind Floats haben! ist sowieso sinnvoller, deine Berechnungen mit nachkommastellen durchzuziehen...

Es ist zumindest so das der Syntax Error nicht auftritt, wenn ich diese Zeile deaktiviere, aber da das Ergebnis dieser Zeile bei Modcurrenthealth eingestzt wird, kannst du recht haben. Werd ich mal ausprobieren.

Edit:
Ich hab br_health_reg jetzt zu einer Float gemacht, aber der Error bleibt.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 25.07.2003, 15:04 Uhr editiert.

25.07.2003, 09:48 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

JETZT seh ichs: Du musst auf englisch scripten, also 0.9, nicht 0,9 !!


__________________
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

25.07.2003, 19:53 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Es funktioniert endlich!
Das er die englische Schreibweise braucht, ist eigentlich logisch, schließlich ist ja alles Englisch, trotzdem wär' ich wahrscheinlich von allein nie drauf gekommen. Aber irgendwie komisch das er den Fehler im Editor nicht bemerkt.
Egal. Jetzt bin ich wieder ein Stückchen schlauer.

Vielen Dank für deine Hilfe.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 25.07.2003, 20:32 Uhr editiert.

25.07.2003, 20:31 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Das mit dem schlauer sein war wohl etwas übertrieben.
Schon hab ich die nächsten Fragen:

1. Wie kann ich die Benutzung eines Gegenstandes der sich bereits im Inventar befindet erzwingen?
Ich hab's mit player->Equip "br_cuthalion_arrow" versucht, aber das Objekt ist spurlos aus dem Inventar verschwunden.

2. EDIT:

Hat sich erledigt. Ich hab den Fehler schon gefunden.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

Dieser Beitrag wurde von Hephaistos am 28.07.2003, 23:23 Uhr editiert.

28.07.2003, 22:36 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

zu 1: soweit ich weiss ist equip ohne tribunal buggy - aber nichts genaues weiss ich nicht...

zu 2: dürfte eigentlich nicht an transparenzen scheitern - wird der name das activators denn angezeigt?


__________________
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

28.07.2003, 23:26 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

zu 1.: Kennst du nicht einen Trick wie ich den Effekt auch ohne Tribunal erreichen kann?


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

29.07.2003, 07:52 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Eine ganz andere Frage:

Wenn ich bei Kreaturen "Respawn" aktiviere, in welchen Zeitraum tauchen die dann wieder auf und kann ich diese Zeitspanne beeinflussen.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

06.08.2003, 11:49 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

wie man einen Bug ohne tribunal ausmerzt - keine Ahnung...

Was Deine neueste Frage angeht - ich denke, es sind 72 Spielstunden - so was in der art steht in einer Variablen unter Gameplay/settings, weiss den genauen namen grad nicht auswendig... Dort könntest Du es auch ändern, allerdings nur global für das ganze spiel, und soweit ich weiss auch nicht von scripten aus erreichbar... Wenn nur ein bestimmtes Monster schneller wiederkommen soll, versuch es doch mit Resurrect, ähnlich wie beim Gateway-Haunt...


__________________
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

06.08.2003, 12:05 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
Hephaistos
Verschollen




Dabei seit: Februar 2003
Geschlecht:
Herkunft: Wien
Beiträge: 2102

Hephaistos ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Danke, hab's gefunden.
Der Name müßte fCorpseRespawnDelay lauten, wenn ich mich nicht verschaut habe.


__________________


Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein

Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach

06.08.2003, 12:32 Profil von Füge  deiner Freunde-Liste hinzu Email an Hephaistos senden
spu
Bard




Dabei seit: Juni 2003
Geschlecht: keine Angabe
Herkunft:
Beiträge: 47

spu ist offline
bumpAntwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

hab auch ein scriptproblem und der thread war so schön allgemein .

folgendes generiert bei mir einen fehler

set PickSkill to ( player -> GetSecurity )
set Int to ( player -> GetIntelligence )
set DisableMulti to ( ( Int ) / ( PickSkill ) )
<error-

wie gesagt funkt nicht versteh aber nicht genau warum
kann mir wer helfen?

greetings

spu

26.08.2003, 20:54 Profil von Füge  deiner Freunde-Liste hinzu Email an spu senden
Avenzius von Mythyria
Mage



Dabei seit: Juni 2003
Geschlecht:
Herkunft:
Beiträge: 249

Avenzius von Mythyria ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

müsste an der schreibweise liegen. lass doch mal die klammer und das leerzeichen zwischen / und den variablen weg


__________________

Modding by me; Story by Gereon
An meiner Stelle würde ich sofort auf den Link klicken.

26.08.2003, 21:27 Profil von Füge  deiner Freunde-Liste hinzu Email an Avenzius von Mythyria senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

zuerstmal bräuchte ich etwas mehr an informationen: Fehler im Spiel oder beim Compilieren? wie ist der Wortlaut des Fehlers? sind die Variablen Global oder lokal definiert?


__________________
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

26.08.2003, 21:35 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
spu
Bard




Dabei seit: Juni 2003
Geschlecht: keine Angabe
Herkunft:
Beiträge: 47

spu ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

funkt leider auch nicht hab probiert die vars gegen zahlen zu tauschen und das geht.

hier mal die genau fehlermeldung

Expression Error: SYNTAX
SCRIPTNAME
Set Expression returned an error


greetings

spu

edit>
@garak:
fehler kommt im spiel beim anklicken. vars sind lokal am objekt
----
die vars dürften auch richtig gesetzt werden mit "coc" und "scriptoutput" gibt er mir alles richtig aus

GetSecurity >>> ZAHL
<edit

end edit >
*gegenwandrenn* hab den fehler gefunden -> hatte beim definieren short Intt geschrieben. selsamer weiße hat er mir beim kompelieren keinen fehler gebracht????
< end edit

danke an alle

Dieser Beitrag wurde von spu am 26.08.2003, 22:38 Uhr editiert.

26.08.2003, 22:02 Profil von Füge  deiner Freunde-Liste hinzu Email an spu senden
Garak
Admin




Dabei seit: Juli 2002
Geschlecht:
Herkunft: Cardassia Prime
Beiträge: 9257

Garak ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

ich kann dir wenigstens sagen, warum er nicht gemeckert hat: Du hast in irgend einem anderen script eine Variable namens INT definiert - der compiler greift ungünstiger weise immer auf eine liste der Variablen in allen scripten zu - hat mich auch schon ne menge nerven gekostet....


__________________
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

27.08.2003, 09:48 Profil von Füge  deiner Freunde-Liste hinzu Email an Garak senden Homepage von Garak Füge Garak in deine Contact-Liste ein
spu
Bard




Dabei seit: Juni 2003
Geschlecht: keine Angabe
Herkunft:
Beiträge: 47

spu ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Bei INT ist die wahrscheinlichkeit das es die var schon gibt relativ hoch, is richtig.

aber der sinn LOKALER VARS ist doch das ich sie nur ansprechen kann wenn ich vorher den pfad zu dem objekt angebe. eben lokal.
werde vars die von mir gesetzt sind irgenwie kennzeichnen.

manche sachen hat bethesda bischen verhaut.

greetings

spu

27.08.2003, 10:26 Profil von Füge  deiner Freunde-Liste hinzu Email an spu senden
BleedingMoon
Mage




Dabei seit: August 2003
Geschlecht:
Herkunft:
Beiträge: 210

BleedingMoon ist offline
  Antwort mit Zitat Beitrag editieren/löschen Nach weiteren Beiträge von  suchen Diesen Beitrag einem Moderator melden        IP Adresse Zum Anfang der Seite springen

Zitat:
Original von spu


set DisableMulti to ( ( Int ) / ( PickSkill ) )
<error-




Kann vielleicht sein, dass das game irgendwie den pickskill-wert verhaut und ihn auf 0 setzt obwohl es eigentlich ja ne höhere zahl sein sollte... in diesem fall liegt dann ne division durch 0 vor, die ja bekanntlich polizeilich verboten ist....

fang mal einfach testweise folgendes ab:
if (PickSkill == 0)
MessageBox "Pickskill gleich Null"
else
set DisableMulti to ( ( Int ) / ( PickSkill ) )


oder so ähnlich... vielleicht gehts ja dann bzw. siehst du dann das mit dem pickskill was net stimmt!


__________________
|. There are only 10 types of people in the world: those who understand binary, and those who don't .|

28.08.2003, 00:12 Profil von Füge  deiner Freunde-Liste hinzu Email an BleedingMoon senden Homepage von BleedingMoon
[  1  2  >  »  ]   « Vorheriges Thema Nächstes Thema »
Neues Thema erstellen Antwort erstellen
Gehe zu:

Design by: Garak - Powered by: Burning Board 1.1.1 © 2001 WoltLab GbR