Poll

Which icon should be used as the spot icon

Option 1
Option 2
Option 3

Author Topic: Player spotting device (item)  (Read 4053 times)

So i made a post a while back asking for a com-morose system. Pretty much it would a gui that pops up when a binded key is pushed and you could select commands and requests from. However with the amount of support it got, nobody was able to help me out. So i have a better idea.

The spotting item
So pretty much how i was thinking this could work is that you would take the item, give it a block hand model, and have it where it fires raycasts. If the raycast hits a player; the player hit by the raycast would have a marker over his head (I.E a small red arrow) that would last around 15 seconds and would have a 3 second cool down for every time you try to spot. Now on a successful spot, the Spotting item would play the 3D sound "Ive spotted enemy infantry" thus giving the audio illusion (if you would call it that) that the player himself is calling out what he has seen.

What its useful for
The spotting device could be a quick way to relay to your team members that there is infantry spotted and we need to take care of them. Or as a sniper you can go in and act as a recon, spotting infantry for an assault. Or you can use this to spot snipers so your team can counter snipe.

What i can contribute
I can whip up sounds and icons we need



Option 1


Icon will obviously be smaller
« Last Edit: January 25, 2015, 09:45:17 AM by Ctrooper »


This seems interesting
But I think i spotted a problem here
How are we going to differentiate what team the spotted player is on? IE Frendly Fire

Slayer teams. Getteam()

I like this idea. Perhaps make the person send a team message too?

I coded half of it. Someone handle the sound and messaging?

P.S. This only works for slayer minigames. Also instead of making an item for it, why not make it the sprayPaint keybind (WHEN spraypainting in minigame is disabled..)?
Code: [Select]
package spottingMod
{
function serverCmdActivateStuff(%client) // This overwrites using E for activating blocks in game. Clicking should still work fine.
{
%player = %client.player;
%start = %player.getEyePoint();
%end = vectorAdd(%start, vectorScale(%player.getEyeVector(), 12));
%mask = $TypeMasks::PlayerObjectType;
%result = ContainerRayCast(%start, %end, %mask, %player);
%enemyPlayer = getWord(%result, 0);
if(isObject(%enemyPlayer))
{
if(%client.slyrTeam.name !$= %enemyPlayer.client.slyrTeam.name)
{
// player messages other players
// Mark goes above %enemyPlayer's datablock.
}
}
}
};
activatePackage(spottingMod);

Quote
P.S. This only works for slayer minigames. Also instead of making an item for it, why not make it the sprayPaint keybind (WHEN spraypainting in minigame is disabled..)?

Great idea!

Quote
Slayer teams. Getteam()

Brilliant

Quote
I like this idea. Perhaps make the person send a team message too?
Thanks to Dannu i think this can happen as well, i have Voice Overs with radio effects for this

And i can handle the sounds and messaging, and ill also provide an Icon and we can vote on whether or not we like how it looks

this sounds really cool. maybe if you spot a vehicle the marker would be slightly different.

Reminds me of the spotting system in robocraft could it also tell the playertype of the spotted player?
that would be nice

this sounds really cool. maybe if you spot a vehicle the marker would be slightly different.

Reminds me of the spotting system in robocraft could it also tell the playertype of the spotted player?
that would be nice

Maybe we can use the same logic that The sidewinders for Strato's F18 uses to detect vehicle/playertypes

I coded half of it. Someone handle the sound and messaging?

P.S. This only works for slayer minigames. Also instead of making an item for it, why not make it the sprayPaint keybind (WHEN spraypainting in minigame is disabled..)?
Code: [Select]
package spottingMod
{
function serverCmdActivateStuff(%client) // This overwrites using E for activating blocks in game. Clicking should still work fine.
{
%player = %client.player;
%start = %player.getEyePoint();
%end = vectorAdd(%start, vectorScale(%player.getEyeVector(), 12));
%mask = $TypeMasks::PlayerObjectType;
%result = ContainerRayCast(%start, %end, %mask, %player);
%enemyPlayer = getWord(%result, 0);
if(isObject(%enemyPlayer))
{
if(%client.slyrTeam.name !$= %enemyPlayer.client.slyrTeam.name)
{
// player messages other players
// Mark goes above %enemyPlayer's datablock.
}
}
}
};
activatePackage(spottingMod);
if(!%isObject(%client.minigame))
{
    parent::serverCmdActivateStuff(%client);
    return;
}


???

We will use Option 1 as the spot icon.

Anyone got a model, id like to test this out as a "click to spot" before anything else.
« Last Edit: January 25, 2015, 09:46:20 AM by Ctrooper »

Model is pointless. It should be Paintcan like suggested. The item is more of a liability than anything.

okay ill try it as a paint can.

I love this idea. How's it going?