hadow66526

Игровой мод Fury Stories

В теме 15 сообщений

Игровой мод Fury Stories

Просмотр файла

Мод ролевого проекта с закрытой UCP регистрацией на платформе GTA San-Andreas Multiplayer 0.3.7. Примечателен тем, что содержит много интересных и нестандартных систем, а также красивый и уникальный маппинг. Писался c 0 начиная с 2016 года до 2020. При открытии проект набирал онлайн под ~200 человек.

Примечание: не исключено, что имеются недоработки в некоторых системах, но базовый функционал точно есть.

Особенности
— Версии плагинов: MySQL R41-4, Streamer v2.9.4, CrashDetect 4.19.4, SSCANF 2.8.3, Profiler 2.15.3;
— Защита от флуда MySQL запросами;
— Собственный античит на базе Pawn.Raknet;
— Код не написан в одном файле, а распределен по файлам и директориям;
— Уникальный внешний и внутренний маппинг.

Системы
— Система инвентаря (подсистемы: сумки, крупногабаритные предметы, бардачок) просмотр;
— Внутриигровой интернет (подсистемы: возможность создание собственного сайта и сайта в Darknet) просмотр;
— Система трупов и смерти (подсистемы: возможность закапывать/поджигать трупы, улики) просмотр;
— Система предприятий (возможность создавать сеть предприятий, принимать туда игроков и привязывать помещения) просмотр;
— Система коммерческих помещений c ремонтов и расставлением мебели;
— Система дома и ремонта (расстановка мебели и ретекстура), а также гаража просмотр;
— Система банка и кредитов просмотр;
— Система телефона просмотр;
— Уникальная система логов в связке с веб-обеспечением;
— Уникальная система администрирования (с возможностью выдавать привилегия конкретным администраторам) и настройка АЧ просмотр.

Маппинг
— Национальный парк часть 1, часть 2;
— Idlewood Pizza просмотр;
— Полицейская станция на Verona Beach просмотр;
— Одна из трёх пожарных станций просмотр;
— Вторая полицейская станция просмотр;
— Один из интерьеров пожарной станции просмотр;
и много-много других интерьеров, с которыми можно ознакомиться в группе или в самом моде.

* Бонусом прилагается веб-обеспечение проекта с полноценной UCP регистрацией и панелью администрирования (в которой есть возможность просмотра логов, настройки прав администраторов и проверки заявок с UCP).

FAQ
Как задать подключение к БД?
Создайте конфигурационный файл db.ini в корне папке с сервером и в соответствии с документацией плагина MySQL задайте данные для подключения.

Какой метод хэширования пароля?
Запрос к MySQL вернёт нужный хэш:

SELECT SHA2(MD5('_fs_[ваш пароль]'), 384);


Изменить метод хэширования в моде можно с помощью макроса: __HASH_METHOD.

 

Автор игрового мода
evgsavosin (Found)


  • Добавил
  • Добавлено
    21.10.2022
  • Категория
  • Автор
    Found

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как его вообще запустить если нету plugins, pawn, server.cfg

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

how to run ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Cherry Astray есть, в модульных модах разбирится надо просто

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как подключить базу данных? не понимаю ничего..

Отредактировано пользователем reikilll

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

@reikilll FAQ
Как задать подключение к БД?
Создайте конфигурационный файл db.ini в корне папке с сервером и в соответствии с документацией плагина MySQL задайте данные для подключения.
 

@reikilll 

db.rar

Отредактировано пользователем _bogdan_

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@_bogdan_ Не работает(
[20:57:13] [DB_OnGameModeInit]: No connection to the database.

Отредактировано пользователем reikilll

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нормик:)

Заметка от Cawfee , создано

Используйте кнопку изменения репутации ("+"), чтобы оценить работу пользователя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

помогите подключить ) плиз)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там ничего нет сложного, создаешь db.ini как и написано в faq, делал и подключаешь, вот и радуешься.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@ismailov Создалю, у меня не подключается к базе, хз почему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

как компилить его?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@_bogdan_ он на 0.3.7 R1?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Drummer1993 Если не ошибаюсь, на 0.3.7 R-2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день, не пойму логику веб-сайта, все загрузил, регистрация все ок, остальное тоже, делаю авторизацию - перекидывает на главную страницу, вместо личного кабинета из-за чего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }
    • MetaLife Online
      От MetaLife Online
      Приветствую! Код мода не отпровляет данные на БД все правильно подключенно и написанно(копировал с phpmyadmin) но данные не отпровляет. но с БД на сервер приходит сообщение 
       
      new MySQL:dbHandle; new MySQL:dbHandle; #define Host "127.0.0.1" #define User "root" #define DataBase "metalife" #define Password_SQL "" dbHandle = mysql_connect(Host,User,Password_SQL, DataBase);     if(mysql_errno())     {         printf("Подключение к базе данных %s не удалось.",DataBase); // %s означает строку. То есть будет выводить название базы данных которое указано в #define DataBase     }     else     {         printf("Подключение к базе данных %s успешно",DataBase);     }     format(query, sizeof(query), "INSERT INTO `Users`(`Nick`, `Password`, `Gender`, `Skin`) VALUES ('%s','%s','%d','%d')",player_name, player_info[playerid][P_PASS], player_info[playerid][P_GENDER], player_info[playerid][P_SKIN]);     mysql_tquery(dbHandle, query); SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [15:34:54] weburl = "www.sa-mp.com"  (string) [15:34:54]  [15:34:54] Server Plugins [15:34:54] -------------- [15:34:54]  Loading plugin: mysql [15:34:55]  >> plugin.mysql: R41-4 successfully loaded. [15:34:55]   Loaded. [15:34:55]  Loaded 1 plugins. [15:34:55]  [15:34:55] Filterscripts [15:34:55] --------------- [15:34:55]   Loaded 0 filterscripts. [15:34:55] Подключение к базе данных metalife успешно [15:34:55]  ---------------------------------- [15:34:55]  MetaLife Online [15:34:55] ---------------------------------- [15:34:55] Number of vehicle models: 1 При Регестрации не опровляються данные (фото)
      Но если записать рукой данные (фото 2)  
      выполняеться эта эта функция(фото 3(чат) и код )
      forward CheckAccountFromMySql(playerid); public CheckAccountFromMySql(playerid) {     new str[256];     if(cache_num_rows() == 0)     {         new player_name[MAX_PLAYER_NAME + 1];         GetPlayerName(playerid, player_name, MAX_PLAYER_NAME);         format(str, sizeof(str), " {ffffff}Добро пожаловать!\n Аккаунта с таким ником %s нет\nДля Регестрации придумайте и введите пароль в поле ниже!", player_name);         SPD(playerid, DLG_REG, DSP, "Регестрация", str, "Войти", "Выйти");     }     else     {         SCM(playerid, color_green, "Вы  зарегестрырованы!");     }     return 1; } // выполняеться else  ошибу и варнинги mysql
      [15:47:39] [WARNING] mysql_connect: no password specified (C:\Project\Metalife\gamemodes\MetaLife.pwn:92) dbHandle = mysql_connect(Host,User,Password_SQL, DataBase); // 92 строка   



    • MetaLife Online
      От MetaLife Online
      Привествую! писал код. проверил работу, в БД отправилось информация криво 
      потом добавил к P_NICK[MAX_PLAYER_NAME] для того чтобы все было окей. Но после этого данные вообще не отпровляються и не показываеться %s. пару раз удалял и не помогло не чего 
      enum PLAYER_INFO {     P_ID,     P_NICK[MAX_PLAYER_NAME],     P_PASS,     P_GENDER,     P_SKIN,     P_LVL, };  

    • Danny_Marcelo
      От Danny_Marcelo
      Всех приветствую. Сегодня я решил обновить систему мероприятий, т.к. на самом проекте Advance RP уже давно видоизменили систему, добавили нового функционала. Мы не должны стоять на месте и я решил тоже свою систему доработать. Вы можете использовать данную систему как аналог Advance RP или же доработать для своего проекта. Все в ваших руках как говорится.
       
      Что нового?
       
      Итак приступим:
      Находим свои переменные и вставляем:
       
      new settp = 0; // Флаг включения/выключения телепортации new Float:TeleportFloat[3]; // Координаты точки телепортации new TeleportInfo[2]; // Интерьер и виртуальный мир new Float:PlayerLastPos[MAX_PLAYERS][3]; // Последние координаты игрока new PlayerLastInt[MAX_PLAYERS]; // Последний интерьер игрока new PlayerLastVW[MAX_PLAYERS]; // Последний виртуальный мир игрока new PlayerWeapons[MAX_PLAYERS][13][2]; // Оружие игрока (слот и патроны) new PlayerUsedTP[MAX_PLAYERS]; // Флаг для отслеживания использования /tp  
      Далее идём в команды, мой случай на Pawn.CMD, но +/- везде одинаково, разве что меняется шапка
       
      CMD:settp(playerid, params[]) {     if (PlayerInfo[playerid][pAdmin] < 4) return 1;     new string[95];     if (settp == 0)     {         GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);         TeleportInfo[0] = GetPlayerInterior(playerid);         TeleportInfo[1] = GetPlayerVirtualWorld(playerid);         settp = 1;         format(string, sizeof(string), "[A] %s[%d] установил точку телепорта для игроков. {00CC00}ТП включен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);     }     else     {         format(string, sizeof(string), "[A] %s[%d] удалил точку телепорта для игроков. {FF6600}ТП отключен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);         settp = 0;     }     return 1; } CMD:tp(playerid, params[]) {     if (settp == 0) return SendClientMessage(playerid, 0xCECECEFF, !"Функция отключена администратором.");     if (PlayerInfo[playerid][pJailed] >= 1) return SendClientMessage(playerid, 0xCECECEFF, !"Арестованным не разрешено покидать камеру.");     if (PlayerInfo[playerid][pRabota] != 0) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     if (bolkam[playerid] == true) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     GetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     PlayerLastInt[playerid] = GetPlayerInterior(playerid);     PlayerLastVW[playerid] = GetPlayerVirtualWorld(playerid);     for (new i = 0; i < 13; i++)     {         GetPlayerWeaponData(playerid, i, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);     }     PlayerUsedTP[playerid] = 1;     ShowPlayerDialog(playerid, 22, DIALOG_STYLE_MSGBOX, !"{6699FF}Телепортация",         !"{FFFFFF}Вы уверены, что хотите попасть на место проведения мероприятия?\n{FFCD00}Ваше оружие будет изъято для хранения и возвращено позже.", !"Да", !"Нет");     return 1; }  
       
      CMD:back(playerid, params[]) {     if (!PlayerUsedTP[playerid])     {         return SendClientMessage(playerid, 0xCECECEFF, !"Эту функцию можно использовать после {FF9933}/tp, /go {CECECE}или по окончании {FF9933}мероприятий");     }     SetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     SetPlayerInterior(playerid, PlayerLastInt[playerid]);     SetPlayerVirtualWorld(playerid, PlayerLastVW[playerid]);     ResetPlayerWeapons(playerid);     for (new i = 0; i < 13; i++)     {         if (PlayerWeapons[playerid][i][0] != 0)         {             GivePlayerWeapon(playerid, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);         }     }     PlayerUsedTP[playerid] = 0;     SendClientMessage(playerid, 0x3399FFFF, !"Вы вернулись туда, где были до телепортации");     return 1; } Ну и в OnDialogResponse:
      case 22: // Не забудьте проверить и при надобности изменить id диалога на вашу цифру или ID_NAME         {             if (response)             {                 SetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);                 SetPlayerInterior(playerid, TeleportInfo[0]);                 SetPlayerVirtualWorld(playerid, TeleportInfo[1]);                 ResetPlayerWeapons(playerid);                 SendClientMessage(playerid, 0x66CCFFFF, "Вы были доставлены на место проведения мероприятия");                 SendClientMessage(playerid, 0x66CCFFFF, "Чтобы вернуться обратно, введите {FF9900}/back");             }         } Скриншоты:
       
      Если игрок сидит в КПЗ и вводит /tp:

       
      При включенном /tp:

       
      При выключенном /tp:

       
      Сообщение администраторам:

       
      Если работаешь или лечишься в больнице:

       
      Текст после телепортации:

       
      При вводе /back 1 и более раз:

       
      P.S. Команду /tp на Advance можно нажимать бесконечно, по этому я не стал сюда пихать аналогичную проверку как в /back.
      Если что, не сложно будет добавить 1 строчку проверки. Просто имейте ввиду, что это не баг. Просто нужно же соответствовать названию темы "На 100% КОПИЯ"))
       
      Автор: Danny_Marcelo
      Размещая на другие порталы, обязательно указать автора
    • Wiggins
      От Wiggins
      Доброго времени суток, нуждаюсь в помощи. Если есть люди, которые шарят в pawno, нужна помощь. Короче, мод ART RP, там в донате есть строка "Уникальные аксессуары", когда на него нажмешь, открывается TextDraw менью, нужно переделать это на обычную менью (/mm например, там обычная менью), буду рад, если поможете, за ранее спасибо.

      Если не ошибаюсь, строка текстдрав аксессуаров начинается с 1416 до 1443.
      art4.pwn