XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Закрытая тема
 
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
Сохранение Опыта
Так-с народ, я вот все читал и смотрел темы где загрузочный код, так вот, там почти все без сохранения опыта, а сохраняет левел!
вот мне и нужна формула, а то 4млн условий меня неустраивает...
Вообщем ненадо мне тут, писать ссылки на статьи на всякие такие сейвы, лучше обьясните, или выложите скрипт сюда, и формула бы непомешала... Кто знает пожалуйста обьясните...
Старый 20.06.2009, 23:04
Kamando
KM or KAMA
offline
Опыт: 3,296
Активность:
Цитата:
все без сохранения опыта, а сохраняет левел!
вот мне и нужна формула, а то 4млн условий меня неустраивает...

А ты не пробовал сохранять количество опыта? , а при загрузке давать герою? он автоматом станет нужным левлом.
Старый 20.06.2009, 23:58
agentex

offline
Опыт: 34,834
Активность:
по опыту экспа умещается в 4 символа при алфавите ~70 символов. формулы нет, юзай системы кодирования
Старый 21.06.2009, 00:02
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
хм, вот смотри, как я буду проверять количество? А?
Ты сам то попробуй...
Понимаешь высчитать левел вообще фигня, вот смотри, я как ты сказал сохраняю опыт у меня число 3 784 938 опыта, далее, делаю условие если опыт равен 3 784 938, То дает букву А, далее я жму -лоад А мне загружает опыт! а вот перед эти еще 3 784 937 условий, как извени делать?

KyTy3oFF добавил:
Хм, ну вот взять ключ, там формула....
Старый 21.06.2009, 00:04
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
вобщем то любое число можно представить в виде 2^n + 2^m + ..., порозмыслите пока над этим, если ничего не придумаете, то возможно вечерком после огорода подкину еще мыслишку
Старый 21.06.2009, 07:27
SomeFire
Всего 20 символов...
offline
Опыт: 26,884
Активность:
KyTy3oFF, можно, конечно, и в другую сис-му счисления перевести, но напишу для десятичной и в очень примитивном виде.
4млн опыта говоришь? значит 7 символов в коде будут обозначать опыт. Скажем, грузим только опыт, тогда при загрузке 3 784 938 опыта будет введено "-лоад 3784938", где 7 символ означает миллионы(т.е. к опыту героя или переменой, к которой потом приравняем опыт, присваиваем значение "число на месте 7 символа"*1 000 000), 8 символ - сотни тысяч(прибавляем к значению "число на месте 8 символа"*100 000), 9 символ - десятки тысяч(+"число на месте 9 символа"*10 000) и т.д.

SomeFire добавил:
А в тех статьях, которые ты читал было про сохранение золота?
Старый 21.06.2009, 09:02
Ranger21
I love beatiul days XD
offline
Опыт: 13,274
Активность:
в норм системах сохранения применяется крипт система для всех чисел
То есть можно сохранять любое значение integer
Потом эти числа по алгоритму декодируются и с ними производятся операции (Добавление опыта герою и т.д.)
Старый 21.06.2009, 09:32
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
угу, я еще не настолько профи в этом деле, насколько я понимаю там сделано все это через кэш...
А я то с джассом недоконца еще разобрлася...

KyTy3oFF добавил:
SomeFire да идея конечно неплохая)) ну попробую =)
Старый 21.06.2009, 13:05
Ranger21
I love beatiul days XD
offline
Опыт: 13,274
Активность:
В нормальных картах и тем более в системе сохранения для мультиплеера в виде кодов кэш не используется.
Не слушайте бред
Старый 21.06.2009, 13:07
kildren
квантор ∀
offline
Опыт: 1,583
Активность:
ща вара нету, скажу словами самый банальный и простой способ преобразования из n-значной системы в k-значную

сделай "ключ"- строку символов, котрые не повторяются, (например " йцукенгшщзх" 12 символов), если сможешь - сделай 255, чем больше - тем короче получится код
допустим число 156, итоговая длина кода 3 символа (тогда макс. число 12^3~1728) , ключ "йцукенгшщзхъ"
получаем 1ый символ
делим без остатка 156/12^2=56/144=1. Первый символ = 1 т.е. "й" берем остаток от деления 156 mod 144 = 12
получаем 2ой символ
делим без остатка 12/12^1=1. Второй символ "й"
получаем 3ий символ
остаток от деления 12 mod 12 = 0. Третий символ " "
Итого число 156 преобразовали в "йй "

