Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

VIP марафон

, вип,марафон
Статус пользователя daywer
сообщение 9.6.2017, 6:22
Сообщение #1


Стаж: 11 лет
Город: Санкт-Петербург


Сообщений: 136
Благодарностей: 121
Полезность: 1051

Описание плагина:
Игрок с помошью него может получить бесплатно вип до смены карты.
Игроку дается задание "поиграть N часов за определенной промежуток времени(см.настройки плагина)

Настройки плагина:
#define SAVE_TYPE 2 //0 - по стимид 1 -по айпи 2 - по нику
#define DB_SAVE 1 //1-sqlite 2- mysql
new const szTableName[] = "marafon" //Название таблицы
//Данные от бд
new const szDBHost[] = "" // Хост
new const szDBUser[] = "" //Пользователь
new const szDBPass[] = "" //Пароль от бд
new const szBDName[] = "vip_marafon" //название бд
#define NEED_PLAY_H 5 //Необходимо сыграть часов
#define PLAY_TIME 10 //Сколько часов дается на марафон

Команды вызова:
say /marafon
say_team /marafon

Плагин умеет удалять ненужные записи(игроков которые невыполнили марафон)

P.S Порция полезных (нет) плагинов.

Cкрин
Прикрепленное изображение

Прикрепленный файл  marafon.sma ( 9,34 килобайт ) Кол-во скачиваний: 87







Написание плагинов на заказ.(sql,sqlite,nvault)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 5 раз
   Цитировать сообщение
Статус пользователя Jack2345
сообщение 9.6.2017, 9:57
Сообщение #2
Стаж: 8 лет 11 месяцев
Город: Москва

Сообщений: 277
Благодарностей: 0
Полезность: < 0

daywer,
новинка что ли lol.gif


Success
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя eone
сообщение 9.6.2017, 10:12
Сообщение #3
Стаж: 9 лет 9 месяцев

Сообщений: 317
Благодарностей: 180
Полезность: 245

если нужно выдать несколько флагов, то в 26 строке их вписать подряд или через запятую?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 9.6.2017, 12:06
Сообщение #4


Иконка группы

Стаж: 13 лет

Сообщений: 7566
Благодарностей: 5436
Полезность: 1305

Цитата(eone @ 9.6.2017, 11:12) *
если нужно выдать несколько флагов, то в 26 строке их вписать подряд или через запятую?
подряд


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя antigsm
сообщение 9.6.2017, 14:30
Сообщение #5
Стаж: 6 лет 9 месяцев

Сообщений: 2
Благодарностей: 1
Полезность: 0

не плохой плагин) пригадится
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BouHPycu
сообщение 16.3.2023, 20:05
Сообщение #6


Стаж: 10 лет
Город: Запорожье

Сообщений: 88
Благодарностей: 12
Полезность: 98

daywer,
Цитата
Описание плагина:
Игрок с помошью него может получить бесплатно вип до смены карты.

Плагин годный, однако нуждался в небольшой доработке.
Меня не устраивало то, что для получения VIP надо наиграть n-часов, а дается он лишь на k-минут до конца карты.
Это бред и в таком марафоне никто участвовать не будет.
И конечно я его доработал, чтобы VIP давался на больший срок (например на неделю) и поставил на свой сервер для теста. Года эдак 3 назад.
А сейчас вот решил поделиться, потому что все работает нормально (почти, но об этом ниже в минусах)

Функционал плагина оставлен тот же, поэтому я не претендую на авторство или со-авторство.
Что нового в версии 1.1:
- в базе данных создается еще одна таблица для выдачи флага VIP тем, забрал награду с марафона, там же отслеживается срок VIP;
- заблокировано участие игроков уже имеющих VIP в марафоне, чтобы не было наложения флагов, ну и вообще зачем им марафон, если он и нужен для получения VIP;
- добавлены напоминалки в чате участникам марафона при входе на сервер, а то люди забывают, что они в чем-то там начали участвовать;
- через ту же команду в чате /marafon можно узнать сколько осталось дней/часов до окончания VIP полученного на марафоне.

Настройки плагина:

Как и было изначально изменять можно такие параметры:
#define SAVE_TYPE 2 //0 - по стимид 1 -по айпи 2 - по нику
#define DB_SAVE 1 //1-sqlite 2- mysql
new const szTableName[] = "marafon" //Название таблицы
//Данные от бд
new const szDBHost[] = "" // Хост
new const szDBUser[] = "" //Пользователь
new const szDBPass[] = "" //Пароль от бд
new const szBDName[] = "vip_marafon" //название бд
#define NEED_PLAY_H 5 //Необходимо сыграть часов
#define PLAY_TIME 24 //Сколько часов дается на марафон

К этим настройкам добавляется только:
new const szTableName1[] = "marafonflag" //Название таблицы для выдачи VIP
#define S_VIP 168 // сколько часов призового VIP


Так же автор плагина забыл упомянуть, что описание услуги идет в MOTD окне, для чего надо создать в папке "amxmodx/configs/" файл "vip_marafon.txt"
Пример такого файла я закинул в архив с плагином (вдруг кому надо).

Минусы

Теперь про минусы и первоначального плагина и доработанной версии:
1) VIP не дается автоматически, а только после того как игрок наиграл нужное время, снова набрал в чате /marafon и выбрал "Забрать награду".
По сути "не баг, а фича", но бывали случаи когда игрок наиграл на VIP, но забыл забрать или думал забрать позже, а позже закончилось отведенное время (забрать надо пока длится марафон), а потом жалуется и требует VIP.
Можно конечно сделать выдачу автоматической, но пока не заморачивался.
2) Если игрок зашел, запустил марафон и не появился больше на сервере - он будет висеть в базе, так как плагин будет ждать его возвращения...
В первой версии, для того чтобы просто удалить из базы, в версии 1.1 чтобы сообщить что у него закончился срок марафона и он может начать новый и удалить с базы.
Как показала практика - таких игроков накапливается довольно много.
Я вышел из положения созданием веб-страницы, где у меня отслеживаются VIP-марафонцы и откуда я могу удалять старые записи. (База на mySQL)
По хорошему надо внедрить чистку базы с игроками, марафон у которых закончился больше недели-двух-месяца назад. Возможно сделаю, как будет настроение.
3) Та же проблема с VIP, полученными через марафон. Если игрок получил VIP, но до его окончания пропал - то он будет висеть в базе, пока снова не появится на сервере. Таких вот как раз не так много, но бывают. Опять же у меня удаляются через веб-страницу.


Так же в архив в папку www добавил php файл для отображения марафонцев и получивших VIP, с возможностью удаления лишних записей (делался только под MySQL). Внутри файла вписываете все данные по таблицам и подключению к MySQL. (может кому будет полезен)


Прикрепленный файл  marafon_v1_1.zip ( 6,77 килобайт ) Кол-во скачиваний: 12
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: