ID:272957
 
Well, I'm wondering if it is at all possible to make it so one mob can only see itself, and a few other predefined mobs.

EX. Mob A (the player) is having a cut scene. Mob B and mob C are spawned during that cut scene (NPCs) but, mob D (another player) in the area. I would want it so that only the mobs spawned during the cut scene and the players mob itself to be seen by the player.

If that makes any sense to you could you tell me if its at all possible? If it is possible explain what I'd have to do, I'm expecting to hear something with images but I'm probably WAY off
You could do it the easy way and use invisibility. You set the default value to 2(see_invisible matches or you can't see yourself), and you lower it to 1(same with see_invisible). This makes you unable to see anyone with a higher invisibility setting, but able to see anyone in the cut scene.
In response to Kaiochao
mob
invisibility = 2
see_invisible = 2

mob
proc
cutscene()
src.invisibility = 1
src.see_invisible = 1
var/mob/mob_spawned = new
mob_spawned.invisibility = 1
mob_spawned.see_invisible = 1


What about if two mobs were experiencing the same cut scene at the same time, which would allow them to see each other. AND
As in the example mob D would have the ability to see them due to its see_invisible being equal to 2 is there any way to get rid of that too?
In response to Kaiochao
Alternatively:

1) you can use SwapMaps to create a template map and spawn mobs there... and check the client's eye to loc()ate to the map to see the map (which can be seen, from beginning to end, to that client only). You have to make sure that client.perspective = EYE_PERSPECTIVE|EDGE_PERSPECTIVE (edge so the void after the map is hidden and you can edit edge_limit)

2) Check out the BLIND variable as well. Blind yourself from all mobs but make it so you can SEE_SELF ;)
In response to GhostAnime
2: He wants to see people in the cutscene along with himself. Seeing just yourself would be talking to god or something(which can happen in a game, actually..)
In response to King killer 113711
Which is why I said it was the easy way. The easy way isn't always the most efficient.
In response to GhostAnime
GhostAnime wrote:
Alternatively:

1) you can use SwapMaps to create a template map and spawn mobs there... and check the client's eye to loc()ate to the map to see the map (which can be seen, from beginning to end, to that client only). You have to make sure that client.perspective = EYE_PERSPECTIVE|EDGE_PERSPECTIVE (edge so the void after the map is hidden and you can edit edge_limit)

2) Check out the BLIND variable as well. Blind yourself from all mobs but make it so you can SEE_SELF ;)

In response to #1: I've never been ANY good with swap maps, but I'll try to look into what I can do with it.

In response to #2: I was taking a look at that but it seems there is no way to show only certain mobs. I know I can make it so I can always see myself but I cant make it so I don't see certain mobs(The ones not spawned in the cut scene) am I correct or did I miss something in the reference?

[EDIT]
For Swap maps is it possible to like, create the other map off the map I already have? just like a clone and switch between them for the cut scene purpose? Like one map per mob and switch the clients eye to the new cut scene map have the cut scene, then switch back to the game
[/EDIT]
In response to King killer 113711
King killer 113711 wrote:
In response to #1: I've never been ANY good with swap maps

(Just so you know, that is meaningless.)

In response to #2: I was taking a look at that but it seems there is no way to show only certain mobs.

You're quite correct, there isn't really a way to accomplish this through sight.
A very quick summary of your options:
-Use invisibility and see_invisible. This is both easy to do and works great, but a big problem with it is that you can't control it well enough (who can see what). Because of that, in a lot of cases it just isn't suitable.
-Give no actual icons to the NPCs that aren't supposed to be seen by everybody, and instead manage their appearance through /image objects which are only output to certain player(s). This has many drawbacks though because it is relatively difficult and complex to do, and because you're discarding BYOND's default appearance system (atoms' icons) a lot of functionality is lost (like flicking, changing of icon according to dir, and much more), and it's very bothersome to reimplemented it (and sometimes not feasible or even possible).
-Do the cutscene in a separate map area in which only the players that participate are. Because you're still using BYOND's usual appearance system, this will work great compared to the 2nd option, with also the added bonus that you won't need to prevent players from interacting with NPCs they're not supposed to be aware of - because those players won't be around! There are obvious drawbacks though, as it will probably be pretty clear to the player to see he's jumped into a new area, and he's separated from anyone else, etc, etc.

It seems the 3rd one is indeed the best option.

[EDIT]
For Swap maps is it possible to like, create the other map off the map I already have? [...]

Yes, exactly.
In response to Kaioken
So, After being directed to swap maps as the best possible way of going about this cut scene I'm just wondering exactly how I go about making the new clone of the old map? I don't really get swap maps much, the "help file" that is given, doesn't explain well for me