(В продолжение этой темы)
http://www.gwars.io/messages.php?fid=27&tid=169282&page_id=5
Посвящается тем, кто все таки очень хочет ;)
Создание скриптов длиной в 228 символов (а именно столько и вмещается в поле
"Адрес страницы" в настройках персонажа) задача была не простая... (но
довольно интересная ;))
Поэтому все ниженаписанное сможет "асилить" только терпеливый и сделать только
"продвинутый пользователь". Поэтому тем, кто не хочет утруждать себя, за 100к
я поработаю над Вашим набором сетов персонально ;)
ВНИМАНИЕ: тестировалось это все только на Мозилле и на Фаерфоксе! Кто сможет
протестировать это на ослике, милости просим!
А теперь, приступим.
По адресу http://pastebin.com/f4460473d лежат скрипты и примеры скриптов,
которые у меня сейчас.
Для начала небольшой пояснение, в 228 символов мне все таки не удалось впихнуть
ВЕСЬ скрипт, который у W_or_M'а занимает 1000 с копейками, но удалось
"разделить" его на две части. Одна из них будет занимать одну позицию в
ссылках навигации и ничего полезного Вам в ней не будет, с этим придется
смириться если хотите быстрый доступ к наборам. Код этой части - Script #1 (по
ссылке выше), вставляете этот код в адрес какого-нибудь поля в навигации,
название можно ему не давать (оставить пустым), сохраняете.
Идем далее.
Сам по себе список обычного сета из 7 и выше вещей через запятую уже может даже
и не влазить в эти 228 символов, которые у нас под все имеются, поэтому я
использовал добавочный механизм одевания по номеру этой вещи в инвентаре.
Для тех, кто не в курсе, все вещи в инвентаре пронумерованы начиная с единицы
(айди вещи можно определить, наведя ссылку на ссылку "Передать", там
высветится ссылка вроде http://....home.senditem.phpp?item=2&item_tag=...., вот
число после 'item' (в нашем случае это 2) и есть её порядковый номер в
инвентаре. Заметьте, что если использовать только id вещи, то если вы её уберете
из инвентаря, id вещей выстраивается заново, т.е. id нижних вещей будет уменьшен
на единицу, и надо будет переделывать все скрипты в навигации заново. Однако
если вы все таки будете использовать ID-шник для некоторых вещей, то старайтесь
переместить эту вещь в самый верх инвентаря и проследите за тем, чтобы не
допускать смены ID.
Более предпочтительный способ - сокращение названия.
Для этого нужно определить в названии предмета последовательность символов,
которая встречается только в нем, например в слове "Броня 6 класса" это "ня
6" (однако если бы у меня лежала еще "Легкая броня 6 класса", то это бы не
сработало и вполне возможно что ЛБ6 могла одеться вместо нужной мне Брони 6
класса.
Теперь, если вы решили как будете определять предметы, нужно составить список
этих предметов. Названия БЕРЕМ В КАВЫЧКИ, цифры идут без кавычек. Если нужно
какой-либо предмет, например сотку взять в левый карман, то можно использовать
её ID и номер слота. Номер слота можно определить из ссылки одевания, например
ссылка "Пояс" http://www.gwars.io/home.do.php?item=4&take=1 - одевает у
меня нокию в первый слот, а ссылка "Левый карман"
http://www.gwars.io/home.do.php?item=4&take=2 одевает его во второй слот.
Вещи, которые нужно одеть в слот представляются встроенным массивом, например
[12,2] - одевает у меня телефон в левый карман. Такие конструкции не нужно брать
в кавычки.
Когда вы составите полный список вещей, поставьте между ними запятые и поместите
заместо символов "YOUR ITEM LIST HERE" в скрипт #2 (5-я строчка по ссылке
выше).
Теперь самое ГЛАВНОЕ.
Нужно измерить длину этого скрипта (для этого можно вставить его в какой-нибудь
текстовый редактор, например в Word). Если это число больше 228, то удаляйте и
начинайте заново (шутка).
Попробуйте сократить названия предметов до предела. Желательно чтобы сокращенное
название не было больше 3-х символов. Либо как варианты, отсортировывайте все
вещи в инвентаре и указывайте их ID.
Если второй вариант не очень подходит и все вещи часто меняются, то предлагаю
использовать сокращенный вариант скрипта (Скрипт №3, строка 12). В этом варианте
при одевании набора страница не обновляется и вы не сможете узнать наделись они
или нет, пока не обновите страницу.
А теперь примеры (для лучшего освоения материала :D)
(коды без обрезания строки этих скриптов находятся по той же ссылке, только там
названия в виде htmlspecialchars :/)
Скрипт-пример №1
(одевание сета с павом,
Правая рука: PAW-20
Пояс: РГД-2С
Голова: Шлем Land Warrior [BT]
Спина: Лесной маскхалат
Ноги: Титановые щитки
Транспорт: Вертолёт МИ-8
Левый карман: Nokia 9500
)
Код:
items.php#
onclick='$("lu").onclick();l=$A(document.links);$A([[9,2],"-2С","Лес","о
вые","War","PAW","МИ-"]).map(function(i,n){l.map(function(a,b){s(i,a,b)})
});setTimeout("postdo(\"home.do.php?j=1\")",4000);void 0'
(догадайтесь сами где какой предмет ;))
Скрипт-пример №2
(одевание сета со спасом
Правая рука: SPAS 12
Пояс: Frag Grenade MK-3
Голова: Титановая каска
Корпус: Броня 6 класса
Спина: Маскировочный плащ
Ноги: Тяжелые щитки
Транспорт: Вертолёт МИ-8
Очки: Защитные очки
)
Код:
items.php# onclick='$("lu").onclick();l=$A(document.links);$A(["Тяж","я
6","SPA","Frag","каск","плащ","очк","МИ-"]).map(function(i,n){l.map
(function(a,b){s(i,a,b);})});setTimeout("postdo(\"home.do.php?j=1\")",4000
);void 0'
Код-пример №3
(одевание сета с M82-Valmet, Скрипт укороченный, в конце нет обновления
страницы,
Правая рука: M-82 Valmet
Пояс: РГД-2С
Голова: Шлем "Spectra" [НГ]
Корпус: Кевларовая броня
Спина: Лесной маскхалат
Ноги: Тяжелые щитки
Транспорт: Вертолёт МИ-8
Левый карман: Nokia 9500
Очки: Защитные очки
)
Код:
items.php#
onclick='$("lu").onclick();l=$A(document.links);$A(["НГ",[9,2],"M-","-2С
","я бр","Лес","лые
щ","очк","И-"],"встав").map(function(i,n){l.map(function(a,b){s(i,a,b);})
});void 0'
Ах да, чуть забыл. Одеваются сеты либо на голое тело, либо на недоодетый сет,
т.е. сетовые вещи одеваются "поверх" того что сейчас одето на персонаже.
И еще, рекомендация владельцам медленного интернета. Можете увеличить значение
таймаута обновления с 4000 миллисекунд до, скажем, 10000 миллисекунд (10
секунд), иначе будете получать неактуальное состояние рюкзака и того, что на Вас
надето.
Благодарю за внимание. Выслушаю все предложения по улучшению.