Вопросы

Caracal2222
Свой человек

@Cawfee Здравствуйте. Не могли бы помочь? Взял с Аризоны крмп команду на увольнение гос.служащих, она доступна лишь Правительству и ФСБ, подогнал в другой серв крмп, и при вводе /demoute пишет что она доступна лишь ФСБ и Правительству. 

Даже ставил != вместо == в строке if(PI[playerid][pMember] == TEAM_FBI || PI[playerid][pMember] == TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");

 

Спойлер

CMD:demoute(playerid, params[])
{
    if(PI[playerid][pMember] == TEAM_FBI || PI[playerid][pMember] == TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");
    if(PI[playerid][pRank] < 3) return SendClientMessage(playerid,COLOR_RED, "Ваш ранг слишком мал");
    //if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED, "Отказано в доступе! (Доступно только лидеру)");
    if(!IsPlayerConnected(playerid) ||  PlayerLogged[playerid]) return false;
    new id,string[200],reason[100];
    if(sscanf(params,"us[100]",playerid,reason)) return SendClientMessage(playerid,COLOR_RED, "Используйте: /demoute [id] [причина]");
    if(!ProxDetectorS(5.0, playerid, 1)) return SendClientMessage(playerid,COLOR_RED, "Вы далеко от игрока!");
    if(playerid == playerid) return SendClientMessage(playerid,COLOR_RED, "Вы можете уволить только гос.служащих!");
    /*if(PI[playerid][pLeader] > 0 ) return SendClientMessage(playerid,COLOR_RED, "Вы не можете уволить лидера");*/
    if(IsACop(playerid))
    {
        if(IsPlayerAttachedObjectSlotUsed(playerid, 8))RemovePlayerAttachedObject(playerid, 7);
    }
    PI[playerid][pMember] = 0;
    PI[playerid][pDCTime]=0;
    SendClientMessage(id,COLOR_WHITE,">> {FF6347} Местом спавна автоматически назначен ЖД Вокзал. Изменить место спавна >> /setspawn!");
    PI[playerid][pRank] = 0;
    UpdatePlayerData(playerid, "Rank", PI[playerid][pRank]);
    pSportZal[playerid]=0;
    TeamDuty[playerid] = false;
    format(string,sizeof(string),"{FFFFFF}%s выгнал вас из организации.\nПричина: %s",GetName(playerid), reason);
    SendClientMessage(id,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Вы выгнали %s. Причина: %s",GetName(playerid), reason);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"[D]%s[%d] Уволил %s, Причина: %s",GetName(playerid),playerid,GetName(playerid), reason);
    SetPlayerColor(playerid,0xFDFCFC15);
    ResetPlayerWeaponsAC(playerid);
    SetPlayerArmour(playerid, 0);
    return true;
}

 

 

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

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

Вынес ваш вопрос и все его обсуждения в отдельную тему.

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


Ссылка на сообщение

46 ответов на этот вопрос

  • 0
Sleash
Завсегдатый

@Caracal2222 

if(PI[playerid][pMember] != TEAM_FBI && PI[playerid][pMember] != TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");

 

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Sleash Все понял. Насчет строки теперь ничего не выдает вообще. Не строки введите /demoute и тд, странно как-то 

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


Ссылка на сообщение
  • 0
Sleash
Завсегдатый

@Caracal2222 Конечно выводить не будет, вы сохраняете ID увольняемого игрока в переменную, хранящую ID игрока, вводящего команду
Так как попытка вывести параметры в переменную были, то playerid уже пуста, и там не хранится ваш ID, соответственно сообщение вам прийти не сможет

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

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Sleash Это где ?Я просто ее скопировал и поменял значения под свои, дабы ошибок не было, а на это не обращал внимания 

@Sleash понял 

@Sleash Какую строку тогда удалить/поменять надо 

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


Ссылка на сообщение
  • 0
Sleash
Завсегдатый

@Caracal2222 

 

Спойлер

CMD:demoute(playerid, params[])
{
    if(PI[playerid][pMember] == TEAM_FBI || PI[playerid][pMember] == TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");
    if(PI[playerid][pRank] < 3) return SendClientMessage(playerid,COLOR_RED, "Ваш ранг слишком мал");
    //if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED, "Отказано в доступе! (Доступно только лидеру)");
    new id,string[145],reason[75];
    if(sscanf(params,"us[100]",id,reason)) return SendClientMessage(playerid,COLOR_RED, "Используйте: /demoute [id] [причина]");
    if(!IsPlayerConnected(id) || !PlayerLogged[id]) return false;
    if(!ProxDetectorS(5.0, playerid, 1)) return SendClientMessage(playerid,COLOR_RED, "Вы далеко от игрока!");
    //if(playerid == playerid) return SendClientMessage(playerid,COLOR_RED, "Вы можете уволить только гос.служащих!");
    /*if(PI[id][pLeader] > 0 ) return SendClientMessage(playerid,COLOR_RED, "Вы не можете уволить лидера");*/
    if(IsACop(id))
    {
        if(IsPlayerAttachedObjectSlotUsed(id, 8))RemovePlayerAttachedObject(id, 7);
    }
    PI[id][pMember] = 0;
    PI[id][pDCTime]=0;
    SendClientMessage(id,COLOR_WHITE,">> {FF6347} Местом спавна автоматически назначен ЖД Вокзал. Изменить место спавна >> /setspawn!");
    PI[id][pRank] = 0;
    UpdatePlayerData(id, "Rank", PI[id][pRank]);
    pSportZal[id]=0;
    TeamDuty[id] = false;
    format(string,sizeof(string),"{FFFFFF}%s выгнал вас из организации.\nПричина: %s",GetName(playerid), reason);
    SendClientMessage(id,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Вы выгнали %s. Причина: %s",GetName(id), reason);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    //format(string,sizeof(string),"[D]%s[%d] Уволил %s, Причина: %s",GetName(playerid),playerid,GetName(id), reason);
    SetPlayerColor(id,0xFDFCFC15);
    ResetPlayerWeaponsAC(id);
    SetPlayerArmour(id, 0);
    return true;
}

 

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

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

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


Ссылка на сообщение
  • 0
Sleash
Завсегдатый

@Caracal2222 

Извиняюсь, забыл в полной команде изменить проверку на нормальную:

Спойлер

CMD:demoute(playerid, params[])
{
    if(PI[playerid][pMember] != TEAM_FBI && PI[playerid][pMember] != TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");
    if(PI[playerid][pRank] < 3) return SendClientMessage(playerid,COLOR_RED, "Ваш ранг слишком мал");
    //if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED, "Отказано в доступе! (Доступно только лидеру)");
    new id,string[145],reason[75];
    if(sscanf(params,"us[100]",id,reason)) return SendClientMessage(playerid,COLOR_RED, "Используйте: /demoute [id] [причина]");
    if(!IsPlayerConnected(id) ||  PlayerLogged[id]) return false;
    if(!ProxDetectorS(5.0, playerid, 1)) return SendClientMessage(playerid,COLOR_RED, "Вы далеко от игрока!");
    //if(playerid == playerid) return SendClientMessage(playerid,COLOR_RED, "Вы можете уволить только гос.служащих!");
    /*if(PI[id][pLeader] > 0 ) return SendClientMessage(playerid,COLOR_RED, "Вы не можете уволить лидера");*/
    if(IsACop(id))
    {
        if(IsPlayerAttachedObjectSlotUsed(id, 8))RemovePlayerAttachedObject(id, 7);
    }
    PI[id][pMember] = 0;
    PI[id][pDCTime]=0;
    SendClientMessage(id,COLOR_WHITE,">> {FF6347} Местом спавна автоматически назначен ЖД Вокзал. Изменить место спавна >> /setspawn!");
    PI[id][pRank] = 0;
    UpdatePlayerData(id, "Rank", PI[id][pRank]);
    pSportZal[id]=0;
    TeamDuty[id] = false;
    format(string,sizeof(string),"{FFFFFF}%s выгнал вас из организации.\nПричина: %s",GetName(playerid), reason);
    SendClientMessage(id,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Вы выгнали %s. Причина: %s",GetName(id), reason);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    //format(string,sizeof(string),"[D]%s[%d] Уволил %s, Причина: %s",GetName(playerid),playerid,GetName(id), reason);
    SetPlayerColor(id,0xFDFCFC15);
    ResetPlayerWeaponsAC(id);
    SetPlayerArmour(id, 0);
    return true;
}

 

 

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

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Sleash Ну я тоже взял первую строку ранее что кидали     if(PI[playerid][pMember] != TEAM_FBI && PI[playerid][pMember] != TEAM_MERIA) return , стал выдавать что вы далеко от игрока, попытался себя уволить 

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Sleash Вообщем-то ничего там не вышло, при попытке себя или другого игрока уволить просто ничего не происходит, ни текста ничего, при этом выдается текст Для ввода напишите /demoute id ,когда пишу /demoute

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

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee Выше указан. Я вставил тот что Слеаш выслал, от его редакции 

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

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Caracal2222 @Caracal2222, хорошо, пойдем по порядку.

if(sscanf(params,"us[100]",id,reason)) return SendClientMessage(playerid,COLOR_RED, "Используйте: /demoute [id] [причина]");

Спецификатор u предполагает проверку на то, подключен ли указанный игрок, и возвращает либо ID этого игрока, либо INVALID_PLAYER_ID (65535). Соответственно, проверять, подключен ли игрок id через функцию IsPlayerConnected, не имеет никакого смысла. Поэтому следующую строку:

if(!IsPlayerConnected(id) ||  PlayerLogged[id]) return false;

Заменяем на эту:

if(id == INVALID_PLAYER_ID ||  PlayerLogged[id]) return false;

Далее. Сейчас эта строка звучит так: если ID игрока эквивалентно значению константы INVALID_PLAYER_ID (65535) или в ячейке с номером id переменной PlayerLogged записано число, отличное от нуля, значит выйти нужно выйти из данной функции. Вы действительно храните в массиве PlayerLogged значения 1 в ячейках, имеющих порядковые номера, эквивалентные идентификаторам тех игроков, что не подключены к серверу? Полагаю, наоборот, поэтому условие должно выглядеть так:

if(!IsPlayerConnected(id) || !PlayerLogged[id]) return false;

 

В этом сообщении у @Sleash все было сделано как нужно. Вы уверены, что этот вариант нерабочий?

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee Ну я ведь проверяю. Ввел команду /demoute, выдало сообщение "Используйте: /demoute [id] [причина]", снова набрал /demoute 0 (айди к примеру), в итоге мне ничего не выдало, ни какого сообщения, ни действия. Даже с ноута зашел выдал себе лидерку дпс, и ничего не произошло 

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

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Caracal2222, тогда пробуйте выводить диагностические сообщения. Могу лишь предположить, что в PlayerLogged хранится мусор, других идей у меня нет.

 

Спойлер

CMD:demoute(playerid, params[])
{
    if(PI[playerid][pMember] != TEAM_FBI && PI[playerid][pMember] != TEAM_MERIA) return SendClientMessage(playerid,COLOR_RED, "Доступно только ФСБ и Правительству!");
    if(PI[playerid][pRank] < 3) return SendClientMessage(playerid,COLOR_RED, "Ваш ранг слишком мал");
    //if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_RED, "Отказано в доступе! (Доступно только лидеру)");
    new id,string[145],reason[75];
    if(sscanf(params,"us[100]",id,reason)) return SendClientMessage(playerid,COLOR_RED, "Используйте: /demoute [id] [причина]");
    if(id == INVALID_PLAYER_ID) {
        return SendClientMessage(playerid, -1, "Игрок не подключен") & 0;
    }
    if (!PlayerLogged[id]) {
        return SendClientMessage(playerid, -1, "Игрок не прошел аутентификацию") & 0;
    }
    if(!ProxDetectorS(5.0, playerid, 1)) return SendClientMessage(playerid,COLOR_RED, "Вы далеко от игрока!");
    //if(playerid == playerid) return SendClientMessage(playerid,COLOR_RED, "Вы можете уволить только гос.служащих!");
    /*if(PI[id][pLeader] > 0 ) return SendClientMessage(playerid,COLOR_RED, "Вы не можете уволить лидера");*/
    if(IsACop(id))
    {
        if(IsPlayerAttachedObjectSlotUsed(id, 8))RemovePlayerAttachedObject(id, 7);
    }
    PI[id][pMember] = 0;
    PI[id][pDCTime]=0;
    SendClientMessage(id,COLOR_WHITE,">> {FF6347} Местом спавна автоматически назначен ЖД Вокзал. Изменить место спавна >> /setspawn!");
    PI[id][pRank] = 0;
    UpdatePlayerData(id, "Rank", PI[id][pRank]);
    pSportZal[id]=0;
    TeamDuty[id] = false;
    format(string,sizeof(string),"{FFFFFF}%s выгнал вас из организации.\nПричина: %s",GetName(playerid), reason);
    SendClientMessage(id,COLOR_LIGHTBLUE,string);
    format(string,sizeof(string),"Вы выгнали %s. Причина: %s",GetName(id), reason);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    //format(string,sizeof(string),"[D]%s[%d] Уволил %s, Причина: %s",GetName(playerid),playerid,GetName(id), reason);
    SetPlayerColor(id,0xFDFCFC15);
    ResetPlayerWeaponsAC(id);
    SetPlayerArmour(id, 0);
    return true;
}

 

 

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee Вставил тот нижний ваш код. В итоге вышло так: я от лица фсб прописал комнаду и на моем ноуте где я дпс, высветило что вас сняли с фракции, при этом костюм фракции остался

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Caracal2222, а почему одежда должна была измениться, если это не заложено в логике данной команды?

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Caracal2222 Выходит так, что о снятии пишется на второй ак который снимают с должности, при этом пишется в командах что не является во фракции, хотя прописав setlesder выдает что сняли с фракции но уже полностью 

Спойлер

IMG20230617173546.jpgIMG20230617173559.jpgIMG20230617173542.jpg

 

@Caracal2222 Выходит ак, буд-то бы его и сняли, но пишется от лица того кого снимают, тип я снял себя же, видно на фото что текст выдался Вы сняли Димас, хотя писал от лица другого где я в фсб, также так выходит что это просто снятие или смена текста, на деле игрок остается в дпс, пока его через setleader не снимут 

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

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

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

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee setleader ?

@Cawfee 

 

Спойлер

cmd:setleader(playerid, params[])
{
    if(GetPVarInt(playerid, "IsAFullDostup"))
    {
        if(PI[playerid][pAdmin] < 11) return 1;
        else if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        else if(g_cmd[playerid][cmdsetleader] == 0) return SendClientMessage(playerid, COLOR_LIGHTRED, "Ó âàñ íåò äîñòóïà ê äàííîé êîìàíäå!(/admdonate)");
        else if(sscanf(params, "u", params[0])) return SendClientMessage(playerid, COLOR_WHITE, ""cPS"{9ACD32}Ââåäèòå: {FFFFFF} /setleader [id èãðîêà]");
        else if(!IsPlayerConnected(params[0])) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
        else if(PlayerLogged[params[0]] == false) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
        else if(IsPlayerInAnyVehicle(params[0])) return SendClientMessage(playerid, COLOR_GREY, "Èãðîê íå äîëæåí íàõîäèòüñÿ â òðàíñïîðòå!");
        else if((PI[params[0]][pAdmin] >= 1 && PI[params[0]][pAdmin] <= 10) && PI[playerid][pAdmin] != 11) return SendClientMessage(playerid, COLOR_GREY, "Àäìèíèñòðàòîðà íåëüçÿ ñòàâèòü íà ïîñò ëèäåðà!");
        else if(PI[params[0]][pTempLeader]) return SendClientMessage(playerid, COLOR_GREY, "Ñíà÷àëà ñíèìèòå ñ ñåáÿ ïðàâà âðåìåííîãî ñîñòîÿíèå â îðãàíèçàöèè!");
        if(PI[params[0]][pLeader])
        {
            LeaveFractionPlayer(params[0]);
            PI[params[0]][pLWarn] = 0;
            SendMes(playerid, COLOR_BLUE, "Âû ñíÿëè %s ñ äîëæíîñòè ëèäåðà îðãàíèçàöèè",GetName(params[0]));
            SendMes(params[0], COLOR_BLUE, "Àäìèíèñòðàòîð %s ñíÿë âàñ ñ äîëæíîñòè ëèäåðà îðãàíèçàöèè", GetName(playerid));
        }
        else
        {
            if(PI[params[0]][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Èãðîê ëèäåð äðóãîé îðãàíèçàöèè!");
            if(PI[params[0]][pMember] > 0) return SendClientMessage(playerid, COLOR_GREY, "Èãðîê íàõîäèòüñÿ â äðóãîé îðãàíèçàöèè!");
            new str[90], str2[600];
            for(new i = 1; i < MAX_FRACTIONS; i++)
            {
                format(str, sizeof(str), "¹%i - %s\n", i, Fraction_Name[i]);
                strcat(str2, str);
            }
            SetPVarInt(playerid, "actplayerid", params[0]);
            ShowPlayerDialog(playerid, D_FRACMENU, 2, "{"#cSV"}Îðãàíèçàöèè", str2, "Ïðèíÿòü", "Îòìåíà");
        }
    }
    return 1;
}

 

 

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

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Caracal2222, нужен фрагмент кода, где игроку именно присваиваются полномочия. Здесь лишь идет отображение диалога со списком организаций.

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee Что именно поискать ? Какую команду или слово на какое опираться в поиске. Чтобы найти присвоение именно прав 

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


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Caracal2222, по цепочке диалогов идите. Здесь, например, формируется диалог с идентификатором D_FRACMENU. Смотрите, что в нем происходит. Если там нет выдачи прав, идите дальше к следующему диалогу (или функции).

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


Ссылка на сообщение
  • 0
Caracal2222
Свой человек

@Cawfee Что-то такое нашел 

 

Спойлер

    case D_INVITEFRAC:
        {
            if(!response)
            {
                DeletePVar(playerid, "offerplayer");
                DeletePVar(playerid, "offerfractionid");
                return 1;
            }
            new fractionid = GetPVarInt(playerid, "offerfractionid");
            new offer = GetPVarInt(playerid, "offerplayer");
            new mes[128];
            for(new i; i < 8; i++)
            {
                new skinid = Fraction_Skin[fractionid][i];
                if(!skinid) break;
                if(!i) format(mes, sizeof(mes), "Скин %d [%d]", i+1, skinid);
                else format(mes, sizeof(mes), "%s\nСкин %d [%d]", mes, i+1, skinid);
            }
            SendClientMessage(playerid, COLOR_BLUE, "Ждите, пока лидер выберет одежду для Вас");
            ShowPlayerDialog(offer, D_INVITESKIN, 2, "{"#cSV"}Выбор скина", mes, "Принять", "");
        }
    case D_INVITESKIN:
        {
            if(!response) return 1;
            new actplayerid = GetPVarInt(playerid, "actplayerid");
            new fractionid = GetPVarInt(actplayerid, "offerfractionid");
            new skinid = Fraction_Skin[fractionid][listitem];
            SendMes(actplayerid, COLOR_BLUE, "Вы присоединились к организации \"%s\"", Fraction_Name[fractionid]);
            SendMes(playerid, COLOR_BLUE, "%s принял предложение присоединиться к \"%s\"", GetName(actplayerid), Fraction_Name[fractionid]);
            PI[actplayerid][pMember] = fractionid;
            PI[actplayerid][pRank] = 1;
            PI[actplayerid][pMemberSkin] = skinid;
            SetPlayerSkin(actplayerid, skinid);
            PI[actplayerid][pJob] = 0;
            SetPlayerColorEx(actplayerid, TeamColors[GetTeamID(actplayerid)]);
            ResetPlayerWeaponsAC(actplayerid);
            PI[playerid][pLeaderStat][LEADER_INVITE] ++;
        }
    case D_WEATHER:
        {
            if(!response) return 1;
            SetWeather(listitem+1);
            SendClientMessage(playerid, COLOR_LIME, "Погода установлена");
        }
    case D_FRACMENU:
        {
            if(!response) return DeletePVar(playerid, "actplayerid");
            SetPVarInt(playerid, "actfraction", listitem+1);
            new fractionid = GetPVarInt(playerid, "actfraction");
            if(fractionid >= 13 && fractionid <= 14)
            {
                DeletePVar(playerid, "actplayerid");
                DeletePVar(playerid, "actfraction");
                return 1;
            }
            new mes[128];
            for(new i; i < 8; i++)
            {
                new skinid = Fraction_Skin[fractionid][i];
                if(!skinid) break;
                if(!i) format(mes, sizeof(mes), "Скин %d [%d]", i+1, skinid);
                else format(mes, sizeof(mes), "%s\nСкин %d [%d]", mes, i+1, skinid);
            }
            ShowPlayerDialog(playerid, D_LEADERSKIN, 2, "{"#cSV"}Выбор скина", mes, "Принять", "Отмена");
        }
    case D_LEADERSKIN:
        {
            if(!response)
            {
                DeletePVar(playerid, "actplayerid");
                DeletePVar(playerid, "actfraction");
                return 1;
            }
            new actplayerid = GetPVarInt(playerid, "actplayerid");
            new fractionid = GetPVarInt(playerid, "actfraction");
            new skinid = Fraction_Skin[fractionid][listitem];
            if(!IsPlayerConnected(actplayerid)) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
            else if(!PlayerLogged[actplayerid]) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
            switch(fractionid)
            {
            case TEAM_ARMIYA,TEAM_POLICIA,TEAM_POLICIA2,TEAM_SWAT: PI[actplayerid][pRank] = 10;
            case TEAM_FBI: PI[actplayerid][pRank] = 10;
            case TEAM_MERIA,TEAM_VDV,TEAM_FSIN,TEAM_BOLNICA,TEAM_SFHOSPITAL,TEAM_LVHOSPITAL,TEAM_GROOVE..TEAM_HITMAN,TEAM_OPG1..TEAM_YAK,TEAM_SMI,TEAM_SFNEWS,TEAM_LVNEWS: PI[actplayerid][pRank] = 10;
            case TEAM_AUTOSCHOOL: PI[actplayerid][pRank] = 8;
            }
            PI[actplayerid][pLeader] = PI[actplayerid][pMember] = fractionid;
            PI[actplayerid][pJob] = 0;
            PI[actplayerid][pSpawnChange] = 2;
            PI[actplayerid][pMemberSkin] = skinid;
            SetPlayerSkin(actplayerid, PI[actplayerid][pMemberSkin]);
            new string[128];
            format(string, sizeof(string), "Вы назначили %s лидером организации: %s", GetName(actplayerid), Fraction_Name[fractionid]);
            SendClientMessage(playerid, COLOR_LIME, string);
            format(string, sizeof(string), "Администратор %s назначил Вас лидером организации: %s", GetName(playerid), Fraction_Name[fractionid]);
            SendClientMessage(actplayerid, COLOR_BLUE, string);
            format(string, sizeof(string), ""aAC"%s назначил %s лидером организации \"%s\"", GetName(playerid), GetName(actplayerid), Fraction_Name[fractionid]);
            SendAdminMessage(COLOR_GREY, string);
            //AddLog(string, 46);
            ResetPlayerWeaponsAC(actplayerid);
            SetPlayerColorEx(actplayerid, TeamColors[GetTeamID(actplayerid)]);
            DeletePVar(playerid, "actplayerid");
            DeletePVar(playerid, "actfraction");
        }
    case D_TEMPLEADER:
        {
            if(!response) return 1;
            new fractionid = listitem+1;
            switch(fractionid)
            {
            case TEAM_ARMIYA,TEAM_POLICIA,TEAM_POLICIA2,TEAM_SWAT: PI[playerid][pRank] = 1;
            case TEAM_FBI: PI[playerid][pRank] = 1;
            case TEAM_MERIA,TEAM_VDV,TEAM_FSIN,TEAM_BOLNICA,TEAM_SFHOSPITAL,TEAM_LVHOSPITAL,TEAM_GROOVE..TEAM_HITMAN,TEAM_OPG1..TEAM_YAK,TEAM_SMI,TEAM_SFNEWS,TEAM_LVNEWS: PI[playerid][pRank] = 1;
            case TEAM_AUTOSCHOOL: PI[playerid][pRank] = 1;
            case 13,14: return 1;
            }
            PI[playerid][pTempLeader] = PI[playerid][pMember] = fractionid;
            PI[playerid][pJob] = 0;
            PI[playerid][pMemberSkin] = GetPlayerSkin(playerid);
            PI[playerid][pSpawnChange] = 2;
            new string[128];
            format(string, sizeof(string), "Вы тихо вступили в организации: %s", Fraction_Name[fractionid]);
            SendClientMessage(playerid, COLOR_LIME, string);
            format(string, sizeof(string), ""aAC"%s тихо вступил в организацию \"%s\"", GetName(playerid), Fraction_Name[fractionid]);
            SendAdminMessage(COLOR_GREY, string);
            //AddLog(string, 50);
            ResetPlayerWeaponsAC(playerid);
            SetPlayerColorEx(playerid, TeamColors[GetTeamID(playerid)]);
        }
    case D_FRACMENU+1:
        {
            new targetid = GetPVarInt(playerid, "PlayerRank");
            if(!response) { DeletePVar(playerid, "PlayerRank"); return 1; }
            if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
            if(PlayerLogged[targetid] == false) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
            if(PI[targetid][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
            if(PI[targetid][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");
            if(PI[targetid][pMember] != PI[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Игрок находиться в другой организации!");
            if(PI[targetid][pRank] == PI[playerid][pRank]) return SendClientMessage(playerid, COLOR_GREY, ""cER"Заму нельзя назчначить ранг!");
            DeletePVar(playerid, "PlayerRank");
            PI[targetid][pRank] = listitem+1;
            SendMes(targetid,COLOR_BLUE,"%s %s повысил/понизил ваш ранг. Сейчас вы: %s",Fraction_Rang[PI[playerid][pMember]][PI[playerid][pRank]], GetName(playerid),Fraction_Rang[PI[targetid][pMember]][PI[targetid][pRank]]);
            SendMes(playerid,COLOR_BLUE,"Вы повысили/понизили ранг %s. Сейчас он/она: %s",GetName(targetid), Fraction_Rang[PI[targetid][pMember]][PI[targetid][pRank]]);
            PI[playerid][pLeaderStat][LEADER_RANK] ++;
        }
    case D_FRACMENU+2:
        {
            new targetid = GetPVarInt(playerid, "PlayerRank");
            if(!response) { DeletePVar(playerid, "PlayerRank"); return 1; }
            if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotOnline);
            if(PlayerLogged[targetid] == false) return SendClientMessage(playerid, COLOR_GREY, PlayerIsNotAuthorized);
            if(PI[targetid][pMember] == 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок не находиться в организации!");
            if(PI[targetid][pLeader] > 0) return SendClientMessage(playerid, COLOR_GREY, "Игрок лидер другой организации!");
            DeletePVar(playerid, "PlayerRank");
            PI[targetid][pRank] = listitem+1;
            SendMes(targetid,COLOR_BLUE,"Администратор %s повысил/понизил ваш ранг. Сейчас вы: %s",GetName(playerid),Fraction_Rang[PI[targetid][pMember]][PI[targetid][pRank]]);
            SendMes(playerid,COLOR_LIME,"Вы повысили/понизили ранг %s. Сейчас он/она: %s",GetName(targetid), Fraction_Rang[PI[targetid][pMember]][PI[targetid][pRank]]);
        }
    case D_FRACMENU+7:
        {
            if(!response) return 1;
            switch(listitem)
            {
            case 0: callcmd::find(playerid);
            case 1:
                {
                    format(global_string, sizeof(global_string), "SELECT `name`,`datavhod`,`rank`  FROM "T_ACCOUNTS" WHERE member = '%i' AND online = '1001'", PI[playerid][pMember]);
                    mysql_tquery(dbHandle, global_string, "OfflineMembersOnFraction", "i", playerid);
                }
            case 2: ShowPlayerDialog(playerid, D_LPANEL, DIALOG_STYLE_INPUT, "{"#cSV"}Уволить игрока", "{FFFFFF}Введите ник игрока, которого Вы хотите уволить:", "Далее", "Отмена");
            case 3:
                {
                    new st[10], st1[10], st2[10];
                    global_string = "";
                    switch(PI[playerid][pLeader])
                    {
                    case 1:
                        {
                            switch(LP0[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP0[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP0[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    case 2:
                        {
                            switch(LP1[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP1[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP1[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    case 3:
                        {
                            switch(LP2[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP2[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP2[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    case 5:
                        {
                            switch(LP3[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP3[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP3[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    case 6://АШ
                        {
                            switch(LP4[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP4[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP4[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    case 18://СМИ
                        {
                            switch(LP5[0])
                            {
                            case 0: st = "{FF0000}-";
                            case 1: st = "{63BD4E}+";
                            }
                            switch(LP5[2])
                            {
                            case 0: st1 = "{63BD4E}+";
                            case 1: st1 = "{FF0000}-";
                            }
                            switch(LP5[3])
                            {
                            case 0: st2 = "{63BD4E}+";
                            case 1: st2 = "{FF0000}-";
                            }
                        }
                    default: SendClientMessage(playerid, COLOR_GREY, "Данное действие не доступно вашей организации");
                    }
                    format(global_string, 300, "\
                        1. Автом. набор в организацию\t%s\n\
                        2. Проверка на прописку\t\t+\n\
                        3. Проверка документов\t\t%s\n\
                        4. Проверка на скиллы\t\t%s\
                    ", st, st1, st2);
                    ShowPlayerDialog(playerid, D_FRACMENU+9, 2, "{"#cSV"}Выберите пункт", global_string, "Принять", "Отмена");
                }
            }
        }
    case D_FRACMENU+8:
        {
            if(!response) return 1;
            new actplayerid = GetPVarInt(playerid, "actplayerid");
            new fractionid = PI[actplayerid][pMember];
            new skinid = Fraction_Skin[fractionid][listitem];
            if(skinid == PI[actplayerid][pMemberSkin]) return 1;
            new mes[128];
            format(mes,sizeof(mes), "%s выдал Вам новую фракционную одежду", GetName(playerid));
            SendClientMessage(actplayerid, COLOR_BLUE, mes);
            format(mes,sizeof(mes), "%s получил новую фракционную одежду", GetName(actplayerid));
            SendClientMessage(playerid, COLOR_BLUE, mes);
            PI[actplayerid][pMemberSkin] = skinid;
            SetPlayerSkin(actplayerid, skinid);
            DeletePVar(playerid, "actplayerid");
        }
    case D_FRACMENU+9:
        {
            if(!response) return 1;
            {
                switch(listitem)
                {
                case 0:
                    {
                        switch(PI[playerid][pLeader])
                        {
                        case 1://ПРАВО
                            {
                                if(LP0[0] == 0) { LP0[0] = 1; }
                                else { LP0[0] = 0; }
                                format(lp0, sizeof(lp0),"%i, %i, %i, %i, %i, %i", LP0[0], LP0[1], LP0[2], LP0[3], LP0[4], LP0[5]);
                                MysqlUpdateOtherStr("lp0", lp0);
                            }
                        case 2://ДПС
                            {
                                if(LP1[0] == 0) { LP1[0] = 1; }
                                else { LP1[0] = 0; }
                                format(lp1, sizeof(lp1),"%i, %i, %i, %i, %i, %i", LP1[0], LP1[1], LP1[2], LP1[3], LP1[4], LP1[5]);
                                MysqlUpdateOtherStr("lp1", lp1);
                            }
                        case 3://ППС
                            {
                                if(LP2[0] == 0) { LP2[0] = 1; }
                                else { LP2[0] = 0; }
                                format(lp2, sizeof(lp2),"%i, %i, %i, %i, %i, %i", LP2[0], LP2[1], LP2[2], LP2[3], LP2[4], LP2[5]);
                                MysqlUpdateOtherStr("lp2", lp2);
                            }
                        case 5://Болька
                            {
                                if(LP3[0] == 0) { LP3[0] = 1; }
                                else { LP3[0] = 0; }
                                format(lp3, sizeof(lp3),"%i, %i, %i, %i, %i, %i", LP3[0], LP3[1], LP3[2], LP3[3], LP3[4], LP3[5]);
                                MysqlUpdateOtherStr("lp3", lp3);
                            }
                        case 6://аш
                            {
                                if(LP4[0] == 0) { LP4[0] = 1; }
                                else { LP4[0] = 0; }
                                format(lp4, sizeof(lp4),"%i, %i, %i, %i, %i, %i", LP4[0], LP4[1], LP4[2], LP4[3], LP4[4], LP4[5]);
                                MysqlUpdateOtherStr("lp4", lp4);
                            }
                        case 18://СМИ
                            {
                                if(LP5[0] == 0) { LP5[0] = 1; }
                                else { LP5[0] = 0; }
                                format(lp5, sizeof(lp5),"%i, %i, %i, %i, %i, %i", LP5[0], LP5[1], LP5[2], LP5[3], LP5[4], LP5[5]);
                                MysqlUpdateOtherStr("lp5", lp5);
                            }
                        }
                    }
                case 1:
                    {
                        ShowPlayerDialog(playerid, D_LPANEL+2, 1, "{"#cSV"}Панель", "\
                        {FFFFFF}Введите уровень вступление в организацию\n\n\
                        {FFFF00}Примечание:\n\
                        {FFFFFF}Значение может быть от 1 до 5", "Принять", "Отмена");
                    }
                case 2:
                    {
                        switch(PI[playerid][pLeader])
                        {
                        case 1://ПРАВО
                            {
                                if(LP0[2] == 0) { LP0[2] = 1; }
                                else { LP0[2] = 0; }
                                format(lp0, sizeof(lp0),"%i, %i, %i, %i, %i, %i", LP0[0], LP0[1], LP0[2], LP0[3], LP0[4], LP0[5]);
                                MysqlUpdateOtherStr("lp0", lp0);
                            }
                        case 2://ДПС
                            {
                                if(LP1[2] == 0) { LP1[2] = 1; }
                                else { LP1[2] = 0; }
                                format(lp1, sizeof(lp1),"%i, %i, %i, %i, %i, %i", LP1[0], LP1[1], LP1[2], LP1[3], LP1[4], LP1[5]);
                                MysqlUpdateOtherStr("lp1", lp1);
                            }
                        case 3://ППС
                            {
                                if(LP2[2] == 0) { LP2[2] = 1; }
                                else { LP2[2] = 0; }
                                format(lp2, sizeof(lp2),"%i, %i, %i, %i, %i, %i", LP2[0], LP2[1], LP2[2], LP2[3], LP2[4], LP2[5]);
                                MysqlUpdateOtherStr("lp2", lp2);
                            }
                        case 5://Болька
                            {
                                if(LP3[2] == 0) { LP3[2] = 1; }
                                else { LP3[2] = 0; }
                                format(lp3, sizeof(lp3),"%i, %i, %i, %i, %i, %i", LP3[0], LP3[1], LP3[2], LP3[3], LP3[4], LP3[5]);
                                MysqlUpdateOtherStr("lp3", lp3);
                            }
                        case 6://аш
                            {
                                if(LP4[2] == 0) { LP4[2] = 1; }
                                else { LP4[2] = 0; }
                                format(lp4, sizeof(lp4),"%i, %i, %i, %i, %i, %i", LP4[0], LP4[1], LP4[2], LP4[3], LP4[4], LP4[5]);
                                MysqlUpdateOtherStr("lp4", lp4);
                            }
                        case 18://СМИ
                            {
                                if(LP5[2] == 0) { LP5[2] = 1; }
                                else { LP5[2] = 0; }
                                format(lp5, sizeof(lp5),"%i, %i, %i, %i, %i, %i", LP5[0], LP5[1], LP5[2], LP5[3], LP5[4], LP5[5]);
                                MysqlUpdateOtherStr("lp5", lp5);
                            }
                        }
                    }
                case 3:
                    {
                        switch(PI[playerid][pLeader])
                        {
                        case 1://ПРАВО
                            {
                                if(LP0[3] == 0) { LP0[3] = 1; }
                                else { LP0[3] = 0; }
                                format(lp0, sizeof(lp0),"%i, %i, %i, %i, %i, %i", LP0[0], LP0[1], LP0[2], LP0[3], LP0[4], LP0[5]);
                                MysqlUpdateOtherStr("lp0", lp0);
                            }
                        case 2://ДПС
                            {
                                if(LP1[3] == 0) { LP1[3] = 1; }
                                else { LP1[3] = 0; }
                                format(lp1, sizeof(lp1),"%i, %i, %i, %i, %i, %i", LP1[0], LP1[1], LP1[2], LP1[3], LP1[4], LP1[5]);
                                MysqlUpdateOtherStr("lp1", lp1);
                            }
                        case 3://ППС
                            {
                                if(LP2[3] == 0) { LP2[3] = 1; }
                                else { LP2[3] = 0; }
                                format(lp2, sizeof(lp2),"%i, %i, %i, %i, %i, %i", LP2[0], LP2[1], LP2[2], LP2[3], LP2[4], LP2[5]);
                                MysqlUpdateOtherStr("lp2", lp2);
                            }
                        case 5://Болька
                            {
                                if(LP3[3] == 0) { LP3[3] = 1; }
                                else { LP3[3] = 0; }
                                format(lp3, sizeof(lp3),"%i, %i, %i, %i, %i, %i", LP3[0], LP3[1], LP3[2], LP3[3], LP3[4], LP3[5]);
                                MysqlUpdateOtherStr("lp3", lp3);
                            }
                        case 6://аш
                            {
                                if(LP4[3] == 0) { LP4[3] = 1; }
                                else { LP4[3] = 0; }
                                format(lp4, sizeof(lp4),"%i, %i, %i, %i, %i, %i", LP4[0], LP4[1], LP4[2], LP4[3], LP4[4], LP4[5]);
                                MysqlUpdateOtherStr("lp4", lp4);
                            }
                        case 18://СМИ
                            {
                                if(LP5[3] == 0) { LP5[3] = 1; }
                                else { LP5[3] = 0; }
                                format(lp5, sizeof(lp5),"%i, %i, %i, %i, %i, %i", LP5[0], LP5[1], LP5[2], LP5[3], LP5[4], LP5[5]);
                                MysqlUpdateOtherStr("lp5", lp5);

 

 

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

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


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

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

    • patrickk
      От patrickk
      Всем привет, решил написать dm сервер и довольно хорошим получился, даже на голову выше Goat dm. Оставил не решенную проблему тем что  у меня есть 4 локации с rp run и cj run ну а как добавить cj бег на те локации не знаю и как эта система работает. Надеюсь мне помогут знающие люди
    • Samolet
      От Samolet
      Здраствуйте, cоздаю копию Arizona на ОМП, опен мультиплеер, загрузил и подключил бд, но сервер не хочет вот лог :[2026-10-20T21:03:32+0300] [Info] Log file reloaded. Starting open.mp server (1.5.8.3079) from commit c6759bd8d265171ae3d86598895a23d5a8d92a3b Loading component $CAPI.so Successfully loaded component C-API (1.5.8.3079) with UID 10467dd8d4c56fc6 Loading component LegacyConfig.so Successfully loaded component LegacyConfig (1.5.8.3079) with UID 24ef6216838f9ffc Loading component NPCs.so Successfully loaded component NPCs (1.5.8.3079) with UID 3d0e59e87f4e90bc Loading component Recordings.so Successfully loaded component Recordings (1.5.8.3079) with UID 871144d399f5f613 Loading component Checkpoints.so Successfully loaded component Checkpoints (1.5.8.3079) with UID 44a937350d611dde Loading component TextDraws.so Successfully loaded component TextDraws (1.5.8.3079) with UID 9b5dc2b1d15c992a Loading component Pawn.so Successfully loaded component Pawn (1.5.8.3079) with UID 78906cd9f19c36a6 Loading component GangZones.so Successfully loaded component GangZones (1.5.8.3079) with UID b3351d11ee8d8056 Loading component Actors.so Successfully loaded component Actors (1.5.8.3079) with UID c81ca021eae2ad5c Loading component Pickups.so Successfully loaded component Pickups (1.5.8.3079) with UID cf304faa363dd971 Loading component Dialogs.so Successfully loaded component Dialogs (1.5.8.3079) with UID 44a111350d611dde Loading component Objects.so Successfully loaded component Objects (1.5.8.3079) with UID 59f8415f72da6160 Loading component Console.so Successfully loaded component Console (1.5.8.3079) with UID bfa24e49d0c95ee4 Loading component TextLabels.so Successfully loaded component TextLabels (1.5.8.3079) with UID a0c57ea80a009742 Loading component Variables.so Successfully loaded component Variables (1.5.8.3079) with UID 75e121848bc01fa2 Loading component Databases.so Successfully loaded component Databases (1.5.8.3079) with UID 80092e7eb5821a96 Loading component LegacyNetwork.so Successfully loaded component RakNetLegacyNetwork (1.5.8.3079) with UID ea9799fd79cf8442 Loading component CustomModels.so Successfully loaded component CustomModels (1.5.8.3079) with UID 15e3cb1e7c77ffff Loading component Menus.so Successfully loaded component Menus (1.5.8.3079) with UID 621e219eb97ee0b2 Loading component Vehicles.so Successfully loaded component Vehicles (1.5.8.3079) with UID 3f1f62ee9e22ab19 Loading component Classes.so Successfully loaded component Classes (1.5.8.3079) with UID 8cfb3183976da208 Loading component Timers.so Successfully loaded component Timers (1.5.8.3079) with UID 2ad8124c5ea257a3 Loaded 22 component(s) from /home/gs113492/components Executing Server Config... [2026-10-20T21:03:33+0300] [Info] Loading plugin: crashdetect.so [2026-10-20T21:03:33+0300] [Info] CrashDetect plugin 4.19 [2026-10-20T21:03:33+0300] [Info] Loading plugin: mapandreas.so [2026-10-20T21:03:33+0300] [Info] Loading plugin: streamer.so [2026-10-20T21:03:33+0300] [Info] *** Streamer Plugin v2.9.4 by Incognito loaded *** [2026-10-20T21:03:33+0300] [Info] Loading plugin: sscanf.so [2026-10-20T21:03:33+0300] [Info] [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] sscanf plugin loaded. [2026-10-20T21:03:33+0300] [Info] Version: 2.8.3 [2026-10-20T21:03:33+0300] [Info] (c) 2018 Alex "Y_Less" Cole [2026-10-20T21:03:33+0300] [Info] =============================== [2026-10-20T21:03:33+0300] [Info] Loading plugin: TOTP.so [2026-10-20T21:03:33+0300] [Info] TOTP plugin v1.0.1 by Games loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: mysql_static.so [2026-10-20T21:03:33+0300] [Info] >> plugin.mysql: R39-6 successfully loaded. [2026-10-20T21:03:33+0300] [Info] Loading plugin: libpawn_json.so [2026-10-20T21:03:34+0300] [Error] Function not registered: YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_RegAlias [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Reset [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_RegHandler [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_Delete [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_New [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_IgnoreBits [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_Init [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendRPC [2026-10-20T21:03:34+0300] [Error] Function not registered: PR_SendPacket [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_WriteValue [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Error] Function not registered: BS_ReadValue [2026-10-20T21:03:34+0300] [Error] Function not registered: PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] YSF_SetTickRate [2026-10-20T21:03:34+0300] [Error] File or function is not found [2026-10-20T21:03:34+0300] [Info] [debug] Run time error 19: "File or function is not found" [2026-10-20T21:03:34+0300] [Info] [debug] PC_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_ReadValue [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetNumberOfBytesUsed [2026-10-20T21:03:34+0300] [Info] [debug] BS_WriteValue [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendPacket [2026-10-20T21:03:34+0300] [Info] [debug] PR_SendRPC [2026-10-20T21:03:34+0300] [Info] [debug] PR_Init [2026-10-20T21:03:34+0300] [Info] [debug] BS_IgnoreBits [2026-10-20T21:03:34+0300] [Info] [debug] BS_SetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] BS_ResetReadPointer [2026-10-20T21:03:34+0300] [Info] [debug] BS_New [2026-10-20T21:03:34+0300] [Info] [debug] BS_Delete [2026-10-20T21:03:34+0300] [Info] [debug] PR_RegHandler [2026-10-20T21:03:34+0300] [Info] [debug] BS_Reset [2026-10-20T21:03:34+0300] [Info] [debug] BS_GetWriteOffset [2026-10-20T21:03:34+0300] [Info] [debug] PC_RegAlias [2026-10-20T21:03:34+0300] [Info] Legacy Network started on ***.**.**.***:2717. Помогите пожалуйста