Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 26

Thema: Repair Skill

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

    Standard Repair Skill

    Hallo Leute

    mein zweites und letztes Problem ist das neue Reparatursystem in Fallout NV. Man kann egal wie hoch der Repair-Skill ist alles auf 100% reparieren, vorausgesetzt man hat genug Ersatzteile.

    In Fallout 3 war die Qualität der Reparatur vom Repair-Skill abhängig, so hoch dieser Wert war, so gut konnte man die Gegenstände reparieren. Also 40 Punkte R-Skill, ermöglichte eine Reparatur von 40 % eines Gegenstandes und nicht mehr.

    Mein Wunsch wäre es, im vorhandenen Reparatursystem von Fallout NV diese sperre auch zu haben. Die Ersatzteile werden entsprechend dem Repair-Skill gut oder schlecht genützt und man kann nur bis zum momentanen Repair-Skill reparieren.

    Ich verwende zusätzlich noch den Project Nevada Mod und weiß nicht ob man das NV Reparatursystem überhaupt ändern kann, geschweige den wo.


    Mfg...

  2. #2
    Wildes Weib Avatar von Hexerin
    Registriert seit
    09.12.2011
    Ort
    Brandenburg
    Beiträge
    226

    Standard

    Wenn Du zum Beispiel Reparatur auf 70 bist, kannst Du Deine Waffen auch nur bis 70 reparieren.
    Der Balken wird zwar voll aufgefüllt, es sind aber nur 70 Prozent.
    Um das zu überprüfen, kannst Du zu dem Major vom Mojave Outpost gehen.
    Du wirst sehen, das er Deine gerade reparierte Waffe, nochmals reparieren kann.
    (er hat 100 Reparatur)

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

    Standard

    Guten Morgen Hexerin

    dann wird also der Zustandsbalken falsch dargestellt?

  4. #4
    Wildes Weib Avatar von Hexerin
    Registriert seit
    09.12.2011
    Ort
    Brandenburg
    Beiträge
    226

    Standard

    Richtig.
    Was noch dazu kommt.
    Wenn man einen niedrigen Wert beim Reparieren hat, verbraucht man deutlich mehr Kits oder Ersatzteile für die Reparatur bis der Balken aufgefüllt ist.
    Wenn Du es noch schwerer willst, dann nimm von Projekt Nevada die Einstellung "Alternative Reparatur" oder so ähnlich.
    Dann wird es noch etwas härter.
    Mann kann dann nur mit den Kits reparieren. Waffen zählen nicht mehr als Ersatzteile.
    Geändert von Hexerin (26.10.2012 um 10:57 Uhr)

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

    Standard

    Hm, ok daran muss ich mich wohl gewöhnen das der Zustandsbalken, wenn er voll ist nur den momentanen RepSkill wieder gibt.

    Das "Alternative Reparatur System" ist einfacher, man kann den zu reparieren Gegenstand mit ähnlichen Gegenstände reparieren, ähnlich dem RepPerk (weiß grad nicht wie der heißt). Zumindest ist es im "normal Modus" so.

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

    Standard

    War gerade im Mojave Outpost, dort wird nichts angezeigt, das die Gegenstände noch nicht 100% haben. Die Gegenstände sind schon auf 100%, obwohl ich erst 40 Punkte RepairSkill habe. Ich spiele allerdings auch im "normal Modus".

    Das hier ist das Projekt Nevada RepairMainScript, vielleicht kann mir jemand damit helfen. Das Ziel wäre, das man nur soweit reparieren kann, wie der momentane RepSkill ist. Geht das, und kann man das überhaupt?

    Code:
    scn PNxRRepairMainScript
    
    short stop
    short init
    
    short repairSkill
    short lastRepairSkill
    
    short i
    
    ref obj
    ref repairList
    
    short size
    
    short count
    
    short tabId
    short lastTabId
    
    short refresh
    short helpTrap
    
    short weaponSkill
    short weaponType
    short i
    short size
    
    ref scrapList
    ref item
    
    short index
    
    float armorDT
    ref classList
    
    ref element
    short j
    short size2
    
    short noTools
    short lastNoTools
    short skillCheck
    short enableScrap
    
    ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ; Control
    Begin GameMode
    
    
    if stop == 1
    
    	set init to 0
    
    	; Restore original repair kits
    	setName "Reparatursatz" NVRepairKit 
    	set count to player.getItemCount PNxRRepairTools
    
    	if count > 0
    		player.removeItem PNxRRepairTools count 1
    		set count to count / PNxRRepairConversionMult
    		if count > 0
    			player.addItem NVRepairKit count
    		endif
    	endif
    
    	; Classify weapons and safe default lists
    	setStage PNxRRepairMain 2
    
    	; Reset to default repair lists
    	set i to 0
    	set size to (listGetCount PNxRRepairDefaultKeysList)
    
    	Label 50
    
    	if i < size 
    		set item to listGetNthForm PNxRRepairDefaultKeysList i
    		set repairList to listGetNthForm PNxRRepairDefaultValuesList i
    
    		if item != 0 && isFormValid item == 1
    			if repairList != 0 && isFormValid repairList == 1
    				setRepairList repairList item
    			endif
    		endif
    
    		set i to i + 1
    		goto 50
    	endif
    
    	stopQuest PNxRRepairMain
    	return
    endif
    
    if init == 0 || getGameLoaded == 1
    	set init to 1
    	set lastRepairSkill to 0
    
    	setName "Reparatursatz" NVRepairKit 
    
    	; Fix weapons with missing replair lists
    	if getRepairList WeapDeathclawGauntlet == 0
    		setRepairList PNxRRepairDeathClawGauntlet WeapDeathclawGauntlet 
    	endif
    
    	if getRepairList WeapNVRiotShotgun == 0
    		setRepairList PNxRRepairThatGun WeapNVRiotShotgun 
    	endif
    
    	if getRepairList WeapNVPlasmaDefender == 0
    		setRepairList PNxRRepairPlasmaDefender WeapNVPlasmaDefender 
    	endif
    
    	if getRepairList WeapNVBattleRifleUnique == 0
    		setRepairList PNxRRepairBattleRifle WeapNVBattleRifleUnique 
    	endif
    
    	if getRepairList WeapNVThatGun == 0
    		setRepairList PNxRRepairThatGun WeapNVThatGun 
    	endif
    
    	if getRepairList WeapNVPlasmaDefenderArcade == 0
    		setRepairList PNxRRepairPlasmaDefender WeapNVPlasmaDefenderArcade 
    	endif
    endif
    
    ;-----------------------------
    ; Replace weapon repair kits by repair tools
    set count to player.getItemCount NVRepairKit
    if count > 0
    	player.removeItem NVRepairKit count  1
    	set count to count * PNxRRepairConversionMult
    	player.addItem PNxRRepairTools count
    endif
    
    set refresh to 1
    
    End
    
    
    ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    ;  Dynamic repair lists
    Begin MenuMode 1
    
    ; Show help message when enabled for the first time
    if helpTrap == 0
    	set helpTrap to 1
    	showTutorialMenu PNxRRepairHelpMsg
    endif
    
    ; Replace weapon repair kits by repair tools
    set count to player.getItemCount NVRepairKit
    if count > 0
    	player.removeItem NVRepairKit count  1
    	set count to count * 10
    	player.addItem PNxRRepairTools count
    endif
    
    set tabId to getUIFloat "InventoryMenu\GLOW_BRANCH\IM_Tabline\_CurrentTab"
    
    ;-----------------------------
    
    
    
    
    ;-----------------------------
    ; Weapons
    
    if refresh == 1
    	; Classify weapons and safe default lists
    	setStage PNxRRepairMain 2
    endif
    
    set repairSkill to player.getAV Repair
    set noTools to (player.getItemCount PNxRRepairTools == 0)
    set enableScrap to player.hasPerk JuryRigging == 1
    
    if repairSkill != lastRepairSkill || noTools != lastNoTools || refresh == 1
    	set i to 0
    	set size to player.getNumItems
    
    	Label 67
    
    	if i < size 
    
    		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)
    
    			; Empty repair list so repair option is blacked out
    			if noTools == 1
    				setRepairList PNxRRepairNullList item
    			else
    
    				; Fetch custom repair list
    				set index to (listGetFormIndex PNxRRepairDefaultKeysList item)
    				set repairList to (listGetNthForm PNxRRepairDefaultAltValuesList index)
    				setRepairList repairList item
    
    				; Completely clear the list
    				set PNxCUtilList.inputList to repairList
    				setStage PNxCUtilList 10
    
    				; Always add the item itself
    				listAddForm repairList item
    
    				; Weapon
    				if getType item == 40
    
    					; Add additional class items if repair skill > weapon skill req
    					if repairSkill >= getWeaponRequiredSkill item
    
    						set weaponSkill to getWeaponSkill item
    						set weaponType to getWeaponType item
    
    						; Unarmed (0)
    						if weaponSkill == 45
    							set scrapList to PNxRRepairUnarmedScrapList
    							set classList to PNxRRepairWeaponsClass0List 
    								
    						; Melee (1-2)
    						elseif weaponSkill == 38
    
    							set scrapList to PNxRRepairMeleeScrapList
    
    							; Class 1 One-handed Melee
    							if weaponType == 1
    								set classList to PNxRRepairWeaponsClass1List 
    
    							; Class 2 Two-handed Melee
    							else
    								set classList to PNxRRepairWeaponsClass2List 
    
    							endif
    
    						; Energy Weapons (3-6)
    						elseif weaponSkill == 34
    
    							set scrapList to PNxRRepairEnergyWeaponsScrapList
    
    							; Class 3 Energy Pistols
    							if weaponType == 4
    								set classList to PNxRRepairWeaponsClass3List 
    
    							; Class 4 Energy Rifles (Laser)
    							elseif weaponType == 7
    								set classList to PNxRRepairWeaponsClass4List 
    
    							; Class 5 Energy Rifles (Other)
    							elseif weaponType == 6
    								set classList to PNxRRepairWeaponsClass5List 
    
    							; Class 6 Energy Weapons
    							else
    								set classList to PNxRRepairWeaponsClass6List 
    
    							endif
    
    						; Guns (7-10)
    						elseif weaponSkill == 41
    
    							set scrapList to PNxRRepairGunsScrapList
    
    							; Class 7 One-handed Guns
    							if weaponType == 3
    								set classList to PNxRRepairWeaponsClass7List 
    
    							; Class 8 Two-handed Automatic Guns
    							elseif weaponType == 6
    								set classList to PNxRRepairWeaponsClass8List 
    
    							; Class 9 Bolt/Lever-action Guns
    							elseif weaponType == 5
    								set classList to PNxRRepairWeaponsClass9List 
    
    							; Class 10 Miniguns
    							else
    								set classList to PNxRRepairWeaponsClass10List
    
    							endif
    
    						; Explosives (11-13)
    						elseif weaponSkill == 35
    
    							set scrapList to PNxRRepairExplosivesScrapList
    
    							; Class 11 Grenade Launchers
    							if weaponType == 5
    								set classList to PNxRRepairWeaponsClass11List 
    
    							; Class 12 Grenade machine guns
    							elseif weaponType == 8
    								set classList to PNxRRepairWeaponsClass12List 
    
    							; Class 13 Missile Launchers
    							elseif weaponType == 9
    								set classList to PNxRRepairWeaponsClass13List 
    							endif
    						endif
    					
    
    						; Add class lists
    						if classList != 0
    							; Add classList to repairList
    							set j to 0
    							set size2 to (listGetCount classList )
    
    							label 78
    							if j < size2
    								set element to listGetNthForm classList j
    
    								if listGetFormIndex repairList element == -1
    									listAddForm repairList element 0
    								endif
    	
    								set j to j + 1
    								goto 78
    							endif
    						endif
    
    						; Add scrap lists
    						if enableScrap == 1 && scrapList != 0
    							; Add scrapList to repairList
    							set j to 0
    							set size2 to (listGetCount scrapList )
    
    							label 71
    							if j < size2
    								set element to listGetNthForm scrapList j
    
    								if listGetFormIndex repairList element == -1
    									listAddForm repairList element 0
    								endif
    	
    								set j to j + 1
    								goto 71
    							endif
    						endif
    
    					endif
    
    				; Armors
    				elseif getType item == 24
    
    					set armorDT to getArmorDT item
    
    					; PA
    					if isPowerArmor item == 1
    						set skillCheck to 100
    						set classList to PNxRRepairPowerArmorList
    
    					; Use elements from original repair list for glasses
    					elseif listGetFormIndex RepairGlasses item != -1
    						set skillCheck to 0
    						set classList to RepairGlasses
    
    					else
    						; Clothing
    						if armorDT == 0
    							set skillCheck to 0
    							set classList to PNxRRepairClothingArmorList 
    						; Light Armor
    						elseif armorDT < 10
    							set skillCheck to 25
    							set classList to PNxRRepairLightArmorList 
    						; Medium Armor
    						elseif armorDT < 20
    							set skillCheck to 50
    							set classList to PNxRRepairMediumArmorList 
    						; Heavy Armor
    						else
    							set skillCheck to 75
    							set classList to PNxRRepairHeavyArmorList 
    						endif
    					endif
    
    					; No Extra repair options
    					if repairSkill >= skillCheck 
    
    						; Add elements from class list to repair list
    						if classList != 0
    							set j to 0
    							set size2 to (listGetCount classList)
    
    							label 70
    							if j < size2
    								set element to listGetNthForm classList j
    
    								if getEquipType element == getEquipType item
    									if listGetFormIndex repairList element == -1
    										listAddForm repairList element 0
    									endif
    								endif
    			
    								set j to j + 1
    								goto 70
    							endif
    						endif
    					endif
    				endif
    			endif
    		endif
    
    		set i to i + 1
    		goto 67
    
    	endif
    endif
    
    set lastRepairSkill to repairSkill
    set lastNoTools to noTools 
    
    set refresh to 0
    
    End
    
    
    ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Begin MenuMode
    
    if menuMode 1035 == 1
    	if player.getItemCount PNxRRepairToken == 0
    		player.addItem PNxRRepairToken 1 1
    	endif
    else
    	if player.getItemCount PNxRRepairToken > 0
    		player.removeItem PNxRRepairToken 1 1
    	endif
    endif
    
    End

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

    Standard

    Zitat Zitat von Wulfy301 Beitrag anzeigen
    Das Ziel wäre, das man nur soweit reparieren kann, wie der momentane RepSkill ist. Geht das, und kann man das überhaupt?

    Das Naheliegendste wäre, in der Fallout3.esm nachzusehen,
    wie das mit dem repair limit gelöst ist und das in einer NV-mod nachzubilden.

    Wenn das allerdings hardcoded ist, hätten wir ein ähnliches Problem
    wie mit dem sleep Heal, wo die hardgecodete Heilung überschrieben werden musste.

    Einen menuMode-Ansatz (menuMode 1035= Pipboy Repair) kann man hier wohl
    vergessen, weil bei Aufruf von player.srm z.B. die 100%-Reparierfähigkeit
    zum Tragen käme, was du ja gerade nicht willst.

    Jedenfalls brauchst du z.B.
    set repairSkill to player.getAV Repair,
    player.getWeaponHealthPerc und player.setWeaponHealthPerc,
    um ein script zusammmenbasteln.

    Ich scripte nur selten für Fallout, so dass ich dir nicht sagen kann,
    wie man das script dann am besten mit der zu reparierenden Waffe
    verbindet; über eine Werkbank oder über einen Spell?

    Das NVRepairKit nutzt den BaseEffect RepairKitEffect.
    Kannst du im G.E.C.K. leicht über Edit/Find Text finden (FalloutNV.esm).
    Geändert von shak-otay (03.11.2012 um 23:12 Uhr)

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

    Standard

    Danke für deine Antwort shak-otay!

    Muss Fallout 3 erst noch installieren und reinschauen!
    Hab einen Venom Repair Perk gefunden, nur bin ich nicht sicher was der genau macht, hat aber auf jeden Fall etwas mit der Reparatur zu tun.
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Bild1.jpg 
Hits:	179 
Größe:	97,3 KB 
ID:	16567
    Klicke auf die Grafik für eine größere Ansicht 

Name:	Bild2.jpg 
Hits:	175 
Größe:	59,2 KB 
ID:	16568

    Eingebaut und ausprobiert hab ich schon, aber ich kann keine Wirkung im Spiel erkennen!

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

    Gamertag: PixelMurder

    Standard

    Es geht mir nicht darum, dich zu entmutigen, aber ich glaube nicht, dass man das hardcecodete Reparatur-System im Inventar ändern kann. Aber auf jeden Fall ist diese Perk von Venom die falsche Spur, erscheint eher wie ein unfertiger Perk(der basierend auf Repair-Skill den Waffenschaden ändert?) und Perks können keine Limits auf einer reparierten Waffe setzen.
    Wenn, müsste man wahrscheinlich einen Marker im MenuMode 1035 setzen, der die Waffe anschliessend schädigt. Dazu müsste man aber rausfinden, welche Waffe das ist und es gibt nach meinem Wissen keine Funktion dafür, die Waffe ist ja nicht ausgerüstet. Vielleicht wäre es möglich, Items im Inventar aktivierbar zu machen, aber du willst sicher keine Scripte auf alle Ausrüstung setzen.
    Der einzige Weg erscheint mir ein Script auf einer speziellen Reparatur-Werkbank, dann kannst du den Reparatur-Status rechnerisch ermitteln und setzen, habe so ein Script auf die Heilbögen auf Zeta gesetzt. Ob es sinnvoll ist, eine Funktion aus dem PipBoy auszulagern, bezweifle ich.

    Das Script RepairKitEffectScript in NV kann man hingegen ändern, aber das betrifft nur das Kit. Dieses bezieht den Original-Zustand der Waffe ja nicht mit ein, errechnet einen Reparatur-Wert basierend auf deinem Skill und zählt ihn auf den Zustand der aktuellen Waffe, was (theoretische)Werte über 100 ergeben kann.
    No mods for Failout 76.

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

    Standard

    Zitat Zitat von Boïndil Beitrag anzeigen
    Dazu müsste man aber rausfinden, welche Waffe das ist
    Ja, das ist ein echter Knackpunkt...

    @Wulfy301:

    ich habe trotzdem mal ein script gemacht, mit dem du etwas rumbasteln kannst.

    Bei der Initiierungsquest ein script proc. delay von 0.5 einstellen.
    (Bei mir gibt's bei default 'nen black screen, auch wenn der menuMode-Block leer ist.)

    Wenn du eine Waffe per linkem Mausklick selektierst (also ausrüstest) und dann 'R'
    (für Reparieren) und 'E' (Abbrechen) drückst, hat die selektierte Waffe einen Zustand
    entsprechend deinem Reparatur-Skill (falls der Prozentwert nicht schon darüber lag).

    Code:
    scn aaWeaponRepairLimitScript
    
    Float repairSkill
    ;Int DoOnce
    
    Begin MenuMode	1035
    	set repairSkill to player.getAV Repair
    
               if  player.getWeaponHealthPerc < repairSkill
    		player.setWeaponHealthPerc repairSkill
    		;ShowMessage aaOnMenu
               endif
    End
    
    Begin GameMode
    
    End
    Wie/ob man ein 'R' auf nichtselektierte Waffen overriden kann, muss du selbst herausfinden;
    ebenso, wie man die Waffen aus der jeweiligen repair list mit einbringt.

    Wenn man nach 'R' ganz normal mit den Waffen aus der repair list reparieren will,
    müsste man im GameMode den Nach-Reparatur-Zustand overriden.

    -> Bliebe immer noch das Problem mit nichtselektierten Waffen.


    PS: da hat übrigens schonmal jmd. vergeblich gesucht
    http://forums.nexusmods.com/index.ph...-repair-skill/

    edit: so, mit 'nem Repairskill von 81 'ne MP von 25 auf 94 repariert und dann auf 76 limitiert.

    Code:
    scn aaWeaponRepairLimitScript
    
    Float repairSkill
    Float actWeaponHealth
    Int DoOnce
    
    Begin MenuMode	1035
         set repairSkill to player.getAV Repair
         set doOnce to 1
    End
    
    Begin GameMode
    	
        if doOnce==1
    	set actWeaponHealth to player.getWeaponHealthPerc
    	    ;ShowMessage aaWeaponHealthMess actWeaponHealth
    	set actWeaponHealth to  actWeaponHealth/100*repairSkill
    	    ;ShowMessage aaWeaponHealthMess actWeaponHealth
    	player.setWeaponHealthPerc actWeaponHealth
    	set doOnce to 0
        endif
    
    End
    Das Wahre isses aber nich, weil man im Pipboy-Inventory den 94 er Balken sieht.
    Das reduziert sich erst, wenn man das Inventory schließt und wieder öffnet.
    Geändert von shak-otay (05.11.2012 um 19:56 Uhr)

Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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