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

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

Закрытая тема
 
Skino

offline
Опыт: 4,683
Активность:
Изменение характеристик способности: помогите разобраться с кодом
Код:
// call SetSSTInt(I2S('AHmt')+"Icon",'B00B') //*** - Id треккебла который будет отображатся как иконка спелла
// call SetSSTStr(I2S('AHmt')+"Name","Mass teleport") // - Система по стандарту берёт для скилла имя абилы, но если в этом параметре вы укажете своё имя то будет использоватся оно.
// call SetSSTInt(I2S('AHmt')+"NLevel",6) // - Требуемый уровень героя для изучения скилла
// call SetSSTInt(I2S('AHmt')+"NLevConst",3) // - Так как и в стандартных варовских спеллах т.е. каждый уровень скилла требования уровня будут увеличиватся на это количество.
// !! - Если скилл используются НЕ ГЕРОЕМ и у скилла есть требования уровня то уровнем юнита можно манипулировать с помощью "GetSSTUnitLevel" и "SetSSTUnitLevel", о этих функциях написано вверху страници.
// call SetSSTInt(I2S('AHmt')+"MaxLevel",1) //*** - Максимальный уровень скилла.
// call SetSSTInt(I2S('AHmt')+"MaxResearchLevel",1) // - Максимальный уровень скилла котрый можно изучить(а дальше с помощью "SetUnitSkillLevel"). Если не устанавливать то будет равен "MaxLevel".
// call SetSSTInt(I2S('AHmt')+"MCostLev1",100) // - Стоимость маны для первого уровня, если не писать для каждого то будет использоватся количество введённое для первого.
// call SetSSTInt(I2S('AHmt')+"MCostConst",50) // - Чтобы не писать для каждого уровня нужную ману если она увеличивается с каждым уровнем на одинаковое количество то это количество можно записать здесь.
// call SetSSTStr(I2S('AHmt')+"About","Teleport hero and nearby units to any friendly unit on the map.") //*** - Описание скилла перед изучением.
// call SetSSTStr(I2S('AHmt')+"AboutLev1","Teleport hero and nearby 24 units in range 700 of hero to any friendly unit on the map. Cooldown 20.") //*** - Описание скилла нужного уровня, если не писать для каждого уровня то будет использоватся описание первого. О тегах в "описании" читать в функции "GetSSTDamage"!
// call SetSSTInt(I2S('AHmt')+"Need1",'AHad') // - Id скилла которого требут этот. У одного скилла может быть максимум 12 требований(других скиллов). Учтите также что указатель на требуемый скилл будет виден только если это "возможно"(не "вылезает" на другие скиллы, не идёт навскосяк в другой конец страници и т.д.).
// call SetSSTInt(I2S('AHmt')+"Passive",1) //(Boolean 1 - 0) - Этот параметр делает скилл пассивным в смысле его не надо(т.е. нельзя) ставить в слот для работающих скиллов он работает(или просто изучен) сразу после повышения.
// call SetSSTInt(I2S('AHmt')+"InBook",'A000') // - Этот параметр указывает что скилл находится в определённом спеллбуке т.е. вам сначало надо "засунуть" этот скилл в указаный спеллбук.
// call SetSSTInt(I2S('AHmt')+"IsBook",1) //(Boolean 1 - 0) - Этот параметр указывает что скилл является спеллбуком т.е. надо повышать уровень не спеллбуку а абиле в середине него("AbilityInBook",вы указываете его ниже!), если этот параметр не использовать а способность будет "Спеллбук" то уровень будет повышатся у самого спеллбука!
// call SetSSTInt(I2S('AHmt')+"AbilityInBook",'A000') //** - Этот параметр указывает на абилу в спеллбуке уровень которой будет повышатся при прокачке скилла.
// call SetSSTInt(I2S('AHmt')+"Invisible",1) // - Этот параметр указывает на то что абила находится в скрытом спеллбуке("IsBook" - должен быть активирован) т.е. абилу не будет видно но она будет работать(гуманно было бы применять только к пассивным способностям :) ).
// call SetSSTInt(I2S('AHmt')+"SGroup",'A003') // - Этот параметр указывает на то что абила в активном режиме будет находится в общем спеллбуке(в данном случае это 'A003'). Работает только для абил в спеллбуках("IsBook")!!! Id спеллбука скилла и совместного спеллбука должны совпадать !!!, в одном спеллбуке не должно быть больше 11 скиллов иначе возникнут глюки!
// call SetSSTStr(I2S('AHmt')+"OnLearn","") // - название Функции которая будет вызыватся при изучении скилла(только при изучении).
// call SetSSTStr(I2S('AHmt')+"OnUpgreate","") // - название Функции которая будет вызыватся при изменении уровня скилла.
// call SetSSTStr(I2S('AHmt')+"OnActivation","") // - название Функции которая будет вызыватся при активации скилла(при вставлении его в слот). !!!ДЛЯ "Passive" НЕ РАБОТАЕТ!!!
// call SetSSTStr(I2S('AHmt')+"OnDeactivation","") // - название Функции которая будет вызыватся при отключении скилла(при удалении скилла из ячейки). !!!ДЛЯ "Passive" НЕ РАБОТАЕТ!!!
// !! - WARNING!!! - ПРИ НЕПРАВИЛЬНОМ УКАЗАНИИ НАЗВАНИЯ ФУНКЦИИ БУДУТ ВЫЛЕТЫ ИЗ ИГРЫ, БУДЬТЕ ВНИМАТЕЛЬНЫ!!!
// !! - ВО ВСЕХ ФУНКЦИЯХ СИСТЕМЫ НАДО ИСПОЛЬЗОВАТЬ "GetSSTUnit()" КАК ДЕЙСТВУЮЩЕГО ЮНИТА(вместо "GetTriggerUnit()") !!!

Отредактировано alexkill, 03.05.2009 в 16:46.
Старый 03.05.2009, 16:33
Hellfim
Новичок
offline
Опыт: 79,707
Активность:
Skino, ну я думаю вставлять код? Скажи хоть что это...
Старый 03.05.2009, 16:42
ELDAR
НИИ 4А-ВО кафедра SPELLS
offline
Опыт: 8,394
Активность:
Hellfim это кусок статьи с ***.** я читал но чот не допер
[+] замечание от ADOLF: реклама

Отредактировано ADOLF, 03.05.2009 в 22:13.
Старый 03.05.2009, 16:43
Skino

offline
Опыт: 4,683
Активность:
Это что б изменятьназвание скила или его характеристику (например количество затрачеваемой маны маны) не заменяя скилл на другой а просто как бы редактируя исходный
Старый 03.05.2009, 16:51
Чебурашка

offline
Опыт: 5,460
Активность:
Цитата:
Сообщение от Skino
Это что б изменятьназвание скила или его характеристику (например количество затрачеваемой маны маны) не заменяя скилл на другой а просто как бы редактируя исходный

чего-чего? давно РО не работает? это все там делается
Старый 03.05.2009, 16:57
alexkill

offline
Опыт: 18,872
Активность:
Skino
ты либо выложи карту, либо весь код. мало кто может ориентироваться в чужих наработках.
Старый 03.05.2009, 17:03
Skino

offline
Опыт: 4,683
Активность:
Вот у меня есть спелл который состоит из 1го уровня и даёт +1 аттаки, мне нужно что бы после определённый действий тригерно этот скилл изменить - что бы он давал уже +2 к атаке, потом +3 и тд. А то что я скинул это разве не то???
Старый 03.05.2009, 17:18
iZucken
ШТО
offline
Опыт: 17,960
Активность:
Эти функции для графического оформления способностей (заранее созданных полностью) в виде дерева скиллов. Они НЕ МЕНЯЮТ способности. Менять параметры спосбностей, ровно как и юнитов в процессе игры НЕВОЗМОЖНО, есть вариант только симитировать это с помощью тригггеров. Например по ходу игры включать триггер который отслеживает применение способности и производит действия, например наносит дополнительный урон.
Кстати если что эти функции не работают если перед этим не вставить в карту ситсему товарища... Не помню какого товарища, но помню что я его уважаю :)

Отредактировано Q w e r t y, 03.05.2009 в 17:33.
Старый 03.05.2009, 17:28
Skino

offline
Опыт: 4,683
Активность:
Нет так нет, всё равно спасибо, тему можно прикрывать.
Старый 03.05.2009, 17:40
Закрытая тема

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

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

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

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



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