Ejemplo n.º 1
0
int filter_snoopers(object ob) {
    object tmp;

    seteuid(UID_SNOOP);
    tmp = query_snoop(ob);
    seteuid(getuid());
    return !(!tmp);
}
Ejemplo n.º 2
0
int cmd_st(string str) {
    mixed *user_list;
    object who;
    int loop;

    if (!adminp(geteuid(TP)) && !lawp(geteuid(TP))) {
	notify_fail("St: Permission denied.\n");
	return 0; }

    if(!str || str == "") {

	user_list = users();
	user_list = filter_array(user_list, "filter_snoop", this_object());

	if(!user_list || !sizeof(user_list)) {
	    write("St: No one is presently being snooped.\n");
	    return 1; }

	printf("Snoop Trace Display [%d user%s]\n", sizeof(user_list),
	  ((sizeof(user_list) > 1) ? "s" : ""));
	write("===================\n\n");

	for(loop=0; loop<sizeof(user_list); loop++)
	    printf("%s is being snooped by %s\n", 
	      (string)user_list[loop]->link_data("cap_name"),
	      (string)query_snoop(user_list[loop])->link_data("cap_name") );
	write("\n");

	return 1; }

    str = lower_case(str);

    who = find_player(str);

    if(!who) {
	notify_fail("St: No such user.\n");
	return 0; }

    if(query_snoop(who))  
	printf("St: %s is being snooped by %s.\n",
	  (string)who->query("cap_name"),
	  (string)query_snoop(who)->link_data("cap_name"));
    else printf("St: %s is not presently being snooped.\n",
	  (string)who->query("cap_name"));

    return 1; }
Ejemplo n.º 3
0
int main(object me, string arg)
{
	object ob, ob1;

	if( !arg ) {
		if( objectp(ob = query_snooping(me)) )
			write("─у╧╓╘┌╒¤╘┌╝р╠¤" + ob->query("name") + "╦∙╩╒╡╜╡─╤╢╧вбг\n");
		else
			write("─у╧╓╘┌▓╗╘┌╝р╠¤╚╬║╬╨┼╧вбг\n");	
		return 1;
	} else if( arg=="none" ) {
		if( objectp(ob = query_snooping(me))
		&&	wiz_level(ob) >= wiz_level(me) )
			tell_object(ob, HIW + me->name(1) + "═г╓╣╝р╠¤─у╦∙╩╒╡╜╡─╤╢╧вбг\n" NOR);
		snoop(me);
		if (objectp(ob))
			write("─у╧╓╘┌═г╓╣╝р╠¤" + ob->query("name") + "╦∙╩╒╡╜╡─╤╢╧вбг\n");
		else
			write("─у╧╓╘┌▓╗╘┌╝р╠¤╚╬║╬╨┼╧вбг\n");
		return 1;
	}

	ob = find_player(arg);
	if(!ob) ob = find_living(arg);
	if(!ob || !me->visible(ob)) return notify_fail("├╗╙╨╒т╕Ў╚╦бг\n");

	if( wizhood(me) != "(admin)"
	&&	wiz_level(me) <= wiz_level(ob) )
		return notify_fail("─у├╗╙╨╝р╠¤" + ob->name() + "╦∙╩╒╠¤╤╢╧в╡─╚и└√бг\n");

	if( me==ob ) return notify_fail("╟ы╙├ snoop none ╜т│¤╝р╠¤бг\n");
	
	if (objectp(ob1=query_snoop(ob)))
		return notify_fail(ob1->name()+"╒¤╘┌╝р╠¤"+ob->name()+"╡─╨┼╧вбг\n");
	
	if (ob->query_temp("netdead",1))
		return notify_fail("┤╦╚╦╒¤┤ж╘┌╢╧╧▀╫┤╠мбг\n");
	
	if (!userp(ob))
		return notify_fail("├╗╖и╟╘╠¤NPC╨┼╧в╡─бг\n");
				
	snoop(me, ob);
	write("─у╧╓╘┌┐к╩╝╟╘╠¤" + ob->name(1) + "╦∙╩╒╡╜╡─╤╢╧вбг\n");
	if( userp(ob) ) log_file("SNOOP_PLAYER",
		sprintf("%s(%s) snoops %s on %s.\n", me->name(1), geteuid(me), ob->name(1),
			ctime(time()) ) );
	if( wizardp(ob) && wizhood(me) != "(admin)")
		tell_object(ob, HIW + me->name(1) + "┐к╩╝╝р╠¤─у╦∙╩╒╡╜╡─╤╢╧вбг\n" + NOR);

	return 1;
}
Ejemplo n.º 4
0
int cmd_snoopers(string str) {
    object *who;
    object snooper;
    int i, max;

//    if(!archp(previous_object())) return 0;
   who=users();
    if(!(max = sizeof(who))) {
        write("No one is snooping anyone.\n");
        return 1;
    }
    for (i = 0; i < sizeof(who); i++) {
        seteuid(UID_SNOOP);
	snooper = query_snoop(who[i]);
        seteuid(getuid());
        if(member_group(geteuid(snooper), "superuser") &&
          !member_group(geteuid(previous_object()), "superuser")) continue;
        write(capitalize((string)who[i]->query_name())+" is being snooped by "+capitalize((string)snooper->query_name())+".\n");
    }
    return 1;
}
Ejemplo n.º 5
0
static object filter_snoop(object obj) {  return query_snoop(obj);  }