For example,
mob
proc
GetList()
var/list/result = new
for(var/client/c)
if(copyText(c.ckey,1,3) == copyText(client.ckey,1,3))
result += c.mob
return result
verb
say_hi()
set src in GetList()
src << "[usr] says hi to you"
usr << "You say hi to [src]"
Or, this might be easier to implement:
// usr would be set here
proc/CanUseMob(mob/m)
return (copyText(m.client.ckey,1,3) == copyText(usr.client.ckey,1,3))
mob/verb
say_hi()
set CanUseMob(src)
src << "[usr] says hi to you"
usr << "You say hi to [src]"
Or if even that can't be done, at least let us use a var:
obj
var/Xyz
New()
Xyz = (loc == locate(2,2,2))
. = ..()
verb
get()
set src.Xyz
usr << "You get [src]"
Move(usr)
Yes, I know it's a stupid example...