custom dbattackscript help

Post » Sat Nov 03, 2012 9:26 am

I decided to customize dark brother hood attacks based on guild standings, reputation etc.
But the problem is assassins continuously attack, i.e for example, I sleep in tavern two assassins attack. I defeat them and immediately go to sleep to heal then another attack occurs. This continues to 2 to 3 iterations. I'm stumped, this is really getting annoying...

Here is the script:
Begin dbattackScriptfloat dbchanceshort journalOnceshort attackOnceshort playerLevelshort attackmodshort othermodshort dbnumbershort tempshort sleepOnceif ( GetJournalIndex TR_DBHunt &--#62;= 100 )Returnelseif ( GetPCCell "Vivec, Arena Hidden Area" == 1 )Returnelseif ( GetPCCell "Balmora, Morag Tong Guild" == 1 )Returnelseif ( GetPCCell "Ald-ruhn, Morag Tong Guildhall" == 1 )Returnelseif ( GetPCCell "Sadrith Mora, Morag Tong Guild" == 1 )Returnendifif ( journalOnce == 1 );Journal TR_DBAttack 10set journalOnce to -1endifif ( GetPCSleep == 1 )if ( sleepOnce == 1 )  returnendifset sleepOnce to 1set dbchance to Random 100set attackmod to ( attackonce * 10 )if ( UAH_DB == 5 )  set othermod to ( 90- attackmod )  if ( dbchance &--#60;= othermod )   WakeUpPC   MessageBox "You are awakened by pure dread.";   set dbnumber to ( dbnumber + 1 );   if ( dbnumber &--#62; 2 );	set dbnumber to 2;   endif;   set temp to dbnumber;   while ( temp != 0 )	PlaceAtPC "db_assassin4" 1 128 1	PlaceAtPC "db_assassin3" 1 128 2	PlaceATPC "db_assassin2" 1 128 3;	set temp to ( temp - 1 );   endwhile   set attackonce to ( attackonce + 1 )	if ( journalOnce == -1 )	 return	endif	set journalOnce to 1	set DBAttack to 1  endifelse  if ( UAH_DB == 4 )   set othermod to ( 70 - attackmod )   if ( dbchance &--#60;= othermod )	WakeUpPC	MessageBox "You are awakened by pure dread.";	set dbnumber to ( dbnumber + 1 );	if ( dbnumber &--#62; 2 );	 set dbnumber to 2;	endif;	set temp to dbnumber;	while ( temp != 0 )	 PlaceAtPC "db_assassin3" 1 128 2	 PlaceATPC "db_assassin2" 1 128 1;	 set temp to ( temp - 1 );	endwhile	set attackonce to ( attackonce + 1 )	 if ( journalOnce == -1 )	  return	 endif	 set journalOnce to 1	 set DBAttack to 1   endif  else   if ( UAH_DB == 3 )	set othermod to ( 50 - attackmod )	if ( dbchance &--#60;= othermod )	 WakeUpPC	 MessageBox "You are awakened by pure dread."	 PlaceAtPC "db_assassin2" 1 128 2	 PlaceATPC "db_assassin1" 1 128 1	 set attackonce to ( attackonce + 1 )	  if ( journalOnce == -1 )	   return	  endif	  set journalOnce to 1	  set DBAttack to 1	endif   else	if ( UAH_DB == 2 )	 set othermod to ( 40 - attackmod )	 if ( dbchance &--#60;= othermod )	  WakeUpPC	  MessageBox "You are awakened by pure dread."	  PlaceAtPC "db_assassin1" 1 128 1	  PlaceAtPC "db_assassin1b" 1 128 2	  set attackonce to ( attackonce + 1 )	   if ( journalOnce == -1 )		return	   endif	   set journalOnce to 1	   set DBAttack to 1	 endif	else	 if ( UAH_DB == 1 )	  set othermod to ( 20 - attackmod )	  if ( dbchance &--#60;= othermod )	   WakeUpPC	   MessageBox "You are awakened by pure dread."	   PlaceAtPC "db_assassin1b" 1 128 1	   set attackonce to ( attackonce + 1 )		if ( journalOnce == -1 )		 return		endif		set journalOnce to 1		set DBAttack to 1	  endif	 endif	endif   endif  endifendifelseset sleepOnce to 0endifEnd

UAH_DB is the global which varies based on guild standings, reputation etc, calculated in another script.
User avatar
NIloufar Emporio
 
Posts: 3366
Joined: Tue Dec 19, 2006 6:18 pm

Return to III - Morrowind