Для программистов, вопросы по скриптам ПКМ |
Здравствуйте, гость ( Вход | Регистрация )
Для программистов, вопросы по скриптам ПКМ |
igor_pol |
Aug 24 2005, 21:00
Сообщение
#1
|
боцман Группа: форумчанин Сообщений: 140 Регистрация: 3-December 04 Пользователь №: 169 |
Первое что я хотел написать "АДМИНЫ!!!!" НЕ ЗВЕРЕЙТЕ ЗА "НЕНУЖНУЮ ТЕМУ"
************************************************** на вопрос зачем создал эту тему отвечу так "Я например НЕ ПРОСТО ЮЗВЕРЬ А КОЕ ЧТО И САМ НАПИСАТЬ МОГУ. И хотел бы чтобы на форуме была тема для тех кто сам хочет что-то добавить в игру. На сайте аддона Алекс вікинул ссылку на описание скриптов ПКМ на английском. Я хотел бы узнать где можно нарыть больше инфы по этом скриптам. И кстати на каком языке они пишуться. Если кто-то знает ----- пишите. И вообще всем програмерам на форуме нужна своя тема. так что ГОСПОДА ПРОГРАМЕРЫ ВАЛИТЕ СЮДА !!!! Может из этого что небудь интересное выйдет!!!!!!(Если тему не УТРУТ) Жду сообщений (может у когот есть идеи на эту тему ) Сообщение отредактировал Догева - Apr 24 2006, 13:36 |
Alexad_D |
Jul 19 2009, 14:20
Сообщение
#161
|
матрос Группа: форумчанин Сообщений: 89 Регистрация: 11-July 09 Из: Беларусь. г. Поставы Пользователь №: 20,710 |
То что ты сделал называется "ломать сейв" (читерство), и здесь это не приветствуется. Тем более что таким способом ничего толкового не сделать (не добавить новые предметы, не добавить квестов). Вообщем когда сделаешь что то хорошее - напиши. По второму вопросу, это у всех так, но это уже в отдельную Прошу прощение за незнание терминалогии.....Правда незнание не освобождает от ответственности А по сему - замечание учту..... Как привязать готовую модель сделанную к примеру в Maya, с помощью TOOLS к скелету и анимации. В Модел вивере я ее просматриваю вроде нормально.... А в игре такая свистопляска начинается. Если кто знает, то если можно по подробней, по шагово..... |
korsar-fan |
Jul 19 2009, 15:15
Сообщение
#162
|
юнга Группа: форумчанин (*) Сообщений: 13 Регистрация: 29-June 09 Пользователь №: 20,612 |
В игре Сундук Мертвеца, сделаны полеты камеры. Как это вообще прописывают?
Корабль стреляет по порту, и то как? Подскажите пожалуйста. |
ugeen |
Jul 19 2009, 21:44
Сообщение
#163
|
боцман Группа: форумчанин Сообщений: 133 Регистрация: 12-January 06 Из: 105-ый элемент таблицы Менделеева Пользователь №: 2,269 |
Специальными сообщениями в двиг это делается, в двиг - модифицировааный для К3:CM - т.е. ни в чистых К3, ни в КВЛ ни в ГПК это не сделать (имеется в виду стрельба корабля в порту)
|
ALexusB |
Jul 20 2009, 13:17
Сообщение
#164
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,237 Регистрация: 2-November 04 Пользователь №: 3 |
Да, это докрутка КСМ, в ядре у нас нет.
Летать камерой можно и в ПКМ (см расстрел в ВМЛ) - то есть возможностей много. Нужно юзать методы установки камеры в локатор и нацел ее на цель См для примера диалог, когда камера наезжает - это и есть управление. Локатора там нет - я координату бошки ГГ считал. Соотв сделав скрипт смены по таймеру положений камеры можнос делать кино. Просто это достигается иначе, чем в КСМ, там прям анимация полета задается, как ресурс в папке с игрой. |
Black Angel |
Jul 20 2009, 18:36
Сообщение
#165
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Я так понимаю вы тут говорите о стрельбе корабля по форту в КСМ в мейнменю.Я не ошибся?Если про это то это вопрос к тем кто делал ядро.Скриптово это даже в КГПК невозможно...
Так у меня вопрос по скрипту очередной...нет даже 2. 1.Почему в режиме файтмод не возможно воспроизвести левую анимацию(почесывание задницы например),а не стандартную боевую? 2.Какая функция отвечает за отображение сабель,пистолей,лечилок и тд на земле?И как чтобы эту отабраженую модель можно было бы поднять? |
ALexusB |
Jul 20 2009, 20:09
Сообщение
#166
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,237 Регистрация: 2-November 04 Пользователь №: 3 |
1 - можно, см в .ани файле замени там боевую на почес, будет в бою почес
2 - за это отвечает локатор и группа рандитем, на них можно клать итем |
Black Angel |
Jul 20 2009, 20:27
Сообщение
#167
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
1 - можно, см в .ани файле замени там боевую на почес, будет в бою почес 2 - за это отвечает локатор и группа рандитем, на них можно клать итем 1-мне не надо ковырять ани.Просто это можно заменить в самих скриптах,но не об этом речь...Говорю ему плей анимацию,а он не пытается что либо делать,а сабля в ножнах все прекрасно работает.Это ядро или очередная проверка в скриптах? 2-а если без локатора?Взять координаты и пустить их через фор или вайл.Сендмеседж не катит,так как ему нужен итем_файндитеммодел и на этом инте мы выдает ерор и выбрасывает в винду.В чем проблема то? Да и еще тут вещь такая почему если писать equip.pchar.blade он ид не находит? |
Warship |
Jul 21 2009, 05:31
Сообщение
#168
|
Гроза морей Группа: бета-тестер Сообщений: 441 Регистрация: 29-April 07 Из: Прим. край г. Находка Пользователь №: 9,103 |
1-мне не надо ковырять ани.Просто это можно заменить в самих скриптах,но не об этом речь...Говорю ему плей анимацию,а он не пытается что либо делать,а сабля в ножнах все прекрасно работает.Это ядро или очередная проверка в скриптах? Анимацию могут воспроизводить только актеры. Делай ГГ актером и только тогда проигрывай анимацию. 2-а если без локатора?Взять координаты и пустить их через фор или вайл.Сендмеседж не катит,так как ему нужен итем_файндитеммодел и на этом инте мы выдает ерор и выбрасывает в винду.В чем проблема то? Без СендМессадж никак не положить по координатам. С СендМессадж можно, но тогда при заступе ГГ на модельку ее низя будет взять, т.е. это просто вывод модельки в локацию. На вскидку, пример вывода модельки с использованием сообщения в движок: Код Object locationModel; CreateEntity(&locationModel, "MODELR"); SendMessage(&locationModel, "ls", MSG_MODEL_LOAD_GEO, "mirror"); // Название модельки из Resource/MODELS/ SendMessage(&locationModel, "ls", MSG_MODEL_SET_TECHNIQUE, "EnvironmentShader"); // Техника рендера LayerAddObject("execute", &locationModel, ITEMS_LAYER); LayerAddObject("realize", &locationModel, ITEMS_LAYER); SendMessage(&locationModel, "lffffffffffff", MSG_MODEL_SET_POSITION, 33.6, 3.5, 87.3, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); Последнее сообщение - собсно координаты модельки: x, y, z, xx, xy, xz, yx, yy, yz, zx, zy, zz Да и еще тут вещь такая почему если писать equip.pchar.blade он ид не находит? Нужно PChar.Equip.Blade = _itemID; Но вот так аттрибутами прописывать - табу. Для этого есть спец функция void EquipCharacterByItem(ref _chref, String _itemID); |
Alexad_D |
Jul 21 2009, 14:37
Сообщение
#169
|
матрос Группа: форумчанин Сообщений: 89 Регистрация: 11-July 09 Из: Беларусь. г. Поставы Пользователь №: 20,710 |
ALexusB!!! У меня вопрос к тебе... как внедрить свои модели в ПКМ - людей, корабли, здания и пр.? Как привязать людей к скелету, анимации и пр.? В хелпе по тулсу, то что я перевел, дает весма туманное предстовление о том как это сделать. Я хочу поменять практически все в игре начиная от моделей людей, кораблей и зданий, кончая квестовой линейкой Так скать - Корсары 400 лет спустя или в поисках пиратских кладов.... Сценарий сюжета уже набросан. Я уже ко многим и на разных форумах пристовал с этим но.... начинают умначать и объяснять то в чем сами имеют чисто теоретическое понятие те, кто сам не пробовал, а те кто знает как - почему то молчат....
Модели сделаны в майя 5 и экспортированы в gm, текстуры в тх - так что в гм-вивере они просматриваются тектурированые Просто тупо клонировать данек, блейзов, батлшипы и мановары, перекрашивать текстуры, добовлять мелкие квесты с диалогами уже наскучило.... Хочется уже на что то по серьезнее замахнуться..... |
ALexusB |
Jul 21 2009, 14:54
Сообщение
#170
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,237 Регистрация: 2-November 04 Пользователь №: 3 |
Внедрять в скрипты аналогично тем, что там есть. Искать работающий корабли, НПС и смотреть, где он прописан. Прописать рядом.
Если речь идет о новых своих 3Д моделях - не ко мне. Не понимаю и понимать не пытаюсь. |
Black Angel |
Jul 21 2009, 18:27
Сообщение
#171
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Но вот так аттрибутами прописывать - табу. Для этого есть спец функция
void EquipCharacterByItem(ref _chref, String _itemID); [/quote] Анимация проигрывается но не так как надо-он саблю в ножны убирает. Попробовал так как ты написал-модель не появилась по заданым координатам.Что не так? |
Warship |
Jul 22 2009, 01:30
Сообщение
#172
|
Гроза морей Группа: бета-тестер Сообщений: 441 Регистрация: 29-April 07 Из: Прим. край г. Находка Пользователь №: 9,103 |
Код рабочий, я аналогичным свет маякам в море ставил.
Проверь координаты - мож куда-то в дом попадают и модельку не видно просто. Ну и если ставить в режиме моря, то нужно юзать два других слоя - SEA_EXECUTE и SEA_REALIZE. |
Black Angel |
Jul 22 2009, 05:45
Сообщение
#173
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Проверь координаты - мож куда-то в дом попадают и модельку не видно просто.
Ну и если ставить в режиме моря, то нужно юзать два других слоя - SEA_EXECUTE и SEA_REALIZE. [/quote] Координаты рабочие на 100%.Вот бутылочку лечилку отображают,а саблю,пистолет-нет.Не могу понять почему когда я беру блейд99 использую функцию итемс_итемМоделс он в сендМеседж берет блейд9...А можно так написать itemID = pchar.Equip.Blade;? |
Alexad_D |
Jul 22 2009, 09:28
Сообщение
#174
|
матрос Группа: форумчанин Сообщений: 89 Регистрация: 11-July 09 Из: Беларусь. г. Поставы Пользователь №: 20,710 |
Да речь идет именно о своих 3Д-моделях.... Не могу привязать модель к анимации. Скриптами то я их прописываю (это не сложно) А вот их движения (анимация) даже кривым и то с большой натяжкой назвать можно.....
|
Black Angel |
Jul 24 2009, 19:02
Сообщение
#175
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Народ объясните начинающему кодеру что здесь не правильно?
Код aref Item; string itemId; Log_SetStringToLog("Blade= " + Pchar.equip.blade); itemId = Pchar.equip.blade; // Log_SetStringToLog(itemId); int x = Items_FindItem(itemId, &Items[itemId]); if (x != -1) { if (!CheckAttribute(Item, "model") || Item.model == "") { Trace("SetRandItemShow: no model for item "+Item.id); return -1; } GetCharacterPos(pchar, &locx, &locy, &locz); Items_LoadModel(&itemModels[itemId], &Items[itemId]); SendMessage(&itemModels[itemId], "lffffffffffff", MSG_MODEL_SET_POSITION, locx, locy, locz, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); Почему он мне выводит не ту саблю? |
Warship |
Jul 25 2009, 05:09
Сообщение
#176
|
Гроза морей Группа: бета-тестер Сообщений: 441 Регистрация: 29-April 07 Из: Прим. край г. Находка Пользователь №: 9,103 |
1. За место itemId = Pchar.equip.blade; юзать itemId = GetCharacterEquipByGroup(PChar, BLADE_ITEM_TYPE);
Хотя, это не так уж и критично. 2. Функция Items_FindItem(itemId, &Items[itemId]); - скриптами не поддерживаются ассоциативные массивы, т.е. запись &Items[itemId] даст ошибку. Нужно тогда уж &Items[x]. 3. Таже функция Items_FindItem(itemId, &Items[itemId]); - даже при соблюдениии пункта выше, она затрет все, что было в Items[x], а это как-раз предмет. Там в методе обьявлена переменная Item - в нее и записывай, т.е. int x = Items_FindItem(itemId, &Item); 4. Функция Items_LoadModel(&itemModels[itemId], &Items[itemId]); - тож самое, что пункты 2 и 3. Нужно Items_LoadModel(&itemModels[x], Item); 5. СендМессадж - ошибка из пункта 2 - &itemModels[itemId], нужно &itemModels[x]. 6. Не обьявлены переменные locx ... locz; Итого, если более-менее нормально переписать тело функции, получим: Код aref Item; string itemId = GetCharacterEquipByGroup(PChar, BLADE_ITEM_TYPE); float locx, locy, locz; int x; if(itemId != "") { x = Items_FindItem(itemId, &Item); if(x != -1) { if(CheckAttribute(Item, "model") && Item.model != "") { GetCharacterPos(pchar, &locx, &locy, &locz); Items_LoadModel(&itemModels[x], Item); SendMessage(&itemModels[x], "lffffffffffff", MSG_MODEL_SET_POSITION, locx, locy, locz, 1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 1.0); } } } |
Black Angel |
Jul 25 2009, 11:57
Сообщение
#177
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
1. За место itemId = Pchar.equip.blade; юзать itemId = GetCharacterEquipByGroup(PChar, BLADE_ITEM_TYPE); Хотя, это не так уж и критично. 2. Функция Items_FindItem(itemId, &Items[itemId]); - скриптами не поддерживаются ассоциативные массивы, т.е. запись &Items[itemId] даст ошибку. Нужно тогда уж &Items[x]. 3. Таже функция Items_FindItem(itemId, &Items[itemId]); - даже при соблюдениии пункта выше, она затрет все, что было в Items[x], а это как-раз предмет. Там в методе обьявлена переменная Item - в нее и записывай, т.е. int x = Items_FindItem(itemId, &Item); 4. Функция Items_LoadModel(&itemModels[itemId], &Items[itemId]); - тож самое, что пункты 2 и 3. Нужно Items_LoadModel(&itemModels[x], Item); 5. СендМессадж - ошибка из пункта 2 - &itemModels[itemId], нужно &itemModels[x]. 6. Не обьявлены переменные locx ... locz; Итого, если более-менее нормально переписать тело функции, получим: Код Спасибо. По 6 пункту могу сказать только то что эти переменые уже были объявлены выше.... При использовании itemId = GetCharacterEquipByGroup(PChar, BLADE_ITEM_TYPE); код вообще не работал, в смысле это тело функции не обрабатывалось вообще. x = Items_FindItem(itemId, &Item); - не прокатило пробовал раньше хотя возможно это из-за неправильной постройки дерева функции Но все равно спасибо Сегодня попробую |
Black Angel |
Jul 29 2009, 22:46
Сообщение
#178
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Подскажите пожалуйста,как заставить вражеского капитана(не квестового,а любого) во время обордажа появляться не в каюте,а на палубе вместе со всеми?
|
ALexusB |
Jul 29 2009, 23:21
Сообщение
#179
|
Разработчик ВМЛ-КВЛ Группа: Admin Сообщений: 16,237 Регистрация: 2-November 04 Пользователь №: 3 |
Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя.
|
Black Angel |
Jul 30 2009, 00:29
Сообщение
#180
|
боцман Группа: форумчанин Сообщений: 252 Регистрация: 19-August 06 Из: Павлово(Нижегородская обл.) Пользователь №: 3,985 |
Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя. Вызов каюты я убрал,а вот где и в какой момент создается нпс-капитан не понял.А какая функция определяет жив ли нпс или нет? |
Текстовая версия | Сейчас: 25th April 2024 - 16:26 |