| 
 
 
	
		
		
			| Random |  |  |  | 
| pro-health | Дата: Суббота, 11.10.2014, 06:58:24 | Сообщение # 1 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Как использовать? 
 Код new String:sTextureList[][] = {   "effects/gunshipmuzzle.vmt",
 "effects/yellowflare.vmt",
 "effects/combineshield/comshieldwall.vmt",
 "effects/combine_binocoverlay.vmt",
 "effects/bluespark.vmt"
 };
 |  |  |  |  |  | 
| хвостег | Дата: Суббота, 11.10.2014, 12:26:35 | Сообщение # 2 |  |   
|  |  | Сообщений: 161 Репутация: 53 [ +/- ]
 |  | как-то так. sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]
 |  |  |  |  |  | 
| Sallcom | Дата: Суббота, 11.10.2014, 18:12:08 | Сообщение # 3 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Я уже писал об этом вот в этой теме: http://world-source.ru/forum/102-3707-23766-16-1412159822
 
 P.S. Прежде чем создавать новую тему, прочитайте внимательно другие, ибо список .vmt файлов явно скопирован из той темы.
 
 
 Сообщение отредактировал Sallcom - Суббота, 11.10.2014, 19:11:16 |  |  |  |  |  | 
| pro-health | Дата: Воскресенье, 12.10.2014, 06:26:23 | Сообщение # 4 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Sallcom, я знаю но как их применить рандомно?Добавлено (12.10.2014, 06:26:23)---------------------------------------------
 
 Цитата DispatchKeyValue(ent, "Material", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]); Не робит.
 |  |  |  |  |  | 
| king(rus) | Дата: Воскресенье, 12.10.2014, 08:16:21 | Сообщение # 5 |  |   
|  |  | Сообщений: 109 Репутация: 2 [ +/- ]
 |  | Цитата pro-health (  ) Sallcom, я знаю но как их применить рандомно? Добавлено (12.10.2014, 06:26:23)
 ---------------------------------------------
 Цитата
 DispatchKeyValue(ent, "Material", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]);
 
 Не робит.
 Конечно. Потому что ты не делаешь PrecacheModel для своих vmt файлов.
 |  |  |  |  |  | 
| Sallcom | Дата: Воскресенье, 12.10.2014, 15:06:47 | Сообщение # 6 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Цитата king(rus) (  ) Конечно. Потому что ты не делаешь PrecacheModel для своих vmt файлов.Ты не прав, потому что в той теме, человеку нужно было выбирать случайные текстуры из списка при создании объекта, а тут ему нужно было всего лишь вызвать случайную строку.
 
 Если так и не понял, как вызвать строку, то вот думаю на этом примере поймешь:
 
 Код  #include <sourcemod>
 
 new String:sTextureList[][] = {
 "effects/gunshipmuzzle.vmt",
 "effects/yellowflare.vmt",
 "effects/combineshield/comshieldwall.vmt",
 "effects/combine_binocoverlay.vmt",
 "effects/bluespark.vmt"
 };
 
 public OnMapStart(){
 PrintToChatAll("%s", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]);
 }
 
 
 Сообщение отредактировал Sallcom - Понедельник, 13.10.2014, 00:11:04 |  |  |  |  |  | 
| king(rus) | Дата: Воскресенье, 12.10.2014, 15:35:11 | Сообщение # 7 |  |   
|  |  | Сообщений: 109 Репутация: 2 [ +/- ]
 |  | PrintToChatAll("%s", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]); 
 Тут есть ошибка. Ну не ошибка, а незнание того, чего ты делаешь.
 GetRandomInt резервирует уже \O и -1 делать не нужно.
 
 И прекеш делать нужно!!!
 
 
 Сообщение отредактировал king(rus) - Воскресенье, 12.10.2014, 15:38:58 |  |  |  |  |  | 
| хвостег | Дата: Воскресенье, 12.10.2014, 21:33:22 | Сообщение # 8 |  |   
|  |  | Сообщений: 161 Репутация: 53 [ +/- ]
 |  | king(rus), ты сам понимаешь что чушь несешь? 
 Цитата king(rus) (  ) Тут есть ошибка. Ну не ошибка, а незнание того, чего ты делаешь. GetRandomInt резервирует уже \O и -1 делать не нужно.
 1 - Ошибок тут нет.
 2 - Что это за бред - GetRandomInt резервирует уже \O. GetRandomInt - возвращает целое число из диапазона! Ничего он не резервирует!
 3 - -1 делать не нужно. еще одна чушь. sizeof() - возвращает длину массива будь то строковый или числовой или строка(строка - массив байт),
 в этом примере 5 строк!!!!! считаем по порядку
 new String:sTextureList[][] = {
 "effects/gunshipmuzzle.vmt", 1
 "effects/yellowflare.vmt", 2
 "effects/combineshield/comshieldwall.vmt", 3
 "effects/combine_binocoverlay.vmt", 4
 "effects/bluespark.vmt" 5
 };
 
 sizeof(sTextureList) - вернет нам 5!
 
 возвращаемся к нашим баранам.
 
 индексирование в массиве начинается с НУЛЯ это значит что последний индекс 4
 отсюда следует выражение GetRandomInt(0, sizeof(sTextureList)-1) после выполнения мы получим целое число от 0 до 4 включительно!
 ВСЕ КОНЕЦ.
 
 
 Цитата king(rus) (  ) а незнание того, чего ты делаешь. вот если не знаешь, лучше не пиши вообще.
 |  |  |  |  |  | 
| «SeReGa»☆ | Дата: Воскресенье, 12.10.2014, 23:00:14 | Сообщение # 9 |  |   
|  |  | Сообщений: 395 Репутация: 37 [ +/- ]
 |  | Код GetRandomInt(0, sizeof(sTextureList)-1)ет для того чтоб в ручную не щитать, автоматом от 0 до последнего.
 
 Добавлено (12.10.2014, 23:00:14)
 ---------------------------------------------
 если не нравится подобное ,не спорь сделай в ручную.
 
 Сообщение отредактировал «SeReGa»☆ - Воскресенье, 12.10.2014, 23:01:02 |  |  |  |  |  | 
| Sallcom | Дата: Воскресенье, 12.10.2014, 23:52:06 | Сообщение # 10 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Цитата king(rus) (  ) И прекеш делать нужно!!!Ты вообще не понимаешь суть данного примера.
 А я объясню, код выше при старте карты пишет случайную строку из списка, который, в свою очередь, может быть любой, не обязательно список .vmt файлов.
 
 sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)], использовано sizeof(...), потому что предусмотрен вариант, когда мы не знаем количество элементов в массиве.
 
 Сообщение отредактировал Sallcom - Понедельник, 13.10.2014, 00:06:30 |  |  |  |  |  | 
| king(rus) | Дата: Понедельник, 13.10.2014, 06:58:00 | Сообщение # 11 |  |   
|  |  | Сообщений: 109 Репутация: 2 [ +/- ]
 |  | Цитата хвостег (  ) king(rus), ты сам понимаешь что чушь несешь? Цитата king(rus писал(а):)
 Тут есть ошибка. Ну не ошибка, а незнание того, чего ты делаешь.
 GetRandomInt резервирует уже \O и -1 делать не нужно.
 
 1 - Ошибок тут нет.
 2 - Что это за бред - GetRandomInt резервирует уже \O. GetRandomInt - возвращает целое число из диапазона! Ничего он не резервирует!
 3 - -1 делать не нужно. еще одна чушь. sizeof() - возвращает длину массива будь то строковый или числовой или строка(строка - массив байт),
 в этом примере 5 строк!!!!! считаем по порядку
 new String:sTextureList[][] = {
 "effects/gunshipmuzzle.vmt", 1
 "effects/yellowflare.vmt", 2
 "effects/combineshield/comshieldwall.vmt", 3
 "effects/combine_binocoverlay.vmt", 4
 "effects/bluespark.vmt" 5
 };
 
 sizeof(sTextureList) - вернет нам 5!
 
 возвращаемся к нашим баранам.
 
 индексирование в массиве начинается с НУЛЯ это значит что последний индекс 4
 отсюда следует выражение GetRandomInt(0, sizeof(sTextureList)-1) после выполнения мы получим целое число от 0 до 4 включительно!
 ВСЕ КОНЕЦ.
 
 Цитата king(rus писал(а):)
 а незнание того, чего ты делаешь.
 
 вот если не знаешь, лучше не пиши вообще.
 Цитата Sallcom (  ) Цитата king(rus писал(а):) И прекеш делать нужно!!!
 
 Ты вообще не понимаешь суть данного примера.
 А я объясню, код выше при старте карты пишет случайную строку из списка, который, в свою очередь, может быть любой, не обязательно список .vmt файлов.
 
 sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)], использовано sizeof(...), потому что предусмотрен вариант, когда мы не знаем количество элементов в массиве.
 
 Вы хотите сказать, что надо тупо выбрать строчку? И всё? С ней больше ничего не делать? Зачем так? В этом нету логики. Если тренироваться, то сначала на числах.
 
 На счёт sizeof(). Написал бы ты на хлмод - тебя бы разнесли в пух и прах.
 
 sizeof() -1 можно не делать
 потому что функции всё равно резервируют 1 символ под \0 конец строки © Reiko.
 |  |  |  |  |  | 
| Sallcom | Дата: Понедельник, 13.10.2014, 08:01:48 | Сообщение # 12 |  |   
|  |  | Сообщений: 205 Репутация: 31 [ +/- ]
 |  | Ну давай, вызови мне 5 элемен из данного массива, раз -1 делать не нужно. 
 Почему ты думаешь, что на хлмодe люди умнее тех, кто публикует темы на этом форуме?
 
 И вообще я и большинство других людей с этого форума, тоже сидят на хлмоде, т.е. получается ты говоришь, что мы "тупые" и умные одновременно.
 
 P.S. Как же мне нравится видеть лицо целовека, когда он после нескольких попыток доказания чего-либо, понимает, что был не прав, а сейчас как раз такая ситуация. Так что остается только ждать, пока ты сам не попробуешь сделать так, как ты пишешь.
 
 
 Сообщение отредактировал Sallcom - Понедельник, 13.10.2014, 08:07:43 |  |  |  |  |  | 
| pro-health | Дата: Понедельник, 13.10.2014, 12:49:50 | Сообщение # 13 |  |   
|  |  | Сообщений: 188 Репутация: 5 [ +/- ]
 |  | Цитата Sallcom (  ) #include <sourcemod>         
 new String:sTextureList[][] = {
 "effects/gunshipmuzzle.vmt",
 "effects/yellowflare.vmt",
 "effects/combineshield/comshieldwall.vmt",
 "effects/combine_binocoverlay.vmt",
 "effects/bluespark.vmt"
 };
 
 public OnMapStart(){
 PrintToChatAll("%s", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]);
 }
 
Sallcom, понял а как сделать это с командой r_screenoverlay
 Так как то вроде....
 
 Код FakeClientCommand("r_screenoverlay %s", sTextureList[GetRandomInt(0, sizeof(sTextureList)-1)]);      |  |  |  |  |  | 
| king(rus) | Дата: Понедельник, 13.10.2014, 13:56:50 | Сообщение # 14 |  |   
|  |  | Сообщений: 109 Репутация: 2 [ +/- ]
 |  | Цитата Sallcom (  ) Ну давай, вызови мне 5 элемен из данного массива, раз -1 делать не нужно. 
 Почему ты думаешь, что на хлмодe люди умнее тех, кто публикует темы на этом форуме?
 
 И вообще я и большинство других людей с этого форума, тоже сидят на хлмоде, т.е. получается ты говоришь, что мы "тупые" и умные одновременно.
 
 P.S. Как же мне нравится видеть лицо целовека, когда он после нескольких попыток доказания чего-либо, понимает, что был не прав, а сейчас как раз такая ситуация. Так что остается только ждать, пока ты сам не попробуешь сделать так, как ты пишешь.
 
 
 Давай пойдём от примитивного. Зачем ты пишешь -1?
 |  |  |  |  |  | 
| BarD | Дата: Понедельник, 13.10.2014, 15:02:12 | Сообщение # 15 |  |   
|  |  | Сообщений: 943 Репутация: 137 [ +/- ]
 |  |  king(rus),  R1KO передает: 
  
 | Гости не могут скачивать файлы | 
 |  |  |  |  |  
 |