Сайт Doom Power
 ПоискПоиск ВходВход
(G)ZDOOM - основы скриптинга Пред.  1, 2, 3, 4  След.
   Список разделов - Местечко Мапперов и Моддеров - (G)ZDOOM - основы скриптинга
АвторСообщение
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 19.05.08 17:30:25

Как

1. Сделать выводящийся на экран текст.
2. Повесить SCRIPT lump на МАР?
Я попыталсо, нихрена не вышло, потом попыталсо просто создать его отдельно, в результате гоззо вылетел "но сингс ин мар02",а система выдала свою ошибку "память" не может быть "рид". Sad
#include "zcommon.acs"

int taken1;
int m1;
int m2;
int m3;

script 666 OPEN
{
  print (s: "\cCHere's the underground of theatre.");
  delay (const:500);
}

script 1 (void)
{
  taken1 = 1;
  Thing_Remove(102);
  print (s: "\cCYou got a beer.");
  delay (const:50);
}

script 3 (void)
{
  if(taken1 == 1)
  {
    GiveInventory(Cell),600;
    print (s: "\cCNow go away");
    delay (const:200);
  }
  else
  {
    print (s: "\cCBring me a bottle of beer!");
    delay (const:200);
  }
}
ЛайносID
= Warrant Officer =
Next rank: - 1st Lieutenant - after 39 points
1211

Doom Rate: 1.42
Сообщение Отправлено: 19.05.08 17:33:11

FLYBAT
Во первых, скрипты создаются не в XWE, а в билдере. Ну а как работать с этим (в том числе выводить текст и прочее), смотри в моем "Мануале".
4
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 19.05.08 17:47:43

ЛайносID
Я пытался в билдере. Жму на "Едит лумп"-он вылетает. Sad
ЛайносID
= Warrant Officer =
Next rank: - 1st Lieutenant - after 39 points
1211

Doom Rate: 1.42
Сообщение Отправлено: 19.05.08 18:11:03

FLYBAT
Я, конечно, не знаю тонкостей, но мне кажется все из-за скрипта 666.
4
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 25.05.08 19:37:25

ЁЁЁЁЁ... А точно, такой скрипт есть уже в самой игре... блин, я и внимания не обратил, надо быть внимательнее
Shadowman
UAC General
Next rank: Unavailable after 0 points
4393

Doom Rate: 1.66
Сообщение Отправлено: 15.07.08 13:02:52

И все же.... кто-нибудь разбирался со скриптами, позволяющими делать диалоги ака Strife?
Или устроить какой-нить магазин предметов, короче, чтобы перед игроком выскакивало некое подобие меню и нужно было выбрать 1 из n "кнопок" меню, в результате такого выбора происходит соответствующее действие...

(да хотя бы простой вопрос, требующий от игрока ответа "Да/нет" - вот уже было бы здорово).

PS. И Еще - как сделать "прокачку параметров персонажа", чтобы например, стартуешь с 60 хеллсами, потом по ходу игры в определенные моменты они повышаются на random(x,y) пунктов.
Плейер класс не понимает в актор пропертиез переменные, если написать типа
Health 60+i*random(1,6)

начинает ругаться Sad А жаль, было бы просто менять i скриптами и регулировать тем самым плейер класс... но видимо простых путей тут нет
1 5 2
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 25.07.08 19:22:43

Предупреждение: я начал только месяц назад, и тупой по всем параметрам Строительства, читай ламер.

Как сделать:
1.Чтобы на экран выводилась картинка с миссией, через 5 секунд исчезала;
2.Чтобы если ударишь друга, все друзья на тебя бросились;
3.Чтобы ты мог менять свою одежду;
4.Чтобы День становился Вечером, Вечер Ночью, Ночь Утром, а Утро опять в День?
5.Все что выше написал Тень?

Короче, тупо сделать на движке ДумаГЗ игру типа Фабле.

ПС Как присваевается тид?
tgw lead
= Sergeant =
Next rank: - Master Sergeant - after 33 points
467

Doom Rate: 0.91
Сообщение Отправлено: 20.08.08 14:28:31

А есть такой скрипт на смену музыки?
Очень надо!
dukenator
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
972

Doom Rate: 1.67
Сообщение Отправлено: 20.08.08 14:42:05

tgw lead
Есть такой скрипт, пишется в ACS, выглядит так:


Script 1
{
SetMusic("(название трека)",0)
}
1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 20.08.08 15:15:08

Shadowman
если говорить о регулируемых скриптах, типа где можно что-то выбрать в каком-то диалоге, то, думаю, это можно сделать только через другие скрипты, которые активируют какие-то переменные, которые как-то влияют на текущий скрипт, а потом соответствующие Puke привязать к кнопкам.

А тебе обязательно чтобы хелсы увеличивались на случайное число пунктов? По-моему в Claustraphobia были какие-то скрипты, изменяющие кое-какие параметры игрока без Декорейта.

FLYBAT
1. Что значит "картинка с миссией"? Для текста есть print и hudmessage.
2. Насколько мне известно, скриптовой или декорейтной команды, позволяющей сменить флаг у объектов объединенных тагом, нет. Так что не уверен, что это можно или просто реализовать.
3. Что значит "менять одежду"?
4. Изменение времени суток можно реализовать через Light_Fade, указав таги всех нужных секторов и время, за которое яркость изменится.
5. И что значит этот вопрос?
1
tgw lead
= Sergeant =
Next rank: - Master Sergeant - after 33 points
467

Doom Rate: 0.91
Сообщение Отправлено: 20.08.08 15:33:21

А можно сделать так?
Я нажимаю - меняется музыка на D_STALKS, ещё раз нажимаю - D_BETWEE и т.д.
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 20.08.08 15:40:01

zer0
Мы с Шедоу уже скооперировались. все проблемы я решил(успешно) от прокачки до диалогов. я в принципе не очень жадный, если нужно - поделюсь чем-нибудь.
1 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 20.08.08 18:42:20

tgw lead
обычный скрипт с переменной и if.

int music=1;

script 1 (void)
{
if(music==1)
  {
  setmusic("D_STALKS",0);
  music=2;
  terminate;
  }
if(music==2)
  {
  setmusic("D_BETWEE",0);
  music=3;
  terminate;
  }
if(music==3)
  {
  ...
  }
...
}
1
tgw lead
= Sergeant =
Next rank: - Master Sergeant - after 33 points
467

Doom Rate: 0.91
Сообщение Отправлено: 20.08.08 20:32:11

Спасибо! А то я нуб в скриптах.
Изучить бы их всех
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 28.08.08 12:15:59

zer0

1.Просто гфх-ная картинка.
3.Менять спрайт одежды игрока.
4.Как?
5.Диалоги магазины прокачка.
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 28.08.08 20:11:20

FLYBAT, тебе это на самом деле не надо, не пудри людям мозги, заведи собственный и сделай наконец что-нибудь работающее. Потом посмотрим, чем тебе помочь.
1 1 1
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 02.09.08 22:50:57

FLYBAT
Честно не знаю, зачем это пишу. никакой пользы ТЕБЕ это не принесёт.

1.Чтобы на экран выводилась картинка с миссией, через 5 секунд исчезала;

из acs

SetFont("Твоя картинка(название лампа)");
hudmessage ("a";HUDMSG_FADEOUT , 12345, CR_UNTRANSLATED, 0.5, 0.5, 5.0,1.0);

2.Чтобы если ударишь друга, все друзья на тебя бросились;

Проще на смерть, тогда схема простая. всем мирным вешаем в экшен вызов скрипта, где проверяем tid. если tid== tid плеера, то значит он и убил. можно организовать проверки в pain стейте, но это крайне ненадёжно.

3.Чтобы ты мог менять свою одежду;
зачем? тебя всё равно не видно почти никогда. есть несколько подходов, но идеального нет, сплошные компромиссы. вот в моём ALONE меняется спрайт игрока в зависимости от оружия в руках, но это реализовано большой кровью.

4.Чтобы День становился Вечером, Вечер Ночью, Ночь Утром, а Утро опять в День?

Опять же отосительно бессмысленно. Лучше создать 4 карты или делать это всё в ограниченных маштабах. Посколько смысла я не вижу, разбирать не буду.

5.Все что выше написал Тень?

прокачка, диалоги, магазины... Я это делаю уже несколько месяцев, размер скриптов превышает в общей сложности 150 килобайт. по сему я считаю, что вопрос задан слишком нагло и отвечать на него не буду. Я убеждён, что FLYBAT это не поможет сделать что-то хорошее, а объяснять долго, а просто выкладывать не могу - не доделано и нет документации. Кому-нибудь более компетентному я согласен подсказать пути, которыми пошел я, опять же пока ждать чего-нибудь сверхестейственного не стоит. Пока делаю динамически изменяющуюся броню(по защитным характеристикам, а не количественным). подвижки есть, но результат уже занимает 50 килобайт декорейта и кучу в acs.
1 1 1
FLYBAT
= UAC Gunner =
Next rank: - Corporal - after 13 points
127

Doom Rate: 0.77
Сообщение Отправлено: 02.10.08 15:33:19

Nil :

...2.Чтобы если ударишь друга, все друзья на тебя бросились;

Проще на смерть, тогда схема простая. всем мирным вешаем в экшен вызов скрипта, где проверяем tid. если tid== tid плеера, то значит он и убил. можно организовать проверки в pain стейте, но это крайне ненадёжно.

3.Чтобы ты мог менять свою одежду;
зачем? тебя всё равно не видно почти никогда. есть несколько подходов, но идеального нет, сплошные компромиссы. вот в моём ALONE меняется спрайт игрока в зависимости от оружия в руках, но это реализовано большой кровью.

4.Чтобы День становился Вечером, Вечер Ночью, Ночь Утром, а Утро опять в День?

Опять же отосительно бессмысленно. Лучше создать 4 карты или делать это всё в ограниченных маштабах. Посколько смысла я не вижу, р...


Я знаю, ЧТО для этого всего надо сделать. Я не знаю КАК
Reiko
= Lance Corporal =
Next rank: - Master Corporal - after 26 points
264

Doom Rate: 1.65
Сообщение Отправлено: 16.10.08 08:44:58

Вопрос: а возможно ли выводить сообщения на русском через скрипты?
2
dukenator
Chief Petty Officer
Next rank: Chief Petty Officer after 18 points
972

Doom Rate: 1.67
Сообщение Отправлено: 16.10.08 08:57:06

Reiko
Ну тут можно заменить англицкие буквы русскими(всмысле картинки), запомнить что что значило и потом "вслепую" писать в скрипте, чтобы в игре это все складывалось в русские слова...Правда, некоторых буков не хватит...
1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 16.10.08 10:22:51

dukenator
нафига? давно уже используется импортированние русских шрифтов. У нас же есть FONTDEF или типа того. Я сам не занимался. У Shadowman'а можно спросить. Или в вики почитать.
1
Shadowman
UAC General
Next rank: Unavailable after 0 points
4393

Doom Rate: 1.66
Сообщение Отправлено: 16.10.08 12:02:43

Reiko
Тебе нужно сгенерировать фонт для здума (программка fontgen или наподобие - здум фонт генератор). Полученный шрифт в виде lump-файла вставляешь в вад (название файла не должно быть больше 8 символов). Далее перед каждым текстовым скриптом дописываешь строчку:
SetFont("MyFont"); //MyFont - название лумпа со шрифтом.
и далее уже можешь писать типа:
print(s:"Этот демон такой злой и нехороший что скушал меня..."); и т.п.
1 5 2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 24.10.08 22:12:46

Shadowman
это не совсем по теме, но вот я во-первых что-то не сумел сделать шрифт в этой штуке (хотя что-то там получилось, но как-то криво), а во-вторых не понял, как мне заменить новым шрифтом стандартный? Именно чтобы без зайдествования его скриптами, просто заменить тот шрифт, что в меню и т.п. Для мода.
1
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 25.10.08 01:01:11

zer0
В теории - надо назвать ламп CONFONT,SMALLFONT или BIGFONT. но я не пробовал(вроде не оченьактуально, это только шедоу вызывает его перед каждой строчкой, остальным надо накатать функцию и не парится.
1 1 1
StasBFG[iddqd]
-= DoomGod =-
Админ Форума
1734

Doom Rate: 1.58
Сообщение Отправлено: 25.10.08 17:23:04

У меня есть русские шрифты для здума: консольный, крупный. Конвертировать прогой imagetool
Этим всем нужно заменить оригинальные шрифты (чтобы были и латинские и русские буквы). Для отдельных нужен будет FONTDEFS
С обычным шрифтом не получится - в здуме есть баг, который randy отказался исправлять (т.к. с латинскими буквами всё норм).
1 2 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 26.10.08 11:27:41

StasBFG[iddqd]
ну, меня не интересуют русские шрифты. Я думал о том, можно ли сделать просто шрифты более симпатичные и выше разрешением, а за базу я хотел взять обычный DooM.ttf. Как я понял, это возможно только заменой лампов с картинками букв?
1
Nil
= 1st Lieutenant =
Next rank: - 2nd Lieutenant - after 38 points
1402

Doom Rate: 1.79
Сообщение Отправлено: 26.10.08 13:48:39

zer0, а что ещё надо? проявляется полная поддержка киррилицы в сообщениях. Можно будет выводить что тебе угодно. Никаких глюков нет, если лампы не подменять, а создать свой шрифт и его SetFont("Rusfont1") делать. Тебе-то что надо? шашечки или ехать? размер букв прямо пропорционален разрешению экрана, для больших разрешений сделай более большие и красивые буквы и печатай ими.
1 1 1
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 26.10.08 18:17:14

Nil
я кажется написал, что меня не интересует поддержка кириллицы, я не собираюсь делать русифицированные вады Smile ладно, все это в любом случае полезно знать, поскольку замена шрифтов может очень пригодиться, так что спасибо всем за информацию.
1
/Last_Hero***
- Corporal -
Next rank: = Corporal = after 2 points
168

Doom Rate: 1.98
Сообщение Отправлено: 13.11.08 09:13:55

Хм... терзаюсь вопросом, глядя на все это великолепие... Вроде и ДБ 1.68, а вот кнопки Едит Лумп не вижу!
И вопрос номер 2:
ЛайносID :
Во первых, скрипты создаются не в XWE, а в билдере.

Почему так?
2
zer0
= Sergeant Major =
Next rank: UAC Sergeant Major after 63 points
697

Doom Rate: 1.23
Сообщение Отправлено: 16.11.08 11:53:24

/Last_Hero***
В ДБ нет никакого edit lump. Там из лампов можно только скрипты создавать и редактировать.
Скрипты редактируются в нем, потому что в XWE хоть вроде и есть компилятор, работает он глючно. Еще можно компилировать скрипты сторонним компилятором, acc. Но это имеет смысл только когда надо создавать скрипты, не привязанные к уровням.
1
Страница 3 из 4Перейти наверх Пред.  1, 2, 3, 4  След.
   Список разделов - Местечко Мапперов и Моддеров - (G)ZDOOM - основы скриптинга