Автор | Сообщение |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 01.06.09 14:48:12 | | | Чет я не догнал, можно в гоззе двигать предмет через скрипт?  | |
|
2 |
1 |
1 |
 |
|
| |
Аркадий Recruit
 | 2 |
 Doom Rate: 0.4
|
Отправлено: 01.06.09 16:03:24 | | | Как в GZDoom ставить 3D полы? | |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 01.06.09 16:35:53 | | | ставишь вне карты сектор и высот нужного 3д объекта. После чего рисуешь на карте участок с необходимым полом, задаешь ему таг(к примеру 1) и на одной из сторон внешнего сектора(тот что для высот) задаешь это.
160
arg1 = "Tag";
arg2 = "Type";
arg3 = "Flag";
arg4 = "Alpha";
arg5 = "Tag hibyte"; | |
|
2 |
1 |
1 |
 |
|
| |
Часовщик UAC Sergeant Major
 | 727 |
Doom Rate: 3.41
|
Отправлено: 01.06.09 17:33:45 | | | спасибо, но думаю декорейтом реалистичней будет. текстура будет не хорошо выглядить под углом | |
|
| |
M@@@H!aK - Sergeant -
 | 325 |
 Doom Rate: 2.83
|
Отправлено: 01.06.09 20:55:54 | | | Archi : | Чет я не догнал, можно в гоззе двигать предмет через скрипт? |
Можно, нужно только, чтобы у предмета был задан tid. А потом двигай, сколько хочешь, с помощью соответствующих функций ACS:
SetActorPosition - устанавливает положение объекта в абсолютных координатах
Thing_Stop - полностью зануляет скорость объекта
ThrustThingZ - толкает объект в горизонтальной плоскости
ThrustThingZ - толкает объект по оси Z.
Так, например, я делал управляемую ракету (развитие оригинальной идеи от Guest'а )
Ракета летит в ту сторону, в которую смотрит игрок.
// Скрипт движения ракеты - вызывается циклически в spawn-стейте ракеты
Script 832 (void)
{
// Во временных переменных помещаем нужную информацию,
// в частности, направление взгляда игрока
int playerAngle = GetActorAngle(PLAYER_TID);
int rocketSpeed = GetActorProperty(ROCKET_TID,APROP_Speed);
int playerPitch = GetActorPitch(PLAYER_TID);
// Устанавливаем угол поворота ракеты и ее наклон
SetActorAngle(ROCKET_TID, GetActorAngle(PLAYER_TID));
SetActorPitch (ROCKET_TID, GetActorPitch(PLAYER_TID));
// Принцип действия: остановить ракету полностью (зануляем скорость и ускорение),
// а потом "подтолкнуть" ее в нужном направлении.
Thing_Stop(ROCKET_TID);
ThrustThing(playerAngle >> 8, rocketSpeed>>16, 0, ROCKET_TID);
ThrustThingZ(ROCKET_TID,playerPitch>>8,1,0);
}
| |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 02.06.09 12:19:25 | | | СПАСИБИЩЕ! Не думал что все так легко  | |
|
2 |
1 |
1 |
 |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.06.09 01:37:56 | | | Прошу прощения если повторюсь с вопросом: а какие максимальные показатели, в плане размера карт, поддерживает Гзо? (ширина, длина, выстота)... И в метрической системе, сколько это приблизительно... Буду очень признателен! | |
|
| |
Azamael [B0S] - Sergeant Major -
 | 543 |
 Doom Rate: 2.46
|
Отправлено: 03.06.09 10:52:03 | | | Big Fuckin Gun 2407 : | И в метрической системе, сколько это приблизительно | - дум практически невозможно соотнести с реальными мерами, там пропоции все искажены.
Big Fuckin Gun 2407 : | ширина, длина, | до красных линий в дум билдере (обозначает краи карты), а реально сколько нодебилдер сможет отбилдить. (стандартный не сможет переварить сектор с длинной линий приблизительно больше 10000(это не точно, но у меня где-то при таком значении вылетал))
Big Fuckin Gun 2407 : | выстота | - в думе высота понятие весьма относительное, в оригинале было какое-то ограничение а в гоззе наверное нет. | |
|
| |
BFG2407 = 2nd Lieutenant =
 | 1582 |
 Doom Rate: 1.67
|
Отправлено: 03.06.09 23:19:23 | | | Azamael
Искажение пропорций, только в самой игре, но не в движке... связанно это (для неспосвященных) с размерами думера... и только! (видел мод для Легаси, там пропорции все правильные, причем это был Вульф...) Координаты как я пологаю, можно соотнести к пикселам текстуры, расчитав увеличение текселя... а пикселии соответственно имеют отношение к милиметрам в реальном мире... а в Гзо мапа уходит далеко за 10000(по высоте - это точно), не знаю как на открытом, да и мне такой "отрытый" в ширь сектор не нужен... | |
|
| |
kramfus Marine 1st class
 | 38 |
 Doom Rate: 1.19
|
Отправлено: 04.06.09 01:04:04 | | | народ , напишите плиз , че в декорейте снаряда прописать нада , чтоб он гонялся за игроком , и начинал отставать при повороте игрока на # градусов(декорейт для чайников весь прочитал , этого не нашел ) ?  | |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
|
1 |
2 |
1 |
 |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 04.06.09 07:20:48 | | | Big Fuckin Gun 2407
В высоту - 64000. А остальное даже посчитать трудно. | |
|
2 |
1 |
1 |
 |
|
| |
kramfus Marine 1st class
 | 38 |
 Doom Rate: 1.19
|
Отправлено: 04.06.09 09:10:54 | | | nprotect СПА-СИ-БО !  | |
|
| |
SAM = Master Corporal =
 | 276 |
 Doom Rate: 1.78
|
Отправлено: 04.06.09 12:05:03 | | | вот я хочу спросить какой скрипт нужно написать чтобы какой-нибудь экшен срабатывал не от одной кнопки
а от нескольких? например: чтобы открыть дверь нужно нажать 5 кнопок в разных месиах. | |
|
| |
M@@@H!aK - Sergeant -
 | 325 |
 Doom Rate: 2.83
|
Отправлено: 04.06.09 12:33:29 | | | SAM
Можно, например, так: В скрипте заводишь переменную вроде int numberOfButtonsPushed = 0; и после нажатия каждой из кнопок прибавляешь к значению переменной единицу, после чего сравниваешь:
if (numberOfButtonsPushed>=5) { ... }
| |
|
| |
nprotect = Captain =
 | 2413 |
 Doom Rate: 2.45
|
Отправлено: 04.06.09 13:52:37 | | | M@@@H!aK : | int numberOfButtonsPushed = 0; |
ужас, а не название удобнее просто int nbp1 = 0; и дальше nbp2, nbp3
культура программирования называется  | |
|
1 |
2 |
1 |
 |
|
| |
kramfus Marine 1st class
 | 38 |
 Doom Rate: 1.19
|
Отправлено: 04.06.09 14:05:11 | | | скажите плиз , как нызывать red skullkey в dropitem , ато при написании dropitem ''Red skullkey''256 ничего не происходит(тоже и с A_SpawnItem ) пытался и слитно написать , и вмето нейма id писал-ничего не выходит , а мне надо , чтоб при смерти босса из него ключ красный выпал((((  | |
|
| |
M@@@H!aK - Sergeant -
 | 325 |
 Doom Rate: 2.83
|
Отправлено: 04.06.09 14:23:14 | | | kramfus
Читай вики: http://zdoom.org/wiki/Classes:Doom#Keys. В частности, красный.
nprotect : | культура программирования называется |
Культура программирования - это, как раз, думается мне, самодокументирующийся код - когда по названию переменной можно понять ее назначение. Тогда читаешь программу, как открытую книгу, и комментариев никаких не надо. Никогда не жалей букв в названиях переменных. Представь, когда триста страниц чужого кода написано в стиле "int nbp1 = 0", а тебе нужно в нем разбираться...
З.Ы. Стал адептом культа самодокументирующегося кода после прочтения книжки С. Макконнелла "Совершенный код". И знаешь, действительно, удобно.  | |
|
| |
Archi]ASTS[ UAC General
 | 12719 |
 Doom Rate: 1.87
|
Отправлено: 04.06.09 14:25:13 | | | RedSkull.
А вообще то проще было бы на монстра поставить финг_спавн по смерти, а не дроп итем | |
|
2 |
1 |
1 |
 |
|
| |
M@@@H!aK - Sergeant -
 | 325 |
 Doom Rate: 2.83
|
Отправлено: 04.06.09 14:30:27 | | | Archi
Ну, DropItem один раз написал и успокоился. А Thing_Spawn придется в каждом стейте смерти писать отдельно - благо сейчас можно сколько угодно своих типов дамага насоздавать и стейтов смерти, им соответствующих. Легко по невнимательности ошибиться. | |
|
| |