|  Для программистов, вопросы по скриптам ПКМ | 
Здравствуйте, гость ( Вход | Регистрация )
|  Для программистов, вопросы по скриптам ПКМ | 
| 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,628 Регистрация: 2-November 04 Пользователь №: 3  | Да, это докрутка КСМ, в ядре у нас нет. Летать камерой можно и в ПКМ (см расстрел в ВМЛ) - то есть возможностей много. Нужно юзать методы установки камеры в локатор и нацел ее на цель См для примера диалог, когда камера наезжает - это и есть управление. Локатора там нет - я координату бошки ГГ считал. Соотв сделав скрипт смены по таймеру положений камеры можнос делать кино. Просто это достигается иначе, чем в КСМ, там прям анимация полета задается, как ресурс в папке с игрой. | 
| Black Angel |  Jul 20 2009, 18:36 
				 Сообщение
					#165				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985  | Я так понимаю вы тут говорите о стрельбе корабля по форту в КСМ в мейнменю.Я не ошибся?Если про это то это вопрос к тем кто делал ядро.Скриптово это даже в КГПК невозможно... Так у меня вопрос по скрипту очередной...нет даже 2. 1.Почему в режиме файтмод не возможно воспроизвести левую анимацию(почесывание задницы например),а не стандартную боевую? 2.Какая функция отвечает за отображение сабель,пистолей,лечилок и тд на земле?И как чтобы эту отабраженую модель можно было бы поднять? | 
| ALexusB |  Jul 20 2009, 20:09 
				 Сообщение
					#166				
			 | 
| Разработчик ВМЛ-КВЛ          Группа: Admin Сообщений: 16,628 Регистрация: 2-November 04 Пользователь №: 3  | 1 -  можно, см в .ани файле замени там боевую на почес, будет в бою почес 2 - за это отвечает локатор и группа рандитем, на них можно клать итем | 
| Black Angel |  Jul 20 2009, 20:27 
				 Сообщение
					#167				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 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,628 Регистрация: 2-November 04 Пользователь №: 3  | Внедрять в скрипты аналогично тем, что там есть. Искать работающий корабли, НПС и смотреть, где он прописан. Прописать рядом. Если речь идет о новых своих 3Д моделях - не ко мне. Не понимаю и понимать не пытаюсь. | 
| Black Angel |  Jul 21 2009, 18:27 
				 Сообщение
					#171				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 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				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 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				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 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				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 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				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985  | Подскажите пожалуйста,как заставить вражеского капитана(не квестового,а любого) во время обордажа появляться не в каюте,а на палубе вместе со всеми? | 
| ALexusB |  Jul 29 2009, 23:21 
				 Сообщение
					#179				
			 | 
| Разработчик ВМЛ-КВЛ          Группа: Admin Сообщений: 16,628 Регистрация: 2-November 04 Пользователь №: 3  | Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя. | 
| Black Angel |  Jul 30 2009, 00:29 
				 Сообщение
					#180				
			 | 
| боцман     Группа: форумчанин Сообщений: 256 Регистрация: 19-August 06 Из: Нижний Новгород Пользователь №: 3,985  | Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя. Вызов каюты я убрал,а вот где и в какой момент создается нпс-капитан не понял.А какая функция определяет жив ли нпс или нет? | 
|   | 
| Текстовая версия | Сейчас: 31st October 2025 - 07:14 |