begin Ebony_Sale
short MessageOn
short MessageOn2
short sale
short button
short button2
short PCEbony
short SalePrice
set PCEbony to Player->GetItemCount "ingred_raw_ebony_01"
if ( MenuMode == 1 )
return
endif
if ( OnActivate == 1 )
if ( PCEbony != 0 )
set MessageOn to 1
else
MessageBox "Ihr habt kein Ebenerz!"
return
endif
endif
if ( MessageOn == 1 )
MessageBox "Wie viel Ebenerz wollt ihr verkaufen?Ihr habt %.0f Brocken Ebenerz", PCEbony ,"1","Alles","Nichts"
set button to GetButtonPressed
if ( button == 0 )
set MessageOn2 to 1
set sale to 1
set MessageOn to 0
elseif ( button == 1 )
set MessageOn to 0
set sale to PCEbony
set MessageOn2 to 1
elseif ( button == 2 )
set MessageOn to 0
return
endif
endif
if ( MessageOn2 == 1 )
set SalePrice to ( Sale * 200 );Ebenerz-Wert
MessageBox "Ich gebe euch %.0f Draken. OK?",SalePrice,"Ja","Nein"
set button2 to GetButtonPressed
if ( button2 == 0 )
Player->RemoveItem "ingred_raw_ebony_01" sale
Player->AddItem "gold_001" SalePrice
set MessageOn2 to 0
elseif ( button2 == 1 )
set MessageOn2 to 0
endif
endif
End
begin Script
short disabled
if ( OnActivate == 1 )
if ( disabled == 0 )
MeineWandID->disable
set disabled to 1
else
MeineWandID->enable
set disabled to 0
endif
end
Das hatte ich vorher schon. Hat trotzdem nicht funktioniert.Aber die Nachricht "Ihr habt kein Ebenerz" kommt?
Dann könntest du mal versuchen, PCEbony != 0 durch PCEbony > 0 zu ersetzen.
Begin GateDisable
short state
if ( state == 0 )
MeineTorID->disable
set state to 1
endif
end
begin Script
short disabled
if ( OnActivate == 1 )
if ( disabled == 0 )
MeineWandID->enable
set disabled to 1
else
MeineWandID->disable
set disabled to 0
endif
end
Darkshade hat recht. Trotzdem danke.Du mußt, wenn Du Dialoge und mögliche Antworten im Dialogfeld bei Morrowind einträgst IMMER GANZ OBEN die unwahrscheinlichste Antwort mit den meisten Bedingungen haben, weil Morrowind die Antworten tatsächlich von oben nach unten abklapppert.
Wie von Killfetzer schon gesagt, nein. Aber, es würde davon abhängen, wie komplex du es haben willst, theoretisch könntest du unterschiedliche CS-Einträge für ein und dieselbe Waffe erstellen, diese mit gestaffelten Werten versehen und dann das Item im Inventar per Script austauschen, wenn die Werte geändert werden sollen. Ein Workaround, der ein wenig dirty ist, zugegeben... und je mehr man an der Waffe flexibel verändern will, desto unpraktikabler würde es. Gestaffelt geht es noch einigermaßen, wenn man mehrere Werte auf einmal verändert...1. Kann ich per Scriptbefehl den Schaden (Geschwindigkeit, Reichweite, etc.) einer Waffe verändern?
Bei den LavaLayers geht es, weil der Scriptbefehl selfreferenzierend ist... heißt, wenn du im Script "GetSoundPlaying" nutzt, dann bedeutet das, im Grunde wird abgefragt, ob der aktive Scriptholder den Sound abspielt.Kann man aus irgendeinem Grund beim Spieler tatsächlich nur 3D-Sounds detektieren oder werden die entsprechenden Sounds nicht vom Spieler erzeugt sondern vom entsprechenden Gegenstand (Schmiedehammer bei repair oder Schild beim Blocken)?
Du kannst einfach per "if (player->CrimeLevel > 0)" abfragen. Wenn der PC einen NPC ermordet hat, und dabei nicht erwischt wurde, steigt auch sein Kopfgeld nicht.Moin Leute,
gibt es eine Möglichkeit, um festzustellen, ob der Spieler beim Töten eines NPCs gesehen worden ist bzw. dadurch ein Kopfgeld bekommen hat?
Bei den LavaLayers geht es, weil der Scriptbefehl selfreferenzierend ist... heißt, wenn du im Script "GetSoundPlaying" nutzt, dann bedeutet das, im Grunde wird abgefragt, ob der aktive Scriptholder den Sound abspielt.
ActivatorID->GetSoundPlaying
Darum geht das beim Lava Layer... mit den anderen Sounds sieht es so aus, dass nicht der Spieler sie erzeugt. Darum klappt es nicht. Ich weiss nicht, wo du die Abfrage machst. Versuche einfach mal, den Befehl in einem Background Script auszuführen, ohne Referenz auf eine Activator ID... vielleicht geht das. Sicher bin ich nicht. Es könnte genauso gut sein, dass MW dann crasht oder einfach nur 0 zurück gibt.