A few scripts that need reviewing, any assistance welcome

Post » Wed Mar 30, 2011 12:21 am

Hello everyone, i'm working on an oblivion necromancy mod call The Dark Arts Initiative, which is up on tesnexus but I have a few main issues. I am trying to cut down on effort and scripts by making a master script which identifies which type of item you have and then placing a creature at you depending on the item, but this never works properly. I'm trying to make it work either by activating or equipping it. Right now its just not working at all. I suspect I've muddle with the Getisid function and buggered it up

Something like
SCN aaaStorageGemScriptref thisrefshort restrainedShort controlvarShort buttonshort countshort doOnceshort FlagDead   ;Set to 1 when actor is dead and to 0 when resurection anim is                 ;complete float Timer      ;Counts time since resurrectionbegin onactivate		set thisref to getactionref    MessageBox "What do you wish to do?", "Release the minion","Destroy the minion and reclaim the vessel","Pick up","Nothing"	set doOnce to 0endbegin gamemode	if doonce == 0	set button to getbuttonpressed	endif	If ( button == 0) && doonce == 0 		if thisref.getisid == aaastoragezombie			placeatme aaadarkartsnecrozombie			;player.removeitem aaastoragezombie 1		elseif thisref ==  aaastoragezombie			placeatme aaadarkartsnecrozombie			;player.removeitem aaastoragezombie 1		elseif restrained ==  aaastoragezombie			placeatme aaadarkartsnecrozombie			;player.removeitem aaastoragezombie 1		elseif thisref.getisid aaastorageburningzombie			placeatme aaadarkartsnecro2burningzombie			player.removeitem aaastorageburningzombie 1		elseif thisref.getisid aaastoragedreadzombie			placeatme aaadarkartsnecro2dreadzombie			player.removeitem aaastoragedreadzombie 1		elseif thisref.getisid aaastoragespectreflame			placeatme aaadarkartsnecro2flamespectre			player.removeitem aaastoragespectreflame 1		elseif thisref.getisid aaastoragespectrestorm			placeatme aaadarkartsnecro2stormspectre			player.removeitem aaastoragespectrestorm 1		elseif thisref.getisid aaastoragespectrefrost			placeatme aaadarkartsnecro2frostspectre			player.removeitem aaastoragespectrefrost 1		elseif thisref.getisid aaastoragehoundflesh			placeatme aaadarkartsnecro2fleshwolf			player.removeitem aaastoragehoundflesh 1		elseif thisref.getisid aaastorageHoundUndead			 placeatme aaadarkartsnecro2undeadhound			player.additem aaastorageHoundUndead 1		elseif thisref.getisid aaastorageskeletonarcher			placeatme aaadarkartsnecro2skeletonarcher			player.removeitem aaastorageskeletonarcher 1		elseif thisref.getisid aaastorageskeletonswordsman			placeatme aaadarkartsnecro2skeletonswordsman			player.removeitem aaastorageskeletonswordsman 1		elseif thisref.getisid aaastorageskeleton			placeatme aaadarkartsnecroskeleton			player.removeitem aaastorageskeleton 1		elseif thisref.getisid aaastorageghost			placeatme aaadarkartsnecroghost			player.removeitem aaastorageghost 1		elseif thisref.getisid aaastorageclannfear			placeatme aaadarkartsdaedraClannfear			player.removeitem aaastorageclannfear 1		elseif thisref.getisid aaastorageClannfearRunt			placeatme aaadarkartsdaedraClannfearRunt			player.removeitem aaastorageClannfearRunt 1		elseif thisref.getisid aaastorageDaedroth			placeatme aaadarkartsdaedraDaedroth			player.removeitem aaastorageDaedroth 1		elseif thisref.getisid aaastorageAtronachFlame			placeatme aaadarkartsdaedraFlame			player.removeitem aaastorageAtronachFlame 1		elseif thisref.getisid aaastorageAtronachFrost			placeatme aaadarkartsdaedraFrost			player.removeitem aaastorageAtronachFrost 1		elseif thisref.getisid aaastorageAtronachStorm			placeatme aaadarkartsdaedraStorm			player.removeitem aaastorageAtronachStorm 1		elseif thisref.getisid aaastoragehunger			placeatme aaadarkartsdaedraHunger			player.removeitem aaastoragehunger 1		elseif thisref.getisid aaastorageScamp			placeatme aaadarkartsdaedraScamp			player.removeitem aaastorageScamp 1		elseif thisref.getisid aaastorageSpiderDaedra			placeatme aaadarkartsdaedraSpiderDaedra			player.removeitem aaastorageSpiderDaedra 1		elseif thisref.getisid aaastoragespiderling			placeatme aaadarkartsdaedraSpiderling			player.removeitem aaastoragespiderling 1		elseif thisref.getisid aaastorageWarGhoul			placeatme aaadarkartsflesh2WarGhoul			player.removeitem aaastorageWarGhoul 1		elseif thisref.getisid aaastorageBurningWarGhoul			placeatme aaadarkartsflesh2BurningWarGhoul			player.removeitem aaastorageBurningWarGhoul 1		elseif  thisref.getisid aaastorageDreadWarGhoul			placeatme aaadarkartsflesh2DreadWarGhoul			player.removeitem aaastorageDreadWarGhoul 1		elseif thisref.getisid aaastorageDremoraArcher			placeatme aaadarkartsdaedraArcherDremora			player.removeitem aaastorageDremoraArcher 1		elseif  thisref.getisid aaastorageDremoraMarksman			placeatme aaadarkartsdaedraDremoraRangedUpgraded			player.removeitem aaastorageDremoraMarksman 1		elseif thisref.getisid aaastorageDremoraMage			placeatme aaadarkartsdaedraMageDremora			player.removeitem aaastorageDremoraMage 1		elseif thisref.getisid aaastorageDremoraWizard			placeatme aaadarkartsdaedraMageDremoraUpgraded			player.removeitem aaastorageDremoraWizard 1		elseif thisref.getisid aaastorageDremoraSoldier			placeatme aaadarkartsdaedraMeleeDremora			player.removeitem aaastorageDremoraSoldier 1		elseif thisref.getisid aaastorageDremoraVeteran			placeatme aaadarkartsdaedraDremoraMeleeUpgraded			player.removeitem aaastorageDremoraVeteran 1		elseif thisref.getisid aaastorageOmegaSpectreFlame			placeatme aaadarkartsSoul2OmegaFlameSpectre			player.removeitem aaastorageOmegaSpectreFlame 1		elseif thisref.getisid aaastorageOmegaSpectreFrost			placeatme aaadarkartsSoul2OmegaFrostSpectre			player.removeitem aaastorageOmegaSpectreFrost 1		elseif thisref.getisid aaastorageOmegaSpectreStorm			placeatme aaadarkartsSoul2OmegaStormSpectre			player.removeitem aaastorageOmegaSpectreStorm 1		endif		return	elseif ( button == 1) && doonce == 0 		player.removeitem thisref 1	elseif ( button == 2) && doonce == 0 			player.additem thisref 1	elseif ( button == 3) && doonce == 0 		return	endifend


That said its not working and I can't figure it out despite pursuing it on CS wiki and a bunch of trials.

Also, I have this other script and any help would be appreciated, I don't know why it isn't working.

SCN aaaDarkArtsImprisonref ThisRefshort healthshort fatigueshort equipDelaybegin ScriptEffectStart		set ThisRef to getself		set fatigue to thisref.getav fatigue		set health to thisref.getav healthif (health <= 10 || fatigue <= 10 || thisref.getdetected player 2) && player.getitemcount aaainitiativewristirons >= 1			moveto aaaDarkArtsJailMarkerRatRef			messagebox "The target has been abducted and thrown in your prison"			SetFactionRank aaaDarkArtsPrisoners, 0			thisref.setrestrained 1			thisref.equipitem aaainitiativewristirons			player.removeitem aaainitiativewristirons 1			if ( equipDelay == 0 )			  addItem aaainitiativewristirons 1 				 set equipDelay to 1			elseif ( equipDelay < 10 ) ; wait 10 frames 			 set equipDelay to equipDelay + 1			elseif ( equipDelay > 0 )			  thisref.equipItem aaainitiativewristirons ; <- should work properly now  			  set equipDelay to -1 ; finished			endifelse	Message "You need to have weakened your opponent or surprised them as well as a pair of Initiative Wrist Irons to capture a prisoner."	endifend


Any help is sincerely appreciated as I try to make this work. This would be ideal as I am expanding and I rather be able to plug in a little data here and save hastle. I'd do it the long way of a script per gem, but that is causing crashing. That script is below:
SCN aaaStoredZombieref thisrefShort buttonshort getbuttonshort doOnceshort choicebegin onequip    MessageBox "What do you wish to do?", "Release the minion","Destroy the minion and reclaim the vessel","Nothing"	set doOnce to 0	set choice to 0endbegin gamemode	set thisref to getself	if doonce == 0	set button to getbuttonpressed	endif	If ( button == 0) && doonce == 0 			placeatme aaadarkartsnecrozombie			player.additem aaasoulgemempty 1			set doonce to 1			set choice to 1			player.removeitem aaastoragezombie 1	elseif ( button == 1) && doonce == 0 		player.additem aaasoulgemempty 1			set doonce to 1	elseif ( button == 2) && doonce == 0 			set doonce to 1		return	endifend

User avatar
jessica robson
 
Posts: 3436
Joined: Mon Oct 09, 2006 11:54 am

Return to IV - Oblivion