Welcome to U.A.C. [O.S.A.]
login / register 
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 14, 15, 16 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №281 Отправлено: 03.11.15 21:32:53
ZZYZX

Насколько я понял из твоего примера и мануала, выложенного выше: концентратором (центральной мапой т.е.), можно сделать любую карту в кластере? Или она обязательно должна быть одна, как тот же Seven Portals в Hexen?
theleo_ua
= Colonel =
Next rank: - Commissar - after 88 points
4802

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №282 Отправлено: 04.11.15 04:49:22
ZZYZX:
P.S. А костыль который ты предложил это очень херовый костыль, я против.
Приколи потом кто-то ответвится от этого монстра и будет в шоке смотреть как у него одновременно пистоль и дропитем работают ))


ZZYZX:
Приколи потом кто-то ответвится от этого монстра


И переопределит стейт death так, как ему надо. Но предположу, что вероятность того, что кто-то захочет ответвляться от чужих модов мододелов из текущей темы, крайне мала (не знаю, как насчет модов D1m3, но в своих модах я уверен, что мало кому будет интересно копаться в них, ответвляясь от моих акторов, соответственно я не парюсь использовать такие костыли, мне важнее работоспособность мода уже сейчас (так как альфа версию уже стримят на твиче и гудгейме) ). Я понимаю, что костыль не самый удачный, но что делать, если решение удачнее я пока не знаю?

Но это лирика, мне больше интересно, какой костыль ты предложишь D1m3, чтобы он работал
3 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №283 Отправлено: 04.11.15 08:16:20
D1m3:
Проблема в том,что актор "Pistol2" заменяет пистолет игрока и он прописан у зомби как dropitem,но при убийстве зомби из него всё также выпадает обойма
Это с dropitem косяки или в коде зомби глюк какой то?
Порт GZDoom

На сколько я помню, у DropItem в параметрах актора есть 3 аргумента, 1 = имя предметя, 2= шанс выпадания предмета, 3= кол. выпавшего предмета
Если не ошибаюсь, то у тебя оно == 0 т.к. ты их просто не прописал
dropitem "Pistol2" 256, 1 //как-то так должно быть (возможно имя предмета можно писать без кавычек..)

Добавлено спустя 45 секунд:

DropItem Вот даже ссылку нарыл.

theleo_ua
Не парься, в гоззе все на костылях, одним больше одним меньше, главное что бы работало как надо хД

Добавлено спустя 17 минут 2 секунды:

zzXenobytEzz:
Насколько я понял из твоего примера и мануала, выложенного выше: концентратором (центральной мапой т.е.), можно сделать любую карту в кластере? Или она обязательно должна быть одна, как тот же Seven Portals в Hexen?

1 уровень получается как HUB, из hub можно пройти в другие уровни, hub уровнем может быть любая карта, какая тебе угодна, что касается один hub или много.. тут поможет функция Teleport_NewMap. С такой функцией hub уровни, кластеры прописывать не надо, просто делаешь карту центральную и в ней делаешь выходы на другие уровни, в общем так можно целые паутины из уровней выстраивать.
Есть вад пример хороший, называется omega_complex.wad, где брать чесн не знаю, может тут есть на сайте, может кто ссылку даст, там весь мод типа на hub уровнях был или везде Teleport_NewMap точно не помню, но там "паутинка" ниче так.
1 3 1
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №284 Отправлено: 04.11.15 19:27:58
alekv

Спасибо, поищу! Просто есть идея, реализовать хабы как в Q2, без определенной центральной мапы)

Добавлено спустя 8 минут 51 секунду:

Кстати, назрел еще вопрос, не знаю где задать, спрошу тут: старая тема "для новичков", обладала огромным количеством необходимой инфы, но ее давненько потерли... Собственно, вопрос: есть ли архив темы? Если "да", где можно раздобыть?
Будьте толерантны, не сочтите за флуд)))
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №285 Отправлено: 04.11.15 20:30:04
zzXenobytEzz:
Спасибо, поищу! Просто есть идея, реализовать хабы как в Q2, без определенной центральной мапы)

Ну с teleport_NewMap можно переходить на любой уровень, когда угодно. Хоть как в скайриме можно сделать =)

т.е. ставишь экшен на линию или просто скриптом вызываешь функцию и игрока перенесет на карту которую пропишешь в функции. Да, на карте в которую будет телепортироваться игрок должно быть 2 thinga игрока, 1 простой, а у 2ого, 1аргумент должен быть равен номеру карты если не ошибаюсь, т.е. игрок пересекает линию с функцией teleport_NewMap, в функции прописан телепорт к примеру на 5 ур., то на 5 уровне должен быть thing игрока с 1 аргументом равным 5. Аргумент ставится в окне ThingEdit>Action/Tag/Misc.>Argument1

