Autor |
|
Weazle25
Scout

Dabei seit: Dezember 2004
Geschlecht: 
Herkunft: Stralsund (Mecklenburg-Vorpommern)
Beiträge: 7
 |
|
Wenn man einen NPC getötet hat kann man ihm alle Items abnehmen die sich in seinem Inventar befinden so das ein nackter NPC übrig bleibt.
Das gleiche soll auch mit meinem Script möglich sein.
Allerdings sollen die NPC's nicht getötet werden.
Durch den Umgang mit anderen Programmiersprachen weiss ich auch schon wie das Script ungefair aufgebaut sein muss.
Ich habe allerdings 2 Probleme die ich bisher noch nicht lösen konnte:
1. Wie bekomme ich herraus welcher NPC ausgeraubt werden soll?
2. Wie bekomme ich herraus welche Items sich im Inventar befinden?
Die ID's der NPC's und Items müssen allerdings zur Laufzeit ermittelt werden.
Schliesslich soll das Script ja auch bei NPC's und Items funktionieren die mit anderen PlugIns hinzugefügt werden.
Gruss
Weazle
|
|
24.10.2005, 23:56 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Herzlichen glückwunsch, sie haben eine Schwachstelle der Scriptsprache gefunden 
welcer NPC grade den spieler angreift kann man noch so grade über Voicetopic-scripte rausfinden, aber beim ermitteln von GegenstandsIDs, noch dazu in inventaren, seh ich ganz schwarz, um nicht zu sagen: keine Chance mit den möglichkeiten der scriptsprache.
Aber: der Script extender KÖNNTE helfen. hab keine erfahrung damit, aber hier steht (unter sehr vielem Anderen) auch, dass man damit nPC-Inventare anrühren 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 
|
|
25.10.2005, 00:10 |
|
GreyWanderer
Crusader
  
Dabei seit: Januar 2004
Geschlecht: 
Herkunft: Cuiviénen
Beiträge: 465
 |
|
Wie Garak schon sagte 
Wenn man mit "den" Extendern arbeiten will sollte das Ganze recht einfach sein. Da die Syntax (und ein paar andere Sachen, aber naja) von MWSE mir allerdings nicht gefällt, hab ich's nie wirklich ausprobiert. MWE hab ich probiert, bin letztendlich gescheitert, wär dabei also keine große Hilfe (wobei ... ich, ignorant wie ich bin, davon ausgehe, dass der Fehler nicht meiner ist ).
Jedoch könnte ich im Groben vielleicht die Vorgehensweise zu erklären versuchen ... "den" NPC findet man am besten durch Anwenden der "Target Function" (was der Spieler grade im Fadenkreuz hat) heraus. Oder alternativ durch die "Reference Scan" Functions, die jedes Objekt in der Zelle abgehen und bei denen man spezielle Bedingungen einbauen kann, damit alle NPCs (z.B. mit Klasse "Guard") in den geladenen Zellen betroffen sind.
Bei MWSE kann man die NPC-IDs sogar als "REF" Variablen speichern und damit sie beim Spielstandladen noch da sind, in einer txt speichern (und wieder auslesen). Und mit Hilfe solcher Variablen oder Funktionen kannst du den Infix (Actor_ID->xyz_command) ändern und somit andere Funktionen auf diese NPCs abspielen, wie dann das Inventar durchsuchen usw. (bin mir nicht ganz sicher, ob MWE nur den Spieler oder auch andere NPCs checken kann - MWSE kann es jedenfalls alles, oder sollte es zumindest können).
Ansonsten ... entweder gib's auf oder beschäftige dich mit MWSE (MW Script Extender) und/oder MWE (Morrowind Enhanced). MWE hat wenn ich mich recht erinnere sogar irgendeine Kompacktfunktion, mit der man alle Gegenstände (einer Art?) in einen anderen Container verfrachten kann oder dergleichen. Müsstest du dich mal reinlesen, ich hab's aufgegeben.
__________________
Abenteuer Mittel Erde
Please visit us!
Dieser Beitrag wurde von GreyWanderer am 25.10.2005, 00:36 Uhr editiert.
|
|
25.10.2005, 00:29 |
|
Weazle25
Scout

Dabei seit: Dezember 2004
Geschlecht: 
Herkunft: Stralsund (Mecklenburg-Vorpommern)
Beiträge: 7
 |
|
Danke Leutz.
Das es so wie ich es mir vorstellte nicht funktioniert konnte ich mir schon irgendwie denken denn sonst hätte ich in der TESCS-Hilfe oder in irgendeinem Tutorial etwas gefunden.
Das mit den Voicetopic-Scripten wäre schon mal ein Ansatzpunkt.
Und um an das Inventar der NPC's herran zu kommen könnte man vielleicht den Inventar-Dialog des NPC's aufrufen (wie bei einer Leiche oder anderen Containern).
Dann muss man den NPC zwar "manuell" ausrauben aber das ist immer noch besser als nichts.
Jetzt muss ich nur noch herraus bekommen wie ich diesen Inventar-Dialog aufrufe.
Gruss
Weazle
PS: Ist der Zauber "Rüstung auflösen" hardcodiert oder gescriptet?
|
|
25.10.2005, 13:06 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Zitat: Original von Weazle25
Und um an das Inventar der NPC's herran zu kommen könnte man vielleicht den Inventar-Dialog des NPC's aufrufen (wie bei einer Leiche oder anderen Containern).
[...]
Jetzt muss ich nur noch herraus bekommen wie ich diesen Inventar-Dialog aufrufe.
Ich fürchte, auch da weiss ich nicht so ganz, wie das gehen soll. activate kann eigentlich nur die Standartaktion ausführen - inventar ist das aber (wie Du schon sagtest) nur bei Leichen. Nun könnte man den NPC kurzfristig töten und dann per resurrect wiederbeleben - vorausgesetzt, niemand benutzt den "Dispose of Corpse"-Button... auch nicht so optimal.
Vieleicht könntest Du das Ausrauben auf waffen und/oder rüstungen beschränken - immernoch sehr viel handarbeit beim adressieren, aber nicht völlig hoffnungslos - ausser natürlich bei gemoddeten dingen...
Zitat: Original von Weazle25
PS: Ist der Zauber "Rüstung auflösen" hardcodiert oder gescriptet?
alle originalzauber sind hardcoded. Scripten gehört nicht zu den Stärken der Bethesdaentwickler, da sind die Fans Haushoch überlegen 
__________________ 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.10.2005, 18:44 |
|
Weazle25
Scout

Dabei seit: Dezember 2004
Geschlecht: 
Herkunft: Stralsund (Mecklenburg-Vorpommern)
Beiträge: 7
 |
|
Mmhh... dann kann ich das Script erstmal zu den Akten legen.
Schade drum aber trotzdem danke.
Gruss
Weazle
|
|
26.10.2005, 18:16 |
|
|