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 передает:
Гости не могут скачивать файлы
|
|
|
| |
|