Новости Вышел первый трейлер будущей космической РПГ Exodus
  • 318
  • 1
Студия Archetype Entertainment представила первый трейлер Exodus - научно-фантастической РПГ в духе Mass Effect. Её разработкой занимается команда во главе с ветераном BioWare Джеймсом Оленом. По...
Новости Новые скриншоты и детали Gothic Remake: изменения башни, орков и монстров
  • 943
  • 7
Также изменился и путь к башне. Теперь его охраняют големы, которые могут активно взаимодействовать с окружающей средой, делая прохождение более сложным. Стоит отметить, что даже затопленные руины...
Новости Path of Exile 2 - игра ворвалась в топ Steam и собрала 1,3 млн зрителей в Твиче
  • 918
  • 7
Тому кто знаком с диаблоидами, не стоит представлять данную игру. Первая часть была невероятно популярной и по праву носила звание лучшей ARPG среди Hack&Slash-игр. И вот вчера, 6 декабря...
Новости Ремейк "Готики 1" | Трейлер Showcase 2024
  • 7.795
  • 9
Новички, пришло время принять реальность и смириться с судьбой. Чувствуйте себя как дома в Долине Рудников, месте, полном опасностей, преступлений и жадности. Вам предстоит оставаться здесь очень...

Дискуссия Разработка AST (скриптового расширителя)

Автор
Автор
Saturas

Saturas

Наемник
Модостроитель
Участник форума
Регистрация
21 Апр 2011
Сообщения
817
Реакции
290
Баллы
195
Лучшие ответы
0
#51
Сложно сказать, код там не особо простой у меня уйдет несколько недель чтобы его прочитать/осознать, пока первостепенная задача и цель это V3.15 которая будет брать дополнительные функции из файла.
 

RainbowUnicorn

Рыцарь
Участник форума
Регистрация
12 Ноя 2013
Сообщения
2.318
Реакции
1.053
Баллы
386
Лучшие ответы
1
#52
Есть два вопроса:
1)Возможно ли сделать функцию, которая будет при старте каждой новой игры\загрузке рандомить все комбинации сундуков?(про опцию в инишнике знаю, но ее принудительно не поставить)
2)Можно ли кратко огласить список новых функций, чтобы можно было как-то уже идеи корректировать, исходя из возможностей? ce
 
Последнее редактирование модератором:
Автор
Автор
Saturas

Saturas

Наемник
Модостроитель
Участник форума
Регистрация
21 Апр 2011
Сообщения
817
Реакции
290
Баллы
195
Лучшие ответы
0
#53
Начал вести список функций.
По первому вопросу - все в ваших руках, функции добавления предмета в сундук есть, удаления теперь тоже есть, а так же функция изменения комбинации, дело за малым. Хотя наверное будет какаянибудь простенькая функция которая будет сама рандомить все предметы/комбинации на сундуках



//-------------------Функции работы с предметами и инвентарем

//Возвращает ссылку на предмет, принадлежащему к типу instanceName.
func instance Hlp_GetItem(var int instanceName);

//-------------------Функции работы с миром

//Запускает смену уровня(мира) из текущего в world на точку point (аналогичная триггеру смены уровня в спейсере)
func string Wld_ChangeLevel(var string world,var string point );

//Практически полный аналог функции Wld_PlayEffect, только воспроизводит эффект с любого визуального объекта в мире
func void Wld_PlayEffectVob(var string nameVfx, var string OriginVobName, var string TargetVobName, var int EffectLevel, var int Damage, var int DamageType, var int IsProjectile);

//-------------------Функции работы с моделями

//Изменяет скорость (FPS) анимации NPC с именем aniName
func void Mdl_SetAniFps(var c_npc npc,var string aniName,var float fps);

//Включить/выключить отображение модели NPC (1/0)
func void Mdl_ShowVisual(var c_npc npc,var int bShow);



//-------------------Функции работы с НПС

//Экипировать NPC предметом с ID itemInstance. Работает корректно, как во время загрузки мира, так и в процессе игры.
func void Ext_EquipItem(var c_npc npc,var int itemInstance);

//Возвращает ссылку на на NPC (если он есть) в фокусе self
func instance GetFocusNpc(var c_npc self);

//Возвращает одну из строк режима ходьбы
func string GetWalkModestring(var c_npc npc);

//Возвращает имя визуального объекта в фокусе
func string Npc_GetFocusVobName(var c_npc npc);

//Объявить NPC игроком
func void Npc_SetAsPlayer(var c_npc npc);

//Возвращает 1 если анимация aniName активна, 0 если нет
func int Npc_IsAnimationActive(var c_npc npc,var string aniName);


//-------------------Функции работы с объектами

//Возвращает количество символов в строке "кода" замка объекта mobName
func int Mob_GetNum(var string mobName);

//Закрыть/открыть объект mobName (1/0)
func void Mob_SetLocked(var string mobName,var int bLock);

//Установить инстанцию ключа для замка mobName
func void Mob_SetKeyInstance(var string mobName,var string instancestring);

//Установить "код" вида LRLR на замок mobName
func void Mob_SetPickLockStr(var string mobName,var string str);

//Удалить предмет instanceName из контейнера mobName в количестве amount
func void Mob_RemoveItem(var string mobName,var int instanceName,var int amount);

//Нанести урон (свойству tHitpoint s:) объекту который использует ГГ
//В случае если урона нанесено больше или равно количеству "здоровья" объекта, объект разрушается проигрывая визуальный эффект PFX_MOBDESTROY, и визуализация меняется на visualDestroyed (также задается в спейсере)
//В случае если разрушен сундук, из него выпадут все предметы.
func void Mob_ApplyDamage (var int hp);


Еще несколько функций, остальные будут выкладываться по мере тестов.

//Открывает инвертарь другого NPC для карманной кражи
//Шанс кражи обратно зависим от навыка NPC_TALENT_PICKPOCKET (номер навыка должен быть изменен с 12, на 6)

func void OpenSteal();

//Аналог функции PrintScreen(...), с одним изменением - можно менять цвет текста
//Цвет задается число от 0 до 40 (список цветов будет выложен позже)

func int PrintText(var string text, var int x, var int y, var string font, var int timeSec, var int color);

//NPC кастует заклинание с номером spellid
func int AI_CastSpell(var c_npc,var int spellid);

//Возвращает статус топика topicName
func int Log_GetTopicStatus(var string topicName);

По многочисленным просьбам добавил функцию рандоминга комбинаций сундуков

//Задает случайную комбинацию всех объектов класса oCMobContainer в мире
//Можно использовать как во время игры, так и во время загрузки (секция Init_XXX)

func void Mob_ScrambleContainers();

Добавлен новый функционал в игру, теперь при компиляции моделей игрой (.MRM/.MDL/.MDM/.MMC) на этапе сохранения модели, будут загружаться списки материалов из папки _work/tools/data (список берется из файла MatLib.ini) и проверятся на совпадение имени материала модели, и материала из списка, и если имена равны (==) то в модель будет загружен материал из внешнего списка
 
Последнее редактирование модератором:

RainbowUnicorn

Рыцарь
Участник форума
Регистрация
12 Ноя 2013
Сообщения
2.318
Реакции
1.053
Баллы
386
Лучшие ответы
1
#54
В общем, такая идея: сделать аналог бартерной торговли.
В функцию вводится:
Валюта(те предметы, за которые у продавца покупаем предметы, если ничего не введено - используется золото)
Предметы, интересующие торговца(Только эти предметы будет брать торговец за 50% стоимости, платит введенной валютой)
Множитель цены

Пример:
Василий, в качестве валюты используем старинные монеты, множитель цены - 0.1, интересующие предметы - нет(ничего нельзя продать).
К примеру он продает книгу, цена которой 1000 золотых, множитель 0.1, цена будет 100 старинных монет.
На этой же функции можно сделать ручную продажу охотничьих трофеев, мечей гараду и т.п., ручная продажа тут более удобна как для игроков, так и для мододелов: игрокам не нужно нужные ему предметы скидывать на землю перед продажей, мододелам меньше писать и не возникнет таких моментов, когда будет давать деньги и не забирать предмет и т.п.

Насколько реально такое сделать и будет ли сделано? ce
 
Автор
Автор
Saturas

Saturas

Наемник
Модостроитель
Участник форума
Регистрация
21 Апр 2011
Сообщения
817
Реакции
290
Баллы
195
Лучшие ответы
0
#55
Приведи пример как оно должно выглядеть в коде.
 

Dimmell

Наемник
Модостроитель
Участник форума
Регистрация
8 Янв 2013
Сообщения
752
Реакции
398
Баллы
164
Лучшие ответы
0
#56
Расширитель еще дышит или уже остыл?
 

Yelawolf

Живая легенда
Модостроитель
Почётный пользователь
Участник форума
Регистрация
29 Янв 2012
Сообщения
6.785
Реакции
2.192
Баллы
661
Лучшие ответы
2
#57
Дышит и развивается qw
 

Ziptar

Наемник
Участник форума
Регистрация
19 Окт 2013
Сообщения
572
Реакции
81
Баллы
75
Лучшие ответы
0
#58
Последнее редактирование модератором:
Автор
Автор
Saturas

Saturas

Наемник
Модостроитель
Участник форума
Регистрация
21 Апр 2011
Сообщения
817
Реакции
290
Баллы
195
Лучшие ответы
0
#59
Расширитель еще дышит или уже остыл?
Ну, он мне интересен, по этому дышит, и еще как, надоест не ранее чем после 5-6 оф релиза, вобщем еще года 2 будет активное развитие.
 

Dimmell

Наемник
Модостроитель
Участник форума
Регистрация
8 Янв 2013
Сообщения
752
Реакции
398
Баллы
164
Лучшие ответы
0
#60
Сверху Снизу