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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
13 Июл 2024
Сообщения
19
привет всем, у меня появилась такая идея, сделать систему префиксов в диалоге. то есть дается выбор какую дать должность, чтобы в дальнейшем она использовалась у игрока везде.

что то вроде начеркал, но хочу сделать чтобы работало. вводишь /prefix [id], вылезает диалог с выбором должностей, а когда выбрал, она выдается игроку по айди.
Pawn:
CMD:prefix(playerid, params[])
{
    if(PlayerInfo[playerid][pAlcoInvenxua] < 7) return true;
    if(sscanf(params, "ds[32]", params[0])) return SCM(playerid,-1, !"{FFFFFF}Введите: /prefix [ID]");
    if(!IsPlayerConnected(params[0])) return SCM(playerid,-1, !"Игрок не найден");
    ShowPlayerDialog(playerid, 12471, DIALOG_STYLE_LIST, "Выдача должностей",
    "Главный Администратор\n\
    Зам. Гл. Администратора\n\
    Помощник ГА\n\
    Организатор МП\n\
    Главный Следящий",
    "Выдать", "Закрыть");
    new string[144], query[144];
    //sscanf(params[1], "s[32]", PlayerInfo[params[0]][pPrefix]);
    format(query, sizeof(query), "UPDATE `accounts` SET `pPrefix` = '%s' WHERE `pID` = '%d'", PlayerInfo[params[0]][pPrefix], PlayerInfo[params[0]][pID]);
    mysql_function_query(connects, query, false, "", "");
    format(string, sizeof(string), "[A] %s Назначил %s на должность: '%s'", PlayerInfo[playerid][pNames], PlayerInfo[params[0]][pNames], PlayerInfo[params[0]][pPrefix]);
    SendAdminMessage(COLOR_GREY, string);
    return true;
}
 
Пользователь
Регистрация
13 Июл 2024
Сообщения
19
@Chief_Selectrum, а зачем в проблемы/вопросы пишешь ? сделал систему, кидай в нужный раздел и жди критику если не работает
так ты прочитай нормально с начала. я написал "помогите сделать ПРАВИЛЬНО систему", потому что она не работает
 
Пользователь
Регистрация
21 Янв 2023
Сообщения
88
Пользователь
Регистрация
3 Авг 2024
Сообщения
85
Это немного другое думаю понадобится автор не я (DeimoS)

Ко всем new:


new Text3D:pame_text[MAX_PLAYERS] = {Text3D:-1, ...};
Ко всем командам:

CMD:pame(playerid, params[])
{
if(isnull(params))
return SendClientMessage(playerid, -1, "Введите: /pame [ описание ]");

if(pame_text[playerid] != Text3D:-1)
return SendClientMessage(playerid, -1, "У вас уже стоит описание. Для удаление используйте: /dellpame");

pame_text[playerid] = Create3DTextLabel(params, 0xFFFFFFDD, 0.0, 0.0, 12000.0, 3, 0, 1);
Attach3DTextLabelToPlayer(pame_text[playerid], playerid, 0.0, 0.0, -0.8);

new string[MAX_CHATBUBBLE_LENGTH+1];
format(string, sizeof(string), "Вы создали описание персонажа: %s", params);
SendClientMessage(playerid, -1, string);
return 1;
}


CMD:dellpame(playerid, params[])
{
if(pame_text[playerid] == Text3D:-1)
return SendClientMessage(playerid, -1, "Вы не создавали описание персонажа. Используйте: /pame [ описание ]"); // Проверка на то, создан ли у игрока описание или нет.

SendClientMessage(playerid, -1, "Вы удалили описание своего персонажа");
Delete3DTextLabel(pame_text[playerid]);
pame_text[playerid] = Text3D:-1;
return 1;
}


В OnPlayerDisconnect:


if(pame_text[playerid] != Text3D:-1)
{
Delete3DTextLabel(pame_text[playerid]);
pame_text[playerid] = Text3D:-1;
}
 
Пользователь
Регистрация
3 Авг 2024
Сообщения
85
Это немного другое думаю понадобится автор не я (DeimoS)

Ко всем new:


new Text3D:pame_text[MAX_PLAYERS] = {Text3D:-1, ...};
Ко всем командам:

CMD:pame(playerid, params[])
{
if(isnull(params))
return SendClientMessage(playerid, -1, "Введите: /pame [ описание ]");

if(pame_text[playerid] != Text3D:-1)
return SendClientMessage(playerid, -1, "У вас уже стоит описание. Для удаление используйте: /dellpame");

pame_text[playerid] = Create3DTextLabel(params, 0xFFFFFFDD, 0.0, 0.0, 12000.0, 3, 0, 1);
Attach3DTextLabelToPlayer(pame_text[playerid], playerid, 0.0, 0.0, -0.8);

new string[MAX_CHATBUBBLE_LENGTH+1];
format(string, sizeof(string), "Вы создали описание персонажа: %s", params);
SendClientMessage(playerid, -1, string);
return 1;
}


CMD:dellpame(playerid, params[])
{
if(pame_text[playerid] == Text3D:-1)
return SendClientMessage(playerid, -1, "Вы не создавали описание персонажа. Используйте: /pame [ описание ]"); // Проверка на то, создан ли у игрока описание или нет.

SendClientMessage(playerid, -1, "Вы удалили описание своего персонажа");
Delete3DTextLabel(pame_text[playerid]);
pame_text[playerid] = Text3D:-1;
return 1;
}


В OnPlayerDisconnect:


if(pame_text[playerid] != Text3D:-1)
{
Delete3DTextLabel(pame_text[playerid]);
pame_text[playerid] = Text3D:-1;
}
Работает хорошо у меня в моде есть только возможно не будет сохраняться
 
Сверху