Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

Нужна помощь по pawno.

Фев
37
333
Пользователь
Доброго времени суток, нуждаюсь в помощи. Если есть люди, которые шарят в pawno, нужна помощь. Короче, мод ART RP, там в донате есть строка "Уникальные аксессуары", когда на него нажмешь, открывается TextDraw менью, нужно переделать это на обычную менью (/mm например, там обычная менью), буду рад, если поможете, за ранее спасибо.

Если не ошибаюсь, строка текстдрав аксессуаров начинается с 1416 до 1443.
 

Вложения

  • art4.pwn
    3.1 MB · Просмотры: 4
Фев
37
333
Пользователь
то есть ,вам необходимо, изменить с TD на обычное диалоговое меню ?
Так точно, сам донат меню (/donate) обычная, но там есть строка "Уникальные аксессуары", где покупаешь аксессуары, там TD, нужно изменить с TD на обычное диалоговое меню. за ранее спасибо
 
Янв
120
20
Пользователь
Так точно, сам донат меню (/donate) обычная, но там есть строка "Уникальные аксессуары", где покупаешь аксессуары, там TD, нужно изменить с TD на обычное диалоговое меню. за ранее спасибо
тг ответь
 
Май
18
3
Пользователь
Чтобы заменить TextDraw-меню "Уникальные аксессуары" на обычное диалоговое меню (ShowPlayerDialog), нужно:


  1. Найти код TextDraw-меню в ART RP (между строками 1416 и 1443, если ты не ошибаешься).
  2. Отключить или удалить TextDraw при открытии "Уникальных аксессуаров".
  3. Добавить диалоговое меню (ShowPlayerDialog) в нужное место.



Как это сделать?


1. Найди код TextDraw'ов аксессуаров


Они создаются примерно так:


pawn
КопироватьРедактировать
TD_AccessoryMenu = TextDrawCreate(320.000000, 240.000000, "Уникальные аксессуары");
TextDrawBackgroundColor(TD_AccessoryMenu, 255);
TextDrawFont(TD_AccessoryMenu, 1);
TextDrawShowForPlayer(playerid, TD_AccessoryMenu);


Или через массивы:


pawn
КопироватьРедактировать
for(new i = 0; i < MAX_ACCESSORIES; i++)
{
TD_Accessory = TextDrawCreate(...);
TextDrawShowForPlayer(playerid, TD_Accessory);
}


Этот код нужно закомментировать или удалить.




2. Отключить старый вызов TextDraw-меню


В файле, где находится система доната, найди место, где вызывается TextDraw-меню:


pawn
КопироватьРедактировать
case 5: // "Уникальные аксессуары"
{
ShowAccessoryMenu(playerid);
}


Здесь, скорее всего, вызывается ShowAccessoryMenu(playerid).
Эту строку нужно заменить на код обычного меню.




3. Добавить обычное диалоговое меню (ShowPlayerDialog)


Вместо ShowAccessoryMenu(playerid); добавь такой код:


pawn
КопироватьРедактировать
ShowPlayerDialog(playerid, DIALOG_ACCESSORIES, DIALOG_STYLE_LIST, "Уникальные аксессуары",
"Шляпа\nОчки\nМаска\nЧасы\nПерчатки\nРюкзак",
"Выбрать", "Отмена");


⚡ Важно! Убедись, что DIALOG_ACCESSORIES не совпадает с другими ID диалогов в коде.




4. Обработать выбор игрока


В OnDialogResponse добавь обработку:


pawn
КопироватьРедактировать
case DIALOG_ACCESSORIES:
{
if(!response) return 1; // Если нажал "Отмена"

switch(listitem)
{
case 0: SendClientMessage(playerid, -1, "Вы выбрали: Шляпа");
case 1: SendClientMessage(playerid, -1, "Вы выбрали: Очки");
case 2: SendClientMessage(playerid, -1, "Вы выбрали: Маска");
case 3: SendClientMessage(playerid, -1, "Вы выбрали: Часы");
case 4: SendClientMessage(playerid, -1, "Вы выбрали: Перчатки");
case 5: SendClientMessage(playerid, -1, "Вы выбрали: Рюкзак");
}
}




Что получилось?


✅ Вместо TextDraw теперь открывается обычное меню /mm.
✅ Игрок может выбрать аксессуар в удобном интерфейсе.
✅ Ошибки, связанные с TextDraw, устранены.
 
Фев
37
333
Пользователь
Чтобы заменить TextDraw-меню "Уникальные аксессуары" на обычное диалоговое меню (ShowPlayerDialog), нужно:


  1. Найти код TextDraw-меню в ART RP (между строками 1416 и 1443, если ты не ошибаешься).
  2. Отключить или удалить TextDraw при открытии "Уникальных аксессуаров".
  3. Добавить диалоговое меню (ShowPlayerDialog) в нужное место.



Как это сделать?


1. Найди код TextDraw'ов аксессуаров


Они создаются примерно так:


pawn
КопироватьРедактировать
TD_AccessoryMenu = TextDrawCreate(320.000000, 240.000000, "Уникальные аксессуары");
TextDrawBackgroundColor(TD_AccessoryMenu, 255);
TextDrawFont(TD_AccessoryMenu, 1);
TextDrawShowForPlayer(playerid, TD_AccessoryMenu);


Или через массивы:


pawn
КопироватьРедактировать
for(new i = 0; i < MAX_ACCESSORIES; i++)
{
TD_Accessory = TextDrawCreate(...);
TextDrawShowForPlayer(playerid, TD_Accessory);
}


Этот код нужно закомментировать или удалить.







2. Отключить старый вызов TextDraw-меню


В файле, где находится система доната, найди место, где вызывается TextDraw-меню:


pawn
КопироватьРедактировать
case 5: // "Уникальные аксессуары"
{
ShowAccessoryMenu(playerid);
}


Здесь, скорее всего, вызывается ShowAccessoryMenu(playerid).
Эту строку нужно заменить на код обычного меню.







3. Добавить обычное диалоговое меню (ShowPlayerDialog)


Вместо ShowAccessoryMenu(playerid); добавь такой код:


pawn
КопироватьРедактировать
ShowPlayerDialog(playerid, DIALOG_ACCESSORIES, DIALOG_STYLE_LIST, "Уникальные аксессуары",
"Шляпа\nОчки\nМаска\nЧасы\nПерчатки\nРюкзак",
"Выбрать", "Отмена");


⚡ Важно! Убедись, что DIALOG_ACCESSORIES не совпадает с другими ID диалогов в коде.







4. Обработать выбор игрока


В OnDialogResponse добавь обработку:


pawn
КопироватьРедактировать
case DIALOG_ACCESSORIES:
{
if(!response) return 1; // Если нажал "Отмена"

switch(listitem)
{
case 0: SendClientMessage(playerid, -1, "Вы выбрали: Шляпа");
case 1: SendClientMessage(playerid, -1, "Вы выбрали: Очки");
case 2: SendClientMessage(playerid, -1, "Вы выбрали: Маска");
case 3: SendClientMessage(playerid, -1, "Вы выбрали: Часы");
case 4: SendClientMessage(playerid, -1, "Вы выбрали: Перчатки");
case 5: SendClientMessage(playerid, -1, "Вы выбрали: Рюкзак");
}
}







Что получилось?


✅ Вместо TextDraw теперь открывается обычное меню /mm.
✅ Игрок может выбрать аксессуар в удобном интерфейсе.
✅ Ошибки, связанные с TextDraw, устранены.
Не совсем подходит для моего мода, ИИ пишет неправильный код
 
𝚖𝚘𝚛𝚜 𝚌𝚎𝚛𝚝𝚊, 𝚑𝚘𝚛𝚊 𝚒𝚗𝚌𝚎𝚛𝚝𝚊.
Янв
1,557
3,430
Команда форума
Администратор
Чтобы заменить TextDraw-меню "Уникальные аксессуары" на обычное диалоговое меню (ShowPlayerDialog), нужно:


  1. Найти код TextDraw-меню в ART RP (между строками 1416 и 1443, если ты не ошибаешься).
  2. Отключить или удалить TextDraw при открытии "Уникальных аксессуаров".
  3. Добавить диалоговое меню (ShowPlayerDialog) в нужное место.



Как это сделать?


1. Найди код TextDraw'ов аксессуаров


Они создаются примерно так:


pawn
КопироватьРедактировать
TD_AccessoryMenu = TextDrawCreate(320.000000, 240.000000, "Уникальные аксессуары");
TextDrawBackgroundColor(TD_AccessoryMenu, 255);
TextDrawFont(TD_AccessoryMenu, 1);
TextDrawShowForPlayer(playerid, TD_AccessoryMenu);


Или через массивы:


pawn
КопироватьРедактировать
for(new i = 0; i < MAX_ACCESSORIES; i++)
{
TD_Accessory = TextDrawCreate(...);
TextDrawShowForPlayer(playerid, TD_Accessory);
}


Этот код нужно закомментировать или удалить.







2. Отключить старый вызов TextDraw-меню


В файле, где находится система доната, найди место, где вызывается TextDraw-меню:


pawn
КопироватьРедактировать
case 5: // "Уникальные аксессуары"
{
ShowAccessoryMenu(playerid);
}


Здесь, скорее всего, вызывается ShowAccessoryMenu(playerid).
Эту строку нужно заменить на код обычного меню.







3. Добавить обычное диалоговое меню (ShowPlayerDialog)


Вместо ShowAccessoryMenu(playerid); добавь такой код:


pawn
КопироватьРедактировать
ShowPlayerDialog(playerid, DIALOG_ACCESSORIES, DIALOG_STYLE_LIST, "Уникальные аксессуары",
"Шляпа\nОчки\nМаска\nЧасы\nПерчатки\nРюкзак",
"Выбрать", "Отмена");


⚡ Важно! Убедись, что DIALOG_ACCESSORIES не совпадает с другими ID диалогов в коде.







4. Обработать выбор игрока


В OnDialogResponse добавь обработку:


pawn
КопироватьРедактировать
case DIALOG_ACCESSORIES:
{
if(!response) return 1; // Если нажал "Отмена"

switch(listitem)
{
case 0: SendClientMessage(playerid, -1, "Вы выбрали: Шляпа");
case 1: SendClientMessage(playerid, -1, "Вы выбрали: Очки");
case 2: SendClientMessage(playerid, -1, "Вы выбрали: Маска");
case 3: SendClientMessage(playerid, -1, "Вы выбрали: Часы");
case 4: SendClientMessage(playerid, -1, "Вы выбрали: Перчатки");
case 5: SendClientMessage(playerid, -1, "Вы выбрали: Рюкзак");
}
}







Что получилось?


✅ Вместо TextDraw теперь открывается обычное меню /mm.
✅ Игрок может выбрать аксессуар в удобном интерфейсе.
✅ Ошибки, связанные с TextDraw, устранены.
OFFTOP

ТЫ ТОЧНО БЕЛЫЙ??????????

 
Сверху