Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Batya_Montes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.02.2017
    Адрес
    0x
    Сообщений
    163
    Репутация:
    13 ±

    фракции и подфракции

    Привет, ребята. Сегодня я хотел бы уточнить насчет динамических фракций и подфракций.
    Как себе я представляю есть основная таблица фракций, со структурой: frac_id, frac_name, другие параметры (склад, патроны и так далее)
    А так же, таблица подфракций привязанных к фракции, со структурой: subfrac_id, frac_id, subfrac_name, другие параметры (склад, патроны и так далее)
    Собственно вопрос в том, как все это распределить в моде. Ведь некоторые фракции могут не иметь подфракции.
    Хотелось бы конкретно на примере, допустим основная фрака
    frac_id = 1, frac_name = МВД
    то, тогда подфракции будут - subfrac_id = 1, frac_id = 1, subfrac_name = ЛСПД
    а так же например просто фракция без подфрак.. - frac_id = 2, frac_name = ГРУВ.
    как все это правильно соединить в моде и сделать функционал для каждой фракции и подфракции?

    - - - Добавлено - - -

    Ах да, забыл упомянуть что еще будет таблица с званиями и это тоже как-то распределить нужно.
    А так же, что у каждой фракции (с подфракциями) - министр.

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Не совсем понятна идея фракций и подфракций. Какое предназначения у этих самых подфракций? Для чего такое разделение вообще?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Типо как на ARP (Advance RP). Т.е фракция: МВД, под фракции: LSPD, LVPD, SFPP, так же типо: МЗ (Министерство здравоохранения). Под фракции: Hospital LS, Hospital SF, Hospital LV.

    МВД - фракция. Может назначать лидеров на эти самые под фракции. Увольнять мемберов фракции и т.д
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не совсем понятна идея фракций и подфракций. Какое предназначения у этих самых подфракций? Для чего такое разделение вообще?
    Автор: не понятно одно, что Вам конкретно не понятно?
    PHP код:
    const MAX_NAME_SUBFRACTION 32;
    const 
    MAX_NAME_FRACTION 32;
    enum e_fraction_info 
    {
        
    fraction_name[MAX_NAME_FRACTION],
        
    subfraction1[MAX_NAME_SUBFRACTION],
        
    subfraction2[MAX_NAME_SUBFRACTION],
        
    subfraction3[MAX_NAME_SUBFRACTION],
        
    subfraction_id1,
        
    subfraction_id2,
        
    subfraction_id3
    }
    static const 
    fraction_name[2][e_fraction_info] =
    {
        { 
    "МВД""LSPD""SFPD""LVPD"12},
        { 
    "МЗ",  "Hospital LS""Hospital SF""Hospital LV"56},

    А, вообще если работать с базой, то создать связанную таблицу с fraction и subfraction. Если при ссылке на subfraction ключа не будет, то соответственно нет под фракции.
    Последний раз редактировалось $continue$; 02.07.2017 в 22:14.
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  4. #4
    Аватар для Batya_Montes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.02.2017
    Адрес
    0x
    Сообщений
    163
    Репутация:
    13 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Типо как на ARP (Advance RP). Т.е фракция: МВД, под фракции: LSPD, LVPD, SFPP, так же типо: МЗ (Министерство здравоохранения). Под фракции: Hospital LS, Hospital SF, Hospital LV.

    МВД - фракция. Может назначать лидеров на эти самые под фракции. Увольнять мемберов фракции и т.д


    Автор: не понятно одно, что Вам конкретно не понятно?
    PHP код:
    const MAX_NAME_SUBFRACTION 32;
    const 
    MAX_NAME_FRACTION 32;
    enum e_fraction_info 
    {
        
    fraction_name[MAX_NAME_FRACTION],
        
    subfraction1[MAX_NAME_SUBFRACTION],
        
    subfraction2[MAX_NAME_SUBFRACTION],
        
    subfraction3[MAX_NAME_SUBFRACTION],
        
    subfraction_id1,
        
    subfraction_id2,
        
    subfraction_id3
    }
    static const 
    fraction_name[2][e_fraction_info] =
    {
        { 
    "МВД""LSPD""SFPD""LVPD"12},
        { 
    "МЗ",  "Hospital LS""Hospital SF""Hospital LV"56},

    А, вообще если работать с базой, то создать связанную таблицу с fraction и subfraction. Если при ссылке на subfraction ключа не будет, то соответственно нет под фракции.
    Как сделать при помощи массива - мне понятно. Суть в том, что мне не понятно как все связать в моде после выгрузки из БД, то бишь - динамическая система.

    - - - Добавлено - - -

    Цитата Сообщение от DeimoS Посмотреть сообщение
    Не совсем понятна идея фракций и подфракций. Какое предназначения у этих самых подфракций? Для чего такое разделение вообще?
    Аля система как на адванс рп. Есть допустим фрака МВД, у нее министр свой, который управляет подфраками которые относятся к фраке.

  5. #5
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Это далеко не динамическая система, не обманывай себя :) То, что данные хранятся в БД, не означает ничего, ибо эти данные имеют прямую зависимость от информации из мода (уверен, что все проверки на фракционные пикапы и т.п. прописаны именно через мод, а не так же зависят от данных в БД). Система была бы динамичной лишь в том случае, если реализация в моде напрямую зависела бы от информации из таблицы (например, если бы можно было изменить ID фракции LSPD в таблице с 1 на 10 и всё, при этом, работало бы как раньше).

    На Адвансе не играл, поэтому не знаю как там. Но суть общая понятна.




    Так в чём проблема?
    Создаёшь первую таблицу, в которой будут названия фракций со структурой:
    PHP код:
    fraction_id fraction_name
    /*
    fraction_id - ID фракции (AUTO_INCREMENT)
    fraction_name - название фракции
    */ 
    Далее создаёшь таблицу, в которой будет хранится информация о том, какой у фракции тип и какие зависимости (фракция/подфракция).

    Структура следующая:
    PHP код:
    id fraction_id parent_fraction
    /*
    id - AUTO_INCREMENT
    fraction_id - ID (под)фракции, для которой устанавливаем зависимость
    parent_fraction - ID фракции, которая является главенствующей (0 - главенствующей фракции нет)
    */ 
    И уже потом отдельно таблицу для складов, отдельно для рангов и отдельно для всего остального. Не нужно всё в одну кучу запихивать, тогда и вопросов с реализацией возникать не будет, ибо в развёрнутом виде с данными работать гораздо удобнее.


    Ну а если у тебя появляется вопрос по поводу того, как эти данные выгружать и как с ними правильно работать, то, возможно, не стоит пока заниматься написанием подобных систем? Ну или попытаться разобраться в этом самостоятельно. Ибо если ты полноценно не осознаешь как работает вся система, как ты дальше будешь с ней работать?
    Последний раз редактировалось DeimoS; 02.07.2017 в 23:35.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  6. #6
    Аватар для phpadmin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.05.2017
    Сообщений
    103
    Репутация:
    1 ±
    Лол все фракции это просто ограничения, запреты и доступы. Нет какой-то под фракции это все на защитах.

    Там система у всех одна и таже, но просто запреты на командах, запреты запреты и т.д

  7. #7
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от phpadmin Посмотреть сообщение
    Лол все фракции это просто ограничения, запреты и доступы. Нет какой-то под фракции это все на защитах.

    Там система у всех одна и таже, но просто запреты на командах, запреты запреты и т.д
    Речь идёт о реализации всего этого через базу данных, дабы не приходилось каждую новую фракцию прописывать везде вручную. Этот подход очень правильный.

    Только я добавил бы в эту систему ещё динамическую систему пикапов с установкой прав доступа для каждого из пикапов (чтоб можно было прямо из игры создавать/изменять положение/удалять пикапы, а так же присваивать их определённым фракциям и назначать им определённые действия (выдача чего-либо и т.п.), но это получится совершенно отдельная и большая система, которая позволит действительно приблизить систему фракций к динамическому виду.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  8. #8
    Аватар для Batya_Montes
    Пользователь

    Статус
    Оффлайн
    Регистрация
    26.02.2017
    Адрес
    0x
    Сообщений
    163
    Репутация:
    13 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Речь идёт о реализации всего этого через базу данных, дабы не приходилось каждую новую фракцию прописывать везде вручную. Этот подход очень правильный.

    Только я добавил бы в эту систему ещё динамическую систему пикапов с установкой прав доступа для каждого из пикапов (чтоб можно было прямо из игры создавать/изменять положение/удалять пикапы, а так же присваивать их определённым фракциям и назначать им определённые действия (выдача чего-либо и т.п.), но это получится совершенно отдельная и большая система, которая позволит действительно приблизить систему фракций к динамическому виду.
    Предполагалось что пикапы и машинки будут так же в базе. Но все равно я не могу допереть с этими фракциями до конца. Ибо без наглядного кода как-то вообще все запутанно становится.

  9. #9
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Batya_Montes Посмотреть сообщение
    Предполагалось что пикапы и машинки будут так же в базе. Но все равно я не могу допереть с этими фракциями до конца. Ибо без наглядного кода как-то вообще все запутанно становится.
    Ну тогда возьми бумажку с ручкой и справа напиши исходное положение (фракция МВД и её подфракции), а слева результат, который тебя интересует. А в центре начинай накидывать промежуточные шаги для того, чтоб от изначального положения прийти к конечному. И уже если не будешь понимать каким должен быть один из следующих шагов, пиши сюда и подскажем.

    А от готового кода толку мало, ибо:
    1) Не совсем понятно что именно ты хочешь, поэтому и готовый код не написать
    2) С готовым кодом ты не сможешь понять основных принципов, по которым работает система и из-за этого будешь работать с ней неправильно. Да и в случае багов не сможешь быстро всё исправить.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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