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


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » DMX (cJass)
DMX
ЭллесарДата: Вторник, 22 Сентября 2009, 02:37:13 | Сообщение # 1
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Системка позволяющия прикреплять к хендлу нашие данные =)

Code
integer cj_ind = 0;

define{
      <New Data> (Type,Name) = {
        
      Type array Name##1
      Type array Name##2
      Type array Name##3
      Type array Name##4
      Type array Name##5
      Type array Name##6
      Type array Name##7
      Type array Name##8}
        
        
      <Save Bin> (Name,Handle,variable) = {
          cj_ind = GetHandleId(Handle)-0xffff0
            
            if (cj_ind > 0x7999) {
              if (cj_ind > 0xbfff) {
                  Name##8[cj_ind - 0xd000] = variable;
                  Name##7[cj_ind - 0xc000] = variable;
              } else {
                  Name##6[cj_ind - 0xa000] = variable;
                  Name##5[cj_ind - 0x8000] = variable;
              }
          } elseif (cj_ind > 0x3fff) {
                  Name##4[cj_ind - 0x6000] = variable;
                  Name##3[cj_ind - 0x4000] = variable;
          } else {
              Name##2[cj_ind - 0x2000] = variable;
              Name##1[cj_ind] = variable;
          }
      }
            
      <Load Bin> (Name,Handle,variable) = {
          cj_ind = GetHandleId(Handle)- 0xffff0
          if (cj_ind > 0x7fff) {
              if (cj_ind > 0xbfff) {
                  if (cj_ind > 0xdfff) {
                       variable = Name##8[cj_ind - 0xe000];
                  } else {
                      variable = Name##7[cj_ind - 0xc000];
                  }
              } elseif (cj_ind > 0x9fff) {
                  variable = Name##6[cj_ind - 0xa000];
              } else {
                  variable = Name##5[cj_ind - 0x8000];
              }
          } elseif (cj_ind > 0x3fff) {
              if (cj_ind > 0x5fff) {
                  variable = Name##4[cj_ind - 0x6000];
              } else {
                  variable = Name##3[cj_ind - 0x4000];
              }
          } elseif (cj_ind > 0x1fff) {
              variable = Name##2[cj_ind - 0x2000];
          } else {
              variable = Name##1[cj_ind];
          }
      }
        
        
      Load (Name,Handle,variable) = {
          cj_ind = GetHandleId(Handle)-0xffff0
          if (cj_ind < 0x1fff ) {
            variable = Name##1[cj_ind]
          } elseif (cj_ind < 0x3fff ) {
            variable = Name##2[cj_ind-0x2000]
          } elseif (cj_ind < 0x5fff ) {
            variable = Name##3[cj_ind - 0x4000]
          } elseif (cj_ind < 0x7fff ) {
            variable = Name##4[cj_ind - 0x6000]
          } elseif (cj_ind < 0x9fff ) {
            variable = Name##5[cj_ind - 0x8000]
          } elseif (cj_ind < 0xafff ) {
            variable = Name##6[cj_ind - 0xa000]
          } elseif (cj_ind < 0xcfff ) {
             variable = Name##7[cj_ind - 0xc000]
          } else {
             variable = Name##8[cj_ind - 0xe000]
          }
      }   
        
      Save (Name,Handle,variable) = {
          cj_ind = GetHandleId(Handle)-0xffff0
          if (cj_ind < 0x3fff ) {
              Name##1[cj_ind] = variable
              Name##2[cj_ind-0x2000] = variable
          } elseif (cj_ind < 0x7fff ) {
              Name##3[cj_ind - 0x4000] = variable
              Name##4[cj_ind - 0x6000] = variable
          } elseif (cj_ind < 0xbfff ) {
              Name##5[cj_ind - 0x8000] = variable
              Name##6[cj_ind - 0xa000] = variable
          } else {
              Name##7[cj_ind - 0xc000] = variable
              Name##8[cj_ind - 0xe000] = variable
          }
      }   
}
//test

New Data (integer,test1)

Скорость высокая =) чтобы использовать, нужно для начало выделить какую-либо память нам нужно использовать "New Data", укажим тип и имя:

New Data(integer,test1);

И так мы проинициализировали test1, теперь можно хранить целочисловые переменые под именем test1, делается это довольно просто, предположим у нас есть юнит к которому хотим присвоить что либо:

Save(test1,u,10)

и так присвоили к юниту число 10 )

можно прикреплять структуры... допустим:

struct point{
real X;
real Y;
}

New Data(point, test2);

можно несколько

New Data(point, test3);
New Data(point, test4);.

Для чтения используем: Load

Load (test2,u, Ipoin)

Здесь мы присвоили переменной Ipoin, сохроненное значения юнита в test2. для обнуление можно использовать:

Save(test1,u,0/null) (или null или 0, смотря что нужно)


база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE


Сообщение отредактировал Эллесар - Вторник, 22 Сентября 2009, 02:38:54
 

windrunnerДата: Вторник, 22 Сентября 2009, 13:03:44 | Сообщение # 2
10 уровень
Группа: Проверенные
Сообщений: 1259
Награды: 0
Репутация: 218
Блокировки:
Эллесар, если честно я не вижу смысла в етом=)
Можно юзать для етого хешь или кешь(который пашет везде)


И в правду мир сошел с ума...
И до тех пор пока нас не обесточат
Пока не догорит аварийных фонарей заряд
Мы будем жечь тут электричество что есть мочи
Русский мапмейкинг - бессмысленный и беспощадный.xD
 

ЭллесарДата: Вторник, 22 Сентября 2009, 13:45:23 | Сообщение # 3
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
windrunner, они сосут в скорости очень сильно.

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