zzXenobytEzz:
Кстати, назрел еще вопрос, не знаю где задать, спрошу тут: старая тема "для новичков", обладала огромным количеством необходимой инфы, но ее давненько потерли... Собственно, вопрос: есть ли архив темы? Если "да", где можно раздобыть?
Будьте толерантны, не сочтите за флуд)))

Архивы
1 3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №286 Отправлено: 04.11.15 21:08:09
zzXenobytEzz:
Насколько я понял из твоего примера и мануала, выложенного выше: концентратором (центральной мапой т.е.), можно сделать любую карту в кластере? Или она обязательно должна быть одна, как тот же Seven Portals в Hexen?

Концентратор это вообще понятие виртуальное, хаб грузится целиком.

theleo_ua:
Но это лирика, мне больше интересно, какой костыль ты предложишь D1m3, чтобы он работал

Пусть дебажит DropItem.
2 2 1
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №287 Отправлено: 04.11.15 21:12:09
ZZYZX

Ну под "концентратором", я имею ввиду "центр" хаба)
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №288 Отправлено: 04.11.15 21:49:27
zzXenobytEzz:
Ну под "концентратором", я имею ввиду "центр" хаба)

Я тоже. Нет его, этого центра. Хаб это просто группа карт, переход между хабами происходит когда ты переходишь с карты одного хаба на карту другого хаба. Любую.
2 2 1
sanek_47
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 2.16

Posts quality: +64
Ссылка на пост №289 Отправлено: 04.11.15 22:11:01
Можно как-нибудь в gzdb автоматически заполнять сектор объектами? Хочу добавить траву на карты, а вручную ставить довольно долго.
1
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №290 Отправлено: 04.11.15 22:28:50
sanek_47

А рандомно натыкать, выделить, и ctrl-c ctrv-v со смещением? Трава, вроде не настолько заметный элемент, для густоты должно хватить :)
sanek_47
= Master Corporal =
Next rank: - Sergeant - after 18 points
272

Doom Rate: 2.16

Posts quality: +64
Ссылка на пост №291 Отправлено: 04.11.15 22:39:15
zzXenobytEzz
Я так и делаю. Просто подумал, может есть какой-то более быстрый способ - чтобы выделить все нужные сектора и они равномерно заполнились...
1
zzXenobytEzz
= Corporal =
Next rank: - Lance Corporal - after 20 points
110

Doom Rate: 2

Posts quality: +15
Ссылка на пост №292 Отправлено: 04.11.15 22:50:31
sanek_47

Ну в рефмануале к гздб - я ничего подобного не нашел, следовательно - нет. Более простого способа нет.
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №293 Отправлено: 05.11.15 09:53:31
Shadowman:
Вопрос, что значит +1 к защите? Ты повышаешь % резист к урону? Учти, что гздум плохо работает с % для малых величин, по моим наблюдениям он округляет их до целых чисел. Например, если паук ударит игрока на 1 хп, а у игрока 5% резиста, то игрок получит 0 урона - резист округляется в большую сторону. В Инквизиторе 3 это было видно хорошо.
Поэтому мелкие % защиты при округлении потеряются и ты не сможешь дифференцировать брони так, как хотелось бы. Но этот вопрос лучше обсудить в другом разделе, если будет желание.

Смотри, BasicArmorBonus и http://zdoom.org/wiki/Actor_properties#Armor.SavePercent там есть строка отвечающая за % так сказать защиты armor.savepercent 33.33333, т.е. 0.000.. нормально высчитываются, просто надо так же помучаться с атакой монстров, именно в монстрах у меня возникла проблема когда я делал сеты для игрока, если 1 сет дает 0.50% защ. то в игре это практически не заметно, потому что надо настраивать монстров, т.е. для какого-то слабого вида монстров 0.50% защ. уже достаточно что бы не пробивать игрока, ну или отбирать меньше оз, я вот о таком балансе, ракета кибера конеш даже не заметит такой низкий % защ.

Выглядит в декорейте это примерно так:
Actor Armor1 : BasicArmorPickUp
{
Inventory.InterHubAmount 1
Inventory.MaxAmount 1
Inventory.DefMaxAmount
Armor.SaveAmount 0x7fffffff
Armor.SavePercent 0.5
Armor.MaxFullAbsorb 1
+AUTOACTIVATE
+HUBPOWER
+DROPPED
}
Actor Armor2 : Armor1 {Armor.SavePercent 1}
Actor Armor3 : Armor1 {Armor.SavePercent 1.5}
Actor Armor4 : Armor1 {Armor.SavePercent 2}
.....

