Jump to content

Give player random leveled armor upon entering an area?


TerraMcCloud

Recommended Posts

So this idea popped up into my head, an arena idea where theres teams and you fight on a team but rather then use your own items, your items are left behind and you are given leveled equipment for the fight, I know how to move the players items to a storage container, I know how to make a script that spawns enemies, and I know how to give items and take items to/from the player. But I dont know how to give items from a level list to the player and automatically equip them then when the round ends remove the given items.(I know the equip item script, but not how to use it with a leveled list item.)

 

EDIT: Using the resetinterior command and a respawning dummy chest, I managed to get the random items thing working, but I want to be able to press a button and have all the combatants in the arena die and have their corpses removed,

Edited by welchdrew
Link to comment
Share on other sites

AddItem and RemoveItem can be used with levelled lists. :smile:

 

To delete a bunch of NPCs when a button is pressed, I'd probably script the button to set a quest variable. e.g. Set MyQuest.CleanUpFlag to 1.

 

The NPCs will all have a script running similar to:

 

if MyQuest.CleanUpFlag == 1
	DoStuff
endif
What stuff do you do? You could disable them if you want to recycle the actors later. Or you could use a combination of Kill, MoveTo (SomeInteriorCell) and then ResetInterior (SomeInteriorCell) if you want to delete them out of existence. I think that deleting them is more flexible, as you can use PlaceAtMe to spawn them in the first place without worrying about savegame bloat. :smile:
Link to comment
Share on other sites

AddItem and RemoveItem can be used with levelled lists. :smile:

 

To delete a bunch of NPCs when a button is pressed, I'd probably script the button to set a quest variable. e.g. Set MyQuest.CleanUpFlag to 1.

 

The NPCs will all have a script running similar to:

 

if MyQuest.CleanUpFlag == 1
	DoStuff
endif
What stuff do you do? You could disable them if you want to recycle the actors later. Or you could use a combination of Kill, MoveTo (SomeInteriorCell) and then ResetInterior (SomeInteriorCell) if you want to delete them out of existence. I think that deleting them is more flexible, as you can use PlaceAtMe to spawn them in the first place without worrying about savegame bloat. :smile:

 

 

Okay I will try that, I will have to learn a little more about the whole quest thing though,

 

also I cant seem to get the teams working, Ive tried setting up factions in a way to make the team I am on not attack me and the enemy team attack me but either both teams want to attack me whether I am spectating or on a team or they wont attack me at all.

 

Also I use the Placeatme script for spawning the enemies, having the placeatme script place them at specific dummy portals in the arena.

Edited by welchdrew
Link to comment
Share on other sites

Factions are your friend. :smile: NPCs don't attack people of the same faction regardless of disposition (at least they're not supposed to). Add and remove hidden factions to the player to control which teams is hostile and which is not.
Link to comment
Share on other sites

Factions are your friend. :smile: NPCs don't attack people of the same faction regardless of disposition (at least they're not supposed to). Add and remove hidden factions to the player to control which teams is hostile and which is not.

 

That is actually what I have tried before, and it didnt work for me, I will try it again but I dont think itll work.

Link to comment
Share on other sites

Set disposition +100 towards those in the same faction? Oblivion's AI is always unpredictable, never quite doing what you'd expect it to.

 

I also tried that one too, and -100 towards the opposite faction.

 

EDIT: I also tried

 

-Lowering the combatants aggression from 100 to 90 then from 90 to 60, they still attack eachother, but wont attack the player at 60 aggression and want to kill the player at 90 and 100.

-Putting the player on the same faction as the combatants.

-Giving them a disposition boost with the Player faction.

-Giving them a disposition boost towards the factions the player is in when on the same team, and disposition penalties towards the opposite team.

 

None of these work, either both teams want to kill me, or both teams dont.

Edited by welchdrew
Link to comment
Share on other sites

Another trick I use is have their default aggression at 5 or so. A script checks whether they should be fighting the player (e.g. a hostile faction check). If so, I can use StartCombat and set their aggression to 75 or so at the same time to keep them fighting.

 

Also do some GetFactionRank checks just incase. :wink:

 

Remember, it's AU, not AI!

Link to comment
Share on other sites

  • Recently Browsing   0 members

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