Текущее время: Ср 27 ноя 2024 9:44

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




Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 18  След.
Автор Сообщение
 Сообщение Чт 1 мар 2007 20:02
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
smt005 писал(а):
Это название здания.

Дык ты же так не проверишь.... Нужно здание отдельно прописать.
Здесь вот (\AIM II\Data\Scripts\Locations\L5), например, есть скрипты BunkerSuper.src, mater_zavod.src, poluf_zavod.src и т.п.
Эти скрипты в objects.ini прописаны.

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

Gray писал(а):
Где проверка на item? В голове ? А компу кто это будет объяснять что у вас в голове ?
Ты с чем вообще сравниваешь идентификатор может разъяснишь ? Вообще удивительно что с единицами текст выводится - это, так сказать, из-за примитивности скриптового движка.

2 Gray А "GetArea" будет выдавать индификатор здания?
Или это к Сплайну? :smile:

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


 Сообщение Чт 1 мар 2007 20:39
Профиль  
Механоид 4 поколения
Сообщения: 556
Откуда: Самара
Зарегистрирован: Ср 12 окт 2005 16:11
Микс писал(а):
2 Gray А "GetArea" будет выдавать индификатор здания?
Или это к Сплайну?

Конечно к Сплайну, всё к нему :smile:
А идентификатор здания передаётся как параметр функции обработчика: void proc OnEnterBuild(char item)
Так что не хватает, зачем ещё огород городить ? :smile:
Ничего не понимаю...


 Сообщение Чт 1 мар 2007 22:38
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Начал использовать Редактор Скриптов,и не пойму - почему никакие измененя не срабатывают. Файлы компилировал.


 Сообщение Чт 1 мар 2007 22:50
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
СхСКёртис писал(а):
Начал использовать Редактор Скриптов,и не пойму - почему никакие изменения не срабатывают. Файлы компилировал.

Как я дурью маялся.
Сначала bin-файлы игра ищет в pak-ах, начиная с позднейшей даты создания и раньше, раньше, и только если не найдёт там, лезет в папку ...Data\Bin\


 Сообщение Чт 1 мар 2007 23:53
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Как создать внешнюю переменную.
Например, требуется переменная "q_test", её начальное значение 0. При влёте в сенсор (или другими способами) её значение менялось на 1, при влёте в другой сенсор, менялась на 2 и т.д.

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

А то у меня выделенная функция даёт значение не 2 а какоето своё, т.е. при повторном влёте в здание выводиться текст Q111!!!222 а должно Q222!!!222.

#include "Include\AIM.src"
//#include "MechMod\int_quest.src" //--- подключаем файл с переменными
//#include "MechMod\q_test_mel.src" //--- "мельница" ---

int int_q_test_mel;

void proc OnEnterLocation(char locID)
{

SetTimer("EnterLoc", 0.001);
}

void proc EnterLoc(char item)
{
//---
CreateObjectAt("start", "ST_ARROW", "OBJ_START");
SetPelengPoint("OBJ_START", 0);
SetSensor("OBJ_START");
//--- обнуляем переменные ---
SetVar("int_q_test_mel.GET", 0);
int_q_test_mel = GetVar("int_q_test_mel.GET");
}

void proc OnEnterSensor(char item) //--- начало игры ---
{//=== Начало ===
switch (item)
{
case "OBJ_START":
{ //--- обработка стартового сенсора
Dialog("MT_QST_QUEST"); //вызывает процедуру q_test_mel_0
DeleteObject("start");
//---
SetTimer("EnterLoc", 0.1); //--- Со временем стрелка востанавливается
}
}
}

void proc OnEnterBuild(char item)
{
if ((item == "BLD_TEST_ISL1") && (int_q_test_mel != 2))
{
Text("Q111!!!222");
}
else
{
Text("Q222!!!222");
}
if ((item == "BLD_TEST_ISL1") && (int_q_test_mel == 1))
{
Text("Q111!!!111");
SetVar("int_q_test_mel", 2);// это не выполняется
int_q_test_mel = GetVar("int_q_test_mel.GET");

}
}

//=== Выбор квеста ===
void proc q_test_mel_0 (char item)//--- мельница
{
ClearWindow();
SetVar("int_q_test_mel.GET", 2);
int_q_test_mel = GetVar("int_q_test_mel.GET");
Dialog("Выполняй");
}


Добавлено спустя 3 минуты 51 секунду:

Это один из способов который я впробывал.

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


 Сообщение Пт 2 мар 2007 0:39
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
Код:
SetVar("int_q_test_mel", 2);// это не выполняется
int_q_test_mel = GetVar("int_q_test_mel.GET");

Я вижу здесь ДВЕ РАЗНЫЕ переменные int_q_test_mel .