И так прописываешь акторов ArmorХ до SavePercent 100(можно начать и с armor1 SavePercent= 0.1 Armor2 SavePercent =0.2...)после уже игроку давать этих акторов когда он одел шмотку и забирать если снял. То же можно сделать и с атакой игрока, у монстров там по другому, но надо и монстров настраивать что бы игрок хоть как-то замечал что он одел шмотку и она его защитила.

Добавлено спустя 32 минуты 45 секунд:

Да, вот еще не много задумался, можно сделать такую систему защита\атака
Защита это переменная от 0 до 1000 к примеру..(т.е. класс BasicArmorPickUp даже не трогаем)
И монстр сам чекает защиту игрока т.е. если защ. у игрока == 3, монстр бьет с силой 5 единиц чего-то там(возможно монстру надо изменять damagetype что бы он бил то сильнее если защ. меньше, то слабее если защ. больше.)
если у игрока защ. ==5 монстр ударит с силой 3 единици и т.д. Только вот не знаю сложно ли так прописать.
Таким образом можно сделать так если игрок начинает игру с 1ого лвл и защ. игрока по дефолту без шмоток == 3, то паук бьет больно, по 10оз, когда игрок покачается, оденет шмотки его защ. к примеру станет 10, то паук уже будет отнимать по 2-3 оз, когда игрок совсем сильно прокачался, такой паук игрока даже не царапнет, т.е. монстр как был такой и остался, а игрок будет чуствовать свою растущую силу и так делать с каждым монстром.

И хорошо если монстр будет чекать защ. игрока в декорейте онли, т.к. если acs, тогда много писанины, ну или сидеть и думать над одним универсальным скриптом для всех монстров который будет менять силу монстра в зависимости от значения защ. игрока.
1 3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №294 Отправлено: 05.11.15 10:52:57
Проще скрипт с SetActorProperty/DamageFactor.
2 2 1
UsernameAK
- Lance Corporal -
Next rank: = Lance Corporal = after 10 points
150

Doom Rate: 1.79

Posts quality: +13
Ссылка на пост №295 Отправлено: 05.11.15 14:12:04
alekv:
а у 2ого, 1аргумент должен быть равен номеру карты если не ошибаюсь,

ошибаешься, второму параметру Teleport_NewMap

P.S. вот это лагнуло, засунуло текст в теги [youtube] при отправке :o
1
Shadowman
UAC General
Next rank: Unavailable after 0 points
8391

Doom Rate: 2.08

Posts quality: +1993
Ссылка на пост №296 Отправлено: 05.11.15 15:10:27
alekv:
Защита это переменная от 0 до 1000 к примеру..(т.е. класс BasicArmorPickUp даже не трогаем)
И монстр сам чекает защиту игрока т.е. если защ. у игрока == 3, монстр бьет с силой 5 единиц чего-то там(возможно монстру надо изменять damagetype что бы он бил то сильнее если защ. меньше, то слабее если защ. больше.)

Интересный способ, надо подумать. Плюс в том, что класс брони как таковой не нужен, все определяется через переменные, значения которых меняются, когда игрок надевает-снимает броню.
А вот с атакой монстров сложнее - как прописать, что параметр работает, только если монстр атакует игрока? А если начинается внутренняя свара, то не работает.
Например, если прописать в дамаге что-т о типа damage = (random(1,10)*(1 - Acs_NamedExecuteWith Result("Defence",0)/100)), где
defence - показатель защиты игрока от 0 до 100 единиц, возвращаемый через ацс скрипт, то как указать, что ацс должен возвращать дефенс игрока только когда монстр атакует именно игрока?
в этом главная сложность.
Аналогично со снарядами. Если прописать формулу дамага в декорэйте снаряда, то она же будет работать независимо от того, кто и в кого выпустил снаряд? Иначе почучится, что крутизна игрока влияет на междусобойные стычки разных монстров тоже.
1 7 2
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №297 Отправлено: 05.11.15 15:34:26
Вы меня-то почему проигнорили?
Это просто п***ц какой код, делать 200 акторов, да ещё и каждого монстра отдельно прописывать. Если какая-то фича требует такого кода и не допускает нормального, то от этой фичи лучше отказаться. Серьёзно.
2 2 1
alekv
- Colonel -
Next rank: = Colonel = after 272 pointsМодератор форума
4168

Doom Rate: 1.87

Posts quality: +949
Ссылка на пост №298 Отправлено: 05.11.15 16:50:06
Shadowman:
А вот с атакой монстров сложнее - как прописать, что параметр работает, только если монстр атакует игрока? А если начинается внутренняя свара, то не работает.

