ID:2089402
 
I think you can see the problem here, I cant.

Code:
mob
Merchant
icon = 'NPCs.dmi'
icon_state = "Clothing"
name = "{NPC}Merchant"
npc = 1
verb
Talk()
set category = "NPC's"
set src in oview(2)
switch(input("Yo sup, wanna buy some clothes?", text) in list ("Yes","No"))
if("Yes")
switch(input("What do you want to buy?", text) in list ("BlackMask"))
if("BlackMask")
var/K = new/obj/BlackMask
K:loc = usr
usr << "<b>Have a nice day!"
var c = input(src, "MESSAGE", "TITLE", rgb(50, 150, 250)) as color


Problem description:SpecialSeller.dm:27:error: /obj/BlackMask: undefined type path
SpecialSeller.dm:30:warning: c: variable defined but not used


var/K = new/obj/BlackMask


The problem is simply you did not define the type of object you are attempting to create (above). In the following example, I am defining a new type of obj named mynewobj:

obj
mynewobj
icon = 'someicon.dmi'
// insert other properties...


Your warning is straightforward. You prepared the c variable for use but never use it (not in this snippet, at least).
Edit: Does that even compile? that's some seriously jacked up indentation.

Replace
var/K = new/obj/BlackMask

with
var/obj/BlackMask/K = new

And
K:loc = usr

with
K.loc = usr
Even better:

var/obj/BlackMask/K = new(usr)

There's no reason to set the loc after the fact when it can be set in new(). This code is cleaner and faster.

But K isn't really needed at all, so even better is:

new /obj/BlackMask(usr)

That said, because this is a shop, I would expect multiple kinds of items to be sold. A switch() is a terrible choice here. Far better is:

var/list/items = list("Black Mask"=/obj/BlackMask, ...)
...
var/choice = input(...) as null|anything in items
var/itemtype = items[choice]
if(!itemtype) return
new itemtype(usr)
...

That doesn't take cost into consideration, but basically that's just to demonstrate how an associative list can make this code much cleaner.
In response to Lummox JR
I honestly had totally forgotten that new() took a loc. That's refreshing. But anyways, I went back to OP's code and noticed that he's also trying to customize an object's color, so the snippet you showed won't work in this case.

@OP, it's blatantly obvious that you copy and pasted this line
var c = input(src, "MESSAGE", "TITLE", rgb(50, 150, 250)) as color

from here and just plugged it in to your project without having a clue as to what it did/how to use it. That's why the compiler is throwing this error:
warning: c: variable defined but not used

Dude, you didn't even bother to change the title or message displayed.. you can't just blindly copy and paste. You're doing absolutely nothing with the color retrieved :/