В первой строке - внешняя, которая считывается/присваивается ТОЛЬКО с помощью SetVar / GetVar ; SetVarChar / GetVarChar

Во второй - локальная, принадлежащая данной конкретной процедуре.

P.S. Называть несколько разных переменных в одной программе одним и тем же именем - дело нехорошее. Недоглядел - и запаришься разбираться, что там чему присваивается на самом деле. А уж в скриптах М2 - и подавно. :scientist:


 Сообщение Пт 2 мар 2007 0:54
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Я уже запарился !

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


 Сообщение Пт 2 мар 2007 8:09
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Ark писал(а):
Сначала bin-файлы игра ищет в pak-ах

В каком смысле в pak-ах? Как в pak-файлах могут быть бин-ы? Не пойму,объясни.


 Сообщение Пт 2 мар 2007 9:48
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
pak-файлы - архивы, по-простому.
Запусти PackerNET и глянь для интереса, что у pak-ов внутри. Всё равно потом пользоваться придётся. :wink:


 Сообщение Пт 2 мар 2007 14:29
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Ark писал(а):
Запусти PackerNET


Не запускается. Ошибка при инициализации приложения (0xc0000135)


 Сообщение Пт 2 мар 2007 14:54
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
СхСКёртис писал(а):
PackerNET не запускается. Ошибка при инициализации приложения (0xc0000135)

Глянь в теме Упаковщик. Всё равно понадобится.
Просто переименуй файл AIMBIN.PAK , чтобы у него расширение другое было, или перенеси в другую папку (а то игра сначала будет просматривать bin-файлы внутри AIMBIN.PAK и найдёт там всё, что искала, а к bin-файлам из папки ...\Data\Bin\ , сделанным Редактором Скриптов, не обратится)


 Сообщение Пт 2 мар 2007 15:03
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Ark писал(а):
PackerNET не запускается. Ошибка при инициализации приложения (0xc0000135)


Поставил MSFramework 1.1.Теперь вот чё:
Цитата:
CLR error: 80004005
The program will now terminate.


Но я так понял можно обойтись и без Упаковщика. Спасибо Ark.


 Сообщение Сб 3 мар 2007 13:59
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Знаю как добавить итем игроку, например "информационный кристал".
Вопрос,
Как его забрать у игрока ?
GetItem ("TOV_INFORMPAKET") не работает.

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


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

А GetItem - это узнать, сколько у Игрока таких итемов


 Сообщение Вс 4 мар 2007 13:49
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Скачал с MM-team пару модов, установил, поиграл, понял, что это, и удалил, решив"если надо поставлю ещё раз" :wink: .Токо потом вечерком захотел проверить чё я "наскриптил". При загрузке новой игры вылетает. Смотрю, от папки bin осталось вот чё: :ooo: :shock:
Bin\Locations\loc11\loc11.src

Ни в bin-е, ни во вложенных папках ничё (кроме loc11.src) нет. :sad:
Как мне с этим разобраться?
Переустановить игру?
Если да, то если я оставлю копии изменённых SRC-файлов, и заменю ими файлы новой игры, изменения сработают? :?:

З.Ы. Просьба к Миксу разобраться с этой проблемой.


 Сообщение Вс 4 мар 2007 14:00
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Вообще-то все бинарные файлы, необходимые для игры, хранятся в архиве AIMBIN.PAK, если Миксовские моды его не меняли, то ничего страшного произойти не должно было. Далее, файлы с расширением *.scr непосредственно игровым движком вообще использоваться не должны. А чтоб в папке бин появилось, что надо, надо просто скомпилировать нужные скрипты.


 Сообщение Вс 4 мар 2007 15:17
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
СхСКёртис писал(а):
З.Ы. Просьба к Миксу разобраться с этой проблемой.

В модах используется сырая программа для запуска. Уже делается новая версия.

Как сказал Разум, Bin - это откомпилированные файлы *.scr

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


 Сообщение Вс 4 мар 2007 15:58
Профиль  
Механоид 5 поколения
Сообщения: 1078
Зарегистрирован: Пт 2 фев 2007 16:15
Спасибо. Разобрался.


 Сообщение Пн 5 мар 2007 16:52
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
Вопрос: хелперы типа "контейнер" используются как обычные указатели или нет?

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


 Сообщение Вт 6 мар 2007 9:24
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
Любой хелпер - это Объект(3D-Моделька + физическая модель(для мелких объектов в М2 - просто сфера) + звук), а Указатель - именованная координатная точка.
Нет, нужно работать с Указателем, согласно которому создан Объект, если я правильно понял смысл вопроса (если хелпер - объект, созданный прямо на Локации, как камень какой-нибудь, тогда не знаю).


 Сообщение Вт 6 мар 2007 13:15
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
Это всё и так ясно. Я просто хотел узнать, зачем нужна эта функция:
Код:
// Добавить объект в контейнер
void proc AddItemToContainer( char cContainer, char cObjectType, int iCount=1)
{
   UserFunc(13, cContainer, cObjectType, iCount);
}

