Перейти к содержимому


Эмоции


В теме одно сообщение

#1 miceZipper

    Новичок

  • Пользователи
  • Pip
  • 12 сообщений
  • ГородЯрославль

Отправлено 13 Июль 2011 - 19:13

В принципе, вопросов у меня по этому скрипту нет. Все несколько раз проработано, основные баги исправлены. Эмоции берутся из текстового файла. Пишутся они в таком виде:
Поцеловать;поцеловал(а)
Укусить;укусил(а)
Снятьтрусы;попытался(лась) снять трусы
Обнять;обнял(а)
Чмокуть;чмокнул(а)
Согреть;согрел(а)
Танцевать;танцует для
Уважаю;уважает
Неуважаю;неуважает
Люблю;любит
Оченьлюблю;любит всем сердцем
Нравиться;нравиться
Улыбнуться;улыбнулся(лась)
Шлеппопу;шлепнул(а) по попке
Хочу;хочет
Фак;показал(а) фак
Показпопу;показал(а) попу
Показгрудь;показал(а) грудь
Угрожать;угрожает
Заиграть;заигрывает c
Намекнуть;намекнул(а) на секс
Позватьгулять; позвал(а) погулять наедине
Пригласитькино;пригласил(а) в кино
Пригласитьгости;пригласил(а) к себе на хату
позватьбар;позвал(а) в бар попить пива
Угоститьсиг;угостил(а) сигаретой
Угоститьпиво;угостил(а) холодным пивом
Угоститькок;угостил(а) вкусным коктейлем
Угоститькреп;угостил(а) техническим спиртом
Предложитьсекс;предложил(а) заняться сексом
Отказ;отказал(а)
Согласие;согласился(лась) c высказыванием
Дружить;дружит с
Презрение;презирает
Ненависть;ненавидит

так выглядит этот файл у меня. Конечно, кол-во эмоций в файле зависит только от вашей фантазии и терпения их туда вносить.
Собственно, сам код скрипта. В нем я допустил несколько неточностей. Возможно, я импортирую то, что не использую. Это связано с тем, что я еще не совсем изучил какие библиотеки для чего нужны.
Закомментировал проверку полномочий. Ибо не вижу необходимости в этом. Однако не удалил, если вдруг для отладки или для чего-нибудь еще понадобится эта проверка.

Возможно, эта реализация неоптимальна. Если есть идеи, как улучшить этот скрипт, напишите, пожалуйста, ведь я только изучаю создание скриптов ^_^
import ru.jimbot.modules.AbstractServer;
import ru.jimbot.util.*;
import ru.jimbot.modules.chat.*;
import ru.jimbot.modules.*;
import ru.jimbot.Manager;

//Установка скрипта как обработчика команды
if(in.equals("install")){
cmd.addCommand("!действие", new Cmd("!действие","$c $n",39,name));
cmd.addAuth("action_users","Действия над пользователями");
out="Ok";
return;
}

// Проверим полномочия
/*if(!cmd.isChat(proc,uin) && !cmd.psp.testAdmin(uin)) return;
if(!cmd.auth(proc,uin, "hit")) return;*/

try{
	//Парсим строку аргументов
	Vector v = cmd.getParser().parseArgs(msg);
	String command_1 = (String)v.get(0);
	command_1 = command_1.toLowerCase();
	int i2 = (Integer)v.get(1);
	Users victor = cmd.srv.us.getUser(uin);
	String[] temp = null;
	//Загружаем действия из файла
	String s = cmd.psp.loadText("./services/Test/scripts/command/text/act_us.txt");
	String[] ss = s.split("\n");

	// Находим юзера
	Users u = cmd.srv.us.getUser(i2);

	// Несколько проверок тупости пользователя
	if(!command_1.equals("помощь")){
	if(u.id==0){
		proc.mq.add(uin,"Пользователь не найден");
		return;
	}
	if(u.state!=UserWork.STATE_CHAT){
		proc.mq.add(uin,"Этого пользователя нет в чате.");
		return;
	}
	if(victor.id==u.id){
		proc.mq.add(uin,"Ты не можешь производить действие над самим(ой) собой");
		return;
	}
	
	//Считываем эмоции из файла
	String[] temp = null;
	for(int i=0;i<ss.length;i++){
		temp = ss[i].split(";");
		temp[0] = temp[0].toLowerCase();
		if(temp[0].equals(command_1)){
			cmd.srv.cq.addMsg("*" + victor.localnick + "|"+ victor.id + "| "+ temp[1]+" " + u.localnick + "|"+ u.id+"|", "", u.room);
			return;
		}
	}
	proc.mq.add(uin,"Такой команды нет");
	return;
	}else{
	//Выводим помощь. Считываем каждую эмоцию их файла и добавляем в строку
	String help = "Доступные команды:\n";
	for(int i=0;i<ss.length;i++){
		temp = ss[i].split(";");
		temp[0] = temp[0].toLowerCase();
		help+=temp[0] + " ";
	}
	help += "\nСинтаксис: !действие <команда> <id>\nНапример: !действие уважаю 1";
	proc.mq.add(uin,help);
	return;
	}
} catch (Exception ex) {
ex.printStackTrace();
proc.mq.add(uin,"Ошибка "+ex.getMessage());
} 

Сообщение отредактировал miceZipper: 13 Июль 2011 - 21:15


#2 Мид

    Пользователь

  • Пользователи
  • PipPip
  • 85 сообщений

Отправлено 13 Июль 2011 - 20:26

Мне нравится,кто то выкладывал интерактивную команду действий, за действие снимались балы которые устанавливаются в админке. Все супер и список действий не ограничен. Надо попробовать в исходниках так сделать ! + автору





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей