Seaward.ru

Здравствуйте, гость ( Вход | Регистрация )

> Для программистов, вопросы по скриптам ПКМ
igor_pol
сообщение Aug 24 2005, 21:00
Сообщение #1


боцман
****


Группа: форумчанин
Сообщений: 140
Регистрация: 3-December 04
Пользователь №: 169



Первое что я хотел написать "АДМИНЫ!!!!" НЕ ЗВЕРЕЙТЕ ЗА "НЕНУЖНУЮ ТЕМУ"
**************************************************
на вопрос зачем создал эту тему отвечу так "Я например НЕ ПРОСТО ЮЗВЕРЬ А КОЕ ЧТО И САМ НАПИСАТЬ МОГУ.
И хотел бы чтобы на форуме была тема для тех кто сам хочет что-то добавить в игру.
На сайте аддона Алекс вікинул ссылку на описание скриптов ПКМ на английском.
Я хотел бы узнать где можно нарыть больше инфы по этом скриптам.
И кстати на каком языке они пишуться.
Если кто-то знает ----- пишите.
И вообще всем програмерам на форуме нужна своя тема.
так что ГОСПОДА ПРОГРАМЕРЫ ВАЛИТЕ СЮДА !!!!
Может из этого что небудь интересное выйдет!!!!!!(Если тему не УТРУТ)
Жду сообщений (может у когот есть идеи на эту тему )

Сообщение отредактировал Догева - Apr 24 2006, 13:36
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
35 страниц V « < 7 8 9 10 11 > »   
Reply to this topicStart new topic
Ответов(160 - 179)
Alexad_D
сообщение Jul 19 2009, 14:20
Сообщение #161


матрос
***


Группа: форумчанин
Сообщений: 89
Регистрация: 11-July 09
Из: Беларусь. г. Поставы
Пользователь №: 20,710



Цитата(delfin_ @ Jul 19 2009, 14:02) *

То что ты сделал называется "ломать сейв" (читерство), и здесь это не приветствуется. Тем более что таким способом ничего толкового не сделать (не добавить новые предметы, не добавить квестов). Вообщем когда сделаешь что то хорошее - напиши. smile.gif
По второму вопросу, это у всех так, но это уже в отдельную тему. wink.gif


Прошу прощение за незнание терминалогии.....Правда незнание не освобождает от ответственности А по сему - замечание учту.....

Как привязать готовую модель сделанную к примеру в Maya, с помощью TOOLS к скелету и анимации. В Модел вивере я ее просматриваю вроде нормально.... А в игре такая свистопляска начинается. Если кто знает, то если можно по подробней, по шагово.....
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
korsar-fan
сообщение Jul 19 2009, 15:15
Сообщение #162


юнга
**


Группа: форумчанин (*)
Сообщений: 13
Регистрация: 29-June 09
Пользователь №: 20,612



В игре Сундук Мертвеца, сделаны полеты камеры. Как это вообще прописывают?
Изображение
Корабль стреляет по порту, и то как? huh.gif
Подскажите пожалуйста. smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ugeen
сообщение Jul 19 2009, 21:44
Сообщение #163


боцман
****

Заслуженный КорсарСоздатель Модов к ГПК
Группа: форумчанин
Сообщений: 133
Регистрация: 12-January 06
Из: 105-ый элемент таблицы Менделеева
Пользователь №: 2,269



Специальными сообщениями в двиг это делается, в двиг - модифицировааный для К3:CM - т.е. ни в чистых К3, ни в КВЛ ни в ГПК это не сделать (имеется в виду стрельба корабля в порту)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 20 2009, 13:17
Сообщение #164


Разработчик ВМЛ-КВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 16,237
Регистрация: 2-November 04
Пользователь №: 3



Да, это докрутка КСМ, в ядре у нас нет.

Летать камерой можно и в ПКМ (см расстрел в ВМЛ) - то есть возможностей много.

Нужно юзать методы установки камеры в локатор и нацел ее на цель

См для примера диалог, когда камера наезжает - это и есть управление.
Локатора там нет - я координату бошки ГГ считал.
Соотв сделав скрипт смены по таймеру положений камеры можнос делать кино. Просто это достигается иначе, чем в КСМ, там прям анимация полета задается, как ресурс в папке с игрой.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 20 2009, 18:36
Сообщение #165


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Я так понимаю вы тут говорите о стрельбе корабля по форту в КСМ в мейнменю.Я не ошибся?Если про это то это вопрос к тем кто делал ядро.Скриптово это даже в КГПК невозможно...
Так у меня вопрос по скрипту очередной...нет даже 2.
1.Почему в режиме файтмод не возможно воспроизвести левую анимацию(почесывание задницы например),а не стандартную боевую?
2.Какая функция отвечает за отображение сабель,пистолей,лечилок и тд на земле?И как чтобы эту отабраженую модель можно было бы поднять?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 20 2009, 20:09
Сообщение #166


Разработчик ВМЛ-КВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 16,237
Регистрация: 2-November 04
Пользователь №: 3



1 - можно, см в .ани файле замени там боевую на почес, будет в бою почес
2 - за это отвечает локатор и группа рандитем, на них можно клать итем
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 20 2009, 20:27
Сообщение #167


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Цитата(ALexusB @ Jul 20 2009, 21:09) *

1 - можно, см в .ани файле замени там боевую на почес, будет в бою почес
2 - за это отвечает локатор и группа рандитем, на них можно клать итем

1-мне не надо ковырять ани.Просто это можно заменить в самих скриптах,но не об этом речь...Говорю ему плей анимацию,а он не пытается что либо делать,а сабля в ножнах все прекрасно работает.Это ядро или очередная проверка в скриптах?
2-а если без локатора?Взять координаты и пустить их через фор или вайл.Сендмеседж не катит,так как ему нужен итем_файндитеммодел и на этом инте мы выдает ерор и выбрасывает в винду.В чем проблема то?
Да и еще тут вещь такая почему если писать equip.pchar.blade он ид не находит?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение Jul 21 2009, 05:31
Сообщение #168


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Цитата(Black Angel @ Jul 21 2009, 04:27) *

1-мне не надо ковырять ани.Просто это можно заменить в самих скриптах,но не об этом речь...Говорю ему плей анимацию,а он не пытается что либо делать,а сабля в ножнах все прекрасно работает.Это ядро или очередная проверка в скриптах?

Анимацию могут воспроизводить только актеры. Делай ГГ актером и только тогда проигрывай анимацию.

Цитата(Black Angel @ Jul 21 2009, 04:27) *

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

Цитата(Black Angel @ Jul 21 2009, 04:27) *

Да и еще тут вещь такая почему если писать equip.pchar.blade он ид не находит?

Нужно
PChar.Equip.Blade = _itemID;

Но вот так аттрибутами прописывать - табу. Для этого есть спец функция
void EquipCharacterByItem(ref _chref, String _itemID);
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexad_D
сообщение Jul 21 2009, 14:37
Сообщение #169


матрос
***


Группа: форумчанин
Сообщений: 89
Регистрация: 11-July 09
Из: Беларусь. г. Поставы
Пользователь №: 20,710



ALexusB!!! У меня вопрос к тебе... как внедрить свои модели в ПКМ - людей, корабли, здания и пр.? Как привязать людей к скелету, анимации и пр.? В хелпе по тулсу, то что я перевел, дает весма туманное предстовление о том как это сделать. Я хочу поменять практически все в игре начиная от моделей людей, кораблей и зданий, кончая квестовой линейкой Так скать - Корсары 400 лет спустя или в поисках пиратских кладов.... Сценарий сюжета уже набросан. Я уже ко многим и на разных форумах пристовал с этим но.... начинают умначать и объяснять то в чем сами имеют чисто теоретическое понятие те, кто сам не пробовал, а те кто знает как - почему то молчат....

Модели сделаны в майя 5 и экспортированы в gm, текстуры в тх - так что в гм-вивере они просматриваются тектурированые

Просто тупо клонировать данек, блейзов, батлшипы и мановары, перекрашивать текстуры, добовлять мелкие квесты с диалогами уже наскучило.... Хочется уже на что то по серьезнее замахнуться.....
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 21 2009, 14:54
Сообщение #170


Разработчик ВМЛ-КВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 16,237
Регистрация: 2-November 04
Пользователь №: 3



