Jump to content
ℹ️ Intermittent Download History issues ×

Proof that a player can fly in Skyrim well may be more like swimming


hex_ratt

Recommended Posts

  • Replies 304
  • Created
  • Last Reply

Top Posters In This Topic

Hey everyone, I'm the maker of "Flying Mod: Become The Dragon" and I've been reading through this forum and saw the frustration about the fact that too few people seem to be supporting such a great idea.

 

I realize my mod relies totally on console commands (though it is to the point where it uses hotkeys to quickly (though buggily) execute these commands) , but after two days I'm pretty sure I've come to a bit of a stand still. I know a bit of computer language that I'm studying at Carnegie Mellon but I'm actually a business major so I'm not exactly adept... However I would REALLY like to get this concept moving in the right direction, even if it means scrapping my own approach. I can figure out papyrus given some time I believe but I'm also fairly creative and resourceful (as you can see by my mod that basically takes every shortcut and work around possible to the hard parts of making dragons fly =] ).

 

Anyways, I can create environments/cells if needed, I can edit quests, I can test s*** out, I can try f***ing around with papyrus, but overall I'd just like to lend my support. I think we should all team up and get a REAL project going, no more of this independent stuff. I don't plan on taking the lead, as obviously someone with more expertise in scripting should, but I'd happily get to work on whatever I'm needed for, (as followers of my mod can see, I'm extremely active and dedicated on here).

 

So let me know, PM me or respond to this, lets see what we can do.

 

P.S. Is it possible to create a script that either types in or runs console commands somehow without having to actually open up the console?

Link to comment
Share on other sites

Well your support is certantly appreciated, we need as many people as we can to make this work, as for running console commands from papyrus, I think its not possible, but anyways what you do with the console commands is Player.pa which could mean either play action or animation, you can run that command from papyrus using PlayAnimation, problem is it doesnt work very well, im attempting to create a new behavior graph right now see if I can override the default controls.
Link to comment
Share on other sites

That sounds promising, but do you have any ideas yet on how to switch between animations and control the dragon without using equipping items to trigger them (that is roughly as tedious as using console commands)....Also, what was the script used for this

?

 

 

If I'm going to be able to help at all, I'm gonna need to get caught up and wrap my mind around what you guys are working with here. (Promise I'm not going to steal this in any way, I don't have the skill to do so lol)

Link to comment
Share on other sites

That sounds promising, but do you have any ideas yet on how to switch between animations and control the dragon without using equipping items to trigger them (that is roughly as tedious as using console commands)....Also, what was the script used for this

?

 

 

If I'm going to be able to help at all, I'm gonna need to get caught up and wrap my mind around what you guys are working with here. (Promise I'm not going to steal this in any way, I don't have the skill to do so lol)

 

 

I used this script in the video:

 

Scriptname TranslateTest extends activemagiceffect Conditional
; reminder to myself: scriptfolder and scriptname "C:\Program Files (x86)\Steam\SteamApps\common\skyrim\Data\Scripts\Translatetest.psc"
import Utility
import form
import game
import debug

event OnEffectStart(Actor Target, Actor Caster)



int Value = FlyTest.GetValueInt()
;messagebox(Value)
ObjectReference CasterT = GetPlayer()

;We are not in air yet so the value is still 0
if (Value == 0)
               SetIniFloat("fInAirFallingCharGravityMult:Havok", -1.35)
	Caster.SetScale(0.3)
	SetIniFloat("fMinCurrentZoom:Camera", 1.0)
	ForceFirstPerson()
	Wait(0.5)
	SendAnimationEvent(CasterT ,"FlyStartHover")
	Wait(0.5)
	ForceThirdPerson()
	FlyTest.SetValue(1)
	
endif

      ;now we are in air and want to start gliding by readding the effect.
if (Value == 1)
	SetIniFloat("fInAirFallingCharGravityMult:Havok", -2.0)
	;messagebox("works")
	ForceFirstPerson()
	;FlyTest.SetValue(0)
	Wait(0.5)
	Caster.SetAv("SpeedMult", 3000)
	SendAnimationEvent(CasterT ,"FlyStartCruise")
	Wait(0.5)
	ForceThirdPerson()
	FlyTest.SetValue(0)
	
endif


While(TRUE)
Value = FlyTest.GetValueInt()
float pX = Caster.GetPositionX()
float pY = Caster.GetPositionY()	
float pZ = Caster.GetPositionZ()
float aX = Caster.GetAngleX()
float aY = Caster.GetAngleY()	
float aZ = Caster.GetAngleZ()
float i = pz -(1500)
float ci = pz + (1500)

if (Value == 1)
;messagebox(Value)
Caster.TranslateTo(px,py,ci,ax,ay,az,1000,1000)
;messagebox("<0")
Wait(0.5)

endif
endwhile



EndEvent

;everything below was only a failed test, i left ever property inside the script for testing purpose, some propertys arent used.


;event OnKeyDown()
;messagebox  ("works")
;endevent
; event OnEffectFinish(Actor Target, Actor Caster)

; Actor Player = GetPlayer()
; Race GetTheRace = Player.GetRace()


; SetIniFloat("fInAirFallingCharGravityMult:Havok", 1.35)
; ForceFirstPerson()
; SendAnimationEvent(Caster,"FlyStartCruise")
; Wait(0.5)
; ForceThirdPerson()
; Player.SetScale(1)
; Flytest.SetValue(0)
; endevent
; Event onEffectFinish(Actor Target, Actor Caster )
; While(TRUE)

; endwhile
; Endevent



ObjectReference property Spawner auto
ObjectReference property PlayerRef auto
MagicEffect Property Fly auto
Idle Property FlyStartHover auto
Race Property DragonRacePlayer auto
Idle Property SwimStop auto 
int Property MoveType auto Conditional 
Idle Property CharacterMoveStart auto
Armor Property FlyRing auto
Spell Property PolyMorphSpell auto 
GlobalVariable Property FlyTest auto
Int Property NewProperty  Auto  Conditional
Race Property PolyMorph auto
GlobalVariable Property RaceCheck auto
VisualEffect Property TransIn  auto

Edited by DarkenDe
Link to comment
Share on other sites

Just saw something and had a thought. Please ignore if this is already known or what-not.

 

Under the dragon race dragons (and subtypes) are the only races with two options selected. "Flies" movement mode, and "Always Use Proxy Controller". Maybe dragon movement is based off another object, and we can move around that object instead? Does anyone know what the "Always Use Proxy Controller" option means?

Link to comment
Share on other sites

Just saw something and had a thought. Please ignore if this is already known or what-not.

 

Under the dragon race dragons (and subtypes) are the only races with two options selected. "Flies" movement mode, and "Always Use Proxy Controller". Maybe dragon movement is based off another object, and we can move around that object instead? Does anyone know what the "Always Use Proxy Controller" option means?

 

 

i found a rather long text explaining a bit about proxys in the game executeable:

 

proxyInfo...Whether or not proxy is touching the ground.....If you want the proxy to follow the world from model set this to true. If you change this from false to true then the proxy position is reset to the current world from model position..If you want to include the downward momentum of the proxy set this to true. This property affects the proxy behavior only when m_ignoreIncomingTranslation is set to false......If you want to ignore the incoming translation then set this to true. If this is set to true then the proxy motion is taken into consideration..If you what to ignore collisions during rotation of the proxy set this to true..If you what to ignore the incoming rotation of the proxy set this to true...Whether the linear velocity is in world space or model space........Whether to use a simple shape phantom or caching shape phantom..The collision filter info associated with the proxy.....This is analogous to m_maxSlope but gets applied during rotation....The radius of the capsule shape associated with the proxy...The height of the capsule shape associated with the proxy.......m_verticalDisplacementError gets accumulated internally. This accumulation can be clamped to a maximum value by setting this property...This gain is used to smooth out the m_verticalDisplacementError term....This can be bound to m_averageError property of the footIk modifier through a common variable so the footIk feedback can be taken into account while moving the world-from-model towards the proxy......The maximum separation between the world from model and the proxy in the vertical direction.....The maximum separation between the world from model and the proxy in the horizontal direction...This gain is used to compute the distance the world-from-model moves vertically towards the proxy.......This gain is used to compute the distance the world-from-model moves horizontally towards the proxy.....You can specify the linear velocity of the proxy. This will be added with the incoming motion and the current proxy velocity....The properties which are used to initialize the character proxy

 

But dont ask me what all of this nonsense means :P

Edited by DarkenDe
Link to comment
Share on other sites

Wait, What? I know what a capsule shape is, it is what defines the collision boundries of a model, this actually solves a kind of bug I found and I didnt know where it was, it only happened when I mess with the race, the bug consisted in, after translation, the model itself went back to the original position, I didnt know what was causing it I guess now I do lol.

DarkenDe what keywords did u set on your dragon? or are u using the original dragon race? because seeing you control the animation made me wonder, that never worked for me, so it might have something to do with the keywords.

Link to comment
Share on other sites

The animation i used was controlable from the beginning, its "FlyStartCruise", i just cloned the Dragon Race, and made a test race out of it, then i attached every camera node via nifskope on the dragon skeleton, thats all i did tbh.

 

the animation i used before going into "FlyStartCruise" was not controlable though.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...