Другое Команда /pame (описание персонажа)

#HunterScripts

Потрачен
Автор темы
15
8
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет всем юзерам Blast.hk!

Данная команда добавит создание описания своего персонажа. Хорошо подойдет для RP проектов.
Скрин что и как будет писать:
2SwV8U8.jpg

У всех будет все по разному, как игрок поставит, так у него и будет.

И так начнем!
Ко всем new приписываем:
C++:
new Text3D:pame_text[MAX_PLAYERS] = {Text3D:-1, ...};

Далее в команды мы вставляем:
C++:
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;
}
Так-же я вам советую сделать команду для удаления /pame администрацией, дабы туда не могли вставить рекламный текст.

После команд мы вставляем в OnPlayerDisconnect:
C++:
if(pame_text[playerid] != Text3D:-1)
{
    Delete3DTextLabel(pame_text[playerid]);
    pame_text[playerid] = Text3D:-1;
}


На этом все!
Если вы нашли недоработку, напишите мне в ЛС или отпишите в тему и желательно решение проблемы.

Автор: DeimoS
 
Последнее редактирование:
  • Нравится
Реакции: solodkov

Igoreshka

Известный
5
0
недоработка как минимум в том, что не сохраняется это все лишь во время игры.
 

Vlad_Gold

Новичок
9
0
Привет всем юзерам Blast.hk!

Данная команда добавит создание описания своего персонажа. Хорошо подойдет для RP проектов.
Скрин что и как будет писать:
2SwV8U8.jpg

У всех будет все по разному, как игрок поставит, так у него и будет.

И так начнем!
Ко всем new приписываем:
C++:
new Text3D:pame_text[MAX_PLAYERS] = {Text3D:-1, ...};

Далее в команды мы вставляем:
C++:
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;
}
Так-же я вам советую сделать команду для удаления /pame администрацией, дабы туда не могли вставить рекламный текст.

После команд мы вставляем в OnPlayerDisconnect:
C++:
if(pame_text[playerid] != Text3D:-1)
{
    Delete3DTextLabel(pame_text[playerid]);
    pame_text[playerid] = Text3D:-1;
}


На этом все!
Если вы нашли недоработку, напишите мне в ЛС или отпишите в тему и желательно решение проблемы.

Автор: DeimoS
Привет, не можешь подсказать как сделать чтоб админы могли удалить описание?
 

Rice.

Известный
Модератор
1,756
1,622
Привет, не можешь подсказать как сделать чтоб админы могли удалить описание?
C++:
CMD:adellpame(playerid, params[])
{
    // проверка на админ права
    if(pame_text[params[1]] == Text3D:-1)
        return SendClientMessage(playerid, -1, "[Ошибка] У игрока нету описания!"); // Проверка на то, создан ли у игрока описание или нет.
 
    SendClientMessage(playerid, -1, "Вы удалили описание игроку!");
    Delete3DTextLabel(pame_text[params[1]]);
    pame_text[params[1]] = Text3D:-1;
    return 1;
}

Использование:
/adellpame [id player]
 
  • Нравится
Реакции: AugustTN

Vlad_Gold

Новичок
9
0
C++:
CMD:adellpame(playerid, params[])
{
    // проверка на админ права
    if(pame_text[params[1]] == Text3D:-1)
        return SendClientMessage(playerid, -1, "[Ошибка] У игрока нету описания!"); // Проверка на то, создан ли у игрока описание или нет.
 
    SendClientMessage(playerid, -1, "Вы удалили описание игроку!");
    Delete3DTextLabel(pame_text[params[1]]);
    pame_text[params[1]] = Text3D:-1;
    return 1;
}

Использование:
/adellpame [id player]
Cпасибо огромное