Как я понял она добавляет что-то в контейнер, который, в редакторе локаций, лежит в разделе Хелперы.

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


 Сообщение Вт 6 мар 2007 14:17
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Я понал как (но ещё не пробывал):
Создаётся контейнер в хелпере с каким то именем и с помощью этой процедуры мы добавляем товар в этот контейнер.
Если просто создать контейнер, то он подбирается и там ничего нет.

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


 Сообщение Вт 6 мар 2007 14:22
Профиль  
Ограничитель
Аватара пользователя
Сообщения: 7028
Откуда: От верблюда!
Зарегистрирован: Ср 11 май 2005 9:48
smt005 писал(а):
Я понал как (но ещё не пробывал):

Вот так я тоже понял. Просто хотел в этом удостовериться.
Может кто достоверно побобовал?

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


 Сообщение Вт 6 мар 2007 14:43
Профиль  
Трёхмерный
Аватара пользователя
Сообщения: 3622
Зарегистрирован: Пн 17 янв 2005 19:23
Думаю скриптами по этой игре занимается только ты, я и Ark.

Добавлено спустя 3 минуты 2 секунды:

И этот, наш последний разговор надо перенести в раздел "Скрипты".

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


 Сообщение Вт 6 мар 2007 17:50
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
Ну, фрагмент кода в Events\EnterBuild.src точно работает как надо:
Код:
CreateObjectAt("need_con", "TT_CONTAINER", GetVarChar("g_target"));
AddItemToContainer("need_con", "TOV_UNIQUE_CONTAINER");

, так что проверено.

Перенёс.


Последний раз редактировалось Ark Чт 8 мар 2007 17:20, всего редактировалось 1 раз.

 Сообщение Чт 8 мар 2007 3:14
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Сегодня пытался создать группу глайдеров. Не получилось.
Требуется следующее - создать группу в определенной точке.
Что я сделал. Я создал в редакторе локаций хелпер с именем MT_GRP_A_P (именно в этой позиции и должна быть группа), Создал группу MT_GRP_A в окне "Группы глайдеров", прописал эти имена в objects.ini в скриптах в функции OnEnterBulid вызвал функцию CreateGroup("MT_GRP_А","MT_GRP_A_P"). Естественно, ничего не создалось. Нигде, весь сектор обыскал. Вопрос, что я сделал неправильно? И еще, какие настройки в редакторе локаций надо (точнее, какие точно работают) ставить группе, может, я там что-то не то поставил?


 Сообщение Пт 9 мар 2007 1:43
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Получилось создать группу. Но! Группа появляется все время где-то на дороге, а не у той точки, которая указана в функции создания.
Далее, интересно, можно ли задать мехам в группе определенные имена, а то имя получает только один из них?

Добавлено спустя 1 час 12 минут 44 секунды:

Помнится, в М1 в секторе вулканов была разрушенная база, и возле нее толкалась большая толпа Первых. Как можно организовать аналогичною группу, чтоб она не отезжала далеко от некоторой точки?


 Сообщение Чт 15 мар 2007 15:54
Профиль  
Механоид 5 поколения
Сообщения: 1163
Откуда: Омск
Зарегистрирован: Вс 14 май 2006 17:42
[nbsp]У меня тут проблемка вырисовывается. В моде, которым сейчас занимаюсь, весьма сложная система политических и сюжетных событий, требующая значительного количества common-переменных. Скриптовый механизм работает с ними фактически как интерпретатор, а не как компилятор, и, по-простому, долго копается в поисках нужной. Тормозит.
[nbsp]Можно ли как-нибудь сократить количество этих самых переменных? Возможно ли применение массивов, данных типа record, преобразование типов данных (возможно, неявное, типа вызвал процедуру с параметром-строкой, а внутри процедуры обрабатывать это дело как ряд integer или float переменных)? До использования численных типов данных в качестве битовых карт дело уже дошло... :roll:

[nbsp]Приветствуются любые извращения, лишь бы толк был.


 Сообщение Чт 15 мар 2007 16:15
Профиль  
Главный разработчик
Главный разработчик
Сообщения: 1567
Зарегистрирован: Чт 29 авг 2002 11:33
Пиши конкретнее проблемы.
Может патчик будет.. :-)


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

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


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7 ... 18  След.

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


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

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


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

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