Текущее время: Сб 23 ноя 2024 9:51

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Сообщение Чт 15 мар 2007 19:07
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
[nbsp]Эта тема о том, какие возможности и исправления было бы желательно сделать в скриптовом механизме Механоидов 2 и в инструментах SDK, ибо
Spline писал(а):
Может патчик будет...

[nbsp]Патчик - вещь полезная, в том числе и самим Разработчикам, ежели они возьмутся за аддон к Механоидам 2... но просьба особо губу не раскатывать :smile: , так как стоящими будут лишь очень важные, критические поправки либо такие, которые относительно легко выполнить.


 Сообщение Чт 15 мар 2007 23:40
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Чтобы были пожелания, нужно знать всё что может делать редактор.......... Не так ли ?

Добавлено спустя 12 минут 39 секунд:

А сделать с помощью этих скриптов можно многое. :scientist: Чего только стоит аномалия которую я придумал и успешно реализовал........ :tipa: :supercool:

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Пт 16 мар 2007 12:10
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
По скриптовому механизму:

Критично:

[nbsp]1) Добавить возможность явного объявления общих переменных в головном модуле, чтобы обращение к таким переменным шло по адресам, вшитым в код процедур ещё при компиляции.
[nbsp]Критично потому, что существующий механизм "общих переменных" работает по принципу интерпретатора и тратит на доступ к нужной переменной очень много времени. При значительном количестве "общих переменных" время поиска нужной заметно возрастает и игра начинает тормозить. То есть сейчас на скриптах в принципе нельзя выполнить чего-нибудь более-менее сложного - играбельность пропадёт.

[nbsp]2) Добавить возможность создавать одномерные массивы для типов данных boolean, integer, float. Если будет реализовано предложение (1) - достаточно только для явноопределяемых переменных.
[nbsp]Это может в некоторой степени заменить предложение (1) (чем меньше число "общих переменных", тем меньше время поиска нужной), хотя такая замена далеко не полноценна. Лучше и (1), и (2).

Весьма желательно:

Добавить процедуры, дающие возможность:

Узнать количество товара в здании:
int proc GetBuildGoods ( char cBuild, char cGoods );

Узнать загрузку производства в здании:
float (либо int) proc Build Productivity ( char cBuild );

Узнать уровень экономики клана:
float (либо int) proc GetEconomics ( char orgID );

Получить случайный глайдер, принадлежащий данной организации:
char proc GetRandomGliderMember ( char orgID );

Назначить рейтинг глайдера:
void proc SetGliderR ( char gliderID );
_______

[nbsp]Исправить работу void proc Resurrect ( char locationID, char buildingID="" )
(Восстановить игрока на локации ( в здании ) ). Сейчас она ведёт себя так.

Желательно:

Добавить процедуры, дающие возможность:

Узнать то или иное оборудование глайдера-NPC аналогично GetEquipLayer:
char proc GetEquipNPC ( char gliderID, int iEqipLayer );

Установить на глайдер-NPC оборудование аналогично InstallEquipLayer:
void proc InstallEquipNPC ( char gliderID, int iEqipLayer, char eqpID );

Узнать поколение механоида:
int proc GetMechGeneration ( char cMechID );

Узнать Ремесло глайдера:
int proc GetGliderSpeciality ( char gliderID );
(пустое/Народ/Торговец/Охранник/Захватчик)
_______

[nbsp]Чтобы при вызове void proc GliderGo ( char gliderID, char pointID )
( Послать группу глайдеров куда-то ), в качестве pointID мог бы выступать идентификатор строения, и глайдер/группа при этом выполняли 2 операции:
[nbsp]1) Прибыть в точку (вход в строение pointID )
[nbsp]2) Залететь в строение pointID
, а для void proc SetSensorNPC( char cPointer, char cMech, int iIn=1);
( Поставить сенсор для NPC`а )
чтобы cPointer также мог быть идентификатором здания, и EVENT OnEnterSensorNPC в таком случае срабатывало бы при въезде любого глайдера-NPC в это здание.

Хорошо бы :)

Добавить процедуры, дающие возможность:

Запустить постоянное (кроме ситуаций раскрытия окна чтения сообщений с остановкой игры и просмотра Игроком Карты/Груза/Глайдера/Журнала) проигрывание Ситуативной мелодии для состояния "в полёте" с подавлением проигрывания Основных мелодий и Мелодий-Вставок и, возможно, подавлением переключения на Боевую мелодию во время боя:

PlayMusicFly ( char iMus, int suppresswarmusic=0 );
здесь iMus - идентификатор Записи в базе данных ("MUS_что-то-там"), если iMus == "" или такая Запись не найдена, то переключение музыкальной схемы в стандартный режим.

Аналогично - Запустить постоянное проигрывание Ситуативной мелодии для ситуации раскрытия окна чтения сообщений с остановкой игры и состояния "в здании" с подавлением проигрывания мелодий состояния здания Своё/Чужое/Нейтральное :

PlayMusicTxt ( char iMus );

Узнать численность данного клана на текущей локации:
int proc GetMembersCount ( char orgID );


 Сообщение Пт 16 мар 2007 21:50
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
1. Узнать количество кристалов у игрока.
2. Создать группу механоидов в конкретной точке.

_________________
https://sites.google.com/site/intelligencecells
http://www.youtube.com/user/IntelligenceCells


 Сообщение Пн 19 мар 2007 10:49
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
1) Добавить процедуру
char proc InputBox( char cCapt )
Которая выводило бы поле для ввода информации (как при вводе имени меха) и возвращала её.
cCapt - заголовок
2) Отделить процедуру EndGame() и проигрывание ролика в конце игры.
3) Добавить процедуру
void proc HideObject( char itemName, int iEnable )
Которая позволяет делать видимым/не видимым объекты. Пригодится, если нужно, например, скрыть объект созданный в Редакторе локаций
4) Исправить прокрутку поля "Описание" в гл. меню, в разделе "Моды"

_________________
Земля, Земля - я Юпитер!
Зарисовка в стиле AIM - https://www.youtube.com/watch?v=JiWtIz9g3Uw


 Сообщение Сб 4 авг 2007 22:52
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Создание здания:
CreateBuildingAt(char itemName, char cBuildingType, char cPointer)
RemoveObject, судя по экспериментам, может удалять и здания, но создавать их, к сожалению, невозможно. :neutral:


 Сообщение Пт 17 авг 2007 16:10
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Несложные в реализации, но позарез необходимые:
ExitFromBuilding() - выйти из здания.
MoveToObject(char cObject, char cLocation = GetArea) - перенести глайдер к хелперу
CloseAngar(int iEnable = 1) - заблокировать/разблокировать отдел "Ангар" на текущей базе (в случае, если механоид находится вне базы, процедуру игнорировать)


 Сообщение Пн 29 окт 2007 12:09
Профиль  
Участник
Аватара пользователя
Сообщения: 20
Откуда: Санкт-Петербург
Зарегистрирован: Ср 22 фев 2006 21:28
Очень желательно поиметь работу с интерфейсом игры.
Набор объектов (панели, окна,, кнопки, закладки и тд), функции доступа к ним и работы с ними. Обработчики их событий, типа OnButtonClick(), OnWindowOpen(), OnWindowClose() итд.
Также очень хорошо открыть в движке набор переменных или объектов, используемых при отображении различной статистической информации в игре.
Соответственно в самом СДК реализовать набор функций для работы с ними из скриптов. Для работы в связке с функциями интерфейса.

Всё это очень хорошо поможет разнообразить модификации игры, не только работой с новыми картами, модификацией оружия и прочих объектов, но также созданием новых окон, интерфейсов доступа, помогая делать игру более гибкой, за счет большего доступа к внутриигровой информации.
Чем больше откроется хардкорных данных для доступа из скриптов, тем гибче можно программироавть всякие "удобства" и "вкусности" для игроков.


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB