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

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

Ответ
 
ZeToX2007

offline
Опыт: 7,009
Активность:
SaveSystem and SumerSaveSystem
Две системы) первая обычная система, готовая уже можно пользоваться, а вот вторая очень удобная в применение.


Особенность второй наработаки состоит в том, что мы можем указывать, сколько бит будет занимать каждая переменная. пример:

Код:
call SaveInt(GetHeroLevel(udg_HeroSave),7)

Функция сохраняет переменную(Лвл героя), 7 - обозначает что диапазон будет от 0 до 127 так как уровень героя не может быть нулевой, мы будем при сохранение отнимать 1, при загрузки добовлять

Код:
call SaveInt(GetHeroStr(udg_HeroSave,false),11)

Сдесь мы сохраняем силу, 11-битовая - то есть от 0 до 2047
тоже самое делаем с ловкостью и другими параметрами.

Важно соблюдать АЛГОРИТМ !(ну это потом)

после сохранения параметво взываем функцию
SaveCode() (она ничего не принимает и возращает string с кодом с которым работали. то есть легко можно вставить в функцию для отоброжения кода.


Теперь загрузка:

пригодится функция call bx01(string,intger) string - Загружаемый код, интегер длинна строки.
можно использовать при событии

Игрок написал в чате -load:

Если условия удолетворяют то выполняем

Код:
call bx01(Введённая строка с 7 по 23 символ,16)

а дальше загружаем данные, ВАЖНО загрузить их в таком же порядке как и сохраняли и указать такой же количество бит..

Нам поможет функция LoadInt(i) где i - число бит. тоесть

Код:
local integer HeroLvl = LoadInt(7)
local integer Str = LoadInt(11)
local integer Agi = LoadInt(11)
local integer Int = LoadInt(11)



Вринцыпе вот)) чем больше битов тем дленее код. и важно не забыть в конце вызать функцию:
Код:
call Dstr()




ЗЫ: на самом деле, что я говорил - биты, это бред, но мне так удобнее.

Таблица.
1 - 2
2 - 4
3 - 8
4 - 16
5 - 32
6 - 64
7 - 128
8 - 256
9 - 512
10 1024
11 2048
12 4096

и тд
Прикрепленные файлы
Тип файла: w3x SaveHero.w3x (19.3 Кбайт, 108 просмотров )
Тип файла: w3x SaveHero2.w3x (20.3 Кбайт, 88 просмотров )
Тип файла: w3x SaveHero2b.w3x (22.6 Кбайт, 70 просмотров )
Тип файла: w3x SaveHero2c.w3x (21.9 Кбайт, 280 просмотров )

Отредактировано ZeToX2007, 20.08.2009 в 22:49.
Старый 19.08.2009, 01:02
Stefler
MCA
offline
Опыт: 10,457
Активность:
Новый велосипед save/load геров?
Старый 19.08.2009, 01:14
ZeToX2007

offline
Опыт: 7,009
Активность:
~Stefler:
> Новый велосипед save/load геров?

Я ещё невидел не где, систему похожую которая похожа на вторую карту.

зы на первой карте для теста Ecs нуджно нажимать, во второй вводить -save

ZeToX2007 добавил:
Да и во второй, для каждой переменной делаешь диапозон такой, который тебе понадобится.... ничего лишнего не будет.
Старый 19.08.2009, 01:25
SRes
1110101000
offline
Опыт: 9,997
Активность:
Не вижу смысла. Чем она лучше ? Разделение по битам ? Выйдет ли в один символ записать 8 значений (1 или 0 х 8) ? Иначе - нет смысла.
Старый 19.08.2009, 01:37
ZeToX2007

offline
Опыт: 7,009
Активность:
SRes, Да, тока в один символ можно записать 6 значений (1 или 0). так как это английский алфовит + цивры и ещё пару символов.

ZeToX2007 добавил:
Цитата:
Сообщение от SRes
Выйдет ли в один символ записать 8 значений (1 или 0 х 8)

Да и фиг ты так запишишь....
Старый 19.08.2009, 01:45
SRes
1110101000
offline
Опыт: 9,997
Активность:
Вот это единственный плюс относительно других систем.
Старый 19.08.2009, 01:55
J
expert
offline
Опыт: 48,447
Активность:
английскитй подучи, сiстемщик
Старый 19.08.2009, 02:14
ZeToX2007

offline
Опыт: 7,009
Активность:
J, Невижу смысла, как нам препод говорил по программированию, как слышити так и пишите) мне так более удобнее и пофиг, что не правельно.
Старый 19.08.2009, 02:19
Van Damm
wait... what?
offline
Опыт: 22,268
Активность:
Правь рунглиш на english, как минимум. Не хотелось бы кому-то такого препода :/
Старый 19.08.2009, 02:25
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
Почему при написании -save мне дается новый герой?
Старый 19.08.2009, 12:45
ZeToX2007

offline
Опыт: 7,009
Активность:
Hellfim, это для проверки, выдаётся код и по нему же создаётся герой.
Старый 19.08.2009, 13:13
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
ZeToX2007, в этом нет смысла. Герой должен создаваться после того, как я введу код, который мне был выдан, после того как я написал "-save". Если это не так, то эта система бесполезна, т.к. ее все равно придется настраивать.
Старый 19.08.2009, 13:55
ZeToX2007

offline
Опыт: 7,009
Активность:
Hellfim,


Цитата:
Сообщение от ZeToX2007
Теперь загрузка:
пригодится функция call bx01(string,intger) string - Загружаемый код, интегер длинна строки.
можно использовать при событии
Игрок написал в чате -load:
Если условия удолетворяют то выполняем
Код:
call bx01(Введённая строка с 7 по 23 символ,16)
а дальше загружаем данные, ВАЖНО загрузить их в таком же порядке как и сохраняли и указать такой же количество бит..
Нам поможет функция LoadInt(i) где i - число бит. тоесть
Код:
local integer HeroLvl = LoadInt(7)
local integer Str = LoadInt(11)
local integer Agi = LoadInt(11)
local integer Int = LoadInt(11)
и тд...
Вринцыпе вот)) чем больше битов тем дленее код. и важно не забыть в конце вызать функцию:



Hellfim, Читай...
Старый 19.08.2009, 14:06
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
ZeToX2007, я читал. Это должно быть уже в карте реализовано, а не конечным пользователем настраиваться.
Старый 19.08.2009, 14:16
ZeToX2007

offline
Опыт: 7,009
Активность:
Hellfim, Это настраиваться за 5 минут ! она удобно и проста. если хочешь, могу настроить специально для тебя) главное отличие этой системе - настройка займет несколько минут в отличии от других...
Старый 19.08.2009, 16:06
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
ZeToX2007, с радостью протестирую уже настроенную версию.
Старый 19.08.2009, 16:07
ZeToX2007

offline
Опыт: 7,009
Активность:
Hellfim, Вон она в первом посте и так, тут такие диопазоны

Разновидностей героев - 64
Максимальный уровень героя - 127
Макс сила 2047
Макс ловк 2047
Макс инт 2047

6 слотов, 127 разновидностей предметов

+ защита но я снизил бы её до 12 бит с 15...

ZeToX2007 добавил:
И важно запомнить:
6 бит - это один символ в коде.
7,8,9,10,11,12 - символа...
18 - 3 символа

и тд...

В конченом итоге, лучше всего, чтобы ваше количество бит делилось на 6. но не обязательно
Старый 19.08.2009, 17:30
Hellfim
Новичок
offline
Опыт: 79,637
Активность:
ZeToX2007, работает =) ты не планируешь сделать сохранение способностей?
Старый 19.08.2009, 18:13
ZeToX2007

offline
Опыт: 7,009
Активность:
Hellfim, думаю это не нужно... во многих рпг способности не сохроняются, так как это лишние символы, ну если вот дополнительные способности сохронять, то это можно
Старый 19.08.2009, 18:58
Daemonik

offline
Опыт: 5,084
Активность:
Тру система. Один вопрос. Если я не добавлю в триггер init одного героя или вещь он не загрузится?
Старый 19.08.2009, 19:44
Ответ

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

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

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

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



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