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

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

Ответ
 
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Как отследить все нестандартные способности при применении
Как отследить все нестандартные способности при применении. Их равкоды, а затем переместить их txt файл. И главное чтобы абилки не повторялись
Старый 04.06.2012, 12:06
YellowStar
poon
offline
Опыт: 15,144
Активность:
Код:
function SpellCast takes nothing returns boolean
 // твои условия 

 return true
 
endfunction

function InitTrig_Spell_Cast takes nothing returns nothing
local trigger t=CreateTrigger()
call TriggerAddCondition(t,Condition(function SpellCast))
call TriggerRegisterPlayerUnitEvent(t,Player(0x00),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x01),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x02),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x03),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x04),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x05),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x06),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x07),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x08),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x09),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0A),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0B),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0C),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0D),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0E),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
call TriggerRegisterPlayerUnitEvent(t,Player(0x0F),EVENT_PLAYER_UNIT_SPELL_CAST,null)  
set t=null
endfunction
Старый 04.06.2012, 12:22
ScorpioT1000
Работаем
offline
Опыт: отключен
Еще чтобы была равная скорость вызова любого спелла можно юзать хеш таблицу или смещения по статье адольфа
Старый 04.06.2012, 12:57
YellowStar
poon
offline
Опыт: 15,144
Активность:
Цитата:
Сообщение от ScorpioT1000
Еще чтобы была равная скорость вызова любого спелла можно юзать хеш таблицу или смещения по статье адольфа


А можно моей функцией через ExecuteFunc -> чтобы обрабатывать паралельно :nate:
Старый 04.06.2012, 14:02
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Это я знаю. Но как это все в текстовый файл переместить и чтобы показывало какой спелл был скастован
Допустим кастует игрок 1 Молот бурь, а в тексте сохраняется так:
Player(1) cast 'A000'
типо такого
NIKZ добавил:
Код
А почему не так?
((код jass
function RegisterAnyUnitEvent takes trigger trig, playerunitevent whichEvent returns nothing
local integer index=0
loop
call TriggerRegisterPlayerUnitEvent(trig, Player(index), whichEvent, null)
set index = index + 1
exitwhen index == bj_MAX_PLAYER_SLOTS
endloop
endfunction
))
Старый 04.06.2012, 16:20
ScorpioT1000
Работаем
offline
Опыт: отключен
Потому что число игроков неизменно ?
Старый 04.06.2012, 16:34
Doc

offline
Опыт: 63,163
Активность:
Старый 04.06.2012, 16:42
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Doc,
Cтранно, но твой код что то ошибок тучу выложил мне...
NIKZ добавил:
ВОбщем исправил код, а толку что?? Кстати фаталов не показывает. Какая то странная система.
Вот только что выходит:
function PreloadFiles takes nothing returns nothing
call Preload( "")
[0:00] By DoctorGester. Last compilation: 2012.06.04 19:20:59
[0:00] TEST
("" )
call PreloadEnd( 0.0 )
endfunction
И все, а показ фатала гыде?
Старый 04.06.2012, 17:22
Doc

offline
Опыт: 63,163
Активность:
Значит кривые руки, ибо:
  1. Все работает, ошибок там нет.
  2. Фаталы тебе ни один код не покажет. Предполагается что ты сам продебажишь и с помощью этой системы отловишь на чем фатал вылетает.
Старый 04.06.2012, 17:38
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Фаталы тебе ни один код не покажет. Предполагается что ты сам продебажишь и с помощью этой > системы отловишь на чем фатал вылетает.
Он не показывает фатал! У меня когда карта заупскается сразу фатал выходит, причем сейчас в ней твоя системочка стоит. Без ошибок и ничего. И че он мне выдал?
Вот:
function PreloadFiles takes nothing returns nothing
call Preload( "")
[0:00] By DoctorGester. Last compilation: 2012.06.04 19:20:59
[0:00] TEST
("" )
call PreloadEnd( 0.0 )
endfunction
Ой как он видит где был фатал и тд. Это вся запись в файлике
NIKZ добавил:
И кстати я не нашел там отслежку применения способности(какой равкод способности)
Прикрепленные файлы
Тип файла: txt Debug.txt (196 байт, 2 просмотров )
Старый 04.06.2012, 17:52
Doc

offline
Опыт: 63,163
Активность:
[0:00] TEST
это не твое сообщение случаем? ты ничего не путаешь?
И кстати я не нашел там отслежку применения способности(какой равкод способности)
так вставь эту отслежку.
Старый 04.06.2012, 17:54
NIKZ
Изучаю Jass
offline
Опыт: 6,036
Активность:
Doc, Каким образом? Ты первый пост прочитай. Я написал То что мне нужна система отслеживания способностей в равкодах
Старый 04.06.2012, 20:07
Doc

offline
Опыт: 63,163
Активность:
Я тебе ее дал.
Осталось лишь сделать то, что тебе нужно.
Старый 04.06.2012, 20:58
adic3x

offline
Опыт: 108,439
Активность:
А какие равкоды на конкретной карте у нестандартных способностей? Если стандартно - 'A000', 'A001' - то проблемы не вижу вообще.
Старый 04.06.2012, 21:48
ScorpioT1000
Работаем
offline
Опыт: отключен
На самом деле у абилки есть поля "спецэффект", которые могут служить базой данных, в том числе и имен функций. Там в каждой абилке может быть массив строковых значений.
А брать с помощью GetAbilityEffect
Старый 05.06.2012, 06:53
Ответ

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

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

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

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



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