|
|
Рандомные модели
| |
HellMapper | Дата: Вторник, 01.12.2009, 14:59 | Сообщение # 1 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| Люди, хелп ми. У меня 24 вида солдат т.е на каждый вид комбайнов(soldier, guard и super_soldier) по 8 моделей. Задача в том чтобы при спавне моделей для каждого вида комбайнов выбирались свои рандомные модели из указанных папок. Это похоже как у citizen'ов. Но пока мои творения успехов не дают. Если у кого есть идеи на этот счет, говорите. Добавлено (01.12.2009, 14:59) --------------------------------------------- Итак я создал функцию выбора рандомной модели но в ней нехватает одного компонента(угадайте) - рандом. Вот сей код Code static const char *g_ppszRandomModels[] = { "models/1.mdl",
"models/2.mdl", "models/3.mdl",
};
void CNPC_CombineS::Precache() {
const char *pModelName = STRING( GetModelName() ); if( !Q_stricmp( pModelName, "models/combine_super_soldier.mdl" ) ) { m_fIsElite = true; } else { m_fIsElite = false; } int nModels = ARRAYSIZE( g_ppszRandomModels ); int i; for ( i = 0; i < nModels; ++i ) { if( !GetModelName() ) { SetModelName( MAKE_STRING(g_ppszRandomModels[i]) ); } } PrecacheModel( STRING( GetModelName() ) ); Идея такова, что модели должны рандомно браться из массива g_ppszRandomModels, но вот зараза не берет. Кто заинтересовался можете подумать. А кстати игра выбирает самое первое значение из массива g_ppszRandomModels.
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
Было отредактированно - HellMapper - Вторник, 01.12.2009, 15:02 |
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 15:17 | Сообщение # 2 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Работает?
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
HellMapper | Дата: Вторник, 01.12.2009, 15:31 | Сообщение # 3 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| Нет
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 15:37 | Сообщение # 4 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Будет время, повожусь, раз так.
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
HellMapper | Дата: Вторник, 01.12.2009, 16:06 | Сообщение # 5 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| У меня есть еще одна идея как сделать рандомные модели. Но я не знаю как задать рандому промежутки например от 1 до 8. Если узнаю можно будет сделать по следующему. Code if( n = 1) { SetModelName(..... } if( n = 2) и т.д. Добавлено (01.12.2009, 16:05) ---------------------------------------------
Code if( !GetModelName() ) { int m; m=rand(); RandomInt(1,3); if(m=1) { SetModelName( MAKE_STRING("models/1.mdl") ); } if(m=2) { SetModelName( MAKE_STRING("models/2.mdl") ); } if(m=3) { SetModelName( MAKE_STRING("models/3.mdl") ); } } PrecacheModel( STRING( GetModelName() ) ); Вот еще один вариант, но чето мод берет только модель под номером 3 Добавлено (01.12.2009, 16:06) --------------------------------------------- Че не так не понимаю
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
Было отредактированно - HellMapper - Вторник, 01.12.2009, 15:51 |
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 16:12 | Сообщение # 6 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Ты попробуй сделать запрос на получение значиений функции, я подозреваю, что она получает значение, просто ты его не используешь, нужна функция, которая читает значение и на основе этого должен быть выбор моделей, т.е. if (функция = n) { SetModelName(...) } Пишу функцию так, без вв-кода, т.к. с мобилы.
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
HellMapper | Дата: Вторник, 01.12.2009, 16:24 | Сообщение # 7 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| Если не трудно создай код, а то запарился Добавлено (01.12.2009, 16:24) --------------------------------------------- Смотри ф-ию precache в Combines
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 16:59 | Сообщение # 8 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Окей, буду за компом, попробую. Результаты сюда буду выкладывать в виде функций.
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
Andreazzz | Дата: Вторник, 01.12.2009, 17:09 | Сообщение # 9 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| хитмен, а ты через какой браузер? ? ? я через оперу мобиле 10 beta Кстати я тоже позырю
|
|
| |
Strider | Дата: Вторник, 01.12.2009, 18:01 | Сообщение # 10 |
Spy
Группа: Проверенные
Сообщений: 1465
Репутация: 51
Статус: Offline
| Andreazzz, не оффтопь, да и оперы 10 на мобиле не существует... HellMapper, Ты бы в своём коде else if использовал) Code if(m=1) { SetModelName( MAKE_STRING("models/1.mdl") ); } else if(m=2) { SetModelName( MAKE_STRING("models/2.mdl") ); } else if(m=3) { SetModelName( MAKE_STRING("models/3.mdl") ); }
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 18:05 | Сообщение # 11 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Кста, вот функция из npc_citizen17, но она корявая, если честно. Code void CNPC_Citizen::PrecacheAllOfType( CitizenType_t type ) { if ( m_Type == CT_UNIQUE ) return;
int nHeads = ARRAYSIZE( g_ppszRandomHeads ); int i; for ( i = 0; i < nHeads; ++i ) { if ( !IsExcludedHead( type, false, i ) ) { PrecacheModel( CFmtStr( "models/Humans/%s/%s", (const char *)(CFmtStr(g_ppszModelLocs[m_Type], "")), g_ppszRandomHeads[i] ) ); } }
if ( m_Type == CT_REBEL ) { for ( i = 0; i < nHeads; ++i ) { if ( !IsExcludedHead( type, true, i ) ) { PrecacheModel( CFmtStr( "models/Humans/%s/%s", (const char *)(CFmtStr(g_ppszModelLocs[m_Type], "m")), g_ppszRandomHeads[i] ) ); } } } }
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
HellMapper | Дата: Вторник, 01.12.2009, 18:29 | Сообщение # 12 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| Да Hitmen, я ее тож зырел и пытался юзать но не вышло
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 18:57 | Сообщение # 13 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| HellMapper, Тут лишнее нужно урезать)
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
HellMapper | Дата: Вторник, 01.12.2009, 19:01 | Сообщение # 14 |
Scout
Группа: Проверенные
Сообщений: 588
Репутация: 27
Статус: Offline
| Ну да типо типов этого Code if ( m_Type == CT_UNIQUE ) return; - выбор типа ситизена Ребел Обычный Медик и т.д. А если задавать у солдата модель именно в хамере через fgd то все работает, но есть свои недостатки.
Я живу в будущем City 15
Если Вы можете, играя в "Counter-Strike: Sourсe", посадить хедшот ножом через стену в попу своему противнику, который находится на другом конце карты, на другом сервере, и который играет в "Team Fortress 2" и находится под действием убер-заряда, то знайте, что в плане читерства вы достигли совершенства. ©IPa
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 19:26 | Сообщение # 15 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Кста, может через .fgd пробнуть, там же выбор модели?
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
DetLeR | Дата: Вторник, 01.12.2009, 21:46 | Сообщение # 16 |
Engineer
Группа: Администраторы
Сообщений: 1731
Статус: Offline
| Hitmen, неа. Не прокатит. Надо кастомный выбор моделей делать как у ситизенов, но у мя не получилось.
|
|
| |
Hitmen | Дата: Вторник, 01.12.2009, 23:05 | Сообщение # 17 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| У меня та жа фигня, всё по порядку делал, но не получилось.
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
Andreazzz | Дата: Среда, 02.12.2009, 21:12 | Сообщение # 18 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Strider, не хавари того чо не знаеш Quote http://www.opera.com/mobile/
|
|
| |
Hitmen | Дата: Среда, 02.12.2009, 21:26 | Сообщение # 19 |
Spy
Группа: Проверенные
Сообщений: 2104
Репутация: 84
Статус: Offline
| Andreazzz, Это не для телефонов, а для смартфонов и коммуникаторов, а так же для ПДА (КПК), скажу тебе, что они сильно отличаются от обычного телефона. Последняя версия оперы для мобилы - Opera Mini 5.0 beta
Туториалы по программированию, мои и слегка изменённые чужие. :)
Sp@ce Project Blog Sp@ce Project Web-Site
I'm in spaaace! Я в контакте Я в Facebook'е
|
|
| |
Andreazzz | Дата: Среда, 02.12.2009, 21:43 | Сообщение # 20 |
Spy
Группа: Проверенные
Сообщений: 996
Репутация: 55
Статус: Offline
| Hitmen, Mini 5beta она тожесамое что и Mobile 10 beta
|
|
| |
|
|
Помощь в разработке форума: HOMiE7 |
|
| |
|