Jump to content

Adding new Schematics


munkyfish

Recommended Posts

ok here is what i got so far

 

created a new laserwepon formID: 01061793, EDID WeapPersonalisedLaserRifle

(useing the laser rifel as the model)

 

created a new schematics for the wepon FormID: 010baffb,EDID SchematicsPersonalisedLaserRifle

useing the bottelcap mine as a template i changed the SCRI to point to CE 3B 03 01 (when reversed becomes formID 01033BCE)

 

created notes for the Schematics FormID: 01033bce, EDID SchematicsPersonalisedLaserRifleNote

FormID: 010c33ae, EDID SchematicsPersonalisedLaserRifle10

FormID: 010c33af, SchematicsPersonalisedLaserRifle20

again useing the bottelcap mine as a template

 

i then created the success and failure messages and descriptions

 

i created in the GRUP(GLOB) countPersonalisedLaserRifle and countPersonalisedLaserRifleBonus

 

next the scripts in SCPT i added FormID: 010baff9, EDID SchematicsPersonalisedLaserRifleItemSCRIPT

in that i made the SCTX

 

scn SchematicsPersonalisedLaserRifleItemSCRIPT

short AddOnce

BEGIN OnAdd player

if (AddOnce == 0)

	;If the player already has a copy of the schematic, getting another improves the quality of the created item.
	;Second Improvement
	if (player.gethasnote SchematicsPersonalisedLaserRifleNote10 == 1)

		;Increment a variable for number of times this schematic has been gotten.
		set countPersonalisedBonus to 1.25

		;Show message of quality improvement.
		ShowMessage SchematicsImprovedMsg
		player.removeNote SchematicsPersonalisedLaserRifleNote10
		player.addNote SchematicsPersonalisedLaserRifleNote20
		;Remove this item from inventory
		set AddOnce to 1
		removeme

	;First Improvement
	elseif (player.gethasnote SchematicsPersonalisedLaserRifleNote == 1)

		;Increment a variable for number of times this schematic has been gotten.
		set countPersonalisedBonus to 1

		;Show message of quality improvement.
		ShowMessage SchematicsImprovedMsg
		player.removeNote SchematicsPersonalisedLaserRifleNote
		player.addNote SchematicsPersonalisedLaserRifleNote10
		;Remove this item from inventory
		set AddOnce to 1
		removeme

	;Otherwise, just add the note
	elseif (player.gethasnote SchematicsPersonalisedLaserRifleNote20 == 0)

		;Add the Schematic Note
		player.addNote SchematicsPersonalisedLaserRifleNote
		;Remove this item from inventory
		set AddOnce to 1
		removeme

	endif

endif

END

 

and set the SCRO enterys to point to the right places

 

i then copied (and in here i think the problem is ) FormID: 0001b01e EDID SchematicsWorkbenchScript

 

in this i changed the SCTX to

scn SchematicsWorkbenchScript

CHUNK OF CODE MISSED TO SAVE SPACE

;short countPersonalisedLaserRifle

Begin OnActivate
if IsActionRef player == 1
	; display message box of possible weapons
	set HasItems to 0

	if GetHasNote SchematicsBottlecapMineNote == 1  || GetHasNote SchematicsDartGunNote == 1  || GetHasNote SchematicsDeathclawGauntletNote == 1
		set HasItems to 1
	endif
	if GetHasNote SchematicsNukaCocktailNote == 1  || GetHasNote SchematicsRailwayRifleNote == 1  || GetHasNote SchematicsRockitLauncherNote == 1  || GetHasNote SchematicsShishkebabNote == 1  || GetHasNote SchematicsPersonalisedLaserRifleNote == 1
		set HasItems to 1
	endif
	if GetHasNote SchematicsBottlecapMineNote10 == 1  || GetHasNote SchematicsDartGunNote10 == 1  || GetHasNote SchematicsDeathclawGauntletNote10 == 1
		set HasItems to 1
	endif
	if GetHasNote SchematicsNukaCocktailNote10 == 1  || GetHasNote SchematicsRailwayRifleNote10 == 1  || GetHasNote SchematicsRockitLauncherNote10 == 1  || GetHasNote SchematicsShishkebabNote10 == 1  || GetHasNote SchematicsPersonalisedLaserRifleNote10 == 1
		set HasItems to 1
	endif
	if GetHasNote SchematicsBottlecapMineNote20 == 1  || GetHasNote SchematicsDartGunNote20 == 1  || GetHasNote SchematicsDeathclawGauntletNote20 == 1 || GetHasNote SchematicsRockitLauncherNote30 == 1
		set HasItems to 1
	endif
	if GetHasNote SchematicsNukaCocktailNote20 == 1  || GetHasNote SchematicsRailwayRifleNote20 == 1  || GetHasNote SchematicsRockitLauncherNote20 == 1  || GetHasNote SchematicsShishkebabNote20 == 1  || if GetHasNote SchematicsPersonalisedLaserRifleNote20 == 1
		set HasItems to 1
	endif
	if HasItems == 1
		ShowMessage SchematicsWorkbenchMsg
	else
		ShowMessage SchematicsWorkbenchNoneMsg
	endif
endif

End

Begin GameMode

				if weaponCondition > 100
					set weaponCondition to 100
				endif
				player.AddItemHealthPercent WeapShishkebab 1 weaponCondition
				PlaySound UIRepairWeapon
				; increment count
				ModPCMiscStat "Weapons Created" 1
				set countShishkebab to countShishkebab + 1

BIG CHUNK OF CODE MISSED OUT TO SAVE SPACE


		elseif button == 8
		; Personalised Laser Rifle
		; 1. check for schematics
		if GetHasNote SchematicsPersonalisedLaserRifleNote == 0
			ShowMessage SchematicsWorkbenchFailureGenericMsg
		else
			; 2. check for components
			if ( player.GetItemCount SensorModule > 0 ) && ( player.GetItemCount Conductor > 0 ) && ( player.GetItemCount FissionBattery > 0 ) && ( player.GetItemCount LaserRifle > 0 )
				; 3. make it
				ShowMessage SchematicsWorkbenchSuccessPersonalisedLaserRifleMsg
				player.RemoveItem SensorModule 1 1
				player.RemoveItem Conductor 1 1
				player.RemoveItem FissionBattery 1 1
				player.RemoveItem LaserRifle 1 1
				; calculate condition
				set weaponCondition to (weaponCondition * countPersonalisedLaserRifleBonus)
				if weaponCondition > 100
					set weaponCondition to 100
				endif
				PlaySound UIRepairWeapon
				; increment count
				ModPCMiscStat "Weapons Created" 1
				set countPersonalisedLaserRifle to countPersonalisedLaserRifle + 1

				;If the player has made one of each item, add Achievement 40
				if countWeapAchievement == 0
					if countBottlecap >= 1 && countDartgun >= 1 && countDeathclaw >= 1 && countNuka >= 1 && countRailway >= 1 && countRockit >= 1 && countShishkebab >= 1 && countPersonalisedLaserRifle >= 1
						addachievement 40
						set countWeapAchievement to 1
					endif
				endif

			else
				; 4. failure message
				set item1 to player.GetItemCount SensorModule 
				set item2 to player.GetItemCount Conductor 
				set item3 to player.GetItemCount FissionBattery 
				set item4 to player.GetItemCount LaserRifle 

				ShowMessage SchematicsWorkbenchFailurePersonalisedLaserRifleMsg, item1, item2, item3, item4
				ShowMessage SchematicsWorkbenchMsg
			endif
		endif
	endif
endif	

End


 

and last i added any missing SCRO (pointers as they point to all the needed items and messages i know this is alot but if anyone can see my problems please help

Link to comment
Share on other sites

Last I was aware, there was no way to compile scripts, so there is no way to make changes to any scripting. I havn't really been following too closely, but don't think this has been done yet. Non-compiled scripts will not work, and if you are parenting with the master, may cause those scripts to stop working.
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...