обратное преобразование:
1*12^2=144
1*12^1=12
0*12^0=0
0+144+12=156
Старый 21.06.2009, 17:40
agentex

offline
Опыт: 34,834
Активность:
Цитата:
если сможешь - сделай 255

лол!! ты символов столько не наберешь! максимум получается алфавит до 80 символов, если брать знаки восклицания звездочки и прочую хрень. при этом максимальное число которое может быть закодировано, считается по формуле 80^(кол-во символов) нетрудно понять что для экспы нужно мин. 4 символа.
а алгоритм конечно полезный, для тех кто не шарит в информатике.

agentex добавил:
у тя ошибка тут: 156/12^2=56/144=1, 56 исправь на 156
Старый 21.06.2009, 18:35
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
имхо, 4-5 символов для кодирования опыта намного лучше чем бональное разбивание на разряды
Цитата:
а алгоритм конечно полезный, для тех кто не шарит в информатике.

+1, тока придется писать свой mod , ибо нет такого в варе ))
Старый 21.06.2009, 18:40
agentex

offline
Опыт: 34,834
Активность:
кстати если учитывать русские буквы, то это еще +66 символов
Цитата:
бональное разбивание на разряды

о_О а где ты тут такое видел?
Старый 21.06.2009, 18:44
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
А теперь надо уйти от мечтаний что да как, во первых, у некоторыхваркрафт вообще неподдерживае русские символы... Так приходиться исходить из 23 буквы английского алффавита Большие и маленьки 23*23+ 10 цифры.... Ну да ладно я раобрался как сохранять экспу... Теперь только с шифровкой надо разобраться...
Старый 21.06.2009, 20:39
kildren
квантор ∀
offline
Опыт: 1,583
Активность:
KyTy3oFF
1. создаешь строку strng="qwert...890"
2. доступ к n-ому символу substring(strng,n,n+1)
3. кодирование по формулам выше приведенным (уровень 9го класса)
при 56 доступных символах в 5 буков можно зашифровать число 550+ млн. вроде как достаточно
Старый 21.06.2009, 23:21
Аминь
Crazy about that shit
offline
Опыт: 3,214
Активность:
Предлагаю сохранять не опыт, а долю полученного опыта и уровень.
Допустим если на 2-ом уровне у нас 300 опыта из 400, а сам уровень был получен на значении 200 опыта, то нужно сохранить отметку в 50%.
Старый 21.06.2009, 23:30
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
хм, я сделал проще, ну как бы особых познаний ненужно в матиматике)))
но тут уже будут ограничения)) ну проверка 0 до 9, от 10 до 99, от 100 до 999, 1000 до 9999, 10000 до 99999, 100000 до 999999, 1000000 до 9999999... =)
Может немножко громоздко но все ясно))
Старый 21.06.2009, 23:38
bee
vjass.optimizer
offline
Опыт: 16,615
Активность:
блин мб я не понимаю о чем речь идет, но могу придложить свой вариант: каждые 0.5 секунд сохранять в переменную кол-во опыта и при "-save" сохранять число. а число находить формулой т.е кол-во убийств (еще одна переменная) * по формуле вычесления опыта... и т.д в этом посте есть формула http://xgm.guru/forum/showpost.php?p=5636&postcount=1

Bee добавил:
вниху в 4 категории (разделе)

Bee добавил:
еще я видел системы для рпг там где при убийстве отображалось кол-во полученного опыта, даже если героев 2-******** то там все делилось на их кол-во
Старый 22.06.2009, 00:09
KyTy3oFF
Смерть или слава!
offline
Опыт: 2,154
Активность:
Хм... читай пост выше.... Систему я сделал)) Работает)) могу выложить саму карту, если кому интересно =)

KyTy3oFF добавил:
Единственное, нужно еще шифровку сделать))

KyTy3oFF добавил:
Вопрос по той же теме, как сделать так чтобы пароли неповторялись? =)
Старый 22.06.2009, 01:17
kildren
квантор ∀
offline
Опыт: 1,583
Активность:
KyTy3oFF использовать имя игрока
Старый 22.06.2009, 06:59
Закрытая тема

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

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

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



Часовой пояс GMT +3, время: 22:48.