Forums » Suggestions
Positionable Primitives
So, I had a few event ideas lately, mostly because VaultRaid seems like it'll be real successful in capturing player attention [I hope, anyways], but i'm running into a bit of a wall: I have no way to define objectives or visual cues in my events outside of using my own ship and chat. While it doesn't need to be visually complex, as a host, i'd like to be capable of expanding on some of these ideas, and decided that having some way to create "primitives" - simple shapes - would be what I hope is both simple and versatile.
Obviously, there would be some concerns over giving these tools to anyone, so I have a few limitiations in mind:
1) Positioning models is done "relative" to the host's position (or, AT the host's position if that is still too much)
2) A pilot MUST be flagged as a host by a guide, and that flag is only active in the sector it is applied, much like the current ship invulnerability flag
2a) The test server ignores this rule, letting pilots in the PCC test their plugins using these tools
3) A limit on the number of primitives a pilot can create can be applied, though I'd like at least 24
What I have in mind is from the old Sedina H9 sector (the thunderbowl, where capture the flag use to be held), where a massive square "force field" - like the kind you see on station exits - could be found. A primitive would just be a shape with that visual look. Targetting it is optional (and nameable, for creating "bases" in events or whatever), and while no collision would occur, if a pilot flies into/through the model, an event would fire off returning the primitive's ID and the player.
IF this gets implemented, i've an idea for an objective-based tug of war PvP event i'd like to get started on, as well as just sprucing up TeamDX and VaultRaid, among other things.
=======================================================
possible functions and event brainstorming:
=======================================================
gkprim - functions specific to creation and management of simple models used for various events
gkprim.CreatePrimitive(numbers rx, ry, rz, string type, number size, ??? color, string name, bool targettable)
creates a primitive object in space
rx, ry, rz: Relative position of primitive from host's ship
type: type of model to create; square, circle, cube, sphere
size: scale of model from model's center point
color ???: hexrgb or color index or whatever would be easy to implement
name: the name of the primitive if someone targets it
targettable: if the model can be targetted or not
returns bool success, number id
success: did operation succeed? if false, id is failure reason
id: identifier of primitive
gkprim.DeletePrimitive(number id)
Removes a created primitive if it exists
returns bool success
gkprim.AlterPrimitive(number id, number size, ??? color)
Changes the size and/or color of an existing primitive
returns bool success
event "PRIMITIVE_TRIGGERED"
processed when a pilot enters/crosses a primitive's hitbox
returns number primitiveID, number playerID
Obviously, there would be some concerns over giving these tools to anyone, so I have a few limitiations in mind:
1) Positioning models is done "relative" to the host's position (or, AT the host's position if that is still too much)
2) A pilot MUST be flagged as a host by a guide, and that flag is only active in the sector it is applied, much like the current ship invulnerability flag
2a) The test server ignores this rule, letting pilots in the PCC test their plugins using these tools
3) A limit on the number of primitives a pilot can create can be applied, though I'd like at least 24
What I have in mind is from the old Sedina H9 sector (the thunderbowl, where capture the flag use to be held), where a massive square "force field" - like the kind you see on station exits - could be found. A primitive would just be a shape with that visual look. Targetting it is optional (and nameable, for creating "bases" in events or whatever), and while no collision would occur, if a pilot flies into/through the model, an event would fire off returning the primitive's ID and the player.
IF this gets implemented, i've an idea for an objective-based tug of war PvP event i'd like to get started on, as well as just sprucing up TeamDX and VaultRaid, among other things.
=======================================================
possible functions and event brainstorming:
=======================================================
gkprim - functions specific to creation and management of simple models used for various events
gkprim.CreatePrimitive(numbers rx, ry, rz, string type, number size, ??? color, string name, bool targettable)
creates a primitive object in space
rx, ry, rz: Relative position of primitive from host's ship
type: type of model to create; square, circle, cube, sphere
size: scale of model from model's center point
color ???: hexrgb or color index or whatever would be easy to implement
name: the name of the primitive if someone targets it
targettable: if the model can be targetted or not
returns bool success, number id
success: did operation succeed? if false, id is failure reason
id: identifier of primitive
gkprim.DeletePrimitive(number id)
Removes a created primitive if it exists
returns bool success
gkprim.AlterPrimitive(number id, number size, ??? color)
Changes the size and/or color of an existing primitive
returns bool success
event "PRIMITIVE_TRIGGERED"
processed when a pilot enters/crosses a primitive's hitbox
returns number primitiveID, number playerID