Сейчас 05:51:34 Суббота, 11 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: Bru  
Форум о Warcraft 3 » Прочее » Отвал » [GUI - Урок 1] Кэш игры
[GUI - Урок 1] Кэш игры
UnetcoДата: Четверг, 25 Ноября 2010, 16:49:37 | Сообщение # 1
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Буфер, или по другому кэш игры, служит для сохранения и последующей загрузки
некоторых объектов WE, таких как юниты, целоисчисленные и т. д

Всего есть 5 типов объектов, которых возможно сохранить в кэш игры.
*Целоисчисленные
*Логические
*Действительные
*Боевые единицы
*Строки

Для сохранения каждой из них в данном разделе есть свое действие.
Давайте научимся правильно сохранять боевую единицу.
За сохранение юнита отвечает триггер "Буфер игры -> Сохранить юнит"
В строчке Unit вы указываете юнита, которого нужно сохранить.
В строчке Label вы должны написать что угодно, главное не употреблять
русских букв и цифр. Также соблюдайте регистр (т.е нельзя сохранять героя
с Label "Pal", а загружать с "PAL".)
Строчка Category содержит категорию юнита. Ее заполнять нужно так же, как и
строчку Label.
Пример 1: Label: peh Category: jar.
Пример 2: Label: pal Category: pal
(да да, можно писать одинаковые label и category, от этого ничего страшного не
произойдет).
Теперь разберем какие действия отвечают за сохранение других типов объектов:
Целоисчисленные -> Буфер игры -> Сохранить целое
Логические -> Буфер игры -> Сохранить булево
Строки -> Буфер игры -> Сохранить символьное
Действительные -> Буфер игры -> Сохранить вещественное

Теперь рассмотрим пошаговое создание кеша и последующую загрузку из него
боевой единицы.
Шаг 1: Создаем кеш игры "Буфер игры -> Создать кеш игры". Вместо MapName пишем что захочем.
Опять же - соблюдаем регистр. Внимание! Расширение w3v обязательно.
Шаг 2: Сохраняем юнита как я писал в начале урока.
Шаг 3: Сохраняем кэш "Буфер игры -> Сохранить кэш игры
Теперь создаем вторую карту и при инициализации или другом событии добавляем
действия:
1: Создать кеш игры. Вместо MapName пишем тоже самое, что писали в кэше первой карты.
2: "Буфер игры -> Восстановить угол поворота юнита". В строчках Label и Category пишем
тоже самое, что в этих же самых строчках первой карты (не забывайте про регистр).
Вот и все. Теперь при переходе из карты в карту (который, я надеюсь, вы делать умеете)
юнит сохраненный в первой карте перейдет во вторую вместе со всеми предметами и способностями,
которыми он обладал на момент сохранения в кэш игры.
Д/з: Создать кэш и сохранить в него как минимум 2 вида объектов, потом загрузить эти объекты во второй карте (Надеюсь переход из карты в карту вы делать умеете). Если будут вопросы, писать в теме.


Сообщение отредактировал Unetco - Суббота, 27 Ноября 2010, 06:05:02
 

BUUNIДата: Четверг, 25 Ноября 2010, 18:59:36 | Сообщение # 2
7 уровень
Группа: Проверенные
Сообщений: 347
Награды: 1
Репутация: 53
Блокировки:
Куда Д/з скидывать?

 

3JIODEйДата: Четверг, 25 Ноября 2010, 19:12:10 | Сообщение # 3
6 уровень
Группа: Заблокированные
Сообщений: 198
Награды: 0
Репутация: 47
Блокировки:
Unetco, завтра скину в ЛС, кстати, вот есть наработки же по save/load, они тоже на кеше основываются?(не учитывая проверку кода).

Грац меня с шестым взломом администрации
 

UnetcoДата: Четверг, 25 Ноября 2010, 20:07:57 | Сообщение # 4
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Quote (3JIODEй)
они тоже на кеше основываются?

Да.
Quote (BUUNI)
Куда Д/з скидывать?

В ЛС.
 

tvainДата: Воскресенье, 12 Декабря 2010, 11:09:53 | Сообщение # 5
6 уровень
Группа: Проверенные
Сообщений: 188
Награды: 0
Репутация: 44
Блокировки:
Каким действием запускается вторая карта?
 

UnetcoДата: Воскресенье, 12 Декабря 2010, 13:31:41 | Сообщение # 6
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
tvain, Игра -> Установить следующая карта *Название твоей карты, которая уже вставлена в кампанию*
Этим действием ты её только устанавливаешь. Запустится она только после победы.
 

KorNДата: Воскресенье, 12 Декабря 2010, 16:46:35 | Сообщение # 7
8 уровень
Группа: Проверенные
Сообщений: 521
Награды: 0
Блокировки:
Unetco, по английски это будет Set next level ? Не получается с переходом :(
 

UnetcoДата: Воскресенье, 12 Декабря 2010, 16:53:52 | Сообщение # 8
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
KorN, Убедись что то, что написано в строчке триггера полностью совпадает с названием второй карты.
 

KorNДата: Воскресенье, 12 Декабря 2010, 17:06:53 | Сообщение # 9
8 уровень
Группа: Проверенные
Сообщений: 521
Награды: 0
Блокировки:
Unetco, уже разобрался :) Щас проверю и вышлю в лс,если все норм будет.

Добавлено (12-12-2010, 17:06)
---------------------------------------------
Unetco, зделал все,как написано в первом посте, Перс ни лвл,ни предметов не сохранил.

Quote

Целоисчисленные -> Буфер игры -> Сохранить целое
Логические -> Буфер игры -> Сохранить булево
Строки -> Буфер игры -> Сохранить символьное
Действительные -> Буфер игры -> Сохранить вещественное

Это тоже прописывать в триггерах надо ?

 

UnetcoДата: Воскресенье, 12 Декабря 2010, 18:47:58 | Сообщение # 10
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
KorN,
Quote (KorN)
Это тоже прописывать в триггерах надо ?

Это строчки, которые сохраняют определенный тип объекта.
Если не получится, вышли мне в ЛС, я скажу какие ошибки допустил.
Если сложно сделать и строку и юнита, сделай просто юнита. Не забывай что регистр label и category нужно учитывать.

Добавлено (12-12-2010, 18:47)
---------------------------------------------
Ошибка довольно смешная:
Во второй карте ты уже поставил готового рыцаря смерти, а того которого ты сохранял в кеш просто напросто не создал (там было создать в центр "нет области")
Т.е рыцаря смерти на второй карте быть не должно, он должен создаваться из кеша. (Убери рыцаря смерти и в триггере выгрузки из кеша юнита поставь область, все должно будет работать)

Сообщение отредактировал Unetco - Воскресенье, 12 Декабря 2010, 17:21:28
 

KorNДата: Воскресенье, 12 Декабря 2010, 19:17:26 | Сообщение # 11
8 уровень
Группа: Проверенные
Сообщений: 521
Награды: 0
Блокировки:
Unetco, сделал,один фиг появляется рыцарь смерти 1 уровня без всего.

Добавлено (12-12-2010, 19:17)
---------------------------------------------
ЗАменил обычного на Артеса, всеравно создается тот рыцарь смерти

 

UnetcoДата: Воскресенье, 12 Декабря 2010, 20:04:30 | Сообщение # 12
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
KorN, Потом отправлю тебе наработку, попробуешь разобраться. (Я в комментариях все распишу)
 

KorNДата: Воскресенье, 12 Декабря 2010, 20:05:00 | Сообщение # 13
8 уровень
Группа: Проверенные
Сообщений: 521
Награды: 0
Блокировки:
ок
 

RoBoT1Дата: Вторник, 14 Декабря 2010, 15:41:56 | Сообщение # 14
10 уровень
Группа: Проверенные
Сообщений: 1454
Награды: 2
Репутация: 240
Блокировки:
Unetco, от первого урока узнал много нового т.к. кешом вообще не пользовался! Щас чё нить попробую сделать)
 

UnetcoДата: Вторник, 14 Декабря 2010, 16:05:31 | Сообщение # 15
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Скоро будет второй урок, просто времени сейчас мало. (Если кому интересно - это будет создание save/load системы)
 

tvainДата: Вторник, 14 Декабря 2010, 19:09:25 | Сообщение # 16
6 уровень
Группа: Проверенные
Сообщений: 188
Награды: 0
Репутация: 44
Блокировки:
Эти обе карты надо заносить? в редактор компаний? не важно в какой последовательности?
И что надо сделать кроме сохранения кэша, юнитов и т.д. и запуска высего этого в другой карте?
 

UnetcoДата: Вторник, 14 Декабря 2010, 19:18:22 | Сообщение # 17
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Quote (tvain)

И что надо сделать кроме сохранения кэша, юнитов и т.д. и запуска высего этого в другой карте?

Еще переход между картами делать надо
Quote (Unetco)
Игра -> Установить следующая карта *Название твоей карты, которая уже вставлена в кампанию*
 

tvainДата: Вторник, 14 Декабря 2010, 19:50:17 | Сообщение # 18
6 уровень
Группа: Проверенные
Сообщений: 188
Награды: 0
Репутация: 44
Блокировки:
Я делаю все как в инструкции.
Создаю триггер:
Боевая единица вошел в зону.
Следующий кровень моя вторая карта (все занес в компанию)
Но когда гер входит в зону мапа не грузиться а тупо выкидывает в главное меню варика, в чем подвох?
 

UnetcoДата: Вторник, 14 Декабря 2010, 20:07:39 | Сообщение # 19
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Скорее всего неправильно ввел название второй карты (Оно должно полностью совпадать с названием второй карты), т.е если в триггере напишешь Map1 а название карты map1, то работать не будет.
 

tvainДата: Вторник, 14 Декабря 2010, 20:59:41 | Сообщение # 20
6 уровень
Группа: Проверенные
Сообщений: 188
Награды: 0
Репутация: 44
Блокировки:
Я проверил все точь в точь одинаково...
Это не может быть из-за того что я тестил через WE? (проста один раз было, что не работала одна система когда тестил через WE)
 

UnetcoДата: Среда, 15 Декабря 2010, 12:45:55 | Сообщение # 21
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
tvain, Скорее всего именно из за этого. Сохрани кампанию и запусти ее в самом варе.
 

АхилДата: Среда, 15 Декабря 2010, 15:45:38 | Сообщение # 22
9 уровень
Группа: Проверенные
Сообщений: 831
Награды: 0
Репутация: 191
Блокировки:
Quote (Unetco)
2 вида объектов

А нельзя просто 2 боевые единицы перенести?

Добавлено (15-12-2010, 15:45)
---------------------------------------------
Unetco, скинул в ЛС (не уверен что правильно сделал)


 

UnetcoДата: Среда, 15 Декабря 2010, 17:40:16 | Сообщение # 23
10 уровень
Группа: Проверенные
Сообщений: 2307
Награды: 2
Репутация: 648
Блокировки:
Оценка за д/з:
4/5 - все сделал правильно, но только с 1 типом объектов. (Можно было сделать и строку, она не так уж и сложно переносится: - устанавливаешь текст переменной типа строка и переносишь её в другую карту. Во второй карте выгружаешь из кеша эту строку и заключаешь её в переменную (Обязательно!. Только боевую единицу можно правильно перенести без заключения в переменную)
 

АхилДата: Среда, 15 Декабря 2010, 21:22:33 | Сообщение # 24
9 уровень
Группа: Проверенные
Сообщений: 831
Награды: 0
Репутация: 191
Блокировки:
Quote (Unetco)
устанавливаешь текст переменной типа строка и переносишь её в другую карту. Во второй карте выгружаешь из кеша эту строку и заключаешь её в переменную (Обязательно!. Только боевую единицу можно правильно перенести без заключения в переменную)

ок. хорошо, теперь буду знать)
Просто с кэшом не часто работал и подзабыл все. А так урок замечательный, жду дальнейших указаний :)

Кстати как там 2 урок? пишешь хоть?)


 

tvainДата: Четверг, 16 Декабря 2010, 18:09:39 | Сообщение # 25
6 уровень
Группа: Проверенные
Сообщений: 188
Награды: 0
Репутация: 44
Блокировки:
Блин я не знал, что может быть такой запар, вродебы с такой не очень сложной штукой...!! =(
Я сохранил как компанию, а она открывается с черным экраном и конпкой назад...(((
 

Форум о Warcraft 3 » Прочее » Отвал » [GUI - Урок 1] Кэш игры
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz