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

Doom Rate: 1.68
Ссылка на пост №5841 Отправлено: 23.07.14 17:16:49
c4tnt :
Вообще, я уже подзабыл мануал ниловский немного, поэтому может я и не прав, но почему-то в мануалах часто не рассматривают такие вещи как порядок выполнения программы, а сразу пишут про то, какие операторы что делают. Ну или ссылаются на мистический си, который, видимо, всем положено знать.

Ну это да, в случае с манулом Nil, мануал VladGuardianа более разжевывает, но мне лично не хватает примеров, где можно применить например switch и while. Вобщем комбинации скриптов, польза от них, достаточно несколько примеров, мозги дальше сами начнут быстрее думать.
И еще не в 1 мануле что я читал не писали что можно объявлять в Int(все что угодно это не ответ.) и как правильно объявить некоторые штуки типо Define или что-то там еще было. Как объявить итем что в инвентаре тоже не знал, пробовал int xxx=CheckInventory("ddd"); почему-то не работало. То что int запоминает тоже не знал, думал он динамичски изменяет если объявлена итем в инвентаре.
1
c4tnt
= 1st Lieutenant =
Next rank: - Captain - after 211 points
1879

Doom Rate: 1.92
Ссылка на пост №5842 Отправлено: 23.07.14 18:56:54
int xxx=CheckInventory("ddd"); не сработало только из за несовершенства acs. В си можно.
1 1
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5843 Отправлено: 23.07.14 19:01:45
c4tnt :
int xxx=CheckInventory("ddd"); не сработало только из за несовершенства acs. В си можно.

И в ACS можно, нет разве? В любом случае, УМВР
5 1 1
Serious_MOod
Chief Petty Officer
Next rank: Chief Petty Officer after 80 points
860

Doom Rate: 1.93
Ссылка на пост №5844 Отправлено: 23.07.14 19:46:05
Как на хад выводить время? :(
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5845 Отправлено: 23.07.14 20:09:17
script 1 OPEN
{
   int t;
   while(TRUE)
   {
      t = Timer() / 35;
      
      HudMessage(d:t/60, s:":", d:(t%60)/10, d:t%10;
         HUDMSG_PLAIN, 1, CR_RED, 0.95, 0.95, 2.0);
      
      Delay(35);
   }
}

стырено с здумвики
5 1 1
Serious_MOod
Chief Petty Officer
Next rank: Chief Petty Officer after 80 points
860

Doom Rate: 1.93
Ссылка на пост №5846 Отправлено: 23.07.14 20:48:28
Хм, ну, я хотел сделать это в SBARINFO, если это там возможно, так как в ACS не шарю вообще. x)
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №5847 Отправлено: 23.07.14 21:20:47
DrawString CONFONT, Untranslated, Time, 500, 500;

Тут написано что еще можно выводить:
http://zdoom.org/wiki/DrawNumber

Serious_MOod
Кстате лучше напишу, если используеш SBarInfo
Лучше писать так :
StatusBar Normal, ForceScalled (Тогда если игрок поменяет разрешение экрана, все что на HUD тоже сожмется)
Я просто так 2 раза переписывал координаты разных объектов на HUD пока не понял что надо Forcescalled писать=)
1
Serious_MOod
Chief Petty Officer
Next rank: Chief Petty Officer after 80 points
860

Doom Rate: 1.93
Ссылка на пост №5848 Отправлено: 23.07.14 21:24:09
alekv
Спасибо, все работает. :)
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №5849 Отправлено: 23.07.14 21:25:38
Serious_MOod
Да незачто, по SbarInfo уже много знаю, если не все, обращайся =)

Добавлено спустя 10 минут 20 секунд:
ChaingunPredator :
И в ACS можно, нет разве? В любом случае, УМВР

ChaingunPredator :
int xxx=CheckInventory("ddd"); не сработало только из за несовершенства acs. В си можно.

Ну под спойлером скрипт пример если там убрать в конце IF ";" то будет работать так как задуманно:

Скрытый текст:

>>#include "zcommon.acs"

int kill=0;

Script 1 (Void) //Вешаем на линию к примеру
{
If(kill==1);
{
GiveInventory("BasicArmor",1);
Terminate;
}
If(kill==0);
{
DamageThing(20);
}
}

Script 39 (Void) //вешаем на моба
{
kill++;
}
Должно получится так, игрок жмет на линию если убил 1 моба дает бронь если нет отнимает 20оз
Но из-за ";" после IF скрипт выполнится игнорируя условия. тоесть даст броню и отнимет 20оз
Этого в мануалах я лично не видел =(

1
c4tnt
= 1st Lieutenant =
Next rank: - Captain - after 211 points
1879

Doom Rate: 1.92
Ссылка на пост №5850 Отправлено: 23.07.14 21:43:09
вопрос только один - пример чего? Выше переменную пытались инициализировать не константой а результатом выполнения функции. Так то немного разные вещи.
1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №5851 Отправлено: 23.07.14 22:21:44
c4tnt :
вопрос только один - пример чего? Выше переменную пытались инициализировать не константой а результатом выполнения функции. Так то немного разные вещи.


Выше там я про IF писал, видимо как-то стер случайно, много писал =(
Ну в этом примере интересует почему если в конце If стоит ; то скрипт работает не правильно.
Я благодаря тебе я и acs пойму, уже начал понимать некоторые вещи что раньше казались инопланетным уровнением=))
1
Serious_MOod
Chief Petty Officer
Next rank: Chief Petty Officer after 80 points
860

Doom Rate: 1.93
Ссылка на пост №5852 Отправлено: 23.07.14 22:31:03
alekv
Хм, а можно эти цифры "разделить"? Ну, то есть, я хочу к примеру сделать цифры на разном расстоянии друг от друга, такое можно сделать? x)
ChaingunPredator
- Captain -
Next rank: = Captain = after 147 points
2193

Doom Rate: 1.84
Ссылка на пост №5853 Отправлено: 23.07.14 23:01:07
У меня все нормально инициализируется:

http://rghost.ru/57058743

Кнопкой слева выдаем себе итемов "Lalka", второй инициализируем переменную A равную результату выполнения функции CheckInventory().

Исходный код:
#include "zcommon.acs"

Script 1 (void)
{
    GiveInventory("Lalka", 1);
}

Script 2 (void)
{
    int a = CheckInventory("Lalka");
    print(s:"variable ''a'' was initialized as ", d:a);
}


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

alekv :
почему если в конце If стоит ; то скрипт работает не правильно.

Потому что у If синтаксис такой:
If (условие) { выполнение } [Else { выполнение }]
5 1 1
alekv
= 2nd Lieutenant =
Next rank: - 1st Lieutenant - after 184 points
1456

Doom Rate: 1.68
Ссылка на пост №5854 Отправлено: 23.07.14 23:14:39
Serious_MOod :
alekv
Хм, а можно эти цифры "разделить"? Ну, то есть, я хочу к примеру сделать цифры на разном расстоянии друг от друга, такое можно сделать? x)

Да можно:
DrawString CONFONT, Gold, Time, 500, 500, 30,linebreaks(5);
Там где число 30 задает расстояние между цифрами.
LineBreaks(x) помоему по вертикале будет отображатся, в скобках сколько цифр будет на 1 строке.
Если вертикаль не нужна просто стираеш LineBreaks.
Добавлено спустя 22 минуты 38 секунд:
ChaingunPredator :
Потому что у If синтаксис такой:
If (условие) { выполнение } [Else { выполнение }]

В том и дело, синтаксис такой, но если поставить в конце ";"
IF(x==2); //то выполнятся обе строки не зависимо х=0 или х=2
{GiveInventory("Armor",20);}
DamageThing(0);
И ошибок о том что синтаксис не правильный не будет.

Ну ладно, я уже понял что к чему, просто для меня это важно было понять почему не всегда надо ставить ;
1
VladGuardian
= Major =
Next rank: Lieutenant Colonel after 196 points
3094

Doom Rate: 1.17
Ссылка на пост №5855 Отправлено: 24.07.14 08:48:54
IF(x==2);

Низя так писать. Хорошие прогроммисты так не пишут.
Точка с запятой ; "съедает" весь If
alekv :
то выполнятся обе строки не зависимо х=0 или х=2

Совершенно верно.
Ведь If полностью "исчерпан" (или прерван) точкой с запятой, которую ты поставил сразу после него.

важно было понять почему не всегда надо ставить ;

Ставится как разделитель между операторами, не более того.
В Бейсике для этой цели служит символ :
1 7 13
Serious_MOod
Chief Petty Officer
Next rank: Chief Petty Officer after 80 points
860

Doom Rate: 1.93
Ссылка на пост №5856 Отправлено: 24.07.14 14:39:05
alekv
Не совсем так. Я написал, можно ли их делать на разном расстоянии, что бы было вот так:

Двоеточие нарисовано на самом хаде.
c4tnt
= 1st Lieutenant =
Next rank: - Captain - after 211 points
1879

Doom Rate: 1.92
Ссылка на пост №5857 Отправлено: 24.07.14 17:23:30

У меня все нормально инициализируется


Тогда остаётся предположить только разные acs компиляторы. У меня был некоторое время такой, который инициализацию не понимал если там функция. Надо будет в новом попробовать.
1 1
MasterMind
- 1st Lieutenant -
Next rank: = 1st Lieutenant = after 51 points
1789

Doom Rate: 1.92
Ссылка на пост №5858 Отправлено: 26.07.14 07:26:06
Serious_MOod :


Двоеточие нарисовано на самом хаде.


Братиша, в AMMOFONT НЕТ двоеточия. Возможно время будет отображатся нормально если:
1.Добыть двоеточие
2.Прописать его в fontdefs
1 3
beigeboxcreature
- Sergeant -
Next rank: = Sergeant = after 20 points
320

Doom Rate: 1.35
Ссылка на пост №5859 Отправлено: 27.07.14 12:52:15
? : В ванили, если на обратной стороне линии, которая типа doortrack, находится не пустота, а еще какой-то сектор, можно как-то сделать, чтобы текстура не ехала? Lower unpegged не помогает, вроде и upper пробовал, и оба, все равно едет.
Memfis
= UAC Marshal =
Next rank: UAC General after 97 points
8103

Doom Rate: 1.85
Ссылка на пост №5860 Отправлено: 27.07.14 14:34:17
Вот так не едет у меня.
1 1 1
Страница 293 из 352Перейти наверх Пред.  1, 2, 3 ... 292, 293, 294 ... 350, 351, 352  След.
   Список разделов - Местечко мапперов и моддеров - Тема для новичков. Вопросы по маппингу/моддингу - любые!