Welcome to U.A.C. [O.S.A.]
login / register
Status: Guest
Архивы форума | iddqd.ru
Wolf 3D
ПравилаПравила ПоискПоиск
18+
Тема для новичков. Вопросы по маппингу/моддингу - любые! Пред.  1, 2, 3 ... 350, 351, 352
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!Ответить
АвторСообщение
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №7021 Отправлено: 06.07.15 12:15:59
MyNameIs :
а можно ли скриптом изменять спрайт актора (даже не знаю, как правильнее его назвать),
к примеру, чтобы спрайт изменился при нажатии кнопки?

Да, SetActorState(); в acs изменяет стейт актора.
Выглядит примерно так :
Script 5 (void)
{
int But = GetPlayerInput(-1,Input_Buttons);
If(But & BT_Forward)
     {
     PrintBold(s:"Test");
    SetActorState(22,TestState,true);
     }
}


Запускаться такой скрипт должен в lump KEYCONF, пример:
AddMenuKey "MyKey" +MyKey
alias +MyKey "Puke 5; +forward"
alias -MyKey "-forward"
DefaultBind w +MyKey

В итоге когда игрок нажмет кнопку MyKey(ее в меню настройках управления надо выставить)
Запустится скрипт 5 и нажмется кнопка +Forward(игрок пойдет вперед), актор с тагом 22 прыгнет в стейт TestState.
Читай вики и узнаешь еще больше. GetPlayerInput
1
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7022 Отправлено: 06.07.15 12:52:02
Мне кажется имелся в виду свитч :)

А ещё есть такой класс, как SwitchableDecoration, который предоставляет функционал в стиле факелов из хексена. То есть сам актор становится свитчом.
1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №7023 Отправлено: 06.07.15 14:36:51
Ну может и свитч.. смотря для чего ему надо переключение спрайтов =)


MyNameIs
Да чуть подзабыл, там в скрипте 5 не обязательно условие.. посути оно вообще не нужно (основываюсь на твоём посте), тоесть:
Script 5 (Void)
{SetActorState(22,TestState,true);}

При нажатии кнопки +forward запустится скрипт 5 и сменит стейт актору.

Если все таки нужен свитч, то еще почитай Activation и Creating_decorations_that_can_be_(de)activated, тоже пригодится.
1
LEX SAFONOV
UAC Sergeant Major
Next rank: UAC Sergeant Major after 75 points
685

Doom Rate: 1.49
Ссылка на пост №7024 Отправлено: 08.07.15 20:03:56
Парни, расскажите по подробнее про порталы в здуме и как их реализовывать.(А если конкретнее, то больше интересует экшн Sector Set Portal)
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №7025 Отправлено: 09.07.15 07:38:49
А мне может кто объяснить как реализованно в моде The Guncaster магазин?
Точнее интересует именно наведение курсора мышки на иконку, я уже в который раз смотрю код, никак понять не могу, каким образом определяется что курсор мыши наведен\находится на иконке какого либо итема и нужно выполнить действие, например подсветить иконку.. или если курсор на иконке и нажата кнопка, то покупается итем..

Как сделать сам курсор, знаю, как реализовать магазин тоже, но вот с наведением мыши на итем.. беда, прошу помогите, очень надо =(
1
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7026 Отправлено: 09.07.15 13:18:05
У тебя итем находится в определённом месте. Берёшь и проверяешь, что координаты курсора (ты же знаешь как его рисовать да? значит знаешь как взять координаты) совпадают с твоим итемом.
MouseX >= ItemX && MouseY >= ItemY && MouseX <= ItemX+16 && MouseY <= ItemY+16
[подразумеваю что твой итем 16х16 иконкой]

Где проблема?
з.ы. на ганкастер не смотрел.
з.з.ы. если объяснение непонятно, могу вечером сделать вад-пример.
1
LagaDemon
Recruit
Next rank: Recruit after 6 points
4

Doom Rate: 2
Ссылка на пост №7027 Отправлено: 09.07.15 13:32:00
Вопрос: Как сделать так, чтобы монстры начали двигаться? Они расположены за картой и в определённый момент должны телепортироваться, а для этого надо, чтобы они прошли через линию. Формат: ZDoom(Doom in UDMF).
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №7028 Отправлено: 09.07.15 14:07:30
ZZYZX :
У тебя итем находится в определённом месте. Берёшь и проверяешь, что координаты курсора (ты же знаешь как его рисовать да? значит знаешь как взять координаты) совпадают с твоим итемом.
MouseX >= ItemX && MouseY >= ItemY && MouseX <= ItemX+16 && MouseY <= ItemY+16
[подразумеваю что твой итем 16х16 иконкой]
Где проблема?
з.ы. на ганкастер не смотрел.
з.з.ы. если объяснение непонятно, могу вечером сделать вад-пример.

Последний раз когда пытался так сделать, зная координаты итема и курсора.. не получилось, уже забыл в чем была причина, так-то это первое что мне пришло в голову, потом уже додумался до извращенного делать иконки и курсор 3д(тоесть thing-ами) как бы спавняться перед рожей думера и когда курсор коснется итема тогда происходит действие, способ рабочий, но геморный и не правильный.
В ганкастере там как-то по другому сделанно вот и интересуюсь.
А вад пример конечно хотелось бы глянуть, у меня не получилось так сделать.
LagaDemon :
Вопрос: Как сделать так, чтобы монстры начали двигаться? Они расположены за картой и в определённый момент должны телепортироваться, а для этого надо, чтобы они прошли через линию. Формат: ZDoom(Doom in UDMF).

Если по старинке, делаешь от сектора в котором монстры, до сектора куда надо телепортнуть маленький коридор, игрок стрельнет и монстры в как бы закрытом секторе услышат и начнут бродить, обязательно наткнутся на твою линию, но это старый способ, в UDMF все проще, вот 1 из способов:

На карте где надо спавнить монстра ставишь thing MapSpot (9001), даешь ему таг любую не занятую цыфру, например 333, и в редакторе GZDB жми F10 там пропиши так:

Script "SpawnZombieMan" (Void)
{SpawnSpot("zombieman",333,0,0);}

Потом на линию цепляешь действие(action) под номером 80, ставишь галочку на named script, вписываешь в scriptName имя скрипта тоесть SpawnZombieMan, строку map number оставляешь 0. Ну и конечно не забудь поставить галочку when player walks over.
Когда игрок пройдет такую линию начнут появляться монстры там где находится mapSpot(в игре его не видно), как бы телепортироваться, только без teleport fog помоему.

В общем проверяй, таких спотов можно делать очень много, главное давай им разные таги если надо что бы монстр спавнился в разных точках.
Еще будет полезно почитать, хотя бы с переводчиком если не знаешь англ. такие страницы как SpawnSpot, Thing_Spawn, Thing_SpawnNoFog, там если походить по ссылкам еще полезное найти можно, это конечно не телепорт, а создание монстров в указанной точке, но как замена годится, если не лучше.
1
Slavius [B0S]
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 141 points
1499

Doom Rate: 1.36
Ссылка на пост №7029 Отправлено: 10.07.15 08:25:38
Запилил текстуру для карты и столкнулся с очень странной проблемой. В PrBoom+ эта текстура почему-то резко обрезается или вообще стоит так, будто её в редакторе сдвинули (хотя ничего подобного нет). При этом в том же (G)ZDoom всё с этой текстурой хорошо. Сама линия с текстурой нигде не разделяется вертексами. Что с этим делать, может знает кто?
Скриншоты под спойлером:
Скрытый текст:


PrBoom+


GZDoom


Редактор

4 2
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7030 Отправлено: 10.07.15 14:34:51
Какой ширины текстура?
Скорее всего это какое-нибудь где-нибудь ВАНИЛЬНОЕ ОКРУГЛЕНИЕ. Скажем, до 64 или 128.
1
Slavius [B0S]
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 141 points
1499

Doom Rate: 1.36
Ссылка на пост №7031 Отправлено: 10.07.15 14:40:52
ZZYZX :
Какой ширины текстура?

80x31
Не думаю, что дело в каком-то округлении. У меня есть текстуры гораздо больше этой и они никак не ломаются.
А если в этом. Я же запарюсь текстурки переделывать :cry:
4 2
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7032 Отправлено: 10.07.15 15:22:38
Сделай 128х32 (пустое место тупо залей цветом) и проверь.

Так, я грозился алеку-в сделать вад для примера мыши в гздуме.
Вот вад, в котором можно мышью призвать демона в пентаграмму: http://www.mediafire.com/download/2ewvlz257f8rw2n/MouseInGZDoom.wad

Сам тестировал под GZDoom 2.1.pre-1159-gfbefe13
doom2.wad



з.ы. апдейт: научил скрипт игнорить настройки скорости прицела (m_yaw, m_pitch). И invertmouse заодно.
Сделал я это затем, что у многих людей стоит сильно неодинаковая скорость на вертикальном и горизонтальном прицеле, в гуе это выглядит слегка странно. А при invertmouse вообще при движении мыши вниз курсор ползёт вверх.
Можно также игнорить mouse_sensitivity, но я это выключил (там закомменченый код, если есть желание вернуть).
Всё же нужно людям оставить хоть какую-то возможность регулировать скорость курсора имхо.

Если кодишь под зандронум, то весь скрипт 1 (например) должен быть CLIENTSIDE, а серверу посылать необходимую инфу через RequestScriptPuke или как там эту функцию назвали.
Т.е. например "попробовать купить пушку после клика" = RequestScriptPuke(2, номер_итема), и никак иначе.
А то я видел моды, которые ВООБЩЕ ВЕСЬ ИНТЕРФЕЙС рисуют серверсайдом. Это писец. И лагает.
1
Slavius [B0S]
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 141 points
1499

Doom Rate: 1.36
Ссылка на пост №7033 Отправлено: 10.07.15 15:36:18
Переделал текстурки в размер 64х32. Проблема решена. Спасибо за помощь. Однако, это было странно.

4 2
sanek_47
Marine 1st class
Next rank: - UAC Gunner - after 10 points
30

Doom Rate: 2
Ссылка на пост №7034 Отправлено: 10.07.15 16:15:44
Можно как-нибудь сделать плавное затихание музыки? Чтобы например во время боя громкость музыки увеличивалась, а когда монстров вокруг нет становилась в 2 раза тише?
D1m3
= Sergeant Major =
Next rank: UAC Sergeant Major after 71 points
609

Doom Rate: 1.81
Ссылка на пост №7035 Отправлено: 13.07.15 18:23:13
Пытаюсь сделать 2 текстовых скрипта
#include "zcommon.acs"

script 1 (void)
{
print(s:"What kind of idiot spilled water here?");
}

script 2 (void)
{
print(s:"Brrrr ! The water is cold");
}
Скрипт 1 работает нормально
Но при пересечении линии скрипт 2 выдает "unknown script"
В чем может быть проблема?
1 4
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7036 Отправлено: 13.07.15 18:24:13
А как он вызывается на карте?
1
+Ku6EPyXOBEPTKA+
- 2nd Lieutenant -
Next rank: = 2nd Lieutenant = after 27 points
1413

Doom Rate: 1.75
Ссылка на пост №7037 Отправлено: 13.07.15 18:33:49
D1m3 :
unknown script

Это говорит только о том, что номер скрипта на линии не соответствует номеру скрипта в ACS. Проверь номера. Или он пишет "неизвестен скрипт №2"?
1 1 2
D1m3
= Sergeant Major =
Next rank: UAC Sergeant Major after 71 points
609

Doom Rate: 1.81
Ссылка на пост №7038 Отправлено: 13.07.15 18:52:48
+Ku6EPyXOBEPTKA+ :
Или он пишет "неизвестен скрипт №2"?

Пишет как раз это
1 4
ZZYZX
UAC Sergeant Major
Next rank: Chief Petty Officer after 29 points
821

Doom Rate: 1.38
Ссылка на пост №7039 Отправлено: 13.07.15 19:05:19
Заскринь чтоли окно со свойствами линии, на которой скрипт №2 висит.
И заодно наверное №1 тоже. Чтобы мы сравнили.
1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №7040 Отправлено: 14.07.15 08:53:33
ZZYZX :
Так, я грозился алеку-в сделать вад для примера мыши в гздуме.
Вот вад, в котором можно мышью призвать демона в пентаграмму

Спасибище, посмотрел, впечатлён, ожидал попроще скрипт, в твоём еще не сразу разберусь.

ZZYZX :
Сделал я это затем, что у многих людей стоит сильно неодинаковая скорость на вертикальном и горизонтальном прицеле, в гуе это выглядит слегка странно. А при invertmouse вообще при движении мыши вниз курсор ползёт вверх.

Вот с этим у меня тоже была проблема, но как такое решить я понятия не имел, у меня постоянно была разная скорость по x, y..
Да в принципе я фиг бы додумался до такого скрипта.

ZZYZX :
Всё же нужно людям оставить хоть какую-то возможность регулировать скорость курсора имхо.

Ну не знаю, у тебя скорость отличная получилась, зачем ее менять..

Буду пока что разбираться в твоём скрипте, я когда писал код мыши он был совсем примитивный и точно не помню, но даже функции не юзал(раньше вообще не понимал в чем их смысл, не сразу приходит=))

Вообще это все мне надо для инвентаря, такого как в рпг, с рендомным местоположением итемов в инвентаре..
И уже примерно понял как будет реализован клик по итемам, по сути так же как ты написал, только координаты итемов фиксированные и записанны в массиве, в общем надеюсь получится, по пытаюсь додуматься как же узнать что например в 7 ячейке лежит итем аптечка и при клике она используется.. =)
1
Страница 352 из 352Перейти наверх Пред.  1, 2, 3 ... 350, 351, 352
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!