Вернуться   Форум игры Formula O2 > Игра > Предложения и вопросы

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.02.2014, 13:41   #1
MouseR
Зловред
 
Аватар для MouseR
 
Регистрация: 10.06.2008
Сообщений: 2,417
MouseR отключил(а) отображение уровня репутации
По умолчанию

Насколько сложно?

А.

В таблице пользователей (активных) сделать дополнительно несколько полей:
1) флаг перевода игрока на новый механизм
2) тот опыт что игрок накопил на текущий момент (до перевода игрока в режим переодическогообнуления игры)
3) тот уровень которого игрок достиг на текущий момент (до перевода игрока в режим переодического обновления игры)
4) флаг обнуления (для тех кто уже переведен на новый механизм Метка которая покажет что мы его в текущей итерации обнулили)

пункт 1 нужен для возвращения в игру кого то позже чем другие.. если этот механизм приживется и ктото из архивных игроков вернется их опыт полученый не сгорел.. мы перепишем его на всякие пожарные только один раз в поля 2 и 3 для каждого игрока.. (чтобы иметь возможность вернуться)

Б.

Далее в файле конфигурации где прописано сколько нужно для получения опыта и сколько при этом выдается денег закоментировать существующую систему (это хэшь массив .. около 16 строк кода) и повторить его с новыми значениями

С.

Написать функцию котрая будет делать обнуление на автомате.. подобная той что вычисляет результаты РЧ и подводит итоги. Она так же должна работать по таймеру. Определяем например что у нас обнуление всегда происходит ровно первого числа в марте в июне в сентябре и в декабре (тоесть 4 раза в году) и в этот день мы:
- Если флаг в поле 1 указывает что игрок ещё не "старик" значения из полей LVL, EXP пересохраняем в поля 2 и 3
- Записываем в поле 1 что игок переведен на новый алгоритм.
- Если он уже на "новом алгоритме" опыт котрый за это время игрок накомпил добавляем к тому что ранее было накоплено (чтобы и этот оппыт не сгорел если вдруг мы вернуться решим, если вдруг окажется что игрок в старой системе получит новый уровень то как только мы вернемся к старой системе ему система и денег выдаст и уровень новый насчитает)
- в поле отвечающее за опыт пишем нуль
- если для игроков достигших за сезон уровня выше 10 мы будем сбрасывать уровень не до нуля а на 10 уровней тогда какраз вычисляем новое значение которое нужно записать в это поле. Остальным пишем в поле уровня ноль.


Собственно всё

Ничё не отбираем.. если всё плохо (непонравилось) у нас старые значения сохранены и откат будет состоять в том что сначала хэшьмассив новый стираем а старый раскомментируем.. затем удаляем выполнение функции сезонного обнуления а затем в таблице пользователей переписываем значения из полей 2 и 3 в те поля что сейчас LVL и EXP..

дальше система сама разберется кто за это время успел получить опыт и ему надо бабла выдать..

Последний раз редактировалось MouseR; 26.02.2014 в 13:45
MouseR вне форума   Ответить с цитированием
Старый 26.02.2014, 14:45   #2
dim0906
Senior Member
 
Регистрация: 10.06.2008
Сообщений: 916
dim0906 на пути к лучшему
По умолчанию

Ну мне идея нравится (насколько сложно я все равно не понял я в этом дуб-дубом) А вот как остальные?
dim0906 вне форума   Ответить с цитированием
Старый 26.02.2014, 15:22   #3
тестировщик
Administrator
 
Регистрация: 22.03.2010
Сообщений: 1,188
тестировщик на пути к лучшему
По умолчанию

Цитата:
Сообщение от MouseR Посмотреть сообщение
Ничё не отбираем.. если всё плохо (непонравилось) у нас старые значения сохранены и откат будет состоять в том что сначала хэшьмассив новый стираем а старый раскомментируем.. затем удаляем выполнение функции сезонного обнуления а затем в таблице пользователей переписываем значения из полей 2 и 3 в те поля что сейчас LVL и EXP..

дальше система сама разберется кто за это время успел получить опыт и ему надо бабла выдать..
алгоритм понятен, сделать это действительно не сложно, закрою игру на день-два и сделаю, но... половина как обычно будут недовольны, а я устал слушать: это верни, это не так, а вот это эдак...
это кардинальное изменение, и на него должны быть согласны все, ну или хотя бы 90% игроков
тестировщик вне форума   Ответить с цитированием
Старый 26.02.2014, 15:38   #4
dim0906
Senior Member
 
Регистрация: 10.06.2008
Сообщений: 916
dim0906 на пути к лучшему
По умолчанию

Ну тогда надо выносить эту тему на отдельное обсуждение и открывать голосование. Только хорошо бы, чтоб сначала поговорили, а потом и голосовать. Чтоб не было: я прголосовал, а потом передумал... И определить, кто имеет право голосовать, а то при одном из предыдущих голосований было: Этот мульт, этот сто лет не играет, этот вообще нипонятно откуда взялся))
dim0906 вне форума   Ответить с цитированием
Старый 27.02.2014, 00:38   #5
stergio
Moderator
 
Аватар для stergio
 
Регистрация: 11.01.2009
Сообщений: 1,094
stergio на пути к лучшему
Отправить сообщение для stergio с помощью ICQ
По умолчанию

Цитата:
Сообщение от тестировщик Посмотреть сообщение
алгоритм понятен, сделать это действительно не сложно, закрою игру на день-два и сделаю, но... половина как обычно будут недовольны, а я устал слушать: это верни, это не так, а вот это эдак...
это кардинальное изменение, и на него должны быть согласны все, ну или хотя бы 90% игроков
Если все статусы старые или заработаные остануться то сносить всё к чертям! Насчёт 90% эт ты загнул больше половины актива за в чём я уверен остальные хай тасуются, мы их забаним на денёк для усмирения
stergio вне форума   Ответить с цитированием
Старый 27.02.2014, 01:14   #6
dim0906
Senior Member
 
Регистрация: 10.06.2008
Сообщений: 916
dim0906 на пути к лучшему
По умолчанию

Цитата:
Сообщение от stergio Посмотреть сообщение
...остальные хай тасуются, мы их забаним на денёк для усмирения
Вот! Правильный подход
dim0906 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +4, время: 00:16.


Работает на vBulletin® версия 3.7.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot