[FilterScript] FUS RO DAH!
#1

Unrelenting Force
Basic Information

This is pretty self explanatory for skyrim players. Basically this filterscript will send players/vehicles(with a driver) infront of you flying into air. You can use /setshoutdata to change the speed and height. use /fusrodah to shout.

Origin

I got this idea from skyrim of course, but i made a prototype just to test with game physics and velocities. After that i decided to release this one i made a few changes on.

Screen Shot/Video

This is the prototype
[ame]http://www.youtube.com/watch?v=8h8ZB9JPqnQ[/ame]

This is edited.
[ame]http://www.youtube.com/watch?v=gp6bFN1ufIc[/ame]


Credit

Zeex: ZCMD
Y-less: sscanf, GetXYInFrontOfPlayer
Me: Coding, debugging
aSpicyDonut: Testing
Kosrat: Testing

>>> Bethesda Studio for the brilliant idea<<<

Two more, but i could not find the author.

Download

Pastebin: http://pastebin.com/NmaHpdXK

Bugs

Post any bugs you found below.
Reply
#2

LOL!!! Awesome, I've been waiting for this!
Reply
#3

Awesome lol.
Reply
#4

thanks
Reply
#5

Interesting creation!

I remember years ago when some server called Above Ultimate was full of stuff that I was eager to make myself but just couldn't manage. This somewhat reminds me of stuff of that kind.

Without investigating the code in deep mode, you could run some quick on-the-surface modifications that are a bit faster, for example:
1. in the fusrodah command, don't use repeated IsPlayerInVehicle checks, rather depend on what is returned by GetPlayerVehicleID as you seem to use the vehicle ID value as well in later code.
2. same goes for the is-player-in-vehicle checks in the first loop in the same command.
3. you can save the function call to IsPlayerConnected because IsPlayerInRangeOfPoint will return false if the player isn't connected.
4. you can save the function call to floatsqroot by simply comparing the outcome of the calculation to the distance squared (compare to 25.0 instead of 5.0 for example).
5. not an optimization tip, but make the vehicle loop depend on MAX_VEHICLES to ensure the fs works on all servers.
6. to seek maximal performance out of it, you could implement the logic of function GetXYInFrontOfPlayer into your code so it doesn't create extra variables and so on.

Very nice script!
Reply
#6

Quote:
Originally Posted by AndreT
Посмотреть сообщение
Interesting creation!

I remember years ago when some server called Above Ultimate was full of stuff that I was eager to make myself but just couldn't manage. This somewhat reminds me of stuff of that kind.

Without investigating the code in deep mode, you could run some quick on-the-surface modifications that are a bit faster, for example:
1. in the fusrodah command, don't use repeated IsPlayerInVehicle checks, rather depend on what is returned by GetPlayerVehicleID as you seem to use the vehicle ID value as well in later code.
2. same goes for the is-player-in-vehicle checks in the first loop in the same command.
3. you can save the function call to IsPlayerConnected because IsPlayerInRangeOfPoint will return false if the player isn't connected.
4. you can save the function call to floatsqroot by simply comparing the outcome of the calculation to the distance squared (compare to 25.0 instead of 5.0 for example).
5. not an optimization tip, but make the vehicle loop depend on MAX_VEHICLES to ensure the fs works on all servers.
6. to seek maximal performance out of it, you could implement the logic of function GetXYInFrontOfPlayer into your code so it doesn't create extra variables and so on.

Very nice script!
thanks, i really just wrote whats on my mind, didnt optimize it as i should've.
1,2,3 are noted. About the vehicle thing, i commented it out. becuz u cant apply velocity to empty vehicle yet. i will change 'em in my future project
Reply
#7

Awesome + unique creation

+1 Rep
Reply
#8

It's nice with the song, LMFAO.
Reply
#9

Nice Work Might Be useful
Reply
#10

Really unique GJ
Reply


Forum Jump:


Users browsing this thread: 4 Guest(s)