Seaward.ru

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

> Проблемы с установкой аддона и технические вопросы., Установка, обслуживание
Dir
сообщение Aug 4 2006, 09:37
Сообщение #1


Собиратель якорей.
*******

Ветеран ФорумаЗаслуженный КорсарЛовец Кораблей ВМЛ 1 место
Модератор Года 2009
Группа: модераторы
Сообщений: 5,879
Регистрация: 22-March 05
Пользователь №: 590



Имеющим проблемы с установкой аддона(от глючности версии ПКМ,кривости установки и прочих вещей) рекомендую решить свои проблемы загрузкой и установкой

Полной версии аддона ВМЛ.

Комментарии исключительно в л/с.

=====================================================================
Тем у кого не получается скачать дистрибутив аддона с сайта.

Аддон Возвращение Морской Легенды версия 1.06.0124 + Дополнительные ресурсы:

http://rapidshare.com/files/143940461/VML_v.1.06.0124.rar(==96Mb)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
35 страниц V « < 28 29 30 31 32 > »   
Reply to this topicStart new topic
Ответов(580 - 599)
ALexusB
сообщение Jul 21 2020, 21:45
Сообщение #581


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

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



Исходники ставить по инструкции http://www.seaward.ru/index.php?page=SLiB,Source
Далее редактить код без ограничений
Папка программ целиком, частями нет.

В исходниках версия новее, там какие-то моды, но совместимость может быть (а может и не быть - с гарантий новая игра нужна).
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 23 2020, 00:27
Сообщение #582


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Да, я как раз по этой ссылке брала!
Новая игра нужна, вы правы. Закончу тесты и переставлю все с нуля.
Эти исходники вообще предназначены для игры? Может они для энтузиастов и модостроителей, а я тут их накатила, правлю и играть на них планирую mellow.gif

По поводу 3., вещей на трупах:
Есть мыслишки, но я так и не разобралась полностью. Вот кусок кода из LAi_events.c (строки 370-381):
Код

void LAi_Character_Dead_Process(aref chr)
{
    DialogExit();
    LAi_CharacterLogoff(chr);
    if(sti(chr.index) != GetMainCharacterIndex())
    {
        //Подождём, а затем удалим персонажа
        // boal трупы не убирать
        if (MOD_DEAD_CLEAR == "On" && !CheckAttribute(chr, "DontClearDead"))
        {
            PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
        }

Если выставить 30 вместо 1000, трупы исчезают сразу. Но как оставить только те что со шмотом?
Вижу два варианта: проверка на "у трупа нет вещей" или на "у трупа есть вещи".
//*не уверена как обыск реализован, возможно надо проверять не "наличие вещей в принципе" а "наличие вещей, которые видно в инвентаре при обыске"*//
Как считаете, это сработает? Выглядеть будет так:
Код

        if (MOD_DEAD_CLEAR == "On" && !CheckAttribute(chr, "DontClearDead"))
            if инвентарь пустой
            {
                PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 30, "i", chr);
            }else{
                PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
            }
    //Реинкарнируем

либо
Код

        if (MOD_DEAD_CLEAR == "On" && !CheckAttribute(chr, "DontClearDead"))
            if есть вещи
            {
                PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
            }else{
                PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 30, "i", chr);
            }
    //Реинкарнируем


Однако, я так и не разобралась в механизме раздачи вещей и не нашла примеров где подобная проверка реализована.
Есть идеи?


P.S. В процессе чтения ченджлогов обнаружилось, что в детстве у меня были Корсары с вашим модом. С классными штуками вроде "всегда бежать" и табличкой "кто плывет".
Флэшбек:
Смотрела как у папы (который был тем еще казуалом, хе-хе) офицеры бегут суицидиться о толпу бандитов huh.gif и сама потом долго не брала этих болванчиков в пешие приключения. А потом обнаружила, что им можно скомандовать "Стой здесь" blink.gif Это был геймченджер! cool.gif

Возможно, именно благодаря вам я сейчас вернулась в Корсары, а не какие-нибудь Герои 3. Спасибо!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 23 2020, 08:49
Сообщение #583


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

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



Спасибо! и Пожалуйста!

Скрипты играбельные.

Код нужно делать
if (!CheckAttribute(chr, "DontClearDead"))
{
PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
}

Цель же не убирать трупы с вещами?
Или убирать их уже после обыска, а не просто дать им время полежать и растаять чуть дольше.

Нужно найти место,где в трупы вещи пихаются и дать им флаг
DontClearDead

Потом в интерфейсе обыска трупа на выходе удалить атрибут DontClearDead
и вызвать
PostEvent("LAi_event_Character_Dead", 1000, "i", chr);
Тогда он начнет таять через секунду прям на глазах.

За обыск отвечает процедура Dead_OpenBoxProcedure, она вызывает INTERFACE_ITEMSBOX
там по тегу "666" определяется, что это был труп
Но вызвать для простоты стиралку можно сразу в Dead_LaunchCharacterItemChange
Просто время дать не 1с, а 10сек, пока идет обыск уже начнет таять

Заполнение вещами идет в Dead_AddLoginedCharacter
там цикл for (j= ItemDeadStartCount; j<ITEMS_QUANTITY; j++)
вот после него нужно ставить
chref.DontClearDead = true;

Описание скриптов
http://www.seaward.ru/forum/index.php?showtopic=3362

Нужно освоить поиск текста по папке Программ. Я использовал ТоталКомандер, Alt-F7
И плугин текстового редактора. Можно Нотпад++
Вообще все это находится по русс слову труп, далее уже кусками кода под комментариями.


User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 24 2020, 21:38
Сообщение #584


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Не справилась еще на первой стадии sad.gif
Засунула после блока с циклом. Трупы продолжают исчезать
Код

                for (j= ItemDeadStartCount; j<ITEMS_QUANTITY; j++) // нужно оптимизировать!!! 137 - это много  начало с опред места
                {
                    if (howI >= (11 - MOD_SKILL_ENEMY_RATE))
                    {
                       break;
                    }
                    makeref(itm,Items[j]);
                    if (CheckAttribute(itm, name))
                    {
                        makearef(typeRef, itm.(name));
                        //attrName = name+".rare";
                        if (!CheckAttribute(typeRef, "rare") && MOD_BETTATESTMODE == "On") Log_Info("Error: Не найдет RARE для предмета = "+itm.id + " тип = " + name);

                        if ( rand(1000) < (((stf(typeRef.rare) + stf(typeRef.rare)*nLuck / 20.0) / makefloat(MOD_SKILL_ENEMY_RATE))*930.0))
                        {
                            value = sti(typeRef.min);
                            value = value+rand(sti(typeRef.max) - value);
                            itemID = itm.id;
                            chref.items.(itemID) = value;
                            howI++;
                        }
                    }
                }
                chref.DontClearDead = true;  //+++++НОВЫЙ КОД ЗДЕСЬ+++++
            }
            // заполнили по списку
        }
        Dead_Characters[Dead_Char_num].px = x;
        Dead_Characters[Dead_Char_num].pz = z;
        Dead_Char_num++;
    }
}

Но если изменить chref на chr то все работает, я правда не знаю что такое "chr".
UPD: Уточню, что тестила в т.ч. и на новой игре. Не сработало. А вот chr работал и на сейве.

>>Потом в интерфейсе обыска трупа на выходе удалить атрибут DontClearDead
и вызвать
Так?
Код

void Dead_OpenBoxProcedure()
{
    ref chr = GetMainCharacter();
    int dchr_index;
    ref deadCh;
    dchr_index = Dead_FindCloseBody();
    if (dchr_index == -1) return;
    
    deadCh = &Dead_Characters[dchr_index];
    
    Dead_LaunchCharacterItemChange(deadCh);
    //+++++НОВЫЙ КОД ЗДЕСЬ+++++
    DeleteAttribute(deadCh, "DontClearDead");
    PostEvent("LAi_event_Character_Dead", 1000, "i", chr);
    //+++++НОВЫЙ КОД ЗДЕСЬ+++++
}


P.S. Я пыталась разобраться, но постоянно спотыкаюсь о непонимание самих основ. Без знания Плюсов (или схожих полноценных языков) это как пытаться оперировать формулами квантовой теории поля, имея в багаже знаний лишь учебник физики за 6й класс.
На эти трупы уже суммарно потратила около 30 часов. Так и некрофилкой стать недолго biggrin.gif

P.S.S. Поиском по папке пользуюсь конечно, даже RegEx щущуть применяю. Освоить N++ и TC пришлось давным давно, стандартные средства винды слишком убоги.
Гуглом тоже, в основном в виде "запрос site:seaward.ru OR site:piratesahoy.net OR site:corsairs-harbour.ru"
А страницы википедии и прочие мануалы про С и С++ скоро на сетчатке отпечатаются.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 25 2020, 10:51
Сообщение #585


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

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



Если эксперимент с
chr.DontClearDead = true; //+++++НОВЫЙ КОД ЗДЕСЬ+++++
и chref.DontClearDead = true; //+++++НОВЫЙ КОД ЗДЕСЬ+++++
позитивный, то и с
//+++++НОВЫЙ КОД ЗДЕСЬ+++++
DeleteAttribute(deadCh, "DontClearDead");
PostEvent("LAi_event_Character_Dead", 1000, "i", chr);
//+++++НОВЫЙ КОД ЗДЕСЬ+++++
chr и deadCh нужно
Но
одинаково в двух строках
Это сами НПС, но там один фэйковый, в котором вещи, а другой моделька, который валяется.
Как правильно надо опытно подобрать.

Ну и в исходном убивании
if (!CheckAttribute(chr, "DontClearDead"))
{
PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
}
А не код, после проб, когда они сразу пропадали.
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 25 2020, 16:12
Сообщение #586


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Проблема в том, что в этой конкретной функции:
Код

void Dead_OpenBoxProcedure()
{
    ref chr = GetMainCharacter();
    int dchr_index;
    ref deadCh;
    dchr_index = Dead_FindCloseBody();
    if (dchr_index == -1) return;
    
    deadCh = &Dead_Characters[dchr_index];
    
    Dead_LaunchCharacterItemChange(deadCh);
}

chr это ГГ: "ref chr = GetMainCharacter();"
И "PostEvent("LAi_event_Character_Dead", 1000, "i", chr);" удаляет ГГ.
А "PostEvent("LAi_event_Character_Dead", 1000, "i", deadCh);" не имеет эффекта вообще

UPD: ах да, зачем нам
Код

DeleteAttribute(deadCh, "DontClearDead");
PostEvent("LAi_event_Character_Dead", 1000, "i", chr);

Если ивент "LAi_event_Character_Dead" все равно не проверяет наличие "DontClearDead" аттрибута?
Мы же напрямую соообщаем что нам надо убрать этого товарища. Минуя "LAi_Character_Dead_Process"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 25 2020, 16:25
Сообщение #587


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

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



Тогда надо получить нужного НПС
Там где
chref.DontClearDead = true; //+++++НОВЫЙ КОД ЗДЕСЬ+++++

Нужно
chr.DontClearDead = true; //это реальная модель
chref.ToClearDeadIdx = chr.index;

Далее уже в обыске

deadCh = &Dead_Characters[dchr_index];

if (!CheckAttribute(deadCh , "ToClearDeadIdx"))
{
chr = &Characters[sti(deadCh.ToClearDeadIdx)];
PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
}

Dead_LaunchCharacterItemChange(deadCh);

Возможно нужно не Characters[] брать, а другой массив, т.к. в бою могут быть фантомные НПС, но я уже не помню, они в этом же массиве были (с другого номера) или в каком-то своем

User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 25 2020, 17:06
Сообщение #588


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Не робит unsure.gif
Давайте бросим это дело. Я уже и так потратила много вашего времени, и в 50 раз больше - своего. Оно того не стоит.
Честно говоря, я ожидала что все будет гораздо проще, вроде проверки на наличие вещей у трупов. А тут актор при смерти разделяется на коробку и фантомное тело. Массивы, индексы, ссылки. Чтоб понять че происходит надо изучить хотя бы базовый курс плюсов.

UPD (2 hours later):
Еще немного поковырялась и половину задачи таки сделала!
Возвращаемся к ванильному состоянию кода. Добавляем одну единственную строку:
Код

{
    ref chr = GetMainCharacter();
    int dchr_index;
    ref deadCh;
    dchr_index = Dead_FindCloseBody();
    if (dchr_index == -1) return;
    
    deadCh = &Dead_Characters[dchr_index];

    Dead_LaunchCharacterItemChange(deadCh);
    Dead_DelLoginedCharacter(deadCh);  //вот эту
}

Теперь после выхода из инвентаря трупа возможность повторного обыска исчезает. Значит, deadCh - это коробка. Как найти и убрать соответствующий ей труп, я не представляю.
Ну и по идее функция едет танком по все обысканным трупам, даже не предназначенным к удалению, что не очень приятно.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 27 2020, 07:55
Сообщение #589


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Чем отличается ref от aref?
Нет, пояснения "ref - ссылка на объект, aref - ссылка на атрибут объекта (или ссылки на объект)" я видела. Но все же

Например DumpAttributes(ref(object)). То есть, дампает атрибуты ссылки на объект. И тем не менее, второе же упоминание (при поиске по папке) использования DumpAttributes (boal_debug2.c , строка 285), выглядит как:
DumpAttributes(rootItems); хотя rootItems это aref

Или вышеупомянутая Dead_DelLoginedCharacter у меня в коде.
У самой функции "void Dead_DelLoginedCharacter" (LAi_utils.c , страница 856) параметры "(aref chr)".
Но она вполне себе имеет эффект при скармливании ей deadCh, который ref
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 27 2020, 08:39
Сообщение #590


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

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



Не помню smile.gif
Но из описания - ref - только для большого (элемент массива целиком).
aref - для всего остального - для ветки внутри дерева структуры персонажа.
Может быть как корнем, так и куском поддерева.

User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 27 2020, 09:09
Сообщение #591


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Многие функции имеют вид "SomeFunction(aref chr)". То есть, они ждут ссылку на атрибут этого "chr".
Но почти всегда они вызываются в виде "SomeFunction(chr)".
И я до сих пор не могу в этом разобраться.

chr является ссылкой на атрибут самого себя?
Что есть chr?
Откуда он берется? В большинстве случаев он не декларирован там, где вызывается "SomeFunction(chr)".

Фигня какая-то. Будто я попала в рекурсию где я попала в рекурсию. Так и становятся алкоголиками
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 27 2020, 11:37
Сообщение #592


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

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



SomeFunction(chr) нужно смотреть вызов, там выше есть получение чара из массива чаров, или метод поиска, либо это какое-то прерывание ядра и там переменная возвращается обратно.
В своих методах правильно делать по аналогии, смотреть примеры и копипастить себе.
Разница в
http://www.seaward.ru/forum/index.php?s=&a...st&p=350422

Нужно понять, что такое вообще структура чара - это дерево, там в ветках на ГГ все квесты живут, сложные структуры, в которых и таблицы хранятся (те же цены). Вот эти ветки - это атрибуты.
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 27 2020, 12:35
Сообщение #593


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Буду бороздить синие просторы, постоянно ощущая в своих зарослях посторонние предметы, сомнительных личностей и всякую живность. Не об этом я мечтала, становясь пиратом. Зато реалистично

Про прерывание ядра поподробнее, записываю! Что за штука, как выглядит?
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 27 2020, 13:22
Сообщение #594


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

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



PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
Это прерывание из скриптов в ядро.
А есть получатели обратные, когда их ядро порождает само.
Типа SetEventHandler("Control Activation","proc_break_video",0);
Это слушатель, а сработает оно, когда реально произойдет.

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

Понять (и думать) этим - это цела философия. В игре в скриптах это сделано "как везде". Например, в Юнити это тоже так, но там задаются прерывания через интерфейс (свойства).
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 28 2020, 12:11
Сообщение #595


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



PostEvent("LAi_event_Character_Dead", MOD_DEAD_CLEAR_TIME * 1000, "i", chr);
передает параметр "chr" ивенту LAi_Character_Dead_Event()
Который, в свою очередь, получает значение параметра "chr" с помощью "aref chr = GetEventData();"

А как я могу увидеть это значение? Наверняка есть команда которая позволить записать его в какой-нибудь лог.
Что-нибудь вроде:
Код

void LAi_Character_Dead_Event()
{
    aref chr = GetEventData();
        Log_Info("chr = " +chr+); //только это не работает
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 28 2020, 12:35
Сообщение #596


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

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



Структуру в лог не вывести, это не строка - это ближе к XML структуре или дереву.
Смотреть можно по конкретным атрибутам, так квесты и тестятся с выводом в лог или функции F11 дебуга
Я где-то там что-то такое выводил в текстовое окно
см файл
boal_debug2.c
и там
string descF2 = "Показать инфу о параметре";
вот там дерево и выводится

Но pchar структура она глубже 3х уровней, там по 10 слоев в квестах может быть.
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 28 2020, 22:09
Сообщение #597


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Каким макаром можно сохранить значение "chr" чтобы передать его позже?
Пока происходит так:

      ...[chr появился где-то в движке]...
                        ||
      ...[передается дальше по цепочке]...
                        ||
      void LAi_CheckKillCharacter(aref chr)
Dead_AddLoginedCharacter(chr) // это тело, которое мы видим
LAi_Character_Dead_Process(chr) // это коробка, которую мы сможем шмонать
                        ||                    ---------------------------                 \\
      void Dead_AddLoginedCharacter(aref chr)                        void LAi_Character_Dead_Process(aref chr)
Dead_Char_num //этот номер идет дальше                         тут запускается LAi_event_Character_Dead,
на этом цепочка прерывается,                                              который с помощью "#event_handler"
"chr" дальше не передается                                                   запускает. . .
                        ||                    -----------------------------                                           ||
      int Dead_FindCloseBody()                                                   void LAi_Character_Dead_Event()
Dead_Char_num преобразуется в dchr_index,                       Dead_DelLoginedCharacter(chr) - стираем коробку
который передастся в Dead_OpenBoxProcedure                    CharacterExitFromLocation(chr) - стираем тело
                        ||                    -----------------------------                                           ||
      void Dead_OpenBoxProcedure()                                         void Dead_DelLoginedCharacter(aref chr)
открываем коробку                                                                 "chr" дальше не передается
                        ||
      void Dead_LaunchCharacterItemChange(ref chref)
интерфейс коробки

То есть, на момент взаимодействия с коробкой мы не можем воспользоваться "chr" для стирания тела - он пал смертью храбрых задолго до этого.
Единственный способ, которым я придумала получить тот самый "chr":
захватить через "PostEvent"
получить через "aref chr = GetEventData()"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 29 2020, 10:02
Сообщение #598


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

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



chr - это переменная, ссылка на массив.
Запомнить можно индекс этого массива и получить обратно уже цельное значение
Это написано в
http://www.seaward.ru/forum/index.php?s=&a...st&p=350419

Но я допускаю, что оно уже не сработает, т.к. этот чар с моделькой связан не будет и событие удалить труп на нем не заработает.
Я не помню какой массив за НПС в локации отвечает, там какие-то фантомы были - может в нем нужно смотреть.
User is online!Profile CardPM
Go to the top of the page
+Quote Post
BUKA_E}l{EBUKA
сообщение Jul 29 2020, 19:06
Сообщение #599


юнга
**


Группа: форумчанин
Сообщений: 31
Регистрация: 20-July 20
Пользователь №: 194,252



Цитата
chr - это переменная, ссылка на массив.

Нельзя ли получить из этой переменной другие данные?
Название массива, номер объекта на который ссылается переменная?

Может, я запуталась в терминологии, но любой массив (array) в PotC это ведь object?
В С++ массивы имеют вид things[n], здесь в виде "object things[n]"
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
ALexusB
сообщение Jul 29 2020, 21:53
Сообщение #600


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

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



массив может и инт быть и стринг. Объект - это структура такая прикольная, древовидная, см методы и файлы иниты всего.
User is online!Profile CardPM
Go to the top of the page
+Quote Post

35 страниц V « < 28 29 30 31 32 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27th April 2024 - 23:09

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