Уважаемые гости и новички, приветствуем Вас на нашем форуме
Здесь вы можете найти ответы практически на все свои вопросы о серии игр «Готика» (в том числе различных модах на нее), «Ведьмак», «Ризен», «Древние свитки», «Эра дракона» и о многих других играх. Можете также узнать свежие новости о разработке новых проектов, восхититься творчеством наших форумчан, либо самим показать, что вы умеете. Ну и наконец, можете обсудить общие увлечения или просто весело пообщаться с посетителями «Таверны».
Чтобы получить возможность писать на форуме, оставьте сообщение в этой теме.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
Slavemaster есть еще такой нюанс: в данный момент "название спелла"(текстовое сообщение при активации спела) берётся из массива TXT_SPELLS. Можно ли сделать так что бы "название спела" бралось из item.description?
а еще лучше что бы вызывалась какая то func string s_txt_spells_name и я мог...
заклинание скорости
использование Npc_GetSpellItem так же позволяет повесить и новые "бафы" / "дебафы" на имеющиеся спелы. Например заклинание "скорость". Нового тут ничего нет, всё тоже самое. Пример кода:
INSTANCE ItRu_Speed(C_Item)
{
ItRu_Fear();
cond_atr[2] =...
руны телепортации
в начале делаем прототип руны телепортации. в прототипе я использую поле ID для "маркировки" всех новых рун телепортации. так же я добавляю требование к мане cond_atr[2] для руны. разработчики часто забывают про этот нюанс.
в инстанции руны указываем мир и waypoint куда...
свитки трансформации
перед созданием новых свитков трансформации необходимо создать для них прототип. в этот прототип я добавлю id = ItSc_ID_Trf что бы их "сгруппировать" для будущих проверок.
сама инстанция свитка будет содержать информацию о кол-ве маны необходимой для каста, цене...
В игре существует несколько типов заклинания которые фактически являясь одинаковыми используют разные спеллы:
заклинания лечения
заклинания телепортации
заклинания превращения
заклинания вызова
func c_item Npc_GetSpellItem (var c_npc self) позволит получить данные напрямую из руны/свитка...
в hp для теста записал.
// ------ TrfAll ------
func int Spell_Logic_TrfAll (var int manaInvested)
{
var c_item itm; itm = Npc_GetSpellItem(self);
if manaInvested == 0
{
if (self.attribute[ATR_MANA] < itm.cond_value[2])
{
return SPL_SENDSTOP;
}...
Slavemaster, спасибо! работает
func int SPELL_PROCESSMANA(var int MANAINVESTED)
{
var c_item itm; itm = Npc_GetSpellItem(SELF);
Hlp_PrintConsole(Str_Format("SPELL_PROCESSMANA itm.name = %s",itm.name));
пойду осмыслять глубину, глубин :-D
а вот пришло время воспользоваться советом...
у меня есть чёткое ощущение что когда речь идёт о движке, наши с тобой суммарные знания стремятся к нулю. а поиском я тоже умею пользоваться ;-)
это уже пройденный этап :) герой выбрал руну, а юзать её будет потом.
***
думаю надо просто просить Slavemaster сделать патч на юнион который...
на скриптах я могу получить все руны с флагом активный и проверить спелл прописанный в них с тем спелом что сейчас использует герой. но это будет работать корректно только тогда, когда у героя есть одна активная руна. если же у героя несколько "активных" рун с одним и тем же спелом, то среди...
к чему это? мой вопрос чётко сформулирован ;-) и он в топики про вопросы по скриптингу.
вот что то похожее
0x00680270 public: class oCItem * __thiscall oCNpc::GetSpellItem(int)
например. используем одни спелл для трансформации. прописываем общий спелл логик и так далее. а информацию в кого превращаться герою , берем напрямую из инстанции руны.
тоже самое с телепортами. мир и место куда телепортироваться можно хранить в самой руне.
всем привет! как получить ссылку на руну которую использует герой?
***
if Npc_HasSpell(self,NPC_GETACTIVESPELL(SELF)) на сколько я понимаю проверяет есть ли у героя руна к который "привязан" используемый спелл
if (Npc_GetActiveSpellIsScroll(self)) проверяет используется руна или свиток
а есть какая то функция которая вызывается когда НПС берёт предмет. то есть когда у него в инвентаре появляется item?
заметил что то подобное в Архолос.
это делается на уровне скриптов. функции B_GETLEARNCOSTTALENT и B_GetLearnCostAttribute. Сделать универсальную функцию для всех модов невозможно, так как в модах функция имеет разный вид(логику), разные атрибуты, разные таланты, разные переменные отличающие за хранения значения...
у меня есть просьба / предложение вынести Union_MarvinHelper в отдельный топик. крайне полезный плагин для разработчиков мода. но приходится каждый раз искать через поиск на форуме и не всегда находятся актуальные сообщения:-)
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.