Внедрять в скрипты аналогично тем, что там есть. Искать работающий корабли, НПС и смотреть, где он прописан. Прописать рядом.
Если речь идет о новых своих 3Д моделях - не ко мне. Не понимаю и понимать не пытаюсь.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 21 2009, 18:27
Сообщение #171


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Но вот так аттрибутами прописывать - табу. Для этого есть спец функция
void EquipCharacterByItem(ref _chref, String _itemID);
[/quote]
Анимация проигрывается но не так как надо-он саблю в ножны убирает.
Попробовал так как ты написал-модель не появилась по заданым координатам.Что не так?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Warship
сообщение Jul 22 2009, 01:30
Сообщение #172


Гроза морей
*****

Ветеран ФорумаЗаслуженный КорсарСоздатель Модов к ГПК
Создатель Модов к КВЛ
Группа: бета-тестер
Сообщений: 441
Регистрация: 29-April 07
Из: Прим. край г. Находка
Пользователь №: 9,103



Код рабочий, я аналогичным свет маякам в море ставил.

Проверь координаты - мож куда-то в дом попадают и модельку не видно просто. smile.gif
Ну и если ставить в режиме моря, то нужно юзать два других слоя - SEA_EXECUTE и SEA_REALIZE.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 22 2009, 05:45
Сообщение #173


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Проверь координаты - мож куда-то в дом попадают и модельку не видно просто. smile.gif
Ну и если ставить в режиме моря, то нужно юзать два других слоя - SEA_EXECUTE и SEA_REALIZE.
[/quote]
Координаты рабочие на 100%.Вот бутылочку лечилку отображают,а саблю,пистолет-нет.Не могу понять почему когда я беру блейд99 использую функцию итемс_итемМоделс он в сендМеседж берет блейд9...А можно так написать itemID = pchar.Equip.Blade;?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Alexad_D
сообщение Jul 22 2009, 09:28
Сообщение #174


матрос
***


Группа: форумчанин
Сообщений: 89
Регистрация: 11-July 09
Из: Беларусь. г. Поставы
Пользователь №: 20,710



Да речь идет именно о своих 3Д-моделях.... Не могу привязать модель к анимации. Скриптами то я их прописываю (это не сложно) А вот их движения (анимация) даже кривым и то с большой натяжкой назвать можно.....
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
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);

Почему он мне выводит не ту саблю?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
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);
            }
        }
    }
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 25 2009, 11:57
Сообщение #177


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Цитата(Warship @ Jul 25 2009, 06:09) *

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); - не прокатило пробовал раньше
хотя возможно это из-за неправильной постройки дерева функции
Но все равно спасибо smile.gif Сегодня попробую
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 29 2009, 22:46
Сообщение #178


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Подскажите пожалуйста,как заставить вражеского капитана(не квестового,а любого) во время обордажа появляться не в каюте,а на палубе вместе со всеми?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 29 2009, 23:21
Сообщение #179


Разработчик ВМЛ-КВЛ
*******

Seaward TeamЖелезный Профессор
Группа: Admin
Сообщений: 16,237
Регистрация: 2-November 04
Пользователь №: 3



Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Black Angel
сообщение Jul 30 2009, 00:29
Сообщение #180


боцман
****


Группа: форумчанин
Сообщений: 252
Регистрация: 19-August 06
Из: Павлово(Нижегородская обл.)
Пользователь №: 3,985



Цитата(ALexusB @ Jul 30 2009, 00:21) *

Разобраться в реализации абордажа, разобраться что есть фантом-нпс, как дается клон НПС, разобраться каким слоем идет абордаж для застывшего мор боя и что такое убийство команды матросов и капитан. Поняв все это, убрать вызов каюты, добавив на один из локаторов абордаже НПС-кэпа, повесив, если нужно, на его убийство досрочное прекращение боя.

Вызов каюты я убрал,а вот где и в какой момент создается нпс-капитан не понял.А какая функция определяет жив ли нпс или нет?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

35 страниц V « < 7 8 9 10 11 > » 
Reply to this topicStart new topic
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 25th April 2024 - 16:26

Блок рекламы
Яндекс цитирования Rambler's Top100
Rambler's Top100