|
|
|
|
[Вопрос] Проблема с кодом (Дубль 2)
|
|
mazahan | Дата: Понедельник, 20 Мая 2013, 22:28:01 | Сообщение # 1 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Цитата Цитата (mazahan) Буду использовать , вообще мне нужны даммики в линию и чтобы они кастовали скилл ( станяющий скилл по области у героя орды , забыл как называется). Легко могу написать в триггерах , но 'Недавно начал осваивать jass '.
Код function Trig_looptrg_Actions takes nothing returns nothing local integer i = 200 local unit c = GetSpellAbilityUnit() local real x local real y local real F = GetUnitFacing© local real cF = Cos(F * bj_DEGTORAD) local real sF = Sin(F * bj_DEGTORAD) local player p = GetOwningPlayer© local unit d // ^Начальные настройки
loop exitwhen i > 1200 set F = I2R(i) // конверт из целого в реальное x = GetUnitX© + F * cF y = GetUnitY© + F * sF set d = CreateUnit(p 'h00F', x, y, 270.) call IssueImmediateOrder(d, "stomp") // каста вложенного стана даммиком call UnitApplyTimedLife(d,'BTLF',2.) // жизнь даммика set i = i+200 endloop
// Обнуления v
set c = null set p = null set d = null endfunction
function Trig_looptrg_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00N' endfunction
//=========================================================================== function InitTrig_looptrg takes nothing returns nothing local integer i = 0 set gg_trg_looptrg = CreateTrigger( ) call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition(function Trig_looptrg_Condition) ) loop call TriggerRegisterPlayerUnitEvent( gg_trg_Regen, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop
Цитата
Код
set d = CreateUnit(p 'h00F', x, y, 270.) call IssueImmediateOrder(d, "stomp") // каст способности вложенного стана даммиком call UnitApplyTimedLife(d,'BTLF',2.) // жизнь даммика Код данный Волчачкой не пашет , при его удалении всё норм. Простенькие триггеры на Jass-е пашут.Добавлено (20 Мая 2013, 22:28:01) --------------------------------------------- И да вопрос по коду ,
loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop
для чего?
И bj_DEGTORAD - это что?
|
|
|
|
Волчачка | Дата: Понедельник, 20 Мая 2013, 22:40:38 | Сообщение # 2 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| Цитата (mazahan) loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop Эта часть?, сие сейчас проверим.Цитата (mazahan) j_DEGTORAD Это радиана. 3.14159/180.0 Вообще так, вы с JNGP карту открываете?
|
|
|
|
Borodach | Дата: Понедельник, 20 Мая 2013, 22:42:21 | Сообщение # 3 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Цитата (mazahan) loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop
для чего? Добавляет Событие Приминения способности для каждого игрока Цитата (mazahan) bj_DEGTORAD - это что? Если образно.... то кажется превращает угол в радианы
Karamba
|
|
|
|
mazahan | Дата: Понедельник, 20 Мая 2013, 22:54:42 | Сообщение # 4 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Цитата (Волчачка) Вообще так, вы с JNGP карту открываете? Ведь простые триггеры на Jass работают. Вообще использую jassnewgenpack5d , куда входит видимо ( судя по меню ) сJass , и JassHelper. Так что проблема наверно именно в этом Добавлено (20 Мая 2013, 22:47:53) --------------------------------------------- Хотя не , глянул что такое JNGP , именно он у меня и стоит) Добавлено (20 Мая 2013, 22:54:42) --------------------------------------------- local real cF = Cos(F * bj_DEGTORAD)
Тогда может проблема в этой строке?
F- угол поворота кастера. Или же перевод градусов в радианы надо писать знаком * ? И вообще для чего надо в радианы переводить?
x = GetUnitX© + F * cF
И объясните плз эту строку)Как я понял это изначально положение кастера по оси х + его угол поворота умноженный на косинус угла поворота в радианах)
|
|
|
|
Pocifik | Дата: Понедельник, 20 Мая 2013, 22:57:47 | Сообщение # 5 |
9 уровень
Группа: Проверенные
Сообщений: 1130
Награды: 1
Репутация: 495
Блокировки:
| как минимум: x = y = set x = set y =
|
|
|
|
mazahan | Дата: Понедельник, 20 Мая 2013, 23:03:03 | Сообщение # 6 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Менял не помогло , вернул обратно. Кстати при запуске карты в ВЕ выдаёт ошибку баз данных триггеров , и там их довольно много.Так с каждой картой.Может в этом проблема? И в принцепе привык уже , но хотелось бы её устранить)
Добавлено (20 Мая 2013, 23:02:18) --------------------------------------------- Одни из них это SaveRealBJ и тоже самое с целочисленными
Добавлено (20 Мая 2013, 23:03:03) --------------------------------------------- А также во всех начало или Save или Load а конец всегда BJ
Сообщение отредактировал mazahan - Понедельник, 20 Мая 2013, 23:03:17 |
|
|
|
Pocifik | Дата: Понедельник, 20 Мая 2013, 23:03:29 | Сообщение # 7 |
9 уровень
Группа: Проверенные
Сообщений: 1130
Награды: 1
Репутация: 495
Блокировки:
| Цитата (mazahan) Менял не помогло , вернул обратно. Я же написал, "как минимум", зачем вернул то.
Цитата (mazahan) Кстати при запуске карты в ВЕ выдаёт ошибку баз данных триггеров , и там их довольно много.Так с каждой картой.Может в этом проблема? И в принцепе привык уже , но хотелось бы её устранить) С этого надо начинать было.
|
|
|
|
Borodach | Дата: Понедельник, 20 Мая 2013, 23:12:22 | Сообщение # 8 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| mazahan, Код полностью не работает или частично?
Karamba
|
|
|
|
mazahan | Дата: Понедельник, 20 Мая 2013, 23:14:14 | Сообщение # 9 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| И вообще делаю сейчас арену , начал на триггерах , т.к давно с ними работаю , стоит ли всё переписывать в Jass (сделано совсем немного). И да, а реально найти модель Мойдодыра?Добавлено (20 Мая 2013, 23:14:14) ---------------------------------------------
Цитата (Borodach) mazahan, Код полностью не работает или частично? Ща проверю , просто некоторые строки поудолять?Лучше вообще оставлю только создание триггера.
|
|
|
|
Волчачка | Дата: Понедельник, 20 Мая 2013, 23:24:42 | Сообщение # 10 |
САЙТ УМЕР ППЦ
Группа: Проверенные
Сообщений: 1361
Награды: 0
Репутация: 2165
Блокировки:
| mazahan, постой function InitTrig_looptrg takes nothing returns nothing local integer i = 0 set gg_trg_looptrg = CreateTrigger( ) call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition(function Trig_looptrg_Condition) ) loop call TriggerRegisterPlayerUnitEvent( gg_trg_Regen, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop endfunction
Добавлено (20 Мая 2013, 23:23:37) --------------------------------------------- Когда ты копировал, мб его не хватало?Добавлено (20 Мая 2013, 23:24:42) ---------------------------------------------
Цитата (Pocifik) x = y = set x = set y = Действительно, как так я проглядел.
Сообщение отредактировал Волчачка - Понедельник, 20 Мая 2013, 23:23:51 |
|
|
|
mazahan | Дата: Понедельник, 20 Мая 2013, 23:58:35 | Сообщение # 11 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| хахахаха
Нашёл ошибку , в коде событий нет окончания функции.
Теперь выпадает фатал :D
Добавлено (20 Мая 2013, 23:37:34) --------------------------------------------- Оп , опередили
Добавлено (20 Мая 2013, 23:42:40) --------------------------------------------- Насчёт копирования , ещё раз проверил твой исходный код , там нет
Добавлено (20 Мая 2013, 23:45:22) --------------------------------------------- Удалил все действия , пашет , начну отбор по действиям.
Добавлено (20 Мая 2013, 23:47:17) --------------------------------------------- Удалил действия, но оставил событие применения способности для каждого игрока ( в прошлый раз удалял) Уже без фатала , просто не пашет
Добавлено (20 Мая 2013, 23:49:58) --------------------------------------------- Походу нашёл ещё ошибку
Добавлено (20 Мая 2013, 23:51:29) --------------------------------------------- Убрал неработоспособность события call TriggerRegisterPlayerUnitEvent( gg_trg_Regen, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null )
Добавлено (20 Мая 2013, 23:51:48) --------------------------------------------- Работаю с фаталом
Добавлено (20 Мая 2013, 23:53:23) --------------------------------------------- Дело в изначальных лок переменных.
Добавлено (20 Мая 2013, 23:53:36) --------------------------------------------- Пока-что
Добавлено (20 Мая 2013, 23:58:35) --------------------------------------------- Фатал убрал , теперь опять не грузится , дело в самих действиях , лок переменные уже не при чём
Сообщение отредактировал Ty3uK - Вторник, 21 Мая 2013, 14:26:05 |
|
|
|
Borodach | Дата: Вторник, 21 Мая 2013, 00:03:37 | Сообщение # 12 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| mazahan, измени название триггера gg_trg_Regen на gg_trg_looptrg
Karamba
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 00:05:45 | Сообщение # 13 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Теперь я вообще не понимаю , удалил всё . Не пашет. Добавлено (21 Мая 2013, 00:04:09) ---------------------------------------------
Цитата (Borodach) mazahan, измени название триггера gg_trg_Regen на gg_trg_looptrg
Уже Добавлено (21 Мая 2013, 00:05:45) ---------------------------------------------
Цитата (mazahan) Я ИМБА! КТО пишет © вместо (с) ??? Фатал убрал , теперь опять не грузится , дело в самих действиях , лок переменные уже не при чём
Когда я писал это , удалил только действия , загрузилось.Вставил удалил 1 , не грузилось , удалил на всякий случай все , т.е тоже самое что и в 1 раз , не загрузилось , WTF?
|
|
|
|
Borodach | Дата: Вторник, 21 Мая 2013, 00:06:16 | Сообщение # 14 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| mazahan, начало действий производится?
Karamba
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 00:13:15 | Сообщение # 15 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Удалил ВЕСЬ код , не загрузилось , удалил триггер , всё норм. Добавлено (21 Мая 2013, 00:09:03) ---------------------------------------------
Цитата (Borodach) mazahan, начало действий производится? Хз , карта вообще не открывается , при запуске вылетает в главное меню вара.Добавлено (21 Мая 2013, 00:11:33) --------------------------------------------- Короч , ещё в чужом коде разбираться это ппц . Цитата Буду использовать , вообще мне нужны даммики в линию и чтобы они кастовали скилл ( станяющий скилл по области у героя орды , забыл как называется). Напишите плз...Добавлено (21 Мая 2013, 00:12:57) --------------------------------------------- И да ещё раз напишу Цитата (mazahan) КТО пишет © вместо (с) ??? это же ужсДобавлено (21 Мая 2013, 00:13:15) --------------------------------------------- Всем спокойной ночи...
|
|
|
|
Borodach | Дата: Вторник, 21 Мая 2013, 00:17:28 | Сообщение # 16 |
9 уровень
Группа: Проверенные
Сообщений: 930
Награды: 0
Репутация: 422
Блокировки:
| Код function Trig_looptrg_Actions takes nothing returns nothing local integer i = 200 local unit c = GetTriggerUnit() local real x local real y local real F = GetUnitFacing© local real cF = Cos(F * bj_DEGTORAD) local real sF = Sin(F * bj_DEGTORAD) local player p = GetTriggerPlayer() local unit d // ^Начальные настройки
loop exitwhen i > 1200 set F = I2R(i) // конверт из целого в реальное set x = GetUnitX(c) + F * cF set y = GetUnitY(c) + F * sF set d = CreateUnit(p 'h00F', x, y, 270.) call IssueImmediateOrder(d, "stomp") // каста вложенного стана даммиком call UnitApplyTimedLife(d,'BTLF',2.) // жизнь даммика set i = i+200 endloop
// Обнуления v
set c = null set p = null set d = null endfunction
function Trig_looptrg_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00N' endfunction
//=========================================================================== function InitTrig_looptrg takes nothing returns nothing local integer i = 0 set gg_trg_looptrg = CreateTrigger( )
loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition(function Trig_looptrg_Condition) ) endfunction Вот так должно работать
Karamba
Сообщение отредактировал Borodach - Вторник, 21 Мая 2013, 00:18:09 |
|
|
|
Diabfall | Дата: Вторник, 21 Мая 2013, 08:46:26 | Сообщение # 17 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Цитата (Borodach) local player p = GetTriggerPlayer() Цитата (Borodach) set p = null Зачем?
|
|
|
|
Ty3uK | Дата: Вторник, 21 Мая 2013, 09:14:11 | Сообщение # 18 |
Группа: Ветераны
Сообщений: 6125
Награды: 2
Репутация: 1617
Блокировки:
| Diabfall, handle > player
|
|
|
|
lawson | Дата: Вторник, 21 Мая 2013, 10:22:16 | Сообщение # 19 |
Группа: Проверенные
Сообщений: 3482
Награды: 0
Репутация: 974
Блокировки:
| я вот так всегда обнуляю set var = 1 * 0
Nic nie wiem bo mam chuj. редактирую посты! ВСЕ!
|
|
|
|
Diabfall | Дата: Вторник, 21 Мая 2013, 10:50:10 | Сообщение # 20 |
Группа: Проверенные
Сообщений: 1231
Награды: 0
Блокировки:
| Цитата (ScorpioT1000) Производные типы от handle Все остальные типы, которые являются производными от handle (unit, item, player, code и др. См. common.j) – точно такие же ссылки. Но логически поделены на подтипы, у каждого из которых своя область применения. Стоит упомянуть, что некоторые вобще не содержат никаких таблиц хендлов, например, тип player. В Starcraft 2 этот тип заменили на int.
|
|
|
|
SirNikolas | Дата: Вторник, 21 Мая 2013, 12:13:48 | Сообщение # 21 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| mazahan, если в пути к карте нет русских букв, то при сохранении включается альтернативный парсер, позволяющий использовать vJass и cJass и выдающий нормальные ошибки.
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 13:54:36 | Сообщение # 22 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Цитата (SirNikolas) mazahan, если в пути к карте нет русских букв, то при сохранении включается альтернативный парсер, позволяющий использовать vJass и cJass и выдающий нормальные ошибки.
Сменил , теперь путь на весь на англ , ничего не изменилось , и да что делать с ошибкой баз триггеров?Добавлено (21 Мая 2013, 13:54:08) ---------------------------------------------
Цитата (Borodach) Код
function Trig_looptrg_Actions takes nothing returns nothing local integer i = 200 local unit c = GetTriggerUnit() local real x local real y local real F = GetUnitFacing© local real cF = Cos(F * bj_DEGTORAD) local real sF = Sin(F * bj_DEGTORAD) local player p = GetTriggerPlayer() local unit d // ^Начальные настройки
loop exitwhen i > 1200 set F = I2R(i) // конверт из целого в реальное set x = GetUnitX© + F * cF set y = GetUnitY© + F * sF set d = CreateUnit(p 'h00F', x, y, 270.) call IssueImmediateOrder(d, "stomp") // каста вложенного стана даммиком call UnitApplyTimedLife(d,'BTLF',2.) // жизнь даммика set i = i+200 endloop
// Обнуления v
set c = null set p = null set d = null endfunction
function Trig_looptrg_Condition takes nothing returns boolean return GetSpellAbilityId() == 'A00N' endfunction
//=========================================================================== function InitTrig_looptrg takes nothing returns nothing local integer i = 0 set gg_trg_looptrg = CreateTrigger( )
loop call TriggerRegisterPlayerUnitEvent( gg_trg_looptrg, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null ) set i = i + 1 exitwhen i > 11 endloop call TriggerAddAction( gg_trg_looptrg, function Trig_looptrg_Actions ) call TriggerAddCondition( gg_trg_looptrg, Condition(function Trig_looptrg_Condition) ) endfunction
Вот так должно работать
Не работает.Добавлено (21 Мая 2013, 13:54:36) --------------------------------------------- GetUnitFacing© поменял , если что.
|
|
|
|
SirNikolas | Дата: Вторник, 21 Мая 2013, 14:10:48 | Сообщение # 23 |
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
| Цитата (mazahan) Сменил, теперь путь весь на англ., ничего не изменилось Перед запуском сохраняешь карту (вручную)?
|
|
|
|
mazahan | Дата: Вторник, 21 Мая 2013, 14:21:58 | Сообщение # 24 |
5 уровень
Группа: Проверенные
Сообщений: 105
Награды: 0
Репутация: 5
Блокировки:
| Да Добавлено (21 Мая 2013, 14:21:58) --------------------------------------------- E:\JNGP\jassnewgenpack5d Вот путь
|
|
|
|
Imba_pvL | Дата: Вторник, 21 Мая 2013, 14:24:44 | Сообщение # 25 |
10 уровень
Группа: Проверенные
Сообщений: 3151
Награды: 1
Репутация: 1260
Блокировки:
| Цитата (mazahan) Буду использовать , вообще мне нужны даммики в линию и чтобы они кастовали скилл ( станяющий скилл по области у героя орды Могу дать спел на гуи
|
|
|
|
|
|
|
|
|
|
|