Выдача такого же числа как и в Бд у playerid

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
14 Авг 2023
Сообщения
111
Как выдать такое же число игроку, какое у лидера в бд.
Типо лидер фракции под номером 1 приглашает к себе человека, как сделать чтобы он зашел в фракцию под номером 1, а не другим. И как сделать чтобы игрок которому кидают предложение вступить выбрал да или нет типо Y или N
Вот код набросал
Код:
CMD:invite(playerid, params[])
{
    if(player_info[playerid][LEADER] != 0)
    {
        if(sscanf(params, "d",params[0])) return SCM(playerid, COLOR_WHITE, "{6EF83C}[Подсказка]{C0C0C0} /invite [id]");
        if(!IsPlayerConnected(params[0])) return SCM(playerid, COLOR_GREY, "{FF0000}[Ошибка]{FFFFFF} Человек не найден!");
        {
       
        }
    }
    return 1;
}
 
Решение
Pawn:
CMD:invite(playerid, params[]) {
    if(player_info[playerid][LEADER] != 0) {
        if(sscanf(params, "d",params[0]))
            return SCM(playerid, COLOR_WHITE, "{6EF83C}[Подсказка]{C0C0C0} /invite [id]");
        if(!IsPlayerConnected(params[0]))
            return SCM(playerid, COLOR_GREY, "{FF0000}[Ошибка]{FFFFFF} Человек не найден!");
       
        SetPVarInt(params[0], "pvar_invite", player_info[playerid][MEMBER]);
        SetPVarInt(params[0], "pvar_leader_id", playerid);
       
        return SendClientMessage(params[0], -1, "Нажмите Y, чтобы согласиться; N, чтобы отказаться!");
    }
    return 1;
}


#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public...
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
865
Pawn:
player_info[params[0]][MEMBER] = player_info[playerid][MEMBER];
В кратце, переменную игрока приравнивай к переменной, в которой хранится ID фракции.
 
Пользователь
Регистрация
14 Авг 2023
Сообщения
111
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
865
Pawn:
CMD:invite(playerid, params[]) {
    if(player_info[playerid][LEADER] != 0) {
        if(sscanf(params, "d",params[0]))
            return SCM(playerid, COLOR_WHITE, "{6EF83C}[Подсказка]{C0C0C0} /invite [id]");
        if(!IsPlayerConnected(params[0]))
            return SCM(playerid, COLOR_GREY, "{FF0000}[Ошибка]{FFFFFF} Человек не найден!");
       
        SetPVarInt(params[0], "pvar_invite", player_info[playerid][MEMBER]);
        SetPVarInt(params[0], "pvar_leader_id", playerid);
       
        return SendClientMessage(params[0], -1, "Нажмите Y, чтобы согласиться; N, чтобы отказаться!");
    }
    return 1;
}


#define PRESSED(%0) \
    (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
    if(PRESSED(KEY_YES)) {
        if(GetPVarInt(playerid, "pvar_invite")) {
            new leader_id = GetPVarInt(playerid, "pvar_leader_id"),
                invite_fracid = GetPVarInt(playerid, "pvar_invite");
           
            player_info[playerid][MEMBER] = invite_fracid;
            SendClientMessage(leader_id, -1, "Игрок принял ваше приглашение во фракцию!");
           
            DeletePVar(playerid, "pvar_leader_id");
            DeletePVar(playerid, "pvar_invite");
           
            return SendClientMessage(playerid, -1, "Вы приняли приглашение!");
        }
    }
    if(PRESSED(KEY_NO)) {
        if(GetPVarInt(playerid, "pvar_invite")) {
            new leader_id = GetPVarInt(playerid, "pvar_leader_id"),
                invite_fracid = GetPVarInt(playerid, "pvar_invite");
           
            SendClientMessage(leader_id, -1, "Игрок отклонил ваше приглашение во фракцию!");
           
            DeletePVar(playerid, "pvar_leader_id");
            DeletePVar(playerid, "pvar_invite");

            return SendClientMessage(playerid, -1, "Вы отклонили приглашение!");
        }
    }
    return 1;
}
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
865
@usahydu, закинул форк к action-button с исправленной табуляцией и слегка упрощенным кодом.
К тому же, исправил кодировку у текста.
fork on git - *кликабельно*
 
Сверху