Форумы онлайн-игры "Сфера Миров" http://sow.flybb.ru/ |
|
Отображение репопа областей (+скрипт) http://sow.flybb.ru/topic739.html |
Страница 1 из 1 |
Автор: | Миака [ 11-09, 09:17 ] |
Заголовок сообщения: | Отображение репопа областей (+скрипт) |
не плохо было бы если бы отображало когда область у тебя удаляется автоматически, типа репоп зоны такой то чтобы новичкам кучу скриптов не писать и тригеров на проверку репопа мне сказали что это будет спамить тем кому это не надо (хотя спама в маде столько, что еще одна строчка не помешала бы серым цветом на которую уже можно было бы повесить тригер гг к примеру), на этот случай добавить включение выключение режима отображения инфы дополнительной команду область постоянно спамить не удобно и не видно зон которые удалилась уже, т.е. зона пропала и ты про нее забыл проблема решается скриптами, для тех кому интересно выложу свой вариант функций Код: var zones = []; function addzone(x) { y = 1140; // для не известных зон чтобы сразу видно было if (x == "Преисподняя") {y = 40} if (x == "Подземелье ужаса") {y = 60} if (x == "Закрытая шахта Фелонада") {y = 60} if (x == "Деревня варваров") {y = 40} if (x == "Заколдованная долина") {y = 30} if (x == "Осажденный замок") {y = 60} if (x == "Старый дом в Огисе") {y = 50} if (x == "Драконий остров") {y = 90} if (x == "Эрдер жрица Ллос") {y = 60} if (x == "Цитадель Ордена") {y = 30} if (x == "Ветреное плоскогорье") {y = 60} if (x == "Канализация Галена") {y = 60} if (x == "Гален Иллюзионист") {y = 60} if (x == "Замок Стэдвика") {y = 120} if (x == "Кронк-а-мор") {y = 75} if (x == "Элендорский замок") {y = 90} if (x == "Башенное кольцо") {y = 60} if (x == "Южный лес") {y = 30} if (x == "Туманное болото") {y = 60} if (x == "Военный гарнизон") {y = 30} if (x == "Муравейник") {y = 60} if (x == "Дворец эльфов") {y = 35} if (x == "Селение людоедов") {y = 40} if (x == "Крепость Тима") {y = 30} if (x == "Старая церковь") {y = 30} if (x == "Лаборатория Фелонада") {y = 60} if (x == "Крепость разбойников") {y = 60} if (x == "Лабиринт") {y = 90} if (x == "Магический лес") {y = 40} if (x == "Тюрьма Геоланта") {y = 40} if (x == "Больница Геоланта") {y = 45} if (x == "Чайный домик") {y = 30} if (x == "Кладбище") {y = 35} if (x == "Змеиное гнездо") {y = 45} if (x == "Храм Хедина") {y = 120} if (x == "Крепость Ужаса") {y = 90} if (x == "Ущелье гарпий") {y = 40} if (x == "Логовище Орды") {y = 40} if (x == "Искрящийся замок") {y = 240} if (x == "Механическая башня") {y = 60} if (x == "Живые Скалы") {y = 120} if (x == "Ангельские горы") {y = 120} if (x == "Пирамида") {y = 120} if (x == "Безумие") {y = 35} if (x == "Замок повелителя стихий") {y = 90} if (x == "Рыцарский рубеж") {y = 40} if (x == "Башня вихря") {y = 35} if (x == "Старое кладбище") {y = 90} if (x == "Священная роща") {y = 90} if (x == "Адмиралтейство") {y = 60} if (x == "Библиотека Галена") {y = 60} if (x == "Затерянный остров") {y = 40} if (x == "Башня магов") {y = 40} if (x == "Парк") {y = 5} if (x == "Парк аттракционов") {y = 20} if (x == "Здание стражи Элендора") {y = 20} if (x == "Канализация") {y = 10} if (x == "Притон") {y = 20} if (x == "Аллея") {y = 5} if (x == "Старая библиотека") {y = 25} if (x == "Поляна в густом лесу") {y = 30} if (x == "Болото") {y = 20} if (x == "Лагерь кочевников") {y = 25} if (x == "Деревня рыбаков") {y = 45} if (x == "Тоннель бесов") {y = 40} if (x == "Селение человекоящеров") {y = 40} if (x == "Лагерь археологов") {y = 25} if (x == "Катакомбы Геоланта") {y = 30} if (x == "Склад в Геоланте") {y = 25} if (x == "Ферма") {y = 25} if (x == "Домик у дороги") {y = 20} if (x == "Подземелье гномов") {y = 35} if (x == 'Трактир "У Лиса"') {y = 35} if (x == "Морское побережье") {y = 20} if (x == "Лагерь полуорков") {y = 40} if (x == "Холм фаэри") {y = 40} if (x == "Храм пламенного меча") {y = 35} if (x == "Каньон поющей воды") {y = 40} if (x == "Горная цепь") {y = 30} if (x == "Зоопарк") {y = 60} if (x == "Долина Дракона") {y = 120} if (x == "Некромант Сур") {y = 40} if (x == "Далекая крепость") {y = 40} if (x == "Подземелье драконов") {y = 180} if (x == "Лечебница для животных") {y = 20} if (x == "Северная деревня") {y = 50} if (x == "Конюшни") {y = 25} if (x == "Башня орков") {y = 30} if (x == 'Таверна "Борода Тролля"') {y = 35} for (var i=0; i<zones.length; i = i+2) { if (zones[i]==x) {zones[i+1]=tiker+y; return} } zones.push(x,(tiker+y)); jmc.showme("REPOP "+x+ " "+y,10); } function showzones() { jmc.showme("[ REP LIST ]",4); for (var i=0; i<zones.length; i = i+2) { if ((zones[i+1]-tiker)>0) {jmc.showme("репоп "+zones[i]+" "+(zones[i+1]-tiker),8)} else { jmc.parse("гг --> "+zones[i]+" REPOP"); zones.splice(i,2); i = i-2; } } jmc.showme("[ END LIST ]",4); } и тригер к автодобавлению #action {^%2 экземпляр зоны '%1'.} {#scr addzone('%1')} {1} {control} алиас на проверку репопов #alias {репопы} {#scr showzones()} {default} |
Автор: | Zavs [ 11-09, 11:35 ] |
Заголовок сообщения: | Re: Отображение репопа областей (+скрипт) |
Как же это легко скриптом, осталось научиться добавлять эти скрипты, а то делать все это через триги, ужас как не удобно: 1. На каждую созданную зону объявлять переменную зоны как 1 2. Потом на каждый тик проверять, если переменная больше или равна 1, то каждый тик делать +1 3. И наконец когда переменная достигнет значения репопа, сбрасывать ее в ноль и говорить что зона репоп В итоке, триг на тик, выглядит как-то так #if {$oldhome >=1}{#math oldhome $oldhome + 1};#if {$oldhome == 50}{гг СТАРЫЙ ДОМ В ОГИСЕ РЕПОП;#var oldhome 0};#if {$lair >=1}{#math lair $lair + 1};#if {$lair == 40}{гг ЛОГОВИЩЕ ОРДЫ РЕПОП;#var lair 0};#if {$snake >=1}{#math snake $snake + 1};#if {$snake == 45}{гг ЗМЕЙКИ РЕПОП;#var snake 0};#if {$gnomes >=1}{#math gnomes $gnomes + 1};#if {$gnomes == 35}{гг ГНОМЫ РЕПОП;#var gnomes 0};#if {$maze >=1}{#math maze $maze + 1};#if {$maze == 90}{гг ЛАБИРИНТ РЕПОП;#var maze 0};#if {$underworld >=1}{#math underworld $underworld + 1};#if {$underworld == 40}{гг ПРЕИСПОДНЯ РЕПОП;#var underworld 0};#if {$cannibals >=1}{#math cannibals $cannibals + 1};#if {$cannibals == 40}{гг ЛЮДОЕДЫ РЕПОП;#var cannibals 0};#if {$garisson >=1}{#math garisson $garisson + 1};#if {$garisson == 30}{гг ВОЕННЫЙ ГАРНИЗОН РЕПОП;#var garisson 0};#if {$metro >=1}{#math metro $metro + 1};#if {$metro == 60}{гг МЕТРО РЕПОП;#var metro 0}; Респект и уважуха, и спасибо ) |
Автор: | Zavs [ 11-09, 11:37 ] |
Заголовок сообщения: | Re: Отображение репопа областей (+скрипт) |
#action {^%1 создала экземпляр зоны '%1'.} {#scr addzone('%1')} {1} {control} #action {^%1 создал экземпляр зоны '%1'.} {#scr addzone('%1')} {1} {control} эти триги можно объединить в один #action {^%1 создал%2 экземпляр зоны '%1'.} {#scr addzone('%1')} {1} {control} |
Автор: | Миака [ 11-09, 11:43 ] |
Заголовок сообщения: | Re: Отображение репопа областей (+скрипт) |
Zavs писал(а): Как же это легко скриптом, осталось научиться добавлять эти скрипты, а то делать все это через триги, ужас открываешь папку settingsв папке с JMC создаешь файл в ней текстовый <имф_конфига>.scr открываешь этот файл в редакторе, и туда добавляешь скрипты потом в жмц делаешь кнопку релод скрипт проверить работают ли скрипты в жмц можно командой #scr jmc.showme("СКРИПТЫ РАБОТАЮТ!") если не сработают надо зарегать библиотеку ttcoreex.dll и в настройках выставить скрипт javascript |
Автор: | Миака [ 11-09, 12:07 ] |
Заголовок сообщения: | Re: Отображение репопа областей (+скрипт) |
вот еще скрипт на запись логов и раскладывания по папкам их создаем в папке с JMC папку log а в ней папки с месяцами с большой буквы Код: function startlog() { m_date = new Date(); var MonthArr = new Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"); var FileName; var Month = MonthArr[m_date.getMonth()]; var Day = m_date.getDate(); FileName="log/"+Month+"/"+m_date.getMonth(); FileName+=((Day>9) ? "_" : "_0")+Day+".log"; jmc.showme("Запись лога в "+FileName,"green"); jmc.parse("#log "+FileName+" append"); jmc.setvar("logs","1"); } и к нему 2 тригера на старт записи #action {^Вы восстановили связь.} {#script startlog();сг +;гд} {5} {log} #action {^Пользователь: [%2], активный персонаж: [%1]} {#if $logs=0 #script startlog()} {5} {log} |
Автор: | Крегон [ 25-09, 09:33 ] |
Заголовок сообщения: | Re: Отображение репопа областей (+скрипт) |
Очень полезные скрипты тут, особенно спасибо за логи, правда планирую доработать и потом сюда выложить. Если конечно сфера вернется, ато со вчера лежит. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |