danya_white

Оригинальный мод SA:MP Reinforce RP

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

Оригинальный мод SA:MP Reinforce RP

Скачать файл

Доброго времени суток, хочу выставить на продажу уникального игровой мод проекта Reinforce RP
Игровой мод написан с нуля, мод по своему уникальный так как полностью состоит из TextDrawax.
Из паблика ничего не используется. На момент открытие проект держал онлайн в 800+ человек беспроблемно.

На момент продажи все найденные баги/недоработки были исправлены.

 

Информация о моде:

Версия MYSQL - R39-6

Античит - Самописный античит

Стример - Streamer Plugin v2.9.4 by Incognito

Командный процессор - ZCMD

Хэширование паролей - MD5

Остальное Все плагины обновлены до последней версии


Функционал, интерфейс можно посмотреть по скриншотам и видеообзорам ниже.

 

Видеообзоры/скриншоты:

 


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


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

 

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


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

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

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


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

@Web Зависеть так же может и от самого мода, как он оптимизирован. При онлайне в 100 он может просто упасть, если мод не оптимизирован.

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


Ссылка на сообщение
Поделиться на другие сайты
  В 2/21/2025 в 11:13, angel_sinvays сказал:

@Web Зависеть так же может и от самого мода, как он оптимизирован. При онлайне в 100 он может просто упасть, если мод не оптимизирован.

Читать далее...  

 

Конкретику можно?)

 

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


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

@Web, какая конкретика тебе нужна? Взять среднестатистический хостинг, по типу адвенса или ру-хостера и поставить мод, который не оптимизирован от слова совсем (чрезмерное использование макроса MAX_PLAYERS, как пример) и потом преплачивать за ВДС просто потому, что какой-то олень неудосужился нормально поработать над своим кодом? Как ты заявляешь, что твой опыт 10+ лет - уже становится байкой на форуме. Перестань набивать сообщения, боже.

Отредактировано пользователем 𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧.

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


Ссылка на сообщение
Поделиться на другие сайты
  В 2/22/2025 в 20:49, 𝙡𝙖𝙨𝙩 𝙚𝙢𝙥𝙚𝙧𝙤𝙧. сказал:

@Web, какая конкретика тебе нужна? Взять среднестатистический хостинг, по типу адвенса или ру-хостера и поставить мод, который не оптимизирован от слова совсем (чрезмерное использование макроса MAX_PLAYERS, как пример) и потом преплачивать за ВДС просто потому, что какой-то олень неудосужился нормально поработать над своим кодом? Как ты заявляешь, что твой опыт 10+ лет - уже становится байкой на форуме. Перестань набивать сообщения, боже.

Читать далее...  

 

Откуда столько негатива? Никто из действительно крупных проектов не использует подобных хостеров. У всех свои выделанные машины. Как правило у react.su

Если вы правы, то как люди жили до изобретения foreach инклуда под самп? Ваши слова про оптимизацию ничем не обоснованы и не подкреплены. С радостью посмотрел бы тесты и профилирования кода соответствующим плагином. Теперь к самому интересному. Если я что то забыл, потому что несколько месяцев не работал с данным языком и мультиплеером. Не значит, что я не имею опыта. Могу очень многое рассказать. Уж поверьте. Что про самп, что про крмп (в которое я играю чуть ли не с появления мультиплеера (именно CRMP, а не MTA), а именно с 2010 года. Скриптить стал где то как раз к 2012 году. Есть учетки на павн форумах, есть старые исходники. Так же я очень хорошо известен по первому RolePlay проекту в CR-MP, а именно urm-roleplay. Вопросы?

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

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


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

@Web Ты сам себе противоречишь. Ты говоришь, что занимаешься этим с 2012 года, но при этом забыл базовые вещи за несколько месяцев? Это как минимум звучит абсурдно. Люди годами могут не писать моды, но всё равно помнят основы. Если ты реально столько лет в теме, то такие пробелы в знаниях просто странны. Абсолютно не согласен что у всех свои выделенные машины. Есть крупные проекты, такие как MONSER DM, который спокойно стоит на Advens. Не всем нужны выделенные машины. Выделенная машина — это выбор, но не показатель уровня проекта. Если мод написан грамотно, он может стабильно работать и на хорошем VPS. А если код кривая помойка, то и на топовом железе сервер будет лагать и вылетать.

 

Что доказывают твои учётки? У тебя есть учётки на форумах и старые исходники — ну окей, но это никак не подтверждает твои аргументы. Факт в том, что неоптимизированный код роняет сервер, и примеров этому куча. А то, что ты «очень хорошо известен» по URM RolePlay, тоже ничего не меняет.

 

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

Отредактировано пользователем angel_sinvays
Причина: Дописал

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


Ссылка на сообщение
Поделиться на другие сайты
  В 3/8/2025 в 18:54, angel_sinvays сказал:

@Web Ты сам себе противоречишь. Ты говоришь, что занимаешься этим с 2012 года, но при этом забыл базовые вещи за несколько месяцев? Это как минимум звучит абсурдно. Люди годами могут не писать моды, но всё равно помнят основы. Если ты реально столько лет в теме, то такие пробелы в знаниях просто странны. Абсолютно не согласен что у всех свои выделенные машины. Есть крупные проекты, такие как MONSER DM, который спокойно стоит на Advens. Не всем нужны выделенные машины. Выделенная машина — это выбор, но не показатель уровня проекта. Если мод написан грамотно, он может стабильно работать и на хорошем VPS. А если код кривая помойка, то и на топовом железе сервер будет лагать и вылетать.

 

Что доказывают твои учётки? У тебя есть учётки на форумах и старые исходники — ну окей, но это никак не подтверждает твои аргументы. Факт в том, что неоптимизированный код роняет сервер, и примеров этому куча. А то, что ты «очень хорошо известен» по URM RolePlay, тоже ничего не меняет.

 

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

Читать далее...  

 

На каком хостинге аризона? Я так и не увидел примеров кода и профилирования.

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


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

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

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

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

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


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

Войти

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


Войти

  • Последние посетители   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