Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 26

Thema: Repair Skill

  1. #11
    Let's Play-Gucker
    Registriert seit
    30.09.2010
    Beiträge
    108

    Standard

    Hallo ihr beiden, ich bedanke mich für eure Bemühungen!

    Schade, das es keine brauchbare Lösung gibt! Weiter Zeit darin zu investieren ist unnötig, der Aufwand ist einfach zu hoch. Ich hatte gehofft das man dieses Skillpunkte Repairsystem einfacher einbauen könnte, aber das es so schwierig, gar in gewohnter Form unmöglich ist, hätte ich nicht gedacht.
    Was jetzt keine Kritik an euch sein soll!

    Nochmals, danke das ihr mir helfen wolltet!

  2. #12
    Newbie Avatar von shak-otay
    Registriert seit
    04.09.2012
    Beiträge
    39

    Standard

    Zitat Zitat von Wulfy301 Beitrag anzeigen
    Schade, das es keine brauchbare Lösung gibt!
    Nee, du, sooo einfach kommst du jetzt nicht aus dieser Nummer raus!

    Was jetzt keine Kritik an euch sein soll!
    Wär' ja auch noch schöner...:rolleyes


    Ich hatte gehofft das man dieses Skillpunkte Repairsystem einfacher einbauen könnte,
    "Einfach" ist immer relativ und hängt auch von den verfügbaren Mitteln ab.

    Das folgende script benötigt den NVSE, den du für das Nevada project ja sowieso brauchst.
    (MessageEx ist eine undokumentierte Funktion (Corner message) des NVSE, die ich zum Debuggen brauchte.)
    Die erforderliche Initiierungsquest hatte ich ja in meinem vorherigen post angesprochen.

    Das script funzt (im Rahmen der Beschränkungen beim overriden von hardcoded functions) mMn ganz gut.
    (actWeaponHealth ist ein float; get-/setHealth arbeiten aber nur mit int. Das könnte Ärger geben, war mir aber erstmal "Banane".)

    Der Zustand einer Waffe kann auch > 100 sein - das hatte ich bei der ganzen Sache nicht bedacht.
    Da du aber eh' nicht mehr das intensivste Interesse hast, spar ich mir mal, das noch zu ändern.

    Man repariert also ganz "normal" (incl. evtl. 100%-Zustansbalken) und am Ende werden alle Waffen- und Rüstungs"zustände",
    deren health>100 ist overriden (hier auf repairSkill reduziert).

    Wenn es perfekt sein soll, müsste man im MenuMode die jew. Zustände merken und im GameMode alle veränderten
    mit einer schönen Formel overriden.

    So, habe fertig.

    Hat mir möglicherweise mehr Spaß gemacht als dir, da ich schon immer mal den script extender testen wollte!
    Dank dafür!
    und bis die Tage,
    shak-otay

    Code:
    scn aaWeaponRepairLimitScript
    
    Float repairSkill
    Float actWeaponHealth
    Int DoOnce
    short i
    short itemCnt
    
    ref item
    
    Begin MenuMode	1035
    	set repairSkill to player.getAV Repair
         set doOnce to 1
    End
    
    Begin GameMode
    	
    if doOnce == 1
    	set i to 0
    	set itemCnt to player.getNumItems
    
    	Label 1
    
    	if i < itemCnt
    		set item to player.getInventoryObject i
    	
    		if item != 0 && isFormValid item == 1 && isQuestItem item == 0 && getWeight item > 0 && getValue item > 0 && (getType item == 40 || getType item == 24)
    			set actWeaponHealth to getHealth item
    	    			;ShowMessage aaWeaponHealthMess i actWeaponHealth
    			if actWeaponHealth > repairSkill
    				set actWeaponHealth to  actWeaponHealth/100*repairSkill					 
     				;MessageEx "%n %.1f" item actWeaponHealth
    				setHealth actWeaponHealth item
    		    endif
    		endif
    
    		set i to i + 1
    		goto 1
    	endif
    	set doOnce to 0
    endif
    
    End

  3. #13
    Let's Play-Gucker
    Registriert seit
    30.09.2010
    Beiträge
    108

    Standard

    Ne,ne,ne - Von wegen kein Interesse mehr!
    Ich dachte wenn es hardcoded ist, dann ist Schluss mit Scripten???

    Muss jetzt erst mal dein Script ausprobieren, damit ich verstehe was noch nicht ganz rund läuft.
    Man du bist vielleicht ne Type, mal einfach so ein Kaninchen aus den Hut zaubern, echt Wahnsinn!

    Hoppla, was mach ich da falsch?
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Bild 000.jpg 
Hits:	144 
Größe:	187,1 KB 
ID:	16586
    Geändert von Wulfy301 (07.11.2012 um 21:49 Uhr)

  4. #14
    Newbie Avatar von shak-otay
    Registriert seit
    04.09.2012
    Beiträge
    39

    Standard

    mal einfach so ein Kaninchen aus den Hut zaubern, echt Wahnsinn!
    Naja, beim Nevada project "abschreiben" ist nicht besonders schwer...

    Hoppla, was mach ich da falsch?
    Hast du das G.E.C.K. mit nvse_loader.exe -editor aufgerufen?

    (Wenn du nur Geck.exe startest, kennt es die NVSE-Funktionen nicht.)

    Falls es doch eine andere Ursache sein sollte, hier die esp.

  5. #15
    Let's Play-Gucker
    Registriert seit
    30.09.2010
    Beiträge
    108

    Standard

    Hmm, hab deine esp heruntergeladen und mit fomm aktiviert, aber im Spiel kann ich immer noch bis 100 Reparieren. Wenn man raus geht aus der Pipboy Ansicht, kommen Textfenster mit Zahlenwerte. Da in deiner esp keine Questdatei ist hab eine erstellt, das selbe Ergebnis mit und ohne Questdat.

  6. #16
    Newbie Avatar von shak-otay
    Registriert seit
    04.09.2012
    Beiträge
    39

    Standard

    Zitat Zitat von Wulfy301 Beitrag anzeigen
    Hmm, hab deine esp heruntergeladen und mit fomm aktiviert, aber im Spiel kann ich immer noch bis 100 Reparieren.
    Das gleiche Prinzip wie beim SleepHeal: hardcodete Änderungen müssen im GameMode überschrieben werden.
    Dass der Zustandsbalken ggf. auf 100% geht, könnte man nur verhindern, wenn man sich in die 'R' - Routine einhängt.
    Man kann zwar die NVSE source ändern und neu compilieren, aber das Einhängen in die repair-Routine wäre dann doch "etwas" aufwändiger.

    Wenn man raus geht aus der Pipboy Ansicht, kommen Textfenster mit Zahlenwerte.
    Die zeigen (nur zu debug-Zwecken) die vorher/nachher-Zustandswerte an.

    Da in deiner esp keine Questdatei ist hab eine erstellt, das selbe Ergebnis mit und ohne Questdat.
    Die Quest heißt WeaponsRL. Siehst du, wenn du die esp markierst und im G.E.C.K. Data-Fenster auf Details klickst.

    Im Moment ist es so, dass eine auf 100 reparierte Waffe auf den Zustand 81 overridden wird, wenn der repairSkill 81 ist.
    Das ist ja nur ein proof of concept, was zeigen soll, dass es prinzipiell möglich ist.

    edit: Hauptsache, es ist sichergestellt, dass der NVSE aktiv ist.
    Hab's mal ohne gestartet, dann funzt die Reduzierung auf 81 natürlich nicht.

    Witzigerweise funzt aber die corner message; d.h. das ist gar keine NVSE-Funktion, sondern eine "FalloutNV-immanente".

    edit2: wenn du vor (oder statt) MessageEx ShowMessage aaWeaponHealthMess i actWeaponHealth
    einfügst, wird die Reduzierung besser nachvollziehbar.

    Allerdings wird ein Zustandswert > repairSkill nach jedem 'R' reduziert; vllt. kannst du dies
    Wenn es perfekt sein soll, müsste man im MenuMode die jew. Zustände merken und im GameMode alle veränderten
    mit einer schönen Formel overriden.
    ja umsetzen.
    Geändert von shak-otay (08.11.2012 um 02:23 Uhr)

  7. #17
    Let's Play-Gucker
    Registriert seit
    30.09.2010
    Beiträge
    108

    Standard

    Hallo shak-otay

    Ich kann noch immer keine Änderungen an deiner esp machen.
    Hab wie in der readme steht, eine Verknüpfung zur nvse_loader.exe gemacht und dort als Ziel das hier eingegeben -> C:\Programme\Steam\SteamApps\common\fallout new vegas\nvse_loader.exe" "-editor"
    Das geck wird damit geladen, aber bei jeder Änderung an deinem Script gibts immer noch die oben erwähnte Fehlermeldung.
    Was tun?

    Zu deinem Script, ich glaube nicht das ich viel dazu beitragen kann, für mich sind das Zahlen und Buchstaben die lustig aneinander gereiht sind - sorry!
    So wie ich das jetzt verstanden habe, repariert man auf 100% und wird dann auf den momentanen Repskillwert zurückgesetzt, ist nicht gerade das was man eigentlich haben wollte. Das müsste auf jeden Fall verbessert werden.
    Des weiteren kann man am Repbalken nicht sehen das man nur bis zum momentanen Repskillwert repariert, sonder der ist trotzdem auf 100%, obwohl er eben z.B. 50% anzeigen müsste. Damit kann man aber leben!
    Zu guter Letzt das erwähnte "Zustandswert > repairSkill nach jedem 'R' reduziert" sollte wie du sagst verbessert werden.

  8. #18
    Not my Fallout Avatar von Boïndil
    Registriert seit
    20.07.2008
    Ort
    Vaullt 101
    Beiträge
    12.122
    Gamer IDs

    Gamertag: PixelMurder

    Standard

    Damit wird eben alles kaputt gemacht, was über Reparatur-Skill ist, wenn ich das richtig verstanden habe. Und das passiert erst, nachdem du wieder im Spiel(GameMode) bist. Ich glaube nicht, dass man das so brauchen kann, wenn es auch die einzige Möglichkeit ist. Und du möchtest ja sicher nicht, dass früh im Spiel alle Items auf 27% gebracht werden, wenn du eines reparierst.
    Du hast eben keine Möglichkeit, rauszufinden, welches Item du gerade reparierst und es so schnell zu ändern, dass die Anzeige stimmt. Der PipBoy zeigt nicht alle Script-Änderungen sofort an, selbst wenn sie möglich wären. Und wenn du per Hack rausfinden könntest, welche Items du repariert hast, dann gibt es die Script-Sprache auch mit Extender nicht her, dass du eine Anzahl von Werten in einer Variable speicherst, die anschliessend durchlaufen wid(Arrays). Mit Skyrim könnte man das hingegen.
    Wenn man mich dafür bezahlen würde, so eine Funktion umzusetzen, würde ich damit beginne, die Memory von NV mit der Cheat Engine zu hacken oder mal den Script Extender auseinander nehmen und vielleicht würde ich irgend wann mal eine DLL hinkriegen oder so. Bordmittel würde ich dabei überhaupt nicht einbeziehen, die sind nach meinem Wissen völlig untauglich für die Aufgabe, ausser du kannst damit leben, dass alle Items im Inventar auf deinen Reparatur-Skill gebracht werden, wenn du eines reparierst.
    No mods for Failout 76.

  9. #19
    Newbie Avatar von shak-otay
    Registriert seit
    04.09.2012
    Beiträge
    39

    Standard

    Zitat Zitat von Wulfy301 Beitrag anzeigen
    C:\Programme\Steam\SteamApps\common\fallout new vegas\nvse_loader.exe" "-editor"
    Das geck wird damit geladen, aber bei jeder Änderung an deinem Script gibts immer noch die oben erwähnte Fehlermeldung.
    Was tun?
    Hallo Wulfy301,

    ich schätze, die "" bei "-editor" musst du weglassen.

    edit: hmm, wenn das Geck startet, ist es vllt. was anderes. Kannst du denn das script ohne Änderung saven
    und dann das script-Fenster schließen?
    Bzw., poste mal, was du änderst.

    So wie ich das jetzt verstanden habe, repariert man auf 100% und wird dann auf den momentanen Repskillwert zurückgesetzt, ist nicht gerade das was man eigentlich haben wollte. Das müsste auf jeden Fall verbessert werden.
    Ein "proof of concept" ist in der Regel nicht vollständig ausgearbeitet.

    Des weiteren kann man am Repbalken nicht sehen das man nur bis zum momentanen Repskillwert repariert, sonder der ist trotzdem auf 100%, obwohl er eben z.B. 50% anzeigen müsste. Damit kann man aber leben!
    Ja, muss man wohl; hatte ich aber drauf hingewiesen.

    Zu guter Letzt das erwähnte "Zustandswert > repairSkill nach jedem 'R' reduziert" sollte wie du sagst verbessert werden.
    Habe ich mir schon gedacht, dass ich das selber machen muss.
    Kann aber etwas dauern, da ich natürlich schwerpunktmäßig an meinen eigenen Projekten arbeite.

    Du kannst mir aber gerne "zuarbeiten", z.B. indem du herausfindest, was der 100%-Balken für unterschiedliche Items bedeutet.
    D.h., was heißt 100% bei 'ner MP? Zustandswert==100? oder 2000?
    Was ist der maximale Zustandswert, der überhaupt vorkommen kann? 10000?

    Dann könntest du nach der Repairformel (neue Waffen health bzw. Zustand nach repair abhängig vom repair skill) suchen.
    Hatte ich schonmal iwo, aber wenn ich das alles selber machen muss, dauert's natürlich entsprechend länger.
    Geändert von shak-otay (08.11.2012 um 16:55 Uhr)

  10. #20
    Let's Play-Gucker
    Registriert seit
    30.09.2010
    Beiträge
    108

    Standard

    Ich wollte das hier
    edit2: wenn du vor (oder statt) MessageEx ShowMessage aaWeaponHealthMess i actWeaponHealth
    ändern. Hab es jetzt aber hingekriegt, speichern geht!
    Dein (original) Script scheint aber nicht zu funktionieren, Waffe genommen, repariert, aus dem pipboy raus, Textmeldungen gekommen, zum NKR reparier Typen gelascht um nachzusehen wie der Waffenstatus ist. Die reparierte Waffe hat 100%, kein abgezogener Malus erkennbar. Das Spiel natürlich mit nvse_loader gestartet!

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •