Для очистки заметок

  • Автор темы DeletedUser32313
  • Дата начала

DeletedUser32313

Гость
Описание:
Скрипт привязывает к иконкам заметок функцию очистки.

Как использовать:
1. Переходите на страницу комбинированного обзора деревень.
2. Кликаете на скрипт.
3. Кликаете на иконки заметок, которые требуется удалить.

Место использования:
Комбинированный обзор деревень и карта.

Код:
javascript:

function fn_clear_village_note ( event ) {
    TribalWars.post('info_village', { ajaxaction: 'edit_notes', id: event.data.village_id }, {note: ''}, function(result) {
        event.data.element.find('span[class*=village_note]').remove();
    });
}

function fn_clear_village_note_init () {
    $('tr.nowrap:has( span[class*=village_note] )').each( function(index) {
        var j_element = $(this);
        var data_id = j_element.find('.quickedit-vn').attr('data-id');
        $(this).find('span[class*=village_note]').on('click', { village_id : data_id, element : j_element },  fn_clear_village_note);
    });
}

fn_clear_village_note_init ();
Код:
javascript:
var win = window, loc = win.location;
loc.contains = function(search_value) {
    return window.document.URL.search(search_value) != -1;
};

var NoteCleaner = {

    map: {
        init: function() {
            TWMap.get_village_note = function (village_id) {
                var icon = TWMap.villageIcons[village_id];
                if(icon != undefined && icon.note != undefined) {
                    return icon.note;
                }
                return false;
            };

            TWMap.clear_note = function (village_id, image_source) {
                TribalWars.post('info_village', { ajaxaction: 'edit_notes', id: village_id }, {note: ''}, function(result) {
                    $('img[id=map_icons_' + village_id + ']').each(function(index, element) {
                        var $element  = $(element);
                        if($element.attr('src') == image_source) {
                            $element.remove();
                        }
                    });
                    delete TWMap.villageIcons[village_id].note;
                });
            };

            TWMap.mapHandler.onClick = function(x, y, e) {
                var village = TWMap.villages[x * 1000 + y];
                var note = TWMap.get_village_note(village.id);
                if(note) {
                    TWMap.clear_note(village.id, note.img);
                }
                return false;
            };
        }
    },

    combined_view: {
        clear_note: function ( event ) {
            TribalWars.post('info_village', { ajaxaction: 'edit_notes', id: event.data.village_id }, {note: ''}, function(result) {
                event.data.element.find('span[class*=village_note]').remove();
            });
        },

        init: function() {
            $('tr.nowrap:has( span[class*=village_note] )').each( function(index) {
                var j_element = $(this);
                var data_id = j_element.find('.quickedit-vn').attr('data-id');
                $(this).find('span[class*=village_note]').on('click', { village_id : data_id, element : j_element }, NoteCleaner.combined_view.clear_note);
            });
        }
    },

    init: function () {
        if(loc.contains(/screen=map/)) {
            this.map.init();
        } else {
            this.combined_view.init();
        }
    }
};

NoteCleaner.init();
 
Последнее редактирование модератором:

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
74
Спасибо.
 

DeletedUser31043

Гость
Уважаемые умные головы!!! Придумайте пожалста скрипт,который-бы с карты заметки помогал свои убирать с деревень соплеменников,не заходя в обзор деревни.А то сейчас вся карта бело-голубая стала.
Было-бы не плохо наподобии сбора координат с карты придумать,только тут заметки убирать.
Ну или в профиле игрока,зашёл в профиль и напротив каждой его деревни твои заметки видно...быстро убрал и все.
 
Последнее редактирование модератором:

DeletedUser29874

Гость
давняя проблема..пока не решенная(
 

DeletedUser37470

Гость
Уважаемые умные головы!!! Придумайте пожалста скрипт,который-бы с карты заметки помогал свои убирать с деревень соплеменников,не заходя в обзор деревни.А то сейчас вся карта бело-голубая стала.
Было-бы не плохо наподобии сбора координат с карты придумать,только тут заметки убирать.
Ну или в профиле игрока,зашёл в профиль и напротив каждой его деревни твои заметки видно...быстро убрал и все.

Плюсую Наташ
 

Infinity

Паладин
Оценка реакций
138
это разве не то?
5bmToiW.png
 

DeletedUser32313

Гость
Уважаемые умные головы!!! Придумайте пожалста скрипт,который-бы с карты заметки помогал свои убирать с деревень соплеменников,не заходя в обзор деревни.А то сейчас вся карта бело-голубая стала.
Было-бы не плохо наподобии сбора координат с карты придумать,только тут заметки убирать.
Ну или в профиле игрока,зашёл в профиль и напротив каждой его деревни твои заметки видно...быстро убрал и все.

Нашел время и дописал скрипт.
Теперь скрипт может убирать заметки с карты наподобии сбора координат:
Нажимаете на деревню с иконкой заметки, отправляется запрос на удаление заметки и удаляется иконка.

Код:
var win = window, loc = win.location;
loc.contains = function(search_value) {
    return window.document.URL.search(search_value) != -1;
};

var NoteCleaner = {

    map: {
        init: function() {
            TWMap.get_village_note = function (village_id) {
                var icon = TWMap.villageIcons[village_id];
                if(icon != undefined && icon.note != undefined) {
                    return icon.note;
                }
                return false;
            };

            TWMap.clear_note = function (village_id, image_source) {
                TribalWars.post('info_village', { ajaxaction: 'edit_notes', id: village_id }, {note: ''}, function(result) {
                    $('img[id=map_icons_' + village_id + ']').each(function(index, element) {
                        var $element  = $(element);
                        if($element.attr('src') == image_source) {
                            $element.remove();
                        }
                    });
                    delete TWMap.villageIcons[village_id].note;
                });
            };

            TWMap.mapHandler.onClick = function(x, y, e) {
                var village = TWMap.villages[x * 1000 + y];
                var note = TWMap.get_village_note(village.id);
                if(note) {
                    TWMap.clear_note(village.id, note.img);
                }
                return false;
            };
        }
    },

    combined_view: {
        clear_note: function ( event ) {
            TribalWars.post('info_village', { ajaxaction: 'edit_notes', id: event.data.village_id }, {note: ''}, function(result) {
                event.data.element.find('span[class*=village_note]').remove();
            });
        },

        init: function() {
            $('tr.nowrap:has( span[class*=village_note] )').each( function(index) {
                var j_element = $(this);
                var data_id = j_element.find('.quickedit-vn').attr('data-id');
                $(this).find('span[class*=village_note]').on('click', { village_id : data_id, element : j_element }, NoteCleaner.combined_view.clear_note);
            });
        }
    },

    init: function () {
        if(loc.contains(/screen=map/)) {
            this.map.init();
        } else {
            this.combined_view.init();
        }
    }
};

NoteCleaner.init();

PS: Мне бы кого-нибудь в посредники между мной и админами кто будет общаться с ними на разрешении скриптов и т.д., у меня нет желания писать письмо и ждать по несколько дней ответа от них.
 

Akkela

Кавалерист
Член команды
Модератор
Оценка реакций
74
PS: Мне бы кого-нибудь в посредники между мной и админами кто будет общаться с ними на разрешении скриптов и т.д., у меня нет желания писать письмо и ждать по несколько дней ответа от них.

это ко мне, желательно напрямую в скайп
 
Верх