123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- executeOnce = databank.prepare("CREATE TABLE IF NOT EXISTS friends (player_id INT NOT NULL, friend_id INT NOT NULL, time BIGINT NOT NULL, PRIMARY KEY (player_id, friend_id), FOREIGN KEY (player_id) REFERENCES minecraft.players(id) ON DELETE RESTRICT);");
- databank.workerExecute(executeOnce);
- event.load("custom_command");
- map.new(newfriends);
- map.new(aliasmap);
- map.add(aliasmap, "f", "friend");
- freundepräfix = "§5Freunde";
- msg("dev", "§bFriends §rwurde geladen");
- @wait
- wait();
- if(event == "custom_command") {
- origin = map.get(aliasmap, command);
- if(origin != null) {
- command = origin;
- }
- size = list.getSize(args);
- if(command == "friend") {
- if(size == 0) {
- goto("syntax");
- } else {
- arg0 = text.toLowerCase(list.getIndex(args, 0));
- if(arg0 == "add") {
- goto("add");
- } elseif(arg0 == "remove") {
- goto("remove");
- } elseif(arg0 == "list") {
- goto("list");
- } else {
- goto("syntax");
- }
- }
- }
- }
- goto("wait");
- @syntax
- player.speak(player, freundepräfix, "§r/friend ...");
- msg(player, "§5 - add <name> §rMarkiert einen Spieler als Freund");
- msg(player, "§5 - remove <name> §rEntfernt einen Spieler als Freund");
- msg(player, "§5 - list §rListet deine Freunde auf");
- goto("wait");
- @add
- if(size != 2) {
- player.speak(player, freundepräfix, "§r/friend add <name>");
- goto("wait");
- }
- friend_name = list.getIndex(args, 1);
- if(player_name == friend_name) {
- player.speak(player, freundepräfix, "§rDu kannst dich nicht selbst einladen");
- goto("wait");
- }
- player_id = player.getId(player);
- if(!checkIfEverOnline(friend_name)) {
- player.speak(player, freundepräfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- friend_id = player.getId(player.getUuid(friend_name));
- if(isAFriend(player_id, friend_id)) {
- player.speak(player, freundepräfix, "§rDieser Spieler ist bereits dein Freund");
- goto("wait");
- }
- if(map.contains(newfriends, friend_id)) {
- if(map.get(newfriends, friend_id) == player_id) {
- addFriend(player_id, friend_id);
- map.remove(newfriends, friend_id);
- player.speak(player, freundepräfix, concat("§rDu bist nun mit §7", friend_name, "§r befreundet"));
- sendmessage(friend_name, freundepräfix, concat("§rDu bist nun mit §7", player_name, "§r befreundet"), true);
- goto("wait");
- }
- }
- map.add(newfriends, player_id, friend_id); //Einlader, Eingeladener
- player.speak(player, freundepräfix, concat("§rDu hast §7", friend_name, "§r eine Einladung geschickt"));
- sendmessage(friend_name, freundepräfix, concat("§7", player_name, "§r möchte dein Freund sein"), true);
- if(isOnline(friend_name)) {
- friend = read.player(friend_name);
- msg(friend_name, text.click("§r[§aAnnehmen§r]", concat("/friend add ", player_name)));
- }
- goto("wait");
- @list
- if(size != 1) {
- player.speak(player, commandspräfix, "/friend list");
- } else {
- player_id = player.getId(player);
- friendlist = getFriendsList(player_id);
- listsize = list.getSize(friendlist);
- if(listsize == 0) {
- player.speak(player, freundepräfix, "§rDu hast noch keine Freunde");
- } else {
- msg(player, "§5Freunde:");
- for(i = 0; i <= listsize - 1; i++) {
- msg(player, "§r- ", list.getIndex(friendlist, i));
- }
- }
- }
- goto("wait");
- @remove
- if(size != 2) {
- player.speak(player, freundepräfix, "§r/friend remove <name>");
- } else {
- friend_name = list.getIndex(args, 1);
- player_id = player.getId(player);
- if(!checkIfEverOnline(friend_name)) {
- player.speak(player, freundepräfix, "§rDieser Spieler war noch nie online");
- goto("wait");
- }
- friend_id = player.getId(player.getUuid(friend_name));
- if(!isAFriend(player_id, friend_id)) {
- player.speak(player, freundepräfix, "§rDieser Spieler ist nicht dein Freund");
- goto("wait");
- }
- deleteFriend(player_id, friend_id);
- deleteFriend(friend_id, player_id);
- player.speak(player, freundepräfix, concat("§rDu bist nun nicht mehr mit §7", friend_name, "§r befreundet"));
- sendmessage(friend_name, freundepräfix, concat("§rDu bist nun nicht mehr mit §7", player_name, "§r befreundet"), true);
- }
- goto("wait");
|