ARIZONA RP SAMP (БОТЫ,ЛЮКС КАРЫ,АКСЫ,CEF)

В теме 1 сообщение

watson
Завсегдатый

ARIZONA RP SAMP (БОТЫ,ЛЮКС КАРЫ,АКСЫ,CEF)


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

UPDATE 1.0B

- Все магазины переведены на ТекстДравы
- Написан+оптимизирован майнинг 
- Полностью конты написаны с 0 и пофикшены 
- Все люкс кары дописаны
- Сделана копия кастомизация интерфейса
- Сделана система измениние цен в бизнесе
- Редактор автомобилей фулл копия аризоны
- Пофикшены айтемы теперь описание каждного айтема не будет лезть в одну строчку
- Сделана копия /showlic как на оригинальной аризоне
- Теперь при выполнение запроса в базу данных сервер не будет лагать так же мод переведен на другой MySql
- Сделана рулетка фулл копии
- Сделана загрузка/выгрузка  каров через /cars
- Написанна система рекона
- Написанна команда /map фулл копия аризоны
- Переписана система заточек
- Система размера инва переписанная теперь не багается и все отлично работает
- Написанна система тест драйва
- Пофикшен редактор когда онли большое бывало что объекты на авто пропадали теперь все отлично работает
- Иисправлен баг при смерте персонажа мог появиться скин сиджея
- Пофикшен баг что в новых скинах нельзя было сесть в какой либо автомобиль
- Теперь 3д текст для каров удаляеться при выходе игрока - раньше не удалялся в всех каров
- Написанная система крафта
- Система семей написанна полностью на итератора
- Дописанная система чек админов в оффлайне
- Фикс тп по метке
- Система Секонд-Хендов
- Система аукциона на Центральном Рынке (доделать)
- Сделана команда /checkoff
- Сделана система /nvuti
- Пофикшен таймер покупки видеокарт
- В гетто при капте теперь убийства засчитываются только в квадрате капта
- Система нового умного /ahelp, настраивать уровень с которого доступны админские команды можно прямо в игре, с автоматическим заносом в /ahelp
- /members - фулл копия АРЗ
- /admins - на диалоге
- Фикс дюпа на центральном рынке
- Новый текст-драв капта
- Сделан общий чат для гетто-банд /gc
- Сделана команда /memberbonus, как /bonus - только бонусы получаешь за отыгрывание часов в организации
- Сделал /captstats - посмотреть информацию о убийствах/смертях участников капта

- Исправлен баг с трейдом (при попытке передать больше денег чем у вас было, они передавались вместо того чтобы выдать ошибку)
- Исправлен баг с домами (нельзя было продать дом игроку, т.к писало что где то прописан)
- Исправлен баг с открытием рулеток через инвентарь (при попытке открыть рулетку писало "недоступно")
- Исправлен баг с капчей (если дом уже словили, а вас заспавнили с открытой капчей, она не закрывалась)
- Исправлен баг с аксессуарами (при спавне они не появлялись, только при смене скина)
- Исправлен баг с багажниками/шкафами и т.д (если вы пытались ложить вещи в заполненный инвентарь, они пропадали в никуда)
- Исправлен баг с пропажей инвентаря у игроков (иногда мог слететь инвентарь)
- Исправлен баг с новыми скинами (при одевании они не менялись, только при спавне)
- Исправлен баг с одеванием скина сиджея (при перезаходе слетал скин)
- Сделан запрет на использование камня телепортации в PayDay, теперь его можно использовать только через 10 минут после PayDay
- Сделан донат сундук с рулетками (раньше не открывался)

- Сделана система секонд-хендов (при открытии одежды могут выпасть новые скины + авто)
- Сделана система привязки аккаунта ВКонтакте (Привязать в /settings)
- Сделана система ультра промо-кодов (знаю уже давно на сервере, но не писалась в обновах)
- Сделана система /bonus, в магазине за отыгранные часы вы можете купить различные предметы
- Сделана система настройки кастомизации интерфейса (можно менять худ, прозрачность чата и прочее)
- Сделана система иммунитета к английским символам (купить можно в /bonus)
- Исправлен баг когда игрок мог телепортироватся на мероприятие когда находился в КПЗ либо деморгане
- Исправлен баг с тем что игрок мог использовать магазин одежды в аэропорте ЛВ
- Исправлен баг с оружием M4 в инвентаре (вместо М4 выдавался Микро УЗИ)
- Исправлен баг с выдачей лицензии (писало, что вы не в автошколе)
- Исправлен баг когда к вас мог пойти донат в минус
- Исправлены баги с /map (багался список обьектов + нельзя было выбрать обьект курсором)
- Исправлен баг с капчей (можно было юзать капчу для покупки одного дома, открыв её на другом доме)
- Исправлен баг когда после выхода с рекона у вас оставалась организация игрока
- Исправлен баг с вводом буквы Ё в диалог (она пропадала)
- Исправлен баг с продажей лицензией игроку (писало что она у него уже есть)
- Исправлен баг с открытием авто (когда находились около чужой машины со своей писало это не ваш транспорт)
- Исправлен баг с подбором наркотиков (ничего не происходило когда вы ставали на пикап)
- Исправлен баг с лаунчем (писало GO GO GO даже если у вас его нет, а так же прокалывались колеса)
- Исправлен баг с рулеткой (вместо рогов выпадал премиум маверик)
- Исправлен баг с гаражами (чтобы выйти из него нужно было прыгнуть, так как игрок не доставал до радиуса)
- Исправлен баг с /creategun (при попытке создать оружие писало недостаточно материалов, даже если их хватало)

- Добавлены новые авто и скины как на аризоне! (купить можно в /bonus либо /adonate)
- Сделана система расформирирований организаций
- Сделана команда /giverankoff (лидер может изменять ранг, а так же уволить сотрудника в оффлайне)
- Сделана система истории наказаний (/menu)
- Сделаны новые аксессуары, купить их можно в /adonate либо /bonus


  • Добавил
  • Добавлено
    12.11.2023
  • Категория
  • Автор
    Angel Sinvays

 

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • deltaSpeed
      От deltaSpeed
      Нужен готовый или кастомный лаунчер SAMP Mobile для Android.
      Поддержка автообновления, загрузки ресурсов, и входа на мой сервер.
      Пишите в ЛС или в Discord: @ndp3042
       
    • Sloni_Xa
      От Sloni_Xa
      GOOD ROLE PLAY — ТВОЙ НОВЫЙ МИР В SA-MP!

      IP: 217.106.106.44:7777
      P: 217.106.106.44:7777
      P: 217.106.106.44:7777

      Приветствую, друзья!
      Добро пожаловать на GOOD ROLE PLAY — проект, где твоя история и твои правила!

      Мы полностью сосредоточены на Лос-Сантосе — здесь кипит жизнь, здесь рождаются легенды! Забудь про скучные города, у нас только ЛС и только настоящее RP.

      Что тебя ждёт?
      - Выбери свою судьбу: будь полицейским, бандитом, мафиози или служи в армии — свобода выбора на максимум!
      - Огромный ассортимент стильных аксессуаров и костюмов — подчеркни свою индивидуальность и выделись из толпы.
      - Никаких ограничений и норм — играй, как хочешь, забудь про давление и подчинение. Здесь ты — хозяин своей жизни!

      Уникальная атмосфера:
      - Проект открыт для каждого — стань кем угодно: руководителем, администратором, лидером, замом, гангстером, бизнесменом, питомцем или даже читером (но лучше честным игроком).
      - Мы ждём именно тебя, чтобы вместе создавать неповторимый мир, полный драйва, эмоций и настоящего РП!

      GOOD ROLE PLAY — здесь начинается твоя легенда!
      Заходи и почувствуй настоящий вкус свободы!
      217.106.106.44:7777
       
       
    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Я начинающий Pawn-кодер, немного влился в функционал, шарю за диалоги, актеров, и прочего, сейчас занялся автошколой, 
      создал актеров, добавил маппинг, добавил 1 диалог на актера встречающего игрока при входе, ну и преподавателя, вот теперь дело дошло до системы вопросов на тесте и самой практики, много думал по этому делу, думал через switch вопросы писать, потом думал через отдельные диалоги, но всё-таки не додумался, хочу попросить помощи у специалистов данного языка, с реализацией данной системы, желательно на базе MySQL, с плеча попрошу не рубить, у меня код предельно не стандартный, на примере диалогов, чтобы создать сам диалог, надо его объявить в enum dialogs, после переходить в респонс и писать кейс, начинал делать мод по урокам Леона, где 41 серия, дошел до шахты, потом стало в падлу смотреть и начал самостоятельно изучать язык, пока-что в процессе, горю огромным желанием научиться, и всё-же, прошу помощи у специалистов языка.
    • breznov
      От breznov
      Доброго времени суток уважаемые форумчане !
      Хочу попросить помощь у вас, у меня проблемы с сохранением лидерки в базу данных, код:
       
      new FactionName[32] = "Скинхеды"; new Float:FactionHQX = 123.45, Float:FactionHQY = 678.90, Float:FactionHQZ = 10.11; new FactionMembers[MAX_PLAYERS]; new FactionRank[MAX_PLAYERS]; new FactionLeader = -1; // ID лидера (-1 означает, что лидера нет) new FactionDeputy = -1; // ID заместителя (-1 означает, что заместителя нет)

       
      #define FACTION_SKINHEDS 1 #define LEADER_INFO_DIALOG 1


       
      new const FactionRankNames[][] = {     "Новичок",     "Боец",     "Стрелок",     "Головорез",     "Бригадир",     "Доверенное лицо",     "Советник",     "Заместитель",     "Консильери",     "Дон" };  
      public OnGameModeInit():

       
      public OnGameModeInit() {     ConnectMySQL();     DisableInteriorEnterExits();     EnableStuntBonusForAll(0);     SetGameModeText("Armade RP v2.0");     SendRconCommand("hostname "SERVER_NAME" by Didenko");     LoadMapping();     Iter_Clear(Admins_ITER);     Iter_Clear(Question_ITER);     actor1 = CreateActor(159, 1800.0490, 2506.0791, 15.8725, 269.5358);     ApplyActorAnimation(actor1, "PED", "ROADROSS_FEMALE", 4.1, 1, 1, 1, 0, 0);     Create3DTextLabel("{FFFFFF}Нажмите {ffff00}L.ALT{FFFFFF} чтобы начать взаимодействие", COLOR_GREEN, 1800.0490, 2506.0791, 15.8725, 10.0, 0, 1);     //======================[ Пикапы ]==================================     magazvhod1 = CreatePickup(1318, 23, 2074.3257,1838.3256,12.5391, -1);     magazvihod1 = CreatePickup(1318, 23, -25.5779,-184.9357,1003.5469, -1);     SetTimer("SecondUpdate", 1000, true);     SetTimer("MinuteUpdate", 60000, true);     LoadFactionsData(); // Загружаем данные о фракциях и лидерах     return 1; }
       
      Стоки:

       
      stock LoadFactionsData() {     print("LoadFactionsData: Starting to load factions data...");     new query[64];     format(query, sizeof(query), "SELECT id, FactionLeader FROM factions");     mysql_tquery(dbHandle, query, "LoadFactionsData_Callback");     print("LoadFactionsData: Query sent.");     return 1; } forward LoadFactionsData_Callback(MySQL:handle, Cache:result); public LoadFactionsData_Callback(MySQL:handle, Cache:result) {     new rows = cache_num_rows();     printf("LoadFactionsData_Callback: Number of rows loaded: %d", rows);     if(rows > 0)     {         for(new i = 0; i < rows; i++)         {             cache_set_result(0);             new factionID, factionLeaderID;             if (!cache_get_value_name_int(i, "id", factionID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'id' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить ID             }             if (!cache_get_value_name_int(i, "FactionLeader", factionLeaderID)) {                 printf("[ERROR] LoadFactionsData_Callback: Failed to get 'FactionLeader' for row %d", i);                 continue; // Переходим к следующей итерации, если не удалось получить FactionLeader             }             printf("LoadFactionsData_Callback: Row %d: factionID = %d, factionLeaderID = %d", i, factionID, factionLeaderID);             if(factionLeaderID != 0)             {                 FactionLeader = factionLeaderID;                 FactionRank[factionLeaderID] = 10;                 printf("LoadFactionsData_Callback: Setting FactionLeader to %d and rank to 10.", factionLeaderID);                 // Не вызываем здесь SetPlayerSkin, пока не подключится игрок                 //if(IsPlayerConnected(factionLeaderID))                 //{                 //    SetPlayerSkin(factionLeaderID, 115);                 //    PlayerSkin[factionLeaderID] = 115;                 //}             }         }     }     else {         print("LoadFactionsData_Callback: No factions data found in the database.");     }     return 1; } stock SetFactionLeader(playerid, targetid) {     if(player_info[playerid][ADMIN] < 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого лидера     if(FactionLeader != -1)     {         FactionRank[FactionLeader] = 1; // Понижаем ранг старого лидера     }     // Назначаем нового лидера     FactionLeader = targetid;     FactionRank[targetid] = 10;     // Сохраняем ID лидера в базу данных     new query[128];     format(query, sizeof(query), "UPDATE factions SET FactionLeader = '%d' WHERE id = '1'", targetid); // Замените '1' на ID вашей фракции, если у вас их несколько     mysql_tquery(dbHandle, query);     new szString[128];     format(szString, sizeof(szString), "Игрок %s назначен лидером фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены лидером фракции!");     // Выдаем скин 115     SetPlayerSkin(targetid, 115);     PlayerSkin[targetid] = 115; // Обновляем массив PlayerSkin     SPD(playerid, DLG_LEADERINFO1, DIALOG_STYLE_LIST, "Информация необходимая к прочтению", "{FF0000}!!!ПРОЧИТАТЬ!!!\n{0089ff}[1]{ffffff} Команды лидера", "Выбрать", "Закрыть");     return 1; } stock SetFactionDeputy(playerid, targetid) {     // Проверка на то, является ли игрок админом     if(player_info[playerid][ADMIN] > 5)     {         SendClientMessage(playerid, CG, "Вы не являетесь администратором!");         return 1;     }     // Убираем старого заместителя     if(FactionDeputy != -1) FactionRank[FactionDeputy] = 1; // Понижаем ранг старого заместителя     // Назначаем нового заместителя     FactionDeputy = targetid;     FactionRank[targetid] = 9; // Устанавливаем ранг 9 (Консильери)     new szString[128];     format(szString, sizeof(szString), "Игрок %d назначен заместителем фракции!", targetid);     SendClientMessage(playerid, 0x00FF00AA, szString);     SendClientMessage(targetid, 0x00FF00AA, "Вы назначены заместителем фракции!");     return 1; } // Функция проверки, является ли игрок лидером stock IsPlayerLeader(playerid) {     if(playerid == FactionLeader)     {         return 1;     }     return 0; } // Функция проверки, является ли игрок заместителем stock IsPlayerDeputy(playerid) {     if(playerid == FactionDeputy)     {         return 1;     }     return 0; } // Функция вступления во фракцию stock JoinFaction(playerid, inviterid) {     // Проверяем, состоит ли игрок уже в какой-либо фракции     for(new i = 0; i < MAX_PLAYERS; i++)     {         if(FactionMembers[playerid] != 0)         {             SendClientMessage(playerid, 0xFF0000AA, "Вы уже состоите в другой фракции!");             return 1;         }     }     // Добавляем игрока во фракцию     FactionMembers[playerid] = FACTION_SKINHEDS;     FactionRank[playerid] = 1; // Рядовой (Новичок) - Устанавливаем ранг     new szString[128];     format(szString, sizeof(szString), "Вы вступили в '%s' по приглашению игрока %d!", FactionName, inviterid);     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Игрок %d вступил в '%s' по вашему приглашению!", playerid, FactionName);     SendClientMessage(inviterid, 0x00FF00AA, szString);     return 1; } stock LeaveFaction(playerid) {     if(!IsPlayerInFaction(playerid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не состоите в этой фракции!");         return 1;     }     FactionMembers[playerid] = 0; // Обнуляем ID фракции (0 - значит, не состоит)     FactionRank[playerid] = 0;     SendClientMessage(playerid, 0x00FF00AA, "Вы покинули Семью Рейес!");     return 1; } stock GetFactionRank(playerid) {     return FactionRank[playerid]; } stock SetFactionRank(playerid, targetid, rank) {     // Проверка на то, является ли игрок лидером или заместителем     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права устанавливать ранги!");         return 1;     }     // Проверка на то, чтобы ранг не был слишком высоким     if(rank > 10 || rank < 1)     {         SendClientMessage(playerid, 0xFF0000AA, "Неверный ранг!");         return 1;     }     FactionRank[targetid] = rank;     new szString[128];     format(szString, sizeof(szString), "Вы установили ранг '%s' для игрока %d", FactionRankNames[rank - 1], targetid); // Получаем название из массива     SendClientMessage(playerid, 0x00FF00AA, szString);     format(szString, sizeof(szString), "Вам установлен ранг '%s' игроком %d", FactionRankNames[rank - 1], playerid); // Получаем название из массива     SendClientMessage(targetid, 0x00FF00AA, szString);     return 1; } // Функция проверки, состоит ли игрок во фракции stock IsPlayerInFaction(playerid, factionid) {     if(FactionMembers[playerid] == factionid)     {         return 1;     }     return 0; }
      Ну и команды естественно:

       
      // Команда для установки ранга (пример, только для лидеров) CMD:setrank(playerid, cmdtext[]) {     new targetid, rank;     if(sscanf(cmdtext, "dd", targetid, rank))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setrank [ID игрока] [Ранг]");         return 1;     }     SetFactionRank(playerid, targetid, rank);     return 1; } // Команда информации о фракции CMD:factioninfo(playerid, cmdtext[]) {     new szString[256];     format(szString, sizeof(szString), "Название: %s, Штаб-квартира: %.2f %.2f %.2f", FactionName, FactionHQX, FactionHQY, FactionHQZ);     SendClientMessage(playerid, 0x00FF00AA, szString);     return 1; } CMD:setleader(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setleader [ID игрока]");         return 1;     }     SetFactionLeader(playerid, targetid);     return 1; } CMD:setdeputy(playerid, cmdtext[]) {     new targetid;     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /setdeputy [ID игрока]");         return 1;     }     SetFactionDeputy(playerid, targetid);     return 1; } // -------------------------------------------------------------------------- // Команда для приглашения игрока во фракцию (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:invite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права приглашать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /invite [ID игрока]");         return 1;     }     // Добавим проверку на приглашение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете пригласить самого себя!");         return 1;     }     JoinFaction(targetid, playerid);     return 1; } // -------------------------------------------------------------------------- // Команда для исключения игрока из фракции (только для лидеров и заместителей) // -------------------------------------------------------------------------- CMD:uninvite(playerid, cmdtext[]) {     new targetid;     if(!IsPlayerLeader(playerid) && !IsPlayerDeputy(playerid))     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не имеете права исключать игроков!");         return 1;     }     if(sscanf(cmdtext, "d", targetid))     {         SendClientMessage(playerid, 0xFF0000AA, "Используйте: /uninvite [ID игрока]");         return 1;     }     // Добавим проверку на исключение самого себя     if(playerid == targetid)     {         SendClientMessage(playerid, 0xFF0000AA, "Вы не можете увольнять самого себя!");         return 1;     }     if(!IsPlayerInFaction(targetid, FACTION_SKINHEDS))     {         SendClientMessage(playerid, 0xFF0000AA, "Этот игрок не состоит в вашей фракции!");         return 1;     }     LeaveFaction(targetid);     return 1; }

      Ребят, не судите строго пожалуйста, делал с помощью ChatGPT, помогите пожалуйста сохранение лидерки и заместителя сделать
    • breznov
      От breznov
      Всем доброго времени суток ! Я пишу мод с нуля, дело дошло до подключения cef интерфейсов, я от слова совсем не понимаю как в моде прописать подключения cef.
      Пробовал конечно же подключать, создавал браузер через "cef_create_browser(playerid, 0x12345, "ссылка", false, false);", но ничего не получалось.
      Я только начинаю изучать работу данного языка, извиняюсь за то что я тупоголовый. Хочу попросить помощи у специалистов, будьте добры объяснить написание данной системы с отображением cef пожалуйста =(
      Если нужен будет мой код, я могу его предоставить.