Новости | Об игре | Форум
20:51, 3400 онлайн
Форумы » Общий Форум » Комплекты. Адаптация для навигации 
1234

АвторТема: Комплекты. Адаптация для навигации
Riki_tiki_tavi



 1 
 36   
  написано: 30.03.2008 16:34:17 
(В продолжение этой темы)
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
секунд), иначе будете получать неактуальное состояние рюкзака и того, что на Вас
надето.

Благодарю за внимание. Выслушаю все предложения по улучшению.
Manhunt roman



 2 
 23   
  написано: 30.03.2008 16:35:38 
нифига не понял, но наверное зачод
_M A X I M U S_



 3 
 8   
  написано: 30.03.2008 16:36:03 
очень многа букаф, но думаю что кому-то пригодится...
Я Дикий Мужчина



 4 
 2   
  написано: 30.03.2008 16:36:19 
платно не айс(((
Brenton



 5 
 3   
  написано: 30.03.2008 16:36:21 
младец
AmsterdaM3250



 6 
 1   
  написано: 30.03.2008 16:36:34 
как хорошо, что я гуманитарий
_M A X I M U S_



 7 
 7   
  написано: 30.03.2008 16:37:42 
плюс поставил вроде умно написано)
Тихий Океан



 8 
 5   
  написано: 30.03.2008 16:38:12 
у меня одно предложение: переформулировать весь этот набор символов в связной
текст, доступный обыкновенному юзеру :)
Riki_tiki_tavi



 9 
 2   
  написано: 30.03.2008 16:38:17 
4 Да если честно, не собирался никому делать, просто так написал 100к ;)
zick



 10 
 -12   
  написано: 30.03.2008 16:38:24 
Н Е О С И Л И Л
О.о
о.О
Iadval



 11 
 -1   
  написано: 30.03.2008 16:40:27 
даже не заторчал когда пытался вникнуть)))
Riki_tiki_tavi



 12 
 2   
  написано: 30.03.2008 16:41:55 
+9 чтоб не доставали с мольбами о помощи :))))))))))
Greywolf10



 13 
 1   
  написано: 30.03.2008 16:43:52 
12 а в какую-нибудь прогу можно это собрать, чтобы автоматизировать процесс?
ki13r



 14 
 1   
  написано: 30.03.2008 16:45:16 
12. да прям. попал ты, сейчас тебя тьма нупов будет просить написать бесплатно.)
Riki_tiki_tavi



 15 
 1   
  написано: 30.03.2008 16:49:20 
13 неа, сокращать названия очень хитрый процесс, можно конечно написать какой
нибудь скрипт, я даже придумал как, но мне вломмм =)
14 самое время ставить фильтр, ага? :)
zick



 16 
 -2   
  написано: 30.03.2008 16:49:54 
"Код:
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'"
осилил но непонял:D
это че вообще?
Riki_tiki_tavi



 17 
 3   
  написано: 30.03.2008 16:52:53 
16 это текст, который тебе надо вставить в поле "Адрес ссылки" при
редактировании ссылок для навигации на странице
http://www.gwars.io/info.edit.php?type=navy
При нажатии на эту ссылку, оденется комплект вещей.

Понятней? :)
Riki_tiki_tavi



 18 
 1   
  написано: 30.03.2008 16:53:47 
блин, сорри, чёт заумно пишу, аж сам в шоке ))
Технический язык мануалов ужасная штука ))
Crosswise



 19 
 -36   
  написано: 30.03.2008 16:56:22 
все ты знаешь, но все впадлу. -3.
Riki_tiki_tavi



 20 
 10   
  написано: 30.03.2008 16:58:57 
19 спасибо конечно, но я это не для тебя старался писал ;)
1234

К списку тем