Jump to content

GECK Scriptor Wanted - Pleasant Burrows


Kuribo827

Recommended Posts

I hope I put this in the right place. I apologize to the board moderators if this is not.

 

I have been working on a mod, Pleasant Burrows, that gives the player an alternate home/base that's rich in story. It's 95 percent done and practically ready for publishing. I am just waiting for a few text files from my co-writer.

 

I need a someone who's handy with the scripting language in GECK to help put the last few bits of polish on it. I've tried dozens of times to script myself, but had no success. I've even gotten a script or two, but I need someone I can actively speak to, to help me with my mod.

 

I can publish it without how it is, but with the help of a scripter the actual quest will function and various things in the base will have increased functionality (making it feel more like the story details things to be.)

 

If you can script and want to be the final mastermind who makes this happen please contact me. If you know someone who might, please contact me. If you know of a place where I might be able to find bored/curious GECK scripters hankering for something to do please contact me.

 

Thanks for your time.

 

-Kuribo

Link to comment
Share on other sites

Hey Cipscis! I sent you a note with the details. I'll list some of the matters that would need to be scripted in case any one else might be interested.

 

-Quest Script that activates once the player reads a note and directs them to the next note.

-Karma detecting Sentries (I have a script for this but can't get it to work)

 

The following functions are not as conductive to the level's story.

 

-Nuka Cola Machine that makes Ice-Cold Nuka's (copy pasting from the home sets doesn't seem to work.)

-Vault Tec Bobblehead Display that carries over from previous displayer (same problem as Nuka Cola House machine)

-Modified Anchorage Ammo Dispenser (I was able to get it to stop flashing)

Link to comment
Share on other sites

All right, first script was written by BadPenny. What it's supposed to do is to make the turrets inside the player base shoot at anyone who does not have neutral or good karma. He was able to get it to work in his mod but unfortunately I couldn't get it to work for me. After countless trial and error on my part I gave up. Here is what he was kind enough to write for me.

 

I apologize, I don't have the code indented so I tried to indent it.

 

ScriptName RegulatorTurretScript

ref myTurret
short doOnce

Begin GameMode

  set myTurret to getSelf

  If ( player.GetDistance myTurret < 3000 ) && ( doOnce == 0 ) && ( player.Getav Karma <= KarmaEvil )
    setEnemy TurretFaction playerFaction ;;this makes the turretFaction an enemy?
    startCombat player
    myTurret.UseWeapon Turret03Laser2HR myTurret player 100      ;; turret fires 100 shots
    myTurret.evp
   set doOnce to 1
 endif
End

Begin Gamemode

 If ( player.GetDistance myTurret > 3000 ) && ( doOnce == 1 )
   StopCombat
   Set doOnce to 0
 endif
end

 

Here's the script from the Ammo Dispenser in Operation Anchorage. After days of looking over the script I was able to quote out the part that makes it flash red. I think I also quoted out other sections, I don't remember what.

 

What I would like the dispensers to do (and what I feel would be very characteristic of the base Artificial Intelligence, the base owner and the tone of the mod) is that when the player checks it they will either get a portion of randomly selected ammunition or a pop up message that displays "It looks empty." When the player finds the armory it's been cleaned out except for a humorous amount of Flamer ammo, so the idea is that the first time they check it each day they will get either get the random ammo (portion shouldn't fluctuate) or the empty message. It should favor the empty message and every time the check in the same day will display the empty message. It shouldn't give mines or grenades though.

 

This functionality isn't that important and I think it might be harder to get working then any other script I may ask you for.

 

scn PBurrAmmoBoxSCRIPT

;This script handles the giving of ammo the player when he activates the ammo box, and the random flickering that occures on the box.

short hasAmmo	;Number of specific ammo the player has in his inventory
short giveAmmo
float disableTimer
short switched

short ammoAdded

short MaxMicroFusionCell
short MaxGrenadeFrag
short MaxMineFrag
short MaxMissile
short Max10mm
short Max556mm
short MaxFuel
short Max5mm
short Max308Caliber
short MaxShells

;GLOBALS
;DLC02Max10mm
;DLC02Max556mm
;DLC02MaxFuel
;DLC02Max5mm
;DLC02Max308Caliber
;DLC02MaxShells

;-----Flickering Stuff----
short flickering
short flickerOnSecond 		;(must be less than 100)
float myTimer		;COUNTS UP to DLC02RezFlickerTime


float timerToStopShader ;COUNTS DOWN

Begin OnLoad

set disableTimer to .5




set MaxMicroFusionCell to 10
set MaxGrenadeFrag to 4
set MaxMineFrag to 4
set MaxMissile to 4



;-----Flickering Stuff----
set flickerOnSecond to GetRandomPercent * DLC02RezFlickerTime/100 + 1		;example, if 25, this rolls a die between 1 and 25
set myTimer to 0
set flickering to 1

End



Begin OnActivate

if ( IsActionRef Player == 1 )

	set ammoAdded to 0

				;--------10MM Weapons--------
	if (player.GetItemCount Weap10mmPistol >0) || (player.GetItemCount Weap10mmPistolSilenced >0) || (player.GetItemCount Weap10mmSubmachineGun >0) || (player.GetItemCount WeapChinesePistol >0)

		if (player.GetItemCount Ammo10mm >= Max10mm)

			;Do Nothing

		elseif (player.GetItemCount Ammo10mm < Max10mm)
			set hasAmmo to player.GetItemCount Ammo10mm
			set giveAmmo to Max10mm - hasAmmo
			player.AddItem Ammo10mm giveAmmo 1
			set ammoAdded to 1
		endif

	endif


				;--------556MM Weapons--------
	if (player.GetItemCount WeapChineseAssaultRifle >0) || (player.GetItemCount WeapAssaultRifle >0)

		if (player.GetItemCount Ammo556mm >= Max556mm)

			;Do Nothing
		elseif (player.GetItemCount Ammo556mm < Max556mm)

			set hasAmmo to player.GetItemCount Ammo556mm
			set giveAmmo to Max556mm - hasAmmo
			player.AddItem Ammo556mm giveAmmo 1
			set ammoAdded to 1
		endif
	
	endif


				;--------Flamer--------
	if (player.GetItemCount WeapFlamer > 0)

		if (player.GetItemCount AmmoFlamerFuel >= MaxFuel)

			;Do Nothing
		elseif (player.GetItemCount AmmoFlamerFuel < MaxFuel)

			set hasAmmo to player.GetItemCount AmmoFlamerFuel 
			set giveAmmo to MaxFuel - hasAmmo
			player.AddItem AmmoFlamerFuel giveAmmo 1
			set ammoAdded to 1
		endif
	
	endif


				;--------Gauss Rifle--------
;		if (player.GetItemCount DLC02WeapGaussRifle > 0)
;
;			if (player.GetItemCount AmmoMicroFusionCell >= MaxMicroFusionCell)
;
;				;Do Nothing
;			elseif (player.GetItemCount AmmoMicroFusionCell < MaxMicroFusionCell)
;
;				set hasAmmo to player.GetItemCount AmmoMicroFusionCell 
;				set giveAmmo to MaxMicroFusionCell - hasAmmo
;				player.AddItem AmmoMicroFusionCell giveAmmo 1
;				set ammoAdded to 1
;			endif
;		
;		endif


				;--------Frag Grenade--------
;		if (player.GetItemCount DLC02WeapGrenadeFrag >= MaxGrenadeFrag )
;
;			;Do Nothing
;
;		elseif (player.GetItemCount DLC02WeapGrenadeFrag < MaxGrenadeFrag )
;
;			set hasAmmo to player.GetItemCount DLC02WeapGrenadeFrag 
;			set giveAmmo to MaxGrenadeFrag - hasAmmo
;			player.AddItem DLC02WeapGrenadeFrag giveAmmo 1
;			set ammoAdded to 1
;		endif


				;--------Frag Mine-------
;		if (player.GetItemCount DLC02WeapMineFrag >= MaxMineFrag )
;
;			;Do Nothing
;
;		elseif (player.GetItemCount DLC02WeapMineFrag < MaxMineFrag )
;
;			set hasAmmo to player.GetItemCount DLC02WeapMineFrag
;			set giveAmmo to MaxMineFrag - hasAmmo
;			player.AddItem DLC02WeapMineFrag giveAmmo 1
;			set ammoAdded to 1
;		endif


				;--------Minigun--------
	if (player.GetItemCount WeapMinigun > 0)

		if (player.GetItemCount Ammo5mm >= Max5mm )

			;Do Nothing
		elseif (player.GetItemCount Ammo5mm < Max5mm )

			set hasAmmo to player.GetItemCount Ammo5mm 
			set giveAmmo to Max5mm - hasAmmo
			player.AddItem Ammo5mm giveAmmo 1
			set ammoAdded to 1
		endif
	
	endif


				;--------Missile Launcher--------
;		if (player.GetItemCount DLC02WeapMissileLauncher > 0)
;
;			if (player.GetItemCount AmmoMissile >= MaxMissile )
;
;				;Do Nothing
;			elseif (player.GetItemCount AmmoMissile < MaxMissile )
;
;				set hasAmmo to player.GetItemCount AmmoMissile 
;				set giveAmmo to MaxMissile - hasAmmo
;				player.AddItem AmmoMissile giveAmmo 1
;				set ammoAdded to 1
;			endif
;		
;		endif


				;--------Sniper Rifle--------
	if (player.GetItemCount WeapSniperRifle > 0)

		if (player.GetItemCount Ammo308Caliber >= Max308Caliber )

			;Do Nothing
		elseif (player.GetItemCount Ammo308Caliber < Max308Caliber )

			set hasAmmo to player.GetItemCount Ammo308Caliber 
			set giveAmmo to Max308Caliber - hasAmmo
			player.AddItem Ammo308Caliber giveAmmo 1
			set ammoAdded to 1
		endif
	
	endif

				;--------Shotgun--------
	if (player.GetItemCount WeapShotgunCombat > 0)

		if (player.GetItemCount AmmoShotgunShell >= MaxShells )

			;Do Nothing
		elseif (player.GetItemCount AmmoShotgunShell < MaxShells )

			set hasAmmo to player.GetItemCount AmmoShotgunShell
			set giveAmmo to MaxShells - hasAmmo
			player.AddItem AmmoShotgunShell giveAmmo 1
			set ammoAdded to 1
		endif
	
	endif
	
	if (ammoAdded == 1)
		PlaySound3d FXObjectUse
		ShowMessage DLC02AmmoRefill
		activate
	elseif (ammoAdded == 0)
		PlaySound3d QSTToneSequenceFail
		ShowMessage DLC02AmmoFull
		activate
	endif

	pms DLC02DeRezItemShader
	set timerToStopShader to 2
	set flickering to 1
	
	set switched to 1
endif
End



Begin GameMode

;-----Flickering Stuff----
if flickering == 1
	if timerToStopShader > 0
		set timerToStopShader to timerToStopShader  - getSecondsPassed
	else
		sms DLC02DeRezItemShader
		set flickering to -1
	endif

endif

if myTimer < DLC02RezFlickerTime
	set myTimer to myTimer + getSecondsPassed

	if flickering == 0
		if myTimer >= flickerOnSecond
			playSound3D FXObjectHighlight
			pms DLC02DeRezItemShader
			set timerToStopShader to 2
			set flickering to 1
		endif

	endif

elseif flickering != 1
	set myTimer to 0
	set flickering to 0
	;pick a random second to start flickering next pass
	set flickerOnSecond to GetRandomPercent * DLC02RezFlickerTime/100 + 1		;example, if DLC02RezFlickerTime == 25, this rolls a die between 1 and 25

endif


End

 

 

These are the only two scripts I was fussing with.

 

The final script I would probably need is one that makes it an actual quest that appears in your Pip-boy with Marker's and everything. It would start when the player picks up a note from either their Tenpenny or Megaton house and point them to the next note, which points to the next and so on. Hopefully the quest would only spawn the notes once the player has read the previous note, so that they cannot jump ahead in the line of clues. Unfortunately I can't give you the details on the clue note locations yet. It ends when they pick up the key to the front door of the base.

 

I've been trying to get the Pristine Nuka Cola Machine to function in the base, but instead of switching out Nuka Cola for Ice Cold Nuka, it just eats the Nuka Colas. I had thought I at least get the add Nuka . I didn't do anything to the script that's the machine is already using. I've copy pasted the machine from the Megaton House and even tried attaching the script it uses to another Nuka Cola Machine I've placed in the level.

 

I also hoped with your insight you might be able to tell me how I can get a Bobblehead display in Pleasant Burrows to retroactively update the bobbleheads the player finds.

 

The Nuka Machine and Bobble Display both sound like scripting issues to me, but judging on the breadth of the work I know you've done I think you probably have a better understanding of what may be happening. At least with the Nuka machines, there seems to be 2 seperate scripts for the Megaton and Tenpenny house sets, so it might be the scripts.

 

I've got another script matter but its a simple task of making a door open by a switch on one side of it and I think I'll be able to get that to work on my own. If not I'll have to pester you, sorry. I'll try my hardest to see if I can't at least resolve this matter on my own.

 

That's all for now...I think. Please ask if I was not as clear as you'd like on some of the functionality.

Link to comment
Share on other sites

  • Recently Browsing   0 members

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