Difference between revisions of "User:QQuix"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>QQuix
m
imported>QQuix
(I suppose I am supposed to mark myself as a Sheriff)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}
----
'''Under construction'''----


I thought it better to dump my things here instead of editing WIKI pages for several reasons (language, not being sure where it should go, lack of talent for writing, etc)
=My Script Samples=
===Distances and Angles===
Notes and sample code related to distances and angles.
::[[User:QQuix/Distances and Angles]]


I anybody considers anything worthy of being somewhere else, just let me know.
=My Observations=
(Miscellaneous observations of mine)
==Game engine==
It seems the engine does not load all world spaces when the game is loaded, so persistent objects in some world spaces are not loaded in memory as they are supposed to (maybe some persistent objects are more persistent than others. lol) [Oct/2008]


[[User:QQuix|QQuix]] 20:14, 26 August 2008 (EDT)
=My Tests=
===On Dynamic Items and Savegame Bloating===
Tests with Dynamic and Non-Dynamic items and their effect on savegame size
::[[User:QQuix/On Dynamic Items and Savegame Bloating]]


=Script code=
===Dynamic and Non-dynamic references===
==Distances and angles==
Notes on general characteristics of Dynamic and Non-Dynamic references
(WIP)
::[[User:QQuix/Dynamic and Non-dynamic references]]
===Three angle systems===
The game uses three angle ‘systems’:
====World Angle====
Range – 0-360  - 0 degrees is up, increasing clockwise up to 360.  (e.g: 90 = Right,  180 = Down, 270 = Left). 


This is the most common. It is the angle you find in the CS for Reference Rotation.


This type of angle is returned by: [[GetAngle]] Z, [[GetStartingAngle]]
===GetLOS===
This is a test mod  used to get an understanding of how the GetLOS function really behaves ingame.


This type of angle must be provided for: [[SetAngle]] Z
It is intended to modders/scripters interested in using the GetLOS function: it will give you a 'feeling' on where GetLOS starts returning 0


====Heading Angle====
This mod contains a decent arrow-like projectile script, if you need one.
Range – -180 to +180  -  0 degrees is up, increasing clockwise up to 180 and decreasing counterclockwise down to -180.  (e.g: 90 = Right,  180 = Down, -90 = Left, -180 = Down).


This is used to tell how a second object is positioned in relation to a first object heading
This mod was built to determine whether GetLOS is a reliable way to determine collision while moving objects around with SetPos.


This type of angle is returned by: [[GetHeadingAngle]]
And it is kind of fun for the first few minutes.


====Trigonometric Angle====
The mod is here: [http://www.tesnexus.com/downloads/file.php?id=19980 TES Nexus]
Range – 0 to 360  -  0 degrees is right, increasing counterclockwise up to 360. (e.g: 90 = Up,  180 = Left, 270 = Down). 
This is the standard trigonometric angle system.


This type of angle must be provided for OBSE trigonometric functions: [[Sin]], [[Cos]], [[Tan]], etc
There is a video here:[http://www.youtube.com/watch?v=nsRRsvYd_hc YouTube]


===Sample code (2D)===
===Moving Objects and Marker Rats===
====DeltaX & DeltaY from Angle and distance ====
Useful when positioning an object at a given distance and angle from another object


;=================================
This mod contains a ‘generic’ approach to move Statics, Activators and Containers.
; Get:  DeltaX and DeltaY
; From: Angle and distance
;=================================
set xAngle to xxx
set xDistance to xxx
if  xAngle <= 90
  set xxTrigAngle  to 90 - xAngle
else
  set xxTrigAngle to 450 - xAngle
endif
set xDeltaX to xDistance * cos xxTrigAngle
set xDeltaY to xDistance * sin xxTrigAngle


==== Angle and distance from DeltaX & DeltaY ====
It includes a Marker Rat script that recovers from/prevents the following characteristics/limitations/bugs(?) of the game engine:
Useful to calculate the horizontal (2D) distance between two objects or in situations where [[GetDistance]] is not reliable.


Useful to calculate the heading angle in situations where [[GetHeadingAngle]] is not reliable (non-actors).
-Objects moved to an unloaded cell (never?/seldom?) show up when the player enters the cell
;=================================
-Objects moved to different world spaces snap back after save+load
; Get:  Angle and distance
-The typical Marker Rat approach is not generic enough as, being an actor, it will fall to the ground, losing the Z axis info
; From: DeltaX and DeltaY
-It also (always?/sometimes?) snaps to a path grid node when the cell is reset.
;=================================
set xAngle to atan2 xDeltaX xDeltaY  ; returns -180 to +180
if xAngle  < 0
  set xAngle to xAngle + 360  ; convert to 0-360
endif
set xDistance to ( xDeltaX * xDeltaX ) + ( xDeltaY * xDeltaY )
set xDistance to sqrt xDistance


====Adding two angles ====
It works both indoors and outdoors
Self explanatory
;=================================
; Get:  Angle
; From: Adding two angles
;=================================
set xAngle to xAngleA + xAngleB
if xAngle > 360
  set xAngle to xAngle - 360
endif
if xAngle < 0
  set xAngle to xAngle + 360
endif


===Sample code (3D)===
It is intended to modders/scripters that need to move statics, activators and/or containers
WIP
 
=Observations=
Nothing at the moment
 
=My Tests=
====On Dynamic Items and Savegame Bloating====
Tests with Dynamic and Non-Dynamic items and their effect on savegame size
::[[User:QQuix/On Dynamic Items and Savegame Bloating]]


The mod is here: [http://www.tesnexus.com/downloads/file.php?id=19980 TES Nexus]


=My Mods=
=My Mods=
Line 108: Line 65:
==WIP==
==WIP==
===QQuix Fly Away===
===QQuix Fly Away===
To be filled
I am writing a lot of complex scripts to make the PC and NPCs fly. This work is intended to the Dragon City Mod and, after the DC mod is released, I intend to add Creature and Object fights and release the whole thing as a Modder’s resource.
===Dynamic x non-dynamic items===
To be filled
 
=Personal info=
I enjoy figuring out how to do things with the CS script. For this reason, I rarely, if ever, look into existing scripts from other modders. So, I may be reinventing the wheel all the time and may not come out with the best solution, but it is a conscious decision to improve learning and enjoy what I like to do.
 
Professional experience: IT. Started as a programmer, for a few years, long time ago. Since then, did a lot of other things in the IT business. Some experience coding Genetic Algorithms
 
Location: Brazil


Site: [http://thewormhole.nfshost.com/forum/index.php/board,227.0.html QQuix Quintessencials at the Wormhole]
===QQuix Sail Away===
A modders resource set of scripts to move a ship along a pre-determined path.


{{Scripter}}
{{Scripter}}
{{Sheriff}}

Latest revision as of 10:34, 26 May 2013



My Script Samples[edit | edit source]

Distances and Angles[edit | edit source]

Notes and sample code related to distances and angles.

User:QQuix/Distances and Angles

My Observations[edit | edit source]

(Miscellaneous observations of mine)

Game engine[edit | edit source]

It seems the engine does not load all world spaces when the game is loaded, so persistent objects in some world spaces are not loaded in memory as they are supposed to (maybe some persistent objects are more persistent than others. lol) [Oct/2008]

My Tests[edit | edit source]

On Dynamic Items and Savegame Bloating[edit | edit source]

Tests with Dynamic and Non-Dynamic items and their effect on savegame size

User:QQuix/On Dynamic Items and Savegame Bloating

Dynamic and Non-dynamic references[edit | edit source]

Notes on general characteristics of Dynamic and Non-Dynamic references

User:QQuix/Dynamic and Non-dynamic references


GetLOS[edit | edit source]

This is a test mod used to get an understanding of how the GetLOS function really behaves ingame.

It is intended to modders/scripters interested in using the GetLOS function: it will give you a 'feeling' on where GetLOS starts returning 0

This mod contains a decent arrow-like projectile script, if you need one.

This mod was built to determine whether GetLOS is a reliable way to determine collision while moving objects around with SetPos.

And it is kind of fun for the first few minutes.

The mod is here: TES Nexus

There is a video here:YouTube

Moving Objects and Marker Rats[edit | edit source]

This mod contains a ‘generic’ approach to move Statics, Activators and Containers.

It includes a Marker Rat script that recovers from/prevents the following characteristics/limitations/bugs(?) of the game engine:

-Objects moved to an unloaded cell (never?/seldom?) show up when the player enters the cell -Objects moved to different world spaces snap back after save+load -The typical Marker Rat approach is not generic enough as, being an actor, it will fall to the ground, losing the Z axis info -It also (always?/sometimes?) snaps to a path grid node when the cell is reset.

It works both indoors and outdoors

It is intended to modders/scripters that need to move statics, activators and/or containers

The mod is here: TES Nexus

My Mods[edit | edit source]

QQuix Divine Elegance Showroom[edit | edit source]

This mod creates a showroom in Divine Elegance’s basement where live models will wear whatever Palonirya has for sale (Fashion Show style).

And Palonirya is so proud of her showroom that she decided to share it with all clothes and armor merchants in Cyrodill. ANY store.

This Mod is designed to show clothes and armor from any mod that adds them to one of the game shops. Even items/shops that will be created in the future.

QQuix Divine Elegance Showroom at TESNexus

WIP[edit | edit source]

QQuix Fly Away[edit | edit source]

I am writing a lot of complex scripts to make the PC and NPCs fly. This work is intended to the Dragon City Mod and, after the DC mod is released, I intend to add Creature and Object fights and release the whole thing as a Modder’s resource.

QQuix Sail Away[edit | edit source]

A modders resource set of scripts to move a ship along a pre-determined path.