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

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

 
laViper

offline
Опыт: 10,883
Активность:
Может кого-то заинтересует - на анг. форуме, куда чаще всего обращают свой взор Близзард есть тема касательно эдитора. А точнее пожеланий насчет него. Кто имеет ключик и владеет английским может высказать свои требования.
Тем более там довольно оптимистичный ответ администрации
Please add any additional feedback to this thread and we will definitely be passing this along to our development team. :)
Надеюсь меня не покарает администрация за рекламу форумов близа.
Старый 12.04.2010, 21:41
Toadcop

offline
Опыт: 54,313
Активность:
Код:
native fixed    WorldHeight (int inType, point inPos);  // inType uses the c_heightMap<*> values
- как видно есть несколько карт высот. хотя тут не ссовсем понятно (ибо type) можно он как то спецыфически делит типо...

Код:
ConsoleCommand (string inText, bool allowDefault, bool allowMacros);
тоже очень интересно что из скрипта можно вызвать коносольные команды О_о

Код:
native string   GameAttributeGameValue (string name);
native string   GameAttributePlayerValue (string name, int player);
это вроде намекает на то что можно читать данные с "config" т.е. то что было установлено на старте игры (в лобби типо) хотя не уверен. но очень на то похоже.


Код:
native void IntLoopBegin (int start, int end);
native void IntLoopStep ();
native bool IntLoopDone ();
native int  IntLoopCurrent ();
native void IntLoopEnd ();
какое то явное убожество для гуи О_О

Цитата:
// Trigonometry
// Note: All angles are in degrees
T_T

Код:
native void    EngineReset ();
ололо и что это значит ? =)

Цитата:
const int c_maxPlayers = 32;
!

Код:
PurchaseItemSetTooltipText (int inPurchaseItemId, text inText);
т.е. менять тул типы можно. и т.п.

Цитата:
//--------------------------------------------------------------------------------------------------
// Timing
//
// -- Time types --
//
// Timing functions can work with three different types of time:
//
// Game Time - Takes into account the current game speed, and will pass more slowly at slower
// speeds, and vice versa.
//
// Real Time - Passes at the same rate regardless of game speed, and approximates time passing
// in the real world for the user. However, "real" time is still synchronous, and
// will therefore be affected by lag due to network or system issues.
//
// AI Time - Passes at the same rate as game time, but may be paused/unpaused independently
// of game time via triggers. This is most commonly done to pause the AI while
// an in-game cinematic sequence is run.
//
//--------------------------------------------------------------------------------------------------


первое это профит. т.е. по идеи оно гейм тиками считается.

Код:
native void     TimerStart (timer t, fixed duration, bool periodic, int timeType);
А ГДЕ ЖЕ КОЛЛБЕК !? н\с ... Т_Т // да триггеры но из за таймера создавать ЦЕЛЫЙ ТРИГГЕР !?

хотя если выше указаный слип работает как я описал то таймеры и не нужны почти... (ну точней нужны для Х длительности периодов т.е. что бы выполнить что то когда то то там...)

Цитата:
//--------------------------------------------------------------------------------------------------
// Unit Selection
//
// Notes:
// - UnitSelect and UnitGroupSelect set the local selection state,
// which must be then transmitted across the network.
//
// However, UnitIsSelected and UnitGroupSelected query the synchronous selection state,
// which means that if you set the selection, then immediately query it, the results will
// not match.
//
// - Unit selection state cannot be set during map initialization events.
это кусок очевидной (логичной) информацыи. ну в вц3 так же -.-


Цитата:
//--------------------------------------------------------------------------------------------------
// User Interface
//--------------------------------------------------------------------------------------------------

native void TriggerAddEventMouseClicked (trigger t, int player, int mouseButton, bool down);
native void TriggerAddEventKeyPressed (trigger t, int player, int key, bool down, int s, int c, int a);

native int EventMouseClickedButton (); // left, right , middle etc.
native int EventMouseClickedPosXUI (); // 2D
native int EventMouseClickedPosYUI (); // 2D
native fixed EventMouseClickedPosXWorld (); // 3D
native fixed EventMouseClickedPosYWorld (); // 3D
native fixed EventMouseClickedPosZWorld (); // 3D

native int EventKeyPressed ();
native bool EventKeyShift (); // это идёт как дополнительный флаг с евентом
native bool EventKeyControl (); // это идёт как дополнительный флаг с евентом
native bool EventKeyAlt (); // это идёт как дополнительный флаг с евентом


вот тут уже очень интересно пошло...


ну самое интересное это
1) (вроде) нормальный слип.
2) УИ можно менять. хотя пока как то достаточно не совсем ясно там описано. это будет позже выяснено.
3) ну и норм евенты на клаву/мышь.


в целом в умелых руках достаточно мощный инструмет. такой себе wc3 с новыми нативками... =) но они тут удилили много внимания для УИ т.е. всякие трансляцыи и прочей фигни что полезно для РПГ и т.п. ну и ресеты кулдауна абилок тоже офк удобно =) т.е. еволюцыя а не революцыя это 100%

Отредактировано Toadcop, 24.04.2010 в 03:24.
Старый 24.04.2010, 03:17
ScorpioT1000
Работаем
offline
Опыт: отключен

Небольшой поток мыслей :)

ScorpioT1000, 24.04.2010 4:09:30:
там нету сет фейсинг ?)
Toadcop, 4:10:10:
native fixed PointGetFacing (point p);
native void  PointSetFacing (point p, fixed inFacing);
Toadcop, 4:10:11:
О_о
ScorpioT1000, 4:10:17:
поинт?
Toadcop, 4:10:21:
поинты вообще зверские =)
Toadcop, 4:10:34:
а лол поинт наверно вектор типо
Toadcop, 4:10:39:
или даже 2 вектора
Toadcop, 24.04.2010 4:11:08:
native fixed UnitGetFacing (unit inUnit);
native void  UnitSetFacing (unit inUnit, fixed inFacing, fixed inDuration);

ScorpioT1000, 24.04.2010 4:18:30:
интересно, там хелпер то есть? или тока хайлайтер?
Toadcop, 4:18:45:
думаю нету листа функцый и т.п =)
Toadcop, 4:18:48:
ну точней лист есть
ScorpioT1000, 4:18:55:
а хелпера нет(

ScorpioT1000, 24.04.2010 4:21:12:
это что?
ScorpioT1000, 4:21:12:
//--------------------------------------------------------------------------------------------------​
// Battle Report
//--------------------------------------------------------------------------------------------------​
const int c_invalidBattleReportId		= 0;

const int c_battleReportStateNormal     = 0;
const int c_battleReportStateCompleted  = 1;
const int c_battleReportStateHidden     = 2;

const int c_battleReportTypeMission     = 0;
const int c_battleReportTypeScene       = 1;

native void     BattleReportPanelSetSelectedBattleReport (playergroup players, int inBattleReport);
native int      BattleReportPanelGetSelectedBattleReport (int inPlayer);

native int      BattleReportCreate (playergroup inPlayerGroup, text inText, int inType, int inState);
Toadcop, 24.04.2010 4:21:35:
фигня какая то

ScorpioT1000, 24.04.2010 4:21:39:
const string c_animNameDefault          = "Default";

native void     ModelAnimationLoad (string modelPath, string animPath);
native void     ModelAnimationUnload (string modelPath, string animPath);
ScorpioT1000, 4:21:44:
а тут вот скупо
ScorpioT1000, 4:21:51:
где сет спид??
ScorpioT1000, 4:21:53:
???
Toadcop, 24.04.2010 4:22:06:
ты видиш тут юинта ? =)
Toadcop, 4:22:08:
где то )
ScorpioT1000, 4:22:15:
нет
Toadcop, 4:22:21:
ну вот втф ? -_-
ScorpioT1000, 24.04.2010 4:24:48:
native void UnitLoadModel (unit inUnit);
native void UnitUnloadModel (unit inUnit);

ScorpioT1000, 24.04.2010 4:30:09:
я пока не нашел "крутого" чтобы не мучаться со своими бд -.-
Toadcop, 4:30:21:
бд ? -.-
ScorpioT1000, 4:30:24:
тоесть пока как в варе
ScorpioT1000, 4:30:29:
ну да доставать из ро дату?
ScorpioT1000, 4:30:34:
я пока не виу нативок
Toadcop, 4:30:36:
хммм
Toadcop, 4:30:39:
что то там было
Toadcop, 4:30:42:
но не уверен
ScorpioT1000, 4:30:44:
native text UnitTypeGetName (string inUnitType);
Toadcop, 4:30:44:
как я и думал
ScorpioT1000, 4:30:50:
native int UnitTypeGetCost (string inUnitType, int inCostType);

ScorpioT1000, 24.04.2010 4:32:24:
native bool     DialogIsModal (int dialog);
ScorpioT1000, 4:32:26:
хе
ScorpioT1000, 4:32:35:
типо есть не модальные ?
ScorpioT1000, 4:33:01:
в варе все модальные вроде
ScorpioT1000, 4:33:09:
а тут мб чето типа панелек вова буит

ScorpioT1000, 24.04.2010 4:33:21:
native int BoolToInt (bool f);
Toadcop, 24.04.2010 4:34:05:
ставь в подпись -.-

ScorpioT1000, 24.04.2010 4:37:15:
const int c_animBracketStartFlagContentPlayOnce     = (1 << 2);
это что значит ?)
ScorpioT1000, 4:37:40:
там что нету хекс сразу
Toadcop, 4:37:40:
0 понятия О_О
ScorpioT1000, 4:37:53:
я так понял это побитовый сдвиг на скокато битов
ScorpioT1000, 24.04.2010 4:39:07:
const int c_animTransitionFlagInstant               = (1 << 0);

const int c_animBracketStartFlagClosingFull         = (1 << 0);
const int c_animBracketStartFlagContentNonLooping   = (1 << 1);
const int c_animBracketStartFlagContentPlayOnce     = (1 << 2);
const int c_animBracketStartFlagOpeningPlayForever  = (1 << 3);
const int c_animBracketStartFlagInstant             = (1 << 4);
ScorpioT1000, 24.04.2010 4:39:45:
это для наглядности
Toadcop, 4:39:54:
офк
ScorpioT1000, 4:39:55:
чтобы потом можно было делать or/and

ScorpioT1000, 24.04.2010 4:40:38:
интересно еще
ScorpioT1000, 4:40:42:
//--------------------------------------------------------------------------------------------------​
// Bank
//--------------------------------------------------------------------------------------------------​
const int c_bankTypeFixed   = 0;
const int c_bankTypeFlag    = 1;
const int c_bankTypeInt     = 2;
const int c_bankTypeString  = 3;
const int c_bankTypeUnit    = 4;
const int c_bankTypePoint   = 5;
const int c_bankTypeText    = 6;

native bool     BankExists (string name, int player);
native bank     BankLastCreated ();
native bank     BankLoad (string name, int player);
native string   BankName (bank b);
native int      BankPlayer (bank b);
native void     BankRemove (bank b);
native void     BankSave (bank b);
ScorpioT1000, 4:40:45:
бд?
ScorpioT1000, 4:41:05:
привязка к плееру
ScorpioT1000, 4:41:49:
а вот и преобразование типов:
native void     BankValueSetFromFixed (bank b, string section, string key, fixed value);

->

native text     BankValueGetAsText (bank b, string section, string key);
Toadcop, 4:42:11:
это кеш вроде
ScorpioT1000, 4:42:11:
интересно получится достать указатель на стринг?)
Toadcop, 4:42:18:
иммено на хард
Toadcop, 4:42:20:
типо
ScorpioT1000, 4:42:24:
а ну мб
ScorpioT1000, 4:42:32:
тока там же всеравно мапится сначала?
Toadcop, 4:43:06:
да он локальный тока

Старый 24.04.2010, 04:49
DioD

offline
Опыт: 45,134
Активность:
не вижу функций синхронизации локальных данных от одного игрока к другому.
да и еще, на все таймеры хватит одного триггера и хитрой демонтирующей функции, так что ничего создавать не потребуется, как только получу гэлакси в свои руки покажу.
Старый 24.04.2010, 04:50
ScorpioT1000
Работаем
offline
Опыт: отключен
ScorpioT1000, 24.04.2010 16:35:37:
ппц
ScorpioT1000, 16:35:45:
гуй реально православно работает)
ScorpioT1000, 16:37:30:
Общее -Если (условия), то выполнить (действия), иначе выполнить (действия)
Если
GAME.cars[id].keys.up != GAME.cars[id].keys.down
то
Переменная -Установить x = (Координата X точки (Положение u))
Переменная -Установить y = (Координата Y точки (Положение u))
Переменная -Установить x = (x + (GAME.MOVING_ORDER_DISTANCE * Косинус ( Единица(u) ) ))
Переменная -Установить y = (y + (GAME.MOVING_ORDER_DISTANCE * Синус ( Единица(u) ) ))
Единица -Приказать (Изменяемая единица) выполнить (Наведение Двигаться на игрока (Точка(x, y)).) (Заменить существующие приказы)
ScorpioT1000, 16:38:09:
стало
ScorpioT1000, 16:38:10:
    // Implementation
    if ((gv_gAME.lv_cars[lp_id].lv_keys.lv_up != gv_gAME.lv_cars[lp_id].lv_keys.lv_down)) {
        lv_x = PointGetX(UnitGetPosition(lv_u));
        lv_y = PointGetY(UnitGetPosition(lv_u));
        lv_x = (lv_x + (gv_gAME.lv_mOVING_ORDER_DISTANCE * (Cos(UnitGetFacing(lv_u)) + lv_a)));
        lv_y = (lv_y + (gv_gAME.lv_mOVING_ORDER_DISTANCE * (Sin(UnitGetFacing(lv_u)) + lv_a)));
        UnitIssueOrder(EventUnit(), OrderTargetingPoint(AbilityCommand("move", 0), Point(lv_x, lv_y)), c_orderQueueReplace);
    }
    else {
Старый 24.04.2010, 16:39
retralko
SHOW TIME
offline
Опыт: 11,669
Активность:
Значит похоже галакси изучать не придется.
Старый 24.04.2010, 16:44
ScorpioT1000
Работаем
offline
Опыт: отключен
ScorpioT1000, 24.04.2010 17:12:11:
АХАХА
ScorpioT1000, 17:12:13:
ЭПИК !
ScorpioT1000, 17:13:05:
в гуи: 1 <= NUM <= 8
в скрипте: (NUM <= 1) && (NUM >= 8)
Старый 24.04.2010, 17:16
XOR

offline
Опыт: 38,159
Активность:
:D всё равно галакси, а не это)
Старый 24.04.2010, 17:40
iZucken
ШТО
offline
Опыт: 17,960
Активность:
ScorpioT1001:
в гуи: 1 <= NUM <= 8
в скрипте: (NUM <= 1) && (NUM >= 8)
т.е. перепутано? о_о
Старый 24.04.2010, 19:10
Toadcop

offline
Опыт: 54,313
Активность:
вот графики скорости выполнения операцый в gaylaxy для сравнения.
- Linear graph: http://img697.imageshack.us/img697/175/galaxybench1.png
- Logarithmic graph: http://img444.imageshack.us/img444/450/galaxybenchlog1.png
©Zoxc

как видно слава богу не такое говно как джасс но не особо (намного) круче.
(а руби достаточно медленый скриптовый язык так что делайте выводы О_О что близзы изобритают коллесо и всегда оно квадратное -.- )

он же дальше пишет.

Цитата:
Opcode limit/execution limit
The opcode limit seems to be around 20 times of JASS2's one, but that still only allows computation for around 200 ms
Старый 25.04.2010, 02:00
agentex

offline
Опыт: 34,834
Активность:
с реальными бодро работает, то что нам и надо
Старый 25.04.2010, 02:03
Toadcop

offline
Опыт: 54,313
Активность:
да для физики и т.п. это хорошо.
тока вращять объекты нельзя :Р (как мин пока...)
Старый 25.04.2010, 02:49
ScorpioT1000
Работаем
offline
Опыт: отключен
реальных там нету
Старый 25.04.2010, 11:43
Toadcop

offline
Опыт: 54,313
Активность:
ну есть фиксед поинт в чём проблема то -.-
Старый 25.04.2010, 15:24
ScorpioT1000
Работаем
offline
Опыт: отключен
в том что это уг не есть флоат ) это как коза и небо
Старый 26.04.2010, 06:01
adic3x

offline
Опыт: 108,439
Активность:
        General - Enter critical section using false
            Actions
                General - Custom Script: DoNothing() // неважно, и с ошибкой, но...
что за чудеса?!
    false = true;
    DoNothing()
    false = false;
    return true;
Старый 26.04.2010, 22:28
Toadcop

offline
Опыт: 54,313
Активность:
Цитата:
section using false

ну тут ты даёш свою "критическую секцыю" ты дал фолс =)))
// гуи бредовый какой то -.-
Старый 27.04.2010, 03:01
adic3x

offline
Опыт: 108,439
Активность:
тру мало что изменит - будет ture=true; или что то вроде
Старый 27.04.2010, 10:37
DioD

offline
Опыт: 45,134
Активность:
объясните тупому в чём смысл критической секции вообще?
Старый 27.04.2010, 10:58
ScorpioT1000
Работаем
offline
Опыт: отключен
я так понимаю она выполняется только в 1 потоке в 1 момент времени(в описании это есть). в остальных игнорится.
ScorpioT1001 добавил:
ADOLF, может еще не реализовали?) врятли это фича такая )))
Старый 27.04.2010, 12:12

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

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

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

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



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