Тут уже я не в курсе, самому интересно как узнать что монстр собирается ударить игрока... мб есть какие функции которые могут это проверить? В CheckActorProperty есть APROP_TargetTID The TID of the actor linked to by the actor's target field. не знаю чего оно делает, может такое могло бы помочь ? Но думаю какая-то функция должна быть, как-то же можно узнать что монстр нацелен на игрока.
Еще возможно так получилось бы
SetActivatorToTarget(); тоесть как только скрипт который чекает защиту срабатывает, назначаем активатора скрипта на цель, если цель монстр, у него такого защ не будет, тогда и выполнится что-то другое... если активатором окажется игрок то там уже будет учитывать значение защ. Это как вариант.

ZZYZX:
Это просто п***ц какой код, делать 200 акторов, да ещё и каждого монстра отдельно прописывать.

200 акторов это если юзать способ с BasicArmorPickUp, и то по хорошему не 200 акторов, а около 2 000, если начинать с 0.1 по 100.0 =)
Со вторым способом, я хз сколько писать надо, мб только 1 скрипт, а может и много разных тут уже что придумается.

ZZYZX:
Если какая-то фича требует такого кода и не допускает нормального, то от этой фичи лучше отказаться. Серьёзно.

Ну тут кому как, мне к примеру важен результат, а не способ.

ZZYZX:
Проще скрипт с SetActorProperty/DamageFactor.

Так по другому и не получится нормально изменять атаку монстра, ну еще APROP_Damage есть. Это надо посидеть подумать как такой скрипт лучше записать.. Я просто предлагаю варианты.
1 3 1
theleo_ua
= Colonel =
Next rank: - Commissar - after 88 points
4802

Doom Rate: 1.8

Posts quality: +1032
Ссылка на пост №299 Отправлено: 05.11.15 17:11:39
alekv:
На сколько я помню, у DropItem в параметрах актора есть 3 аргумента, 1 = имя предметя, 2= шанс выпадания предмета, 3= кол. выпавшего предмета
Если не ошибаюсь, то у тебя оно == 0 т.к. ты их просто не прописал
dropitem "Pistol2" 256, 1 //как-то так должно быть (возможно имя предмета можно писать без кавычек..)

Добавлено спустя 45 секунд:

DropItem Вот даже ссылку нарыл.


Два примера:

http://zdoom.org/wiki/Classes:ChaingunGuy
http://zdoom.org/wiki/Classes:ZombieMan

Никаких значений после дропитем не написано, а айтем дропается почти всегда. Т.е. по умолчанию там 255 скорее всего стоит

Добавлено спустя 10 минут 46 секунд:

alekv:
Ну тут кому как, мне к примеру важен результат, а не способ.


Мне аналогично, кстати. В том моде, который я делаю сейчас, мне пришлось переписать каждого монстра (из еретика, хексена и 10 дополнительных) + сделать еще около 100 дополнительных акторов (и это еще не предел), но результатом доволен

Добавлено спустя 2 минуты 36 секунд:

ZZYZX:
Вы меня-то почему проигнорили?
Это просто п***ц какой код, делать 200 акторов, да ещё и каждого монстра отдельно прописывать. Если какая-то фича требует такого кода и не допускает нормального, то от этой фичи лучше отказаться. Серьёзно.


кстати, одна из хотелок для моего мода была "увеличить урон врагам на 25%", вместо чего я уменьшил хп и броню игрока на 20% (как у игрока, так и у предметов), ибо эффект почти тот же, а реализовать проще
3 1
ZZYZX
- UAC Commissar -
Next rank: = UAC Commissar = after 16 pointsМодератор форума
6284

Doom Rate: 1.65

Posts quality: +1630
Ссылка на пост №300 Отправлено: 05.11.15 19:09:54
alekv:
Это надо посидеть подумать как такой скрипт лучше записать..

script "apply_armor" ENTER
{
  while (true)
  {
    int coef = CheckInventory("MyArmorCount")<<16>=0;
    coef /= 2;
    coef /= 100;
    SetActorProperty(0, APROP_DamageFactor, 1.0-coef);
    Delay(1);
  }
}



alekv:
Тут уже я не в курсе, самому интересно как узнать что монстр собирается ударить игрока... мб есть какие функции которые могут это проверить?

Этот гениальный код гениального программиста (я имею в виду наш форум ДП) не даёт мне запостить соответствующий код сюда, потому что там знак больше, который сей гениальный код принимает за HTML и обрезает пост до неузнаваемости.
Так что вот, две строчки в пастебине: http://pastebin.com/CrdrRAWj
2 2 1
Страница 15 из 200Перейти наверх Пред.  1, 2, 3 ... 14, 15, 16 ... 198, 199, 200  След.
   Список разделов - Флуд и устаревшие темы - Тема для новичков. Вопросы по маппингу/моддингу - любые!