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

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

Ответ
 
Radiant
Silence
offline
Опыт: 4,907
Активность:
SCV(vJass)
Начал изучать newgenpack, первое, что попробовал сделать это вот такую систему)
Тут многие используют SCV(Автором оригинальной системы является DimonT), может пригодится...

Код:
// *** ReturnBug Module ***

library rb
 function H2I takes handle h returns integer
  return h
  return 0
 endfunction
 //! textmacro i2 takes type, name
 function I2$name$ takes integer i returns $type$
  return i
  return null
 endfunction
 //! endtextmacro
 //! runtextmacro i2("unit", "U")
 //! runtextmacro i2("effect", "FX")
 //! runtextmacro i2("lightning", "LG")
endlibrary

// *** SuperCustomValue Module ***

library scv initializer init_scv uses rb 
 globals
  public gamecache cache
 endglobals
 
 function init_scv takes nothing returns nothing
  call FlushGameCache(InitGameCache("scv.c"))
  set cache = InitGameCache("scv.c")
 endfunction

 //! textmacro scv_set takes name, type, store, val
 function set_object_$name$param takes handle h, string key, $type$ val returns nothing
  call Store$store$(cache, I2S(H2I(h)), key, $val$)
 endfunction
 //! endtextmacro

 //! runtextmacro scv_set("i", "integer", "Integer", "val")
 //! runtextmacro scv_set("r", "real", "Real", "val")
 //! runtextmacro scv_set("s", "string", "String", "val")
 //! runtextmacro scv_set("b", "boolean", "Boolean", "val")
 
 //! runtextmacro scv_set("u", "unit", "Integer", "H2I(val)")
 //! runtextmacro scv_set("e", "effect", "Integer", "H2I(val)")
 //! runtextmacro scv_set("l", "lightning", "Integer", "H2I(val)")
 
 //! textmacro scv_get takes name, type, rb, stored, end
 function get_object_$name$param takes handle h, string key returns $type$
  return $rb$GetStored$stored$(cache, I2S(H2I(h)), key)$end$
 endfunction
 //! endtextmacro

 //! runtextmacro scv_get("i", "integer", "", "Integer", "")
 //! runtextmacro scv_get("r", "real", "", "Real", "")
 //! runtextmacro scv_get("s", "string", "", "String", "")
 //! runtextmacro scv_get("b", "boolean", "", "Boolean", "")
 
 //! runtextmacro scv_get("u", "unit", "I2U(", "Integer", ")")
 //! runtextmacro scv_get("e", "effect", "I2FX(", "Integer", ")")
 //! runtextmacro scv_get("l", "lightning", "I2LG(", "Integer", ")")
 
 function flush_object takes handle h returns nothing
  call FlushStoredMission(cache, I2S(H2I(h)))
 endfunction
endlibrary


Знаю что мне ответят, jass-еры , но зачем она у меня будет пылится) Можт комунибудь пригодится(хотябы в качестве тутора по макросам)

Отредактировано Radiant, 12.07.2008 в 14:59.
Старый 12.07.2008, 07:55
adic3x

offline
Опыт: 108,439
Активность:
ну впрниципе перевел то норм, вот только что сама система не настолько тру)
Старый 12.07.2008, 08:26
Radiant
Silence
offline
Опыт: 4,907
Активность:
Цитата:
ну впрниципе перевел то норм

Ну за это хоть спасибо) - я всего 20 минут изучаю нювген XD, оказывается стока возможностей и удобств(Раньше думал обойдусь)
За статью тебе особая благодарность ;)
Старый 12.07.2008, 08:29
Ответ

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

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

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

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



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