what it does is when you equip the gun it checks what ammo is loaded, when you shoot the gun it rolls a timer then uses the determined ammo to change a quest short value
scn OBSERVERblasterfloat waitsmallshort ammobegin onequip if player.getequipped ammomicrobreederMLMOBSERVERspawner set ammo to 1 endif if player.getequipped ammomicrobreederMLMOBSERVERspawner2 set ammo to 2 endifendbegin onfire set waitsmall to waitsmall + getsecondspassed if waitsmall >= 0.8 if ammo == 1 set 1observerspawnedcontrol.helperspawned to 1 endif if ammo == 2 set 1observerspawnedcontrol.psycospawned to 1 endif set waitsmall to 0 set ammo to 0 endifend
this script is the quest script i'm directing the weapon script at
this one controlls 2 different NPCs, it handles moving them between different xmarkers and the time they spend in the game world when first spawned
scn ObserverSpawnedCharsKeepershort dooncefloat htimerfloat ptimershort helperspawnedshort psycospawnedbegin gamemode if doonce == 0 set helperspawned to 0 set psycospawned to 0 set doonce to 1 endif if psycospawned == 2 set ptimer to ptimer + Getsecondspassed if ptimer >= 30 set psycospawned to 0 set ptimer to 0 endif endif if helperspawned == 2 set htimer to htimer + getsecondspassed if htimer >= 30 set helperspawned to 0 set htimer to 0 endif endif if helperspawned == 0 observergrenadespawnedref.moveto spawnedhelpermarkerREF observergrenadespawnedref.disable endif if psycospawned == 0 observergrenadespawned2ref.moveto spawnedattackermartkerREF observergrenadespawned2ref.disable endif if helperspawned == 1 observergrenadespawnedref.moveto OBSERVERMobleHmarkREF set helperspawned to 2 observergrenadespawnedref.enable endif if psycospawned == 1 observergrenadespawned2ref.moveto OBSERVERMobileSpawnREF set psycospawned to 2 observergrenadespawned2ref.enable endifend