[ANY] wS_Map_Plugins v1.2 (дополнить)

Тема в разделе "Запросы", создана пользователем AlmazON, 12 дек 2012.

  1. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Здравствуйте все, кто заглянул в эту тему и особенно благодарен тем, кто и вправду может помочь (умеет переписывать плагины).
    В первый раз таки решил создать здесь тему, ибо частенько возникает необходимость в новом функционале плагинов.
    Есть хорошая тема, где описано следующее:
    wS_Map_Plugins v1.2

    Если вы хотите, чтобы ваш плагин (или несколько) работал(и) только на определенных картах, то wS_Map_Plugins в этом поможет. Необходимо добавить имя .smx плагина в cfg/wS_Map_Plugins.txt и прописать названия и префиксы тех карт, на которых он будет работать. Файл обрабатывается после каждой смены карты. Если плагин выгружается, то в логе появляется уведомление, например:

    Код:
    L 06/26/2012 - 01:09:13: [wS_Map_Plugins.smx] Plugin 'x.smx' unloaded
    L 06/26/2012 - 01:09:13: [wS_Map_Plugins.smx] Plugin 'z.smx' unloaded
    Уже есть готовый пример.
    После названия карты или префикса обязательно ставьте точку с запятой ;

    Код:
    "wS_Map_Plugins"
    {
    "x.smx"
    {
    "maps_prefixes" "de;cs;"
    }
    "y.smx"
    {
    "maps" "de_cbble;"
    "maps_prefixes" "35hp;"
    }
    "z.smx"
    {
    "maps" "de_dust2;de_port;"
    }
    }
    x.smx - работает только на de_ и cs_ картах
    y.smx - только на de_cbble и картах 35hp_
    z.smx - только на de_dust2 и de_port

    Если нужно чтобы плагин работал всегда, то просто не прописывайте его в wS_Map_Plugins
    Плагин отлично справляется со своими обязанностями, нареканий пока нет. Но, частенько возникает необходимость выгрузить плагин на определённых картах или префиксах, что в нём нельзя сделать. Да, конечно вы можете предложить прописать в нём все карты, на которых плагин должен загружаться, а где нет - не вписывать. Но, это довольно неудобно... А если карт более или 100, а надо сделать действие на 1? Писать все 99?? И если такое надо сделать ни с одним плагином... В общем, думаю, представили))
    Поэтому, прошу умельцев сего форума просто по аналогии с исходником сделать также выгрузку плагинов, как это сделано с их загрузкой. Желательно, чтобы эти обе функции (загрузка/выгрузка) были в одном плагине и списке (cfg/wS_Map_Plugins.txt), где просто указывалась подкоманда, например, "on" или "off", что соответственно подразумевает загрузку плагина (on) и его выгрузку (off) на указанном префиксе/карте.
    Знаю, как говорится любое дело требует оплаты, но здесь вроде не надо слишком мудрить, код там небольшой, поэтому просьба отозваться просто за душевное СПАСИБО. :)
     
    Последнее редактирование: 3 ноя 2015
  2. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.222
    Симпатии:
    916
    AlmazON, одного не понимаю: разве выгрузка мапконфигом не позволяет выгружать плагин?
     
    AlmazON нравится это.
  3. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Поподробнее... sm plugins unload тыры-пыры, что ли, указанном в конфиге карты cfg?
     
  4. The Night Fury

    The Night Fury Администратор

    Сообщения:
    1.222
    Симпатии:
    916
    AlmazON, верно. Разве это не работает?
     
  5. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Если честно, не пробовал... Но, забивая однажды туда команду SM, обнаружил, что она не сработала везде, где должна бы. Вот и перестал с этим разбираться... Но, хорошо, сейчас попробую. Если это действительно так, то получается смысл плагина выше останется, если нужно выполнить действие над целым префиксом карт.
    Знаешь, сработало! Спасибо! :) Одно действие решено. Ну, насчёт префикса карт, думаю, тут любой простой cfg без любого аналогичного плагина бесполезен...
     
    Последнее редактирование: 12 дек 2012
  6. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Могу лишь предложить отдельный плагин. Он самый обычный, объясню лишь как редактировать мапс.тхт. Вместо даст2 можно писать любые другие слова и символы. Если Вы там напишете "de", то на всех картах, в названии которых будет данное буквосочетание, будут отключены желаемые плагины. Если "de_", то на всех картах с префиксом "de", если "de_dust", то на первом и втором дасте. Далее идет список плагинов, которые надо отключить. Их не может быть более 30 (не думаю, что понадобится более). Просто добавляйте название файла плагина вместе с форматом (adminlist.smx, etc), увеличивая цифру левее. Думаю в примере все понятно будет. Проверил у себя - работает.
     

    Вложения:

    kv.acid и AlmazON нравится это.
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Impulse72, спасибо большое! Хоть кто-то откликнулся) Причём, новичок на форуме - вообще похвально! :)
    Жаль конечно, что не в одном всё плагине... Но, халявную работу не судят. :-D Помучаю его попробую сам... Вдруг что выйдет.
    Если кто-то всё же будет в настроении написать единый плагин для обеих операций - спасибкой не обделю! :beer:
     
  8. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Не за что. Да я не новичек, давно сижу, просто постю редко :) Если что - пиши. Мелкую хрень напишу на халяву, если время будет)
     
  9. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Я не люблю брать чужие коды :) чужой код - потемки, даже самый мелкий)
    В общем я переделал полностью под то, что ты хотел.
    Теперь в maps.txt будет путь до файла настроек. Можно сделать какой файл будет загружаться при обнаружении определенного буквосочетания в названии карты. Если задать отдельно "de_" и "de_dust2", то оба конфига будут грузиться на дасте 2, соответственно. В папке создаются файлы с названиями, которые Вы прописываете в мапс.тхт. Соответственно они могут быть любыми, но совпадать) В самом cfg пишутся имена файлов плагинов и через двоеточие действие, которое произойдет с ним: "off" - выключить, "on" - включить. В принципе по примеру думаю будет всё понятно. Пользуйся ;)
    Если надо чтоб плагин грузился всегда, то просто не надо его никуда писать.
    Можно даже отдельную темку сделать, может пригодится кому :)
     

    Вложения:

    Последнее редактирование: 14 дек 2012
    AlmazON нравится это.
  10. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Вариант очень интересен и хорош, спасибо! Однако, такого привереду, как я, немного смущает, что надо вписывать данные, как минимум в оба файла... И в то же время очень понравился такой ход) Хочу сделать все 3 варианта в одном, чтобы и так, и так работало))
     
  11. acik

    acik

    Сообщения:
    734
    Симпатии:
    628
    AlmazON, а не легче так сделать?
    с этим плагином http://hlmod.ru/forum/showthread.php?t=55
    можно в all.cfg прописать
    sm plugins unload z
    sm plugins unload x
    sm plugins unload y​
    и для каждой группы или определенной карты вписать загузку
    sm plugins load name_plag

    Либо плагин кинуть в папку plugins/disabled/
    и для каждой группы или определенной карты вписать загузку
    sm plugins load disabled/name_plag
     
  12. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    А не легче использовать это и это для того чтобы 1-ой командой все реализовать в конфигах.
     
  13. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    А вдруг захочется чтоб на de картах включались определенные плагины и отдельно на дасте2 какие-либо совместно с теми, что нужны для de? :) Или например на всех de картах нужен плагин, а конкретно для даста2 он не требуется :) Поэтому так и сделано)
    // достаточно написать в de_.cfg чтобы грузилось и на дасте) не обязательно дважды писать) проверь)

    Честно говоря мне все равно что проще, а что сложнее. Попросили - я написал)
     
    AlmazON нравится это.
  14. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Вот то-то и оно, что смысл и удобство плагина теряется...
    Извини конечно за настойчивость, да, ты молодец, бесспорно))
    А чтобы в одном файле писать всё, что должно грузиться, а что нет? Там можно?
    Я сделал такой на основе твоего и предыдущего автора, но жаль, методы написания различны... И хотелось бы не думать о том, что надо до 30 плагинов)) В общем, универсальное средство...
    Под cfg ниже. Естественно, это под первого автора. Ну или похожий)
    А сам ещё попробую твою новую версию прибавить к двум объединённым)
     
    Последнее редактирование: 3 фев 2013
  15. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Если без плагинов то мой вариант самый оптимальный если с плагинами ради бога ...
     
  16. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Да, если писать конфиг на каждую карту. Так и делаю, где пока надо. Но, а если на префикс? Тут больно много прописывать, да и так создавать не мало) Вот потому и хочется реально универсальный плагин, чтобы можно было делать ВСЁ без лишних "телодвижений". Да и в одном списке сразу всё видно, стоит ли что подправить и т.п.
    Походу от своих эксперементов потерял нормально скреплённый файл...
     
    Последнее редактирование: 14 дек 2012
  17. Vit_ amin

    Vit_ amin BotManager001

    Сообщения:
    1.065
    Симпатии:
    345
    Лично я не ставлю плагин и мне не лень все открыть и заполнить ...
     
  18. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Impulse72, в общем, спасибо и пардон, ибо исходник выдаёт аж 11 предупреждений... Новая версия, как говорится, кривовата. На сервер не особо рекомендуется, ибо можно обойти все проблемы с 1 версией.
    И присоединить её потому же не удалось...
     
  19. Impulse72

    Impulse72

    Сообщения:
    246
    Симпатии:
    170
    Да это в исходнике на некоторых переменных тип данных не написан. Это на работу никак не влияет, но на всякий вот фикшеный исходник без варнингов)
     

    Вложения:

  20. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.583
    Симпатии:
    1.991
    Тоже 11 штук( Хм, перепутал ты их видимо, как я) нормальную версию удалил. :-D