DaemonikДата: Вторник, 22 Сентября 2009, 20:28:31 | Сообщение # 4
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
Quote (Эллесар)
Скорость высокая

windrunner глупый ты вопрос задал, написано же зачем оно нужно
PS xgm'a мало решил и сюда забросить системку?))
PSS я боюсь ее тут не оценят по достоинству, тк маловато тут картостроителей юзающих джасс


"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

DragoNДата: Вторник, 22 Сентября 2009, 21:38:26 | Сообщение # 5
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Daemonik, но есть такие =)
Эллесар, довольно люопытная вещь,так же советую добавить пример)


El Psy Congroo
 

DaemonikДата: Вторник, 22 Сентября 2009, 22:55:06 | Сообщение # 6
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
Ну так им тогда лучше идти на xgm. Сам то я здесь прикола ради сижу)

"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

DragoNДата: Вторник, 22 Сентября 2009, 23:47:18 | Сообщение # 7
Инквизитор
Группа: Стримеры
Сообщений: 4348
Награды: 7
Репутация: 2776
Блокировки:
Daemonik, все кодеры нормальные как раз сидят ещё и на XGM )

El Psy Congroo
 

MaSerДата: Среда, 23 Сентября 2009, 00:02:55 | Сообщение # 8
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
блуэ не рассказывай тут сказок про кгам

 

Gam_OverДата: Четверг, 24 Сентября 2009, 05:57:49 | Сообщение # 9
9 уровень
Группа: Проверенные
Сообщений: 1107
Награды: 0
Репутация: 175
Блокировки:
нормальная вещь вполне, тока пример не мешал бы
 

DaemonikДата: Четверг, 24 Сентября 2009, 16:37:45 | Сообщение # 10
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
OFFTOP
MaSer, ты хочешь сказать что нетрат, адик, свдн и прочие лажовые кодеры?)

Добавлено (24-09-2009, 16:37)
---------------------------------------------
PS между прочим эта система была написана благодаря адольфу (cJass)


"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

MaSerДата: Четверг, 24 Сентября 2009, 16:41:22 | Сообщение # 11
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
Quote (Daemonik)
MaSer, ты хочешь сказать что нетрат, адик, свдн и прочие лажовые кодеры?)

Я хочу что если они сидят на кгам, а не на компах или бру, то мне похрену какие они кодеры. Они сидят на кгам.


 

DaemonikДата: Четверг, 24 Сентября 2009, 16:47:26 | Сообщение # 12
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
эмм... бру? близзардру? его уже фиг знает сколько не существует, тем более они почти все оттуда

"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

MaSerДата: Четверг, 24 Сентября 2009, 16:49:45 | Сообщение # 13
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
Quote (Daemonik)
эмм... бру? близзардру? его уже фиг знает сколько не существует, тем более они почти все оттуда

lol
они переехали, они теперь близзпланет.


 

DaemonikДата: Четверг, 24 Сентября 2009, 17:05:28 | Сообщение # 14
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
ололо)) ну был я там... по сравнению с xgm фигня...

"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

MaSerДата: Четверг, 24 Сентября 2009, 17:07:03 | Сообщение # 15
Котобог
Группа: Стримеры
Сообщений: 3574
Награды: 13
Блокировки:
Daemonik, блуэ, анигилируйся, кусок ереси.

 

DaemonikДата: Четверг, 24 Сентября 2009, 17:09:53 | Сообщение # 16
2 уровень
Группа: Пользователи
Сообщений: 34
Награды: 0
Репутация: 4
Блокировки:
Еще раз ололо))
Полноэкранный инвентарь
Автор данной наработки - DimonT aka Zibada
Наработка размещена с согласия автора
зибада владелец xgm)

Добавлено (24-09-2009, 17:09)
---------------------------------------------
Я понимаю что спорить бесполезно, но два лучших сайта посвященных картостроению в варкрафте это: xgm (русский сайт), wc3c (сайт векса)


"Оружия в этом подвале хватит что бы взорвать город размером с...
С ЭТОТ ПОДВАЛ!" 12oz. Mouse (Поллитровая мышь)
"Embrace your dreams"
 

Wake_Me_UpДата: Вторник, 29 Сентября 2009, 22:21:09 | Сообщение # 17
3 уровень
Группа: Пользователи
Сообщений: 52
Награды: 0
Репутация: 6
Блокировки:
Автор молодец.Зачотно.Надо будет через , там , месяц тоже статью написать . Изучать буду.



 

ЛеськоДата: Пятница, 02 Октября 2009, 06:11:24 | Сообщение # 18
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 9
Блокировки:
фигняято какаято O_O XAT <3

Лесько разбойниццо-программистко =D
Ну и что, что ветер в голове?! Зато мысли всегда свежие...
 

ЭллесарДата: Воскресенье, 04 Октября 2009, 12:21:39 | Сообщение # 19
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
Лесько, ХАТ медленей) чуть побыстрей SaveInteger/LoadInteger. А это быстрей хата) тем более заюзан бинарный поиск, быстрей даже чем статичные массивы на vJass =/

база паролей: https://yadi.sk/d/mdDhWuvPcTSKw
бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
 

ЛеськоДата: Понедельник, 05 Октября 2009, 12:09:35 | Сообщение # 20
3 уровень
Группа: Пользователи
Сообщений: 53
Награды: 0
Репутация: 9
Блокировки:
бинарный поиск это почти ничто, у посчитай скока элементов. бин поиск имеет смысл при 128+ проверках..

Добавлено (05-10-2009, 12:09)
---------------------------------------------
такчто это фейл и стыд) тут ничего нового, абсолютно.


Лесько разбойниццо-программистко =D
Ну и что, что ветер в голове?! Зато мысли всегда свежие...
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » DMX (cJass)
  • Страница 1 из 1
  • 1
Поиск:

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