Перейти к содержимому


Фотография

Нужна помощь по коду


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Sniker

Sniker

    Новичок

  • Пользователь
  • Pip
  • 4 сообщений

Отправлено 06 Июнь 2024 - 19:35

Не подскажите как сделать так, допустим есть 8 строк:
 

char sName[8][] = 
{
   "Саша",
   "Гена",
   "Вася",
   "Вова",
   "Юра",
   "Юля",
   "Оля",
   "Света"
};





Но нужно, чтобы выбралось четыре рандомные строки через цикл:

Action MyMenu(int client, int args)
{
    if (!client)
        return Plugin_Handled;

    Menu menu = new Menu(Menu_Handler);

    for ( int g = 0; g < 8; g++ )
    {
        menu.AddItem("name", "Тут нужно чтобы из sName[g] вывелось только 4 рандомные имена, а не все 8 строк. Типо: Гена, Вова, Оля и Света");
    }
    
    menu.Display(client, MENU_TIME_FOREVER);

    return Plugin_Handled;


#2 Pa4h

Pa4h

    Участник

  • Пользователь
  • PipPip
  • 81 сообщений

Отправлено 20 Июль 2024 - 13:47

Прикрепленный файл  1.png   23,6К   0 Количество загрузок:

#include <sourcemod>

public Plugin myinfo = 
{
	name = "11111111111111111111111111111", 
	author = "pa4H", 
	description = "", 
	version = "1.0", 
	url = "https://t.me/pa4H232"
}

public OnPluginStart()
{
	RegConsoleCmd("sm_test", debb, "");
}

char sName[8][] = 
{
	"Саша", 
	"Гена", 
	"Вася", 
	"Вова", 
	"Юра", 
	"Юля", 
	"Оля", 
	"Света"
};


stock Action debb(int client, int args) // DEBUG
{
	Menu menu = new Menu(Menu_Handler);
	int selected[8];
	int count = 0; // Счетчик выбранных элементов
	int index;
	while (count < 4) {
		index = GetRandomInt(0, 7); // Случайный индекс от 0 до 7
		
		// Если элемент еще не был выбран
		if (selected[index] == 0) {
			menu.AddItem("name", sName[index]);
			selected[index] = 1; // Отметить элемент как выбранный
			count++;
		}
	}	
	menu.Display(client, MENU_TIME_FOREVER);
	return Plugin_Handled;
}

public Menu_Handler(Handle panel, MenuAction action, client, option) {
	/*if (action == MenuAction_Select) { PrintToChat(client, "Номер выбранной опции: %d", option); }*/
}

  • CrazyMan это нравится


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных