купить рекламу
 
SkilleR.Ru - GunGame Old School

SkilleR.Ru:27017

карта:
игроков: 0 из 0

SkilleR.Ru - Public Old School

SkilleR.Ru:27015

карта:
игроков: 0 из 0

Мы+Яндекс=мониторинг любого сервера
Ya

Единственный в своём роде виджет

Добавить на Yandex.ru

Лента комментариев
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Ноябрь 2020 года < Admin в общих темах
TheAbyss 1.6 39 Jump Bhop < csTheAbyss в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Сентябрь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Август 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июль 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Июнь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Май 2020 года < Admin в общих темах
Flash Point < spec в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Март 2020 года < Admin в общих темах
GunGame ИРКУТСК ВЛАСТЬ НАРОДУ < virys336855 в обсуждениях серверов
Обсуждаем обзор Интерес игроков к серверам. Статистика за Январь 2020 года < Admin в общих темах
Обсуждаем обзор Интерес игроков к серверам. Статистика за Декабрь 2019 года < Admin в общих темах
Morozilka 7plus css34 < FantOzer в обсуждениях серверов
Набор в клан css v.34 ProRedDevils < saha123 в кланах

php скрипт генерации маплистов. бонус 250-350 баллов

Автор Сообщение
Admin
Карма: 9
Добавлено: 17:33 2 февраля 2010 | Исправлялось: 1 раз (02-02-10 17:34, Admin)
Что хочется сделать:
инструмент для администраторов, который позволит создавать идеальные мапилсты, подходящие конкретному серверу, сравнивать имеющиеся маплисты с имеющимися и выдавать рекомендации

за исходные данные берется ассоциативный массив, например:
$a = array (dust=>10,dust2=>30,aztec=>15);
видим, что время, проведенное игроками на Д2 в 3 раза больше, чем на Д1 и в 2 раза больше, чем на ацтеке

В итоге надо получить список вида:
dust2
dust
dust2
aztec
dust2
aztec

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

Оплата:
Если делается просто скрипт преобразования ассоциативного массива в список - 250 баллов
Если к этому добавляется кнопка "Сохранить", при нажатии на которую предлагается сохранить созданный файл с названием mapcycle.txt на компьютер пользоателя - 350 баллов
Warcheg 
Карма: 0
Добавлено: 18:02 2 февраля 2010
Чуть поконкретнее можешь расписать как список составляться должен, если например 5 мап есть?

$a = array (dust=>10,dust2=>30,aztec=>15,snow=>20,nuke=>35);

nuke
dust2
nuke
snow
nuke
aztec
nuke
dust

Я правильно понимаю?
Admin
Карма: 9
Добавлено: 18:19 2 февраля 2010
Число раз, сколько карта встречается в маплисте = intval($a[i]/min($a))
т.е.

dust - 1 раз
dust2 - 3 раза
aztec - 2
snow - 2
nuke - 4

как равномерно распределить эти карты с учетом числа вхождений, думаю, понятно.

Послкольку формала плевая и я ее уже написал, то задача изменяется:

нужен скрипт с кнопкой "Сохранить". Стоимость - 200 баллов

Получить 350 баллов еще возможно, если дополнить формулу и сделать ее более умной. Предложения по улучшению лучше сначала обсуждать, чтобы не сделать лишнего
YodL 
Карма: 1
Добавлено: 04:09 3 февраля 2010
Раньше по 800 балов за такое давал, начал делать, а тут еще ниже опустилось =((
Admin
Карма: 9
Добавлено: 09:48 3 февраля 2010
чем меньше я представляю, как сделать скрипт, тем больше бонус
здесь всё предельно ясно. алгоритмы на уровне 1 курса информатики: сортировка массивов. пых - простой язык
самое сложное тут (для меня) - кнопка "Сохранить".
Но я готов дать 500 баллов, если в скрипте будет еще возможность сравнивать сгенерированный маплист с текущим маплистом сервера.
т.е. при отпревке запроса на генерацию, предлагается по желанию заполнить texarea, скопировав в неё текущий маплист.
После генерации скрипт сравнивает количество каджой карты там и там. Если карт, к примеру, Д2 не хватает, предлагает добавить их. А если что-то лишнее - убрать
Hafner 
Карма: 0
Добавлено: 13:50 3 февраля 2010 | Исправлялось: 1 раз (03-02-10 13:51, Hafner)
Начну с того, что сама задумка формирования маплистов на основе статистических данных хороша. Но учитывая разнообразие плагинов, которые народ применяет на своих серверах для ротации карт - текущая идея теряет смысл. Единицы используют стандартный мапшузер и следовательно mapcycle.txt. Админы и сами игроки предпочитают возможность голосования за карты, по итогам которого и происходит changelevel.
Единственный вариант, который, имхо, мог бы существовать - это учесть самые популярные плагины смены карты, дав возможность юзеру выбрать название его плагина и на основе этого выбора формировать маплист. Вот это действительно будет интересно и полезно.
Это так, пища для размышлений Улыбка

А по поводу сабжа, то набросал вариантик, немного изменив формулу. Там пару моментов надо бы пофиксить, но сейчас уже ухожу и если позже необходимость в этом ещё будет, то исправлю.

ссылка
Warcheg 
Карма: 0
Добавлено: 14:11 3 февраля 2010 | Исправлялось: 1 раз (03-02-10 14:12, Warcheg)
Пока вот так:
ссылка

Все работает и сохранять можно. Улыбка

Сравнение текущего маплиста - зачем? Все равно генерится новый, на основе других данных..
Warcheg 
Карма: 0
Добавлено: 14:17 3 февраля 2010
Ну вот, буквально на минуты опоздал Улыбка

Hafner, дай возможность баллы заработать и пхп подтянуть Улыбка
Admin
Карма: 9
Добавлено: 15:08 3 февраля 2010
Автор: Hafner Цитата:
Начну с того, что сама задумка формирования маплистов на основе статистических данных хороша. Но учитывая разнообразие плагинов, которые народ применяет на своих серверах для ротации карт - текущая идея теряет смысл. Единицы используют стандартный мапшузер и следовательно mapcycle.txt. Админы и сами игроки предпочитают возможность голосования за карты, по итогам которого и происходит changelevel.
Единственный вариант, который, имхо, мог бы существовать - это учесть самые популярные плагины смены карты, дав возможность юзеру выбрать название его плагина и на основе этого выбора формировать маплист. Вот это действительно будет интересно и полезно.
Это так, пища для размышлений Улыбка

Об этом, конечно уже размышлял. Но делать сразу монстра считаю неправильным. Сделаем сначала лайтовый прототип. Может, быть появятся еще идеи.
Admin
Карма: 9
Добавлено: 15:09 3 февраля 2010
Автор: Warcheg Цитата:
Пока вот так:
ссылка

Все работает и сохранять можно. Улыбка

Сравнение текущего маплиста - зачем? Все равно генерится новый, на основе других данных..

выложи код.
Warcheg 
Карма: 0
Добавлено: 15:19 3 февраля 2010 | Исправлялось: 2 раз (03-02-10 15:26, Warcheg)
ссылка

вот код


После того как посмотришь, удали это сообщение плз Улыбка
Admin
Карма: 9
Добавлено: 22:08 3 февраля 2010
Hafner +300 - код мне нравится. Алгоритм элегантен, но -50 за shuffle, т.к. это допускает возможность одной и той же карты 2 раза подряд
Warcheg +50 - за попытку
Warcheg 
Карма: 0
Добавлено: 00:01 4 февраля 2010
что значит "за попытку"? код рабочий, полностью соответствует заданию :/
Я понимаю что у Hafnerа вышло симпатичнее, но чет желание отбивается что-либо делать в дальнейшем..
Admin
Карма: 9
Добавлено: 07:52 4 февраля 2010
не только симпатичнее но и быстрее. золотые медали дают только за первые места. вот если бы твой код был лучше тогда 1 место.
а пока учи пых. будут ещё задания
Warcheg 
Карма: 0
Добавлено: 11:47 4 февраля 2010 | Исправлялось: 2 раз (04-02-10 11:48, Warcheg)
Собственно на таких заданиях я и учу пхп Улыбка Просто сидеть копаться без цели как то неинтересно..)


Погонял оба скрипта, Хафнера скрипт раза в 3 быстрее моего - щас буду сидеть понимать почему ))

Но есть одно большое и волосатое "но":
Если в качестве массива задать такое:
$a = array ("de_dust"=>10, "de_dust2"=>30, "de_aztec"=>15, "de_nuke"=>25, "de_train"=>40, "de_cpl_strike"=>5, "fy_snow"=>15, "test"=>1);

То его скрипт Хафнера генерирует примерно вот такой текст:

// Server Maplist

de_nuke
de_train
test
de_dust2
de_cpl_strike
de_train
de_dust2
de_dust
fy_snow
de_aztec

Как видно, реализация в итоге кривовата получилась - вне зависимости от времени карты, частота многих одинакова.



У меня ситуация чуть получше, но лист получается очень длинный, а под конец и повторяющийся:

e_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_cpl_strike
test
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_cpl_strike
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_cpl_strike
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_cpl_strike
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_cpl_strike
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust
de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust

А потом идет снова повторение:
"de_train
de_dust2
de_nuke
fy_snow
de_aztec
de_dust"
И так раз 5-6 Улыбка

В принципе на работе сервера это не должно отразиться.. но тем не менее небольшой смысловой косяк у меня есть, хотя он и не влияет на результат
Admin
Карма: 9
Добавлено: 15:35 4 февраля 2010
Автор: Warcheg Цитата:
Если в качестве массива задать такое:
$a = array ("de_dust"=>10, "de_dust2"=>30, "de_aztec"=>15, "de_nuke"=>25, "de_train"=>40, "de_cpl_strike"=>5, "fy_snow"=>15, "test"=>1);

То его скрипт Хафнера генерирует примерно вот такой текст

В его скрипте стоит опция "оставлять редкие карты", при использовании которой все карты будут в списке, но это не увеличивает число вхождений популярных карт как у тебя.
Чтобы тебе было проще понять, представь, что его скрипт сначала делает массив таким:
$a = array ("de_dust"=>20, "de_dust2"=>30, "de_aztec"=>20, "de_nuke"=>25, "de_train"=>40, "de_cpl_strike"=>20, "fy_snow"=>20, "test"=>20);
Наверх | Страница 1 из 1  
Моды
  Public 22
  DeathMatch 8
  Classic 7
  RolePlay 4
  GunGame 3
  ZombieMod 3
  OpenWarfare 1
  Dust 1

все моды

Популярные Карты
cp_orange_x3 1
mp_military_1 1
q3dm17 1
de_dust2_2x2 1
q3dm3 1
de_dust2_unlimited 1
ospctf1 1
13dream 1
Серверы по регионам
  Москва 969
  Санкт-Петербург 133
  Екатеринбург 40
  Новосибирск 23
  Киев 22
  Севастополь 15
  Пермь 14
  Казань 13
  Томск 12
  Нижний Новгород 12
  Ульяновск 11
  Украина 10
  Самара 9
  Жуковский 9
  Красноярск 9
  Коломна 9
  Иркутск 8
  Ижевск 8
  Курган 7
  Тольятти 6
  Днепропетровск 6
  Челябинск 6
  Уфа 6
  Пенза 6
  Ростов-на-Дону 6
  Владивосток 5
  Саратов 5
  Великий Новгород 5
  Сочи 4
  Королев 4
  Курск 4
  Одесса 4
  Омск 4
  Россия 4
  Вильнюс 4
  Донецк 4
  Воронеж 4
  Брянск 4
  Зеленоград 3
  Волгодонск 3
  Таллин 3
  Выборг 3
  Орел 3
  Иваново 3
  Харьков 3
  Тамбов 3
  Оренбург 2
  Братск 2
  Житомир 2
  Минск 2
  Нижний Тагил 2
  Ярославль 2
  Львов 2
  Комсомольск-на-Амуре 2
  Винница 2
  Киров 2
  Тюмень 2
  Всеволжск 2
  Гатчина 2
  Калининград 2
  Кривой Рог 2
  Рига 2
  Ногинск 2
  Таганрог 2
  Мончегорск 2
  Барнаул 2
  Калуга 2
  Астрахань 1
  Белогород 1
  Череповец 1
  Чебоксары 1
  Владимир 1
  Рязань 1
  Липецк 1
  Тверь 1
  Волгоград 1
  Краснокаменск 1
  Новокузнецк 1
  Владикавказ 1
  Махачкала 1
  Ялта 1
  Чехов 1
  Тбилиси 1
  Кемерово 1
  Запорожье 1

все регионы

Рейтинг сайтов
Админский пьедестал
  taulalan 1|51
  Djei-spb 1|49
  Dinamic 1|48
Название фотографии
Название фотографии