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

Для начала ко всем enum

Спойлер

enum hInfo
{
    hID,
    Float:hiX,
    Float:hiY,
    Float:hiZ,
    Float:hvX,
    Float:hvY,
    Float:hvZ,
    hOwner[MAX_PLAYER_NAME],
    hPrice,
    hInt,
    hWorld,
    hLock,
    hDate,
    hLevel,
    hvWorld,
    hvInt,
    hPic,
    hPic2,
    hMap,
    hRoom,
    hRent,
    hNick1[MAX_PLAYER_NAME],
    hNick2[MAX_PLAYER_NAME],
    hNick3[MAX_PLAYER_NAME],
    hNick4[MAX_PLAYER_NAME],
    hNick5[MAX_PLAYER_NAME],
    hBank
};
new House[1000][hInfo];
new AllHouse = 0;

 

В паблик OnGameModeInit

Спойлер

LoadHouse();

 

Создем сток LoadHouse (в конец мода):

Спойлер

stock LoadHouse()
{
  new ids[32],str[64];
  new iniOpens = ini_openFile("house/house.cfg");
  ini_getInteger(iniOpens, "AllHouse", AllHouse);
  ini_closeFile(iniOpens);
  if(AllHouse != 0)
  {
    for(new house = 1; house <= AllHouse; house++)
    {
      format(ids,sizeof(ids),"house/%d.ini",house);
      new inihOpen = ini_openFile(ids);
      ini_getFloat(inihOpen, "hiX", House[house][hiX]);
      ini_getFloat(inihOpen, "hiY", House[house][hiY]);
      ini_getFloat(inihOpen, "hiZ", House[house][hiZ]);
      ini_getFloat(inihOpen, "hvX", House[house][hvX]);
      ini_getFloat(inihOpen, "hvY", House[house][hvY]);
      ini_getFloat(inihOpen, "hvZ", House[house][hvZ]);
      ini_getString(inihOpen, "hOwner", str); format(House[house][hOwner],24,"%s",str);
      ini_getInteger(inihOpen, "hPrice", House[house][hPrice]);
      ini_getInteger(inihOpen, "hInt", House[house][hInt]);
      ini_getInteger(inihOpen, "hLock", House[house][hLock]);
      ini_getInteger(inihOpen, "hDate", House[house][hDate]);
      ini_getInteger(inihOpen, "hLevel", House[house][hLevel]);
      ini_getInteger(inihOpen, "hvWorld", House[house][hvWorld]);
      ini_getInteger(inihOpen, "hvInt", House[house][hvInt]);
      ini_getInteger(inihOpen, "hRoom", House[house][hRoom]);
      ini_getInteger(inihOpen, "hRent", House[house][hRent]);
      ini_getString(inihOpen, "hNick1", str); format(House[house][hNick1],24,"%s",str);
      ini_getString(inihOpen, "hNick2", str); format(House[house][hNick2],24,"%s",str);
      ini_getString(inihOpen, "hNick3", str); format(House[house][hNick3],24,"%s",str);
      ini_getString(inihOpen, "hNick4", str); format(House[house][hNick4],24,"%s",str);
      ini_getString(inihOpen, "hNick5", str); format(House[house][hNick5],24,"%s",str);
      ini_getInteger(inihOpen, "hBank", House[house][hBank]);
      ini_closeFile(inihOpen);
      if(!strcmp(House[house][hOwner],"Nones",false))
      {
        House[house][hPic] = CreateDynamicPickup(1273, 1, House[house][hvX], House[house][hvY], House[house][hvZ],House[house][hvWorld],House[house][hvInt]);
        House[house][hMap] = CreateDynamicMapIcon(House[house][hvX], House[house][hvY], House[house][hvZ], 31, -1,House[house][hvWorld],House[house][hvInt]);
        House[house][hPic2] = CreateDynamicPickup(1318, 1, House[house][hiX], House[house][hiY], House[house][hiZ], house, House[house][hInt]);

      }
      else
      {
        House[house][hPic] = CreateDynamicPickup(1272, 1, House[house][hvX], House[house][hvY], House[house][hvZ],House[house][hvWorld],House[house][hvInt]); // vxod
        House[house][hMap] = CreateDynamicMapIcon(House[house][hvX], House[house][hvY], House[house][hvZ], 32, -1,House[house][hvWorld],House[house][hvInt]);
        House[house][hPic2] = CreateDynamicPickup(1318, 1, House[house][hiX], House[house][hiY], House[house][hiZ], house, House[house][hInt]); // int
      }
    }
    printf("Домов загружено: %d",AllHouse);
  }
  return 1;
}

 

После LoadHouse вставить SaveHouse:
 

Спойлер

stock SaveHouse(house)
{
    new ids[32];
    format(ids,sizeof(ids),"house/%d.ini",house);
    new inihhhOpen;
    inihhhOpen = ini_openFile(ids);
    if(inihhhOpen == -1 || inihhhOpen == -2) inihhhOpen = ini_createFile(ids);
    ini_setFloat(inihhhOpen, "hiX", House[house][hiX]);
    ini_setFloat(inihhhOpen, "hiY", House[house][hiY]);
    ini_setFloat(inihhhOpen, "hiZ", House[house][hiZ]);
    ini_setFloat(inihhhOpen, "hvX", House[house][hvX]);
    ini_setFloat(inihhhOpen, "hvY", House[house][hvY]);
    ini_setFloat(inihhhOpen, "hvZ", House[house][hvZ]);
    ini_setString(inihhhOpen, "hOwner", House[house][hOwner]);
    ini_setInteger(inihhhOpen, "hPrice", House[house][hPrice]);
    ini_setInteger(inihhhOpen, "hInt", House[house][hInt]);
    ini_setInteger(inihhhOpen, "hLock", House[house][hLock]);
    ini_setInteger(inihhhOpen, "hDate", House[house][hDate]);
    ini_setInteger(inihhhOpen, "hLevel", House[house][hLevel]);
    ini_setInteger(inihhhOpen, "hvWorld", House[house][hvWorld]);
    ini_setInteger(inihhhOpen, "hvInt", House[house][hvInt]);
    ini_setInteger(inihhhOpen, "hRoom", House[house][hRoom]);
    ini_setInteger(inihhhOpen, "hRent", House[house][hRent]);
    ini_setString(inihhhOpen, "hNick1", House[house][hNick1]);
    ini_setString(inihhhOpen, "hNick2", House[house][hNick2]);
    ini_setString(inihhhOpen, "hNick3", House[house][hNick3]);
    ini_setString(inihhhOpen, "hNick4", House[house][hNick4]);
    ini_setString(inihhhOpen, "hNick5", House[house][hNick5]);
    ini_setInteger(inihhhOpen, "hBank", House[house][hBank]);
    ini_closeFile(inihhhOpen);
    return 1;
}

 

После SaveHouse вставляем UpdateHouse:

Спойлер

stock UpdateHouse(house)
{
  DestroyDynamicMapIcon(House[house][hMap]);
  DestroyDynamicPickup(House[house][hPic]);
  DestroyDynamicPickup(House[house][hPic2]);
  if(!strcmp(House[house][hOwner],"Nones",false))
  {
    House[house][hPic] = CreateDynamicPickup(1273, 1, House[house][hvX], House[house][hvY], House[house][hvZ],House[house][hvWorld],House[house][hvInt]);
    House[house][hMap] = CreateDynamicMapIcon(House[house][hvX], House[house][hvY], House[house][hvZ], 31, -1,House[house][hvWorld],House[house][hvInt]);
    House[house][hPic2] = CreateDynamicPickup(1318, 1, House[house][hiX], House[house][hiY], House[house][hiZ], house, House[house][hInt]);
  }
  else
  {
    House[house][hPic] = CreateDynamicPickup(1239, 1, House[house][hvX], House[house][hvY], House[house][hvZ],House[house][hvWorld],House[house][hvInt]); // vxod
    House[house][hMap] = CreateDynamicMapIcon(House[house][hvX], House[house][hvY], House[house][hvZ], 32, -1,House[house][hvWorld],House[house][hvInt]);
    House[house][hPic2] = CreateDynamicPickup(1318, 1, House[house][hiX], House[house][hiY], House[house][hiZ], house, House[house][hInt]); // int
  }
  return 1;
}

 

В OnPlayerCommandText вставляем команду создания дома:

Спойлер

if(strcmp(cmd, "/addhouse", true) == 0)
{
  if(Player[playerid][pAdmin] <= 8) return SendClientMessage(playerid, -1, "У вас нет прав!");
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Подсказка: /addhouse [Сумма] [Уровень]");
  new money = strval(tmp);
  tmp = strtok(cmdtext, idx);
  if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_GRAD2, "Подсказка: /addhouse [Сумма] [Уровень]");
  new level = strval(tmp);
  AllHouse++;
  GetPlayerPos(playerid, House[AllHouse][hvX],House[AllHouse][hvY],House[AllHouse][hvZ]);
  format(House[AllHouse][hOwner],24,"Nones");
  House[AllHouse][hDate] = gettime();
  House[AllHouse][hiX] = -2284.279296;
  House[AllHouse][hiY] = 90.921600;
  House[AllHouse][hiZ] = -82.634101;
  House[AllHouse][hPrice] = money;
  House[AllHouse][hInt] = 3;
  House[AllHouse][hLock] = 1;
  House[AllHouse][hLevel] = level;
  House[AllHouse][hvWorld] = GetPlayerVirtualWorld(playerid);
  House[AllHouse][hvInt] = GetPlayerInterior(playerid);
  format(House[AllHouse][hNick1],24,"Nones");
  format(House[AllHouse][hNick2],24,"Nones");
  format(House[AllHouse][hNick3],24,"Nones");
  format(House[AllHouse][hNick4],24,"Nones");
  format(House[AllHouse][hNick5],24,"Nones");
  House[AllHouse][hRent] = 0;
  House[AllHouse][hRoom] = 0;
  House[AllHouse][hBank] = 0;
  new inihhOpen = ini_openFile("house/house.cfg");
  ini_setInteger(inihhOpen, "AllHouse", AllHouse);
  ini_closeFile(inihhOpen);
  SaveHouse(AllHouse);
  House[AllHouse][hPic] = CreateDynamicPickup(1273, 1, House[AllHouse][hvX], House[AllHouse][hvY], House[AllHouse][hvZ],House[AllHouse][hvWorld],House[AllHouse][hvInt]);
  House[AllHouse][hMap] = CreateDynamicMapIcon(House[AllHouse][hvX], House[AllHouse][hvY], House[AllHouse][hvZ], 31, -1,House[AllHouse][hvWorld],House[AllHouse][hvInt]);
  House[AllHouse][hPic2] = CreateDynamicPickup(1318, 1, House[AllHouse][hiX], House[AllHouse][hiY], House[AllHouse][hiZ], AllHouse, House[AllHouse][hInt]);
  SendClientMessage(playerid, COLOR_GRAD2, "Дом успешно создан");
  if(Player[playerid][pAdmin] >=10)
  {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Администратор: %s[ID%d] создал дом",sendername,playerid);
    ABroadCast(COLOR_LIGHTRED,string,1);
  }
  return 1;
}

 

В паблик OnPlayerPickupPickUp вставляем:

Спойлер

for(new house = 1; house <= AllHouse; house++)
{
  if(IsPlayerInRangeOfPoint(playerid,2.0,House[house][hvX],House[house][hvY],House[house][hvZ] ))
  {
    GameTextForPlayer(playerid,"~w~ìA„–…E ~r~~k~~PED_SPRINT~",5000,1);
    return 1;
  }
  else if(IsPlayerInRangeOfPoint(playerid,2.0,House[house][hiX],House[house][hiY],House[house][hiZ] ))
  {
    GameTextForPlayer(playerid,"~w~ìA„–…E ~r~~k~~PED_SPRINT~",5000,1);
    return 1;
  }
}

 

В паблик OnPlayerKeyStateChange:

Спойлер

if(newkeys & KEY_SPRINT)
{
  for(new house = 1; house <= AllHouse; house++)
  {
    if(IsPlayerInRangeOfPoint(playerid,1.0,House[house][hvX],House[house][hvY],House[house][hvZ]) && GetPlayerVirtualWorld(playerid) == House[house][hvWorld])
    {
      if(!strcmp(House[house][hOwner],"Nones",false))
      {
        format(str,sizeof(str),"\
{ffffff}Продаётся дом\n\n\
Цена: %d руб (%s)\n\
Требуемый уровень: %d (%s)\n\
\n\
Если хотите купить нажмите \"Купить\"\n\
Если не хотите нажмите \"Закрыть\""
               ,House[house][hPrice],(GetPlayerMoney(playerid) < House[house][hPrice]?("Недостаточно"):("Достаточно" ))
               ,House[house][hLevel],(Player[playerid][pLevel] < House[house][hLevel]?("Недостаточный"):("Достаточный") ));
        if(Player[playerid][pLevel] < House[house][hLevel] || GetPlayerMoney(playerid) < House[house][hPrice])
        {
          return ShowPlayerDialog(playerid, 20,0,"Продажа Владения",str,"Закрыть","");
        }
        else
        {
          SetPVarInt(playerid,"house_active",house);
          return ShowPlayerDialog(playerid, 21,0,"Продажа Владения",str,"Купить","Закрыть");
        }
      }
      else
      {
        new arend[32];
        if(House[house][hRent] > 0) format(arend,32,"%d руб в час",House[house][hRent]);
        else if(House[house][hRent] <= 0) format(arend,32,"Нет",House[house][hRent]);
        format(str,sizeof(str),"\
{ffffff}Дом\n\n\
Владелец: %s\n\
Статус: %s\n\
Аренда: %s\n\
\n\
Если хотите войти нажмите \"Войти\"\n\
Если не хотите нажмите \"Закрыть\""
               ,House[house][hOwner]
               ,((House[house][hLock] == 0) ? ("Открыт"):("Закрыт" )),
               arend);
        if(House[house][hLock] == 1)
        {
          return ShowPlayerDialog(playerid, 20,0,"Дом",str,"Закрыть","");
        }
        else
        {
          SetPVarInt(playerid,"house_active",house);
          return ShowPlayerDialog(playerid, 22,0,"Дом",str,"Войти","Закрыть");
        }
      }
    }
    else if(IsPlayerInRangeOfPoint(playerid,1.0,House[house][hiX],House[house][hiY],House[house][hiZ]) && GetPlayerVirtualWorld(playerid) == house)
    {
      SetPlayerPos(playerid,House[house][hvX],House[house][hvY],House[house][hvZ]);
      SetPlayerVirtualWorld(playerid,0);
      SetPlayerInterior(playerid,0);
      return 1;
    }
  }
}

 

В паблик OnDialogResponse:

Спойлер

if(dialogid == 21) // покупка дома
{
  if(response)
  {
    new house = GetPVarInt(playerid,"house_active");
    DeletePVar(playerid,"house_active");
    new housenum = 0;
    for(new house2 = 1; house2 <= AllHouse; house2++)
    {
      if(!strcmp(House[house2][hOwner],GN(playerid),false)) housenum++;
    }
    if(Player[playerid][pAdmin] >= 9) // домов для админов 9 уровня и больше
    {
      if(housenum >= 2) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов");
    }
    else  // для обычных игроков
    {
      if(housenum >= 1) return SendClientMessage(playerid,-1,"Достигнуто максимальное количество домов");
    }
    if(!IsPlayerInRangeOfPoint(playerid,3.0,House[house][hvX],House[house][hvY],House[house][hvZ] ))
    {
      return SendClientMessage(playerid,-1,"Вы отошли от дома");
    }
    if(GetPlayerMoney(playerid) < House[house][hPrice])
    {
      return SendClientMessage(playerid,-1,"У вас не хватает денег");
    }
    else GivePlayerMoney(playerid, -House[house][hPrice]);
    Player[playerid][pMoney] -=House[house][hPrice];
    SetPlayerPos(playerid,House[house][hiX],House[house][hiY],House[house][hiZ]);
    SetPlayerVirtualWorld(playerid,house);
    SetPlayerInterior(playerid,House[house][hInt]);
    format(House[house][hOwner],24,GN(playerid));
    House[house][hDate] = gettime();
    format(House[house][hNick1],24,"Nones");
    format(House[house][hNick2],24,"Nones");
    format(House[house][hNick3],24,"Nones");
    format(House[house][hNick4],24,"Nones");
    format(House[house][hNick5],24,"Nones");
    House[AllHouse][hRent] = 0;
    House[AllHouse][hRoom] = 0;
    House[AllHouse][hBank] = 0;
    UpdateHouse(house);
    SaveHouse(house);
    return SendClientMessage(playerid,-1,"Вы успешно купили себе дом");
  }
  else return 1;
}
//==============================================================================
if(dialogid == 22) // вход в дом
{
  if(response)
  {
    new house = GetPVarInt(playerid,"house_active");
    DeletePVar(playerid,"house_active");
    if(!IsPlayerInRangeOfPoint(playerid,3.0,House[house][hvX],House[house][hvY],House[house][hvZ] ))
    {
      return SendClientMessage(playerid,-1,"Вы отошли от дома");
    }
    SetPlayerPos(playerid,House[house][hiX],House[house][hiY],House[house][hiZ]);
    SetPlayerVirtualWorld(playerid,house);
    SetPlayerInterior(playerid,House[house][hInt]);
    return 1;
  }
  else return 1;
}

 

Был чу чуть изменён от стандартного Gamer
Player[playerid][pAdmin] замените на свою функцию администратора
Ид диалогов меняйте на свои
Иероглифы сами поменяются когда вставите в мод
Будут ошибки пишите сюда

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


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

Автор вырезки и переделки: Basis

 

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


Ссылка на сообщение
Поделиться на другие сайты
format(str,sizeof(str),"\{ffffff}Дом\n\n\Владелец: %s\n\Статус: %s\n\Аренда: %s\n\\n\Если хотите войти нажмите \"Войти\"\n\Если не хотите нажмите \"Закрыть\"",House[house][hOwner],((House[house][hLock] == 0) ? ("Открыт"):("Закрыт" )),arend);


format(str,sizeof(str),"\{ffffff}Продаётся дом\n\n\Цена: %d руб (%s)\n\Требуемый уровень: %d (%s)\n\\n\Если хотите купить нажмите \"Купить\"\n\Если не хотите нажмите \"Закрыть\"",House[house][hPrice],(GetPlayerMoney(playerid) < House[house][hPrice] ? ("Недостаточно"):("Достаточно" )),House[house][hLevel],(PlayerInfo[playerid][pLevel] < House[house][hLevel] ? ("Недостаточный"):("Достаточный") ));

У меня в этих строчках это 



error 027: invalid character constant
error 027: invalid character constant
error 027: invalid character constant
error 027: invalid character constant

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


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

@drabinka обратный слэш в начале строки убери

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


Ссылка на сообщение
Поделиться на другие сайты
 if(!strcmp(House[house2][hOwner],GN(playerid),false)) housenum++

что мне делать? - ошибка в GN!

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


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

@ewrewrw заменить эту строку на следующий участок кода:

new playername[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME); 
if(!strcmp(House[house2][hOwner],playername,false)) housenum++

 

Если это находится в цикле (for, while), то строку new playername[MAX_PLAYER_NAME]; разместите перед входом в цикл. 

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


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

Помогите!! 

C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1750) : error 017: undefined symbol "str"
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1750) : error 017: undefined symbol "str"
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : loose indentation
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : error 029: invalid expression, assumed zero
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : error 029: invalid expression, assumed zero
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : warning 215: expression has no effect
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : error 001: expected token: ";", but found "]"
C:\Users\Administrator\Desktop\!\Âñå äëÿ ñåðâåðà\Ðåëèç 1\gamemodes\SaumRP.pwn(1752) : fatal error 107: too many error messages on one line 

 

 

Вот сама строка где ошибки

 

            format(str,sizeof(str),"\
    {ffffff}????????? ???\n\n\
    ????: %d ??? (%s)\n\
    ????????? ???????: %d (%s)\n\
    \n\
    ???? ?????? ?????? ??????? \"??????\"\n\
    ???? ?? ?????? ??????? \"???????\""
                   ,House[house][hPrice],(GetPlayerMoney(playerid) < House[house][hPrice]?("????????????"):("??????????" ))
                   ,House[house][hLevel],(Player[playerid][pLevel] < House[house][hLevel]?("?????????????"):("???????????") ));

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


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

Ммм

fatal error 107: too many error messages on one line

error 029: invalid expression, assumed zero

error 001: expected token: ";", but found "]"

error 017: undefined symbol "Player"

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


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

@Barss1360 Скиньте код где произошла ошибка.

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


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

@_bogdan_ в паблике public OnPlayerCommandText

 if(Player[playerid][pAdmin] <= 8) return SendClientMessage(playerid, -1, "У вас нет прав!");

qwUO-gEoXes.jpg

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

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


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

@Barss1360 Player - это енам игрока. У вас может быть pInfo, PI, PlayerInfo и т.п. 

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


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

@Barss1360 Человек выше указал, что вам нужно сделать. Если будут вопросы пишите)

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


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

@keyl за ответ спасибо но забей я уже удалил скрипт из мода так как манал я это я в душе не еб* что у меня там да и мараться не хочу лучше скриптера закажу пусть на заказ сделает вс что нужно будет (я не скриптер я начинающий маппер)

В 07.08.2017 в 18:30, DEST сказал:

 

 

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.
    • Talex
      От Talex
      Всем привет, сливаю первый мод!
      Информация о моде:

      — Основа Gamenix.
      — Мод переведен на Mysql R39, теперь ни каких слётов нет, мод работает стабильно с онлайном 160+.
      — Новый автосалон на TextDraw.
      — Система 3-х автомобилей (1 можно купить по дефолту, 2 и 3 за донат).
      — Автомобили у игроков теперь не пропадают (Id'ы авто сбивались, с номерами теперь тоже всё в порядке).
      — Оформление сервера полностью переработано, теперь оно более красивое.
      — Защита от копирования карты.
      — в меню сервера добавлен пункт визуальных настроек.
      — Номера на транспорт теперь можно приобрести в /donate.
      — Сделан новый красивый спидометр.
      — При получении номера, добавлен выбор региона.
      — Сделана система радаров и промокодов, создание прямо из игры.
      — Новый интерьер казино.
      — Магазин скинов теперь на TextDraw.
      — Автошкола полностью функционирует.
      — Добавлена информация после коннекта о последнем входе в собственный аккаунт.
      — Приватная защита от всех видов DDoS атак и DoS атак.                                                                                                                                    
      — пароль от АП (/alog) теперь у каждого администратора индивидуальный.
      — Изменено оформление самого мода
      Это не все изменения мода, их ещё очень много. все не упомнишь. 
      Автор мода: Неизвестен
      CUNBERS RP 8.4.3.rar