[Include] [WIP]Objectometry - Create objects in a circular/helical/cylindrical path and much more to come
#1

Objectometry


Introduction

This include helps in creating objects in different types of circular paths/tracks.This include is still under development. The functions below will not work unless streamer plugin is included in your script. Now you can set the "x axis" and "y axis" rotations while using the "facecenter" parameters. Now Shapes can be destroyed/deleted. There are total 12 different types of functions -



WARNING: "DO NOT" create two or more the two circle/whirl/helix in the same slot.

Q.Why "Objectometry" ?
A.I was too much confused with the include name.

There are total 6 different types of functions -
Code:
•CreateDynamicObjectCircle(modelid,Float:posx,Float:posy,Float:posz, Float:rx, Float:ry, Float:rz,Float:radius,Float:sep,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicObjectHelix(modelid,Float:posx,Float:posy,Float:posz, Float:rx, Float:ry, Float:rz,Float:radius,Float:hsep,Float:vsep,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicObjectCylinder(modelid,Float:posx,Float:posy,Float:posz, Float:rx, Float:ry, Float:rz,Float:radius,Float:hsep,Float:vsep,parts,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicObjectWhirl(modelid,Float:posx,Float:posy,Float:posz,Float:rx,Float:ry,Float:rz,Float:radius,Float:sep,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicObjectOutCircle(modelid,Float:posx,Float:posy,Float:posz,Float:rx,Float:ry,Float:rz,Float:radius,Float:sep,parts,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicOutCircle(modelid,Float:posx,Float:posy,Float:posz,Float:rx,Float:ry,Float:rz,Float:radius,Float:sep,parts,Slot,bool:facecenter=false, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•CreateDynamicSineWave(modelid, Float:posx, Float:posy, Float:posz, Float:rx, Float:ry, Float:rz, amplitude, Float:sep, Slot, worldid = -1, interiorid = -1, playerid = -1, Float:streamdistance = 200.0, Float:drawdistance = 0.0)

•DeleteCircle(DeleteSlot)

•DeleteHelix(DeleteSlot)

•DeleteWhirl(DeleteSlot)

•DeleteCylinder(DeleteSlot)

•DeleteInCircle(DeleteSlot)

•DeleteOutCircle(DeleteSlot)

•DeleteSineWave(DeleteSlot)

Updates

UPDATE 1





Testing

Testing script will be available soon.



Parameters

Unknown Parameters:

facecenter - if you want your object to face towards the center of the circular path, set it to "true".

parts - Only available in "CreateDynamicObjectCylinder","CreateDynamicCircle In" and "CreateDynamicCircleOut", let you to specify the parts.

sep/hsep - Horizontal separation between the objects.

vsep - Vertical separation between the objects.

Slot - Allocates a slot for shape/pattern creation. MAXIMUM number of slots is 24 for high speed processing. Each slot refers to each pattern/shape of objects, so according to max number of slots you can only create 24 patterns/shapes i.e. 0 - 23.


Dependencies

Streamer Plugin - incognito [Thank you very much]


Bugs

None yet.


Credits

• Incognito - for streamer plug-in.
• Pattrick356b - for reminding me about, "IsValidDynamicObject(objectid)" function.
• Pottus - for implementing "Objectometry" in his Texture Studio.


Download

******Drive

Much more to come.
Reply
#2

Ehh... Quite a start, very nice... +Repped!
Reply
#3

I will implement this into Texture Studio for sure.

@Edit - Okay I started implementing this into Texture Studio of course I need to modify the include significantly so I hope you don't do too many updates

@Edit - Implemented into Texture Studio and I must say it is really awesome!
Reply
#4

Wow, probably one of the best object'ometery' I have ever seen!

This is absolute beautiful.

Will be using this fo' sure!
Reply
#5

VERY good work!
Reply
#6

AMAZING! good work!
Reply
#7

@Pottus: I am glad to see that you are making the right use of "Objectometry".
@LivingLikeYouDo: Thank you.
@JonathanW: Thank you too.


--------

UPDATE: Now you can download the include via github.

Link: https://github.com/codectile/Objectometry/releases
Reply
#8

Ya it's pretty cool the only thing I need to do is update the functions to translate rotations when face center is turned on. Currently you need to generate an objectmetry then apply it to the map then your able to use rotation functions.

@I got the rotation translation figured out you can see how that works in Texture Studio update later today.
Reply
#9

@Pottus: Dealing with rotations/angles is quite difficult, but you did it very professionally. Dealing with them is out of my bounds.
Reply
#10

Fantastic work! Something I probably wouldn't be able to do very easily.
Reply
#11

Sweet! Now I'll be finally able to make stunt maps ALOT easier.
Reply
#12

UPDATE

• Objectometry v1.1
• Now the shape consisting of objects can be deleted.
• You can set the "x" and "y" rotation, while using "facecenter" parameter.
• Documentation will be updated tomorrow.
• Source code on github has been updated.
Reply
#13

You should really take a look at how I updated the include for Texture Studio.
Reply
#14

Good Job!
Reply
#15

@pottus: How can i find objectometry codes within a huge chunk of other codes. A pm of your edited version would be quite better.
Reply
#16

Look it over.

http://pastebin.com/WufTNZsF
Reply
#17

@Pottus: I liked the way you edited them, but I am trying to make these functions more simpler as I am very less experienced with trigonometry.
Reply
#18

Quote:
Originally Posted by codectile
Посмотреть сообщение
@Pottus: I liked the way you edited them, but I am trying to make these functions more simpler as I am very less experienced with trigonometry.
Ya I failed trig hard myself when in school in fact the rotation function AttachPoint() is written by Stylock he really understands how that works a lot better than myself but I know enough to utilize the function for it purpose.
Reply
#19

Documentation has been updated.

EDIT: If someone requires a tutorial please send me a private message in here so that I can post a tutorial for it, I am saying this because it is a thing which has many complications. Well, these complications can be eradicated after going through the tutorial.
Reply
#20

In your Create functions, use:

Код:
if(IsValidDynamicObject( _Array_Name_[Slot][i] ) return 0; // tells the script the function didn't succeed
Replace _Array_Name_ with the corresponding array for each function.

Example: _DelCylinder and _DelHelix

This will prevent an already used slot to be used multiple times


Anyway: nice work.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)