 |
|
 |
|
|
[ВАЖНО] Общалка кодеров
|
|
| SirNikolas | Дата: Вторник, 15 Июля 2014, 20:42:14 | Сообщение # 426 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| 'S009'
|
| |
|
|
| Melodia | Дата: Вторник, 15 Июля 2014, 21:15:40 | Сообщение # 427 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| SirNikolas, спасибо, большое. Хотя непонятно, что в этой ауре выносливаости такого фатального, кроме "доступных целей: враги здания". Аура офк действовала при этом на нужные цели - друзья, сам воин.
|
| |
|
|
| SirNikolas | Дата: Вторник, 15 Июля 2014, 21:36:18 | Сообщение # 428 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Может, она триггерно кому-то добавляется? Я так поймал один фатал, когда пытался запретить способность у 16 игрока (когда они с 0 до 15). У тебя проблема может быть и не в игроке.
Добавлено (15 Июля 2014, 21:36:18) --------------------------------------------- Ну и нужно больше информации для размышления: когда произошел фатал, сколько юнитов было с такой способностью, как они располагались относительно друг друга и других юнитов и т. п.
|
| |
|
|
| Melodia | Дата: Вторник, 22 Июля 2014, 17:58:34 | Сообщение # 429 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| SirNikolas, ну как раз игрок вроде применил прыжок (потма), и аура в принципе давалась... В этотм момент техник ставил Stasis Trap на нее. Прыжок вот эту самую ауру даёт. Добавлено (15 Июля 2014, 23:47:51) --------------------------------------------- там правда есть и установка уровня способности, что может вызывать фатал, но она делается у живого героя только. Добавлено (22 Июля 2014, 15:31:21) --------------------------------------------- Можно ли как то обратиться к тексту номер ХХХ в файле текстов? Именно мне нужно чтобы триггерно показывалось сообщенние в точности как текст описания способности или т.п. Добавлено (22 Июля 2014, 17:58:34) --------------------------------------------- По ходу вот так по идее можно TRIGSTR_3430 где 3430 - номер текста в wts-файле карты.
|
| |
|
|
| SirNikolas | Дата: Вторник, 22 Июля 2014, 20:58:37 | Сообщение # 430 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Цитата Melodia (  ) По ходу вот так по идее можно TRIGSTR_3430 где 3430 - номер текста в wts-файле карты. Только проблема в том, что это не описания способностей. Туда пишутся длинные строки из Редактора Триггеров. Ну и можно вручную что-нибудь приписать. Только при сейве сбрасываться будет, надо скрипт писать, который будет автоматически заменять .wts
Я думал в свое время насчет альтернативного использования этого файла. Все, что пришло в голову - юзать его вместо строковых массивов какой-нибудь базы данных (да-да, можно делать "TRIGSTR_123" + I2S(i)).
|
| |
|
|
| Melodia | Дата: Четверг, 31 Июля 2014, 15:49:39 | Сообщение # 431 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| В 1 триггере у меня вдргу обнаружилась такая беда: причем раньше все было нормально. Идей нет вообще, спасайте кто-нибудь!
|
| |
|
|
| SirNikolas | Дата: Четверг, 31 Июля 2014, 15:54:25 | Сообщение # 432 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Конвертни и скинь весь триггер текстом. Может, там тупо опечатка где.
Например, я вижу пробел в начале строчки SetUnitY, но конкретно это, понятно, ни на что не влияет.
Сообщение отредактировал SirNikolas - Четверг, 31 Июля 2014, 15:55:28 |
| |
|
|
| Melodia | Дата: Четверг, 31 Июля 2014, 15:57:25 | Сообщение # 433 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| function Trig_Gust_Loop_Func001A takes nothing returns nothing set udg_Unit[61] = GetEnumUnit() call SetUnitY(udg_Unit[61],GetWidgetY(udg_Unit[61])+35*Sin(GetUnitFacing (udg_Unit[61]) * bj_DEGTORAD)) call SetUnitX(udg_Unit[61],GetWidgetX (udg_Unit[61])+35*Cos(GetUnitFacing (udg_Unit[61]) * bj_DEGTORAD)) endfunction
function Trig_Gust_Loop_Func002C takes nothing returns boolean if ( not ( IsUnitGroupEmptyBJ(udg_GGAA[46]) == true ) ) then return false endif return true endfunction
function Trig_Gust_Loop_Actions takes nothing returns nothing call ForGroupBJ( udg_GGAA[46], function Trig_Gust_Loop_Func001A ) if ( Trig_Gust_Loop_Func002C() ) then call DisableTrigger( GetTriggeringTrigger() ) else endif endfunction
//=========================================================================== function InitTrig_Gust_Loop takes nothing returns nothing set gg_trg_Gust_Loop = CreateTrigger( ) call DisableTrigger( gg_trg_Gust_Loop ) call TriggerRegisterTimerEventPeriodic( gg_trg_Gust_Loop, 0.03 ) call TriggerAddAction( gg_trg_Gust_Loop, function Trig_Gust_Loop_Actions ) endfunction
|
| |
|
|
| SirNikolas | Дата: Четверг, 31 Июля 2014, 16:05:38 | Сообщение # 434 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| В каком смысле "не работает"? Двигает только по одной оси?
Воткни вывод сообщения до и после CS. Кстати, выводи там не просто текст, а значение константы bj_DEGTORAD ( call BJDebugMsg(R2S(bj_DEGTORAD)) ).
|
| |
|
|
| Melodia | Дата: Четверг, 31 Июля 2014, 16:10:40 | Сообщение # 435 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| Чертовщина какая-то. А move не двигает юниты через "блокиратор обоих путей" ни прикаких обстоятельствах)). Заменил блокираторы обоих путей на блокираторы суши, хз что делать. Ананлогичные триггеры, использующие такой де тип дамиков - пашут нормально с сет юнит икс игрек
Добавлено (31 Июля 2014, 16:07:41) --------------------------------------------- Цитата SirNikolas (  ) В каком смысле "не работает"? Двигает только по одной оси? не двигает.Дамик появляется и стоит на месте. А move - двигает... Цитата SirNikolas (  ) Воткни вывод сообщения до и после CS. Кстати, выводи там не просто текст, а значение константы bj_DEGTORAD ( call BJDebugMsg(R2S(bj_DEGTORAD)) ). ща попробуюДобавлено (31 Июля 2014, 16:10:40) --------------------------------------------- 0.017 всегда выводит
|
| |
|
|
| SirNikolas | Дата: Четверг, 31 Июля 2014, 16:16:09 | Сообщение # 436 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Включи оба метода движения (CS и полярное смещение), сохрани карту, вытащи из нее war3map.j и скинь мне.
Хотя если у тебя выключены vJass и cJass, этого можно не делать, все равно ничего не изменится.
Хм. То есть ты просто выключаешь одну пару строк, включаешь другую - и все начинает работать?
Добавлено (31 Июля 2014, 16:16:09) --------------------------------------------- Цитата Melodia (  ) А move не двигает юниты через "блокиратор обоих путей" ни прикаких обстоятельствах)). И не должен, кстати.
|
| |
|
|
| Melodia | Дата: Четверг, 31 Июля 2014, 16:24:24 | Сообщение # 437 |
Группа: Проверенные
Сообщений: 8026
Награды: 5
Репутация: 5051
Блокировки: 
| Цитата SirNikolas (  ) Хм. То есть ты просто выключаешь одну пару строк, включаешь другую - и все начинает работать? SirNikolas, ИМЕННО. То есть если бы ни то и ни то не пахало - надо было бы рыться вв триггерах ловящих входящие юниты или работающие с группами или меняющие точки.... Но тут тупо не работает сет юнит икс игрек, а мув - работает. Причем раньше всё норм было.
Добавлено (31 Июля 2014, 16:24:24) --------------------------------------------- Ваще хз, убирал все действия в цикле (скрины повыше), заменял дамиика - без толку.
Сообщение отредактировал Melodia - Четверг, 31 Июля 2014, 16:24:36 |
| |
|
|
| SirNikolas | Дата: Суббота, 02 Августа 2014, 07:57:31 | Сообщение # 438 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки: 
| Код #include "cj_types.j" #include "cj_print.j"
library MovingTest { define { GetEnumUnit = GetEnumUnitHook; GetWidgetX = GetWidgetXHook; GetWidgetY = GetWidgetYHook; GetUnitFacing = GetUnitFacingHook; Sin = SinHook; Cos = CosHook; SetUnitX = SetUnitXHook; SetUnitY = SetUnitYHook; }
unit GetEnumUnitHook() { unit u = GetEnum##Unit(); printf("* GetEnumUnit() -> %h", u); return u; }
real GetWidgetXHook(widget w) { real r = GetWidget##X(w); printf("* GetWidgetX(%h) -> %r", w, r); return r; }
real GetWidgetYHook(widget w) { real r = GetWidget##Y(w); printf("* GetWidgetY(%h) -> %r", w, r); return r; }
real GetUnitFacingHook(unit u) { real r = GetUnit##Facing(u); printf("* GetUnitFacing(%h) -> %r", u, r); return r; }
real SinHook(real x) { real y = S##in(x); printf("* Sin(%r) -> %r", x, y); return y; }
real CosHook(real x) { real y = C##os(x); printf("* Cos(%r) -> %r", x, y); return y; }
void SetUnitXHook(unit u, real x) { printf("* SetUnitX(%h, %r)", u, x); SetUnit##X(u, x); }
void SetUnitYHook(unit u, real y) { printf("* SetUnitY(%h, %r)", u, y); SetUnit##Y(u, y); } } Дебажные сообщения замени на "start" и "end", создай новый триггер, скопируй это в него (не в кастом код). Запусти версию с CS.
|
| |
|
|
| Hormonij | Дата: Среда, 15 Июля 2015, 22:34:47 | Сообщение # 439 |
7 уровень
Группа: Ветераны
Сообщений: 293
Награды: 2
Репутация: 135
Блокировки: 
|
|
| |
|
|
|
|
 |
|
 |
|
|