Гостевая книга
АРХИВ СООБЩЕНИЙ

On-line: гостей 0. Всего: 0

Участники
Sledgy



18.02.09 13:55

(слева в панели) GUIs - 1.ICONBAR

Щелкаешь на каждую иконку, в маленьком окошке параметров находишь "Image" и кликаешь по его значению --- выбираешь картинку из спрайтов.


• Иконки Sierra



http://spacequest-time.narod.ru/files/forum/sierra_icons.rar (6 кб) 18.02.09 14:11 Sledgy

• А вот здесь уже готовые GUI в стиле SpaceQuest
http://spacequest-time.narod.ru/files/sierra_style.rar

- Иконки
- Инвентарь
- Смерть РВ
- Опции
- Запись/Загрузка
- Сообщения

Нужна последняя версия AGS (2.72): http://www.bigbluecup.com/ags_272.zip

Заходите в GUIs и в меню GUI - Import all GUIs (старые заменяться на новые). 19.02.09 10:58 Sledgy

• Кстати, gui не работают. 04.09.09 20:16 evarube

• Ты их видишь в AGS? 04.09.09 23:44 Sledgy

• Вижу. Но когда начинаю тестирование вот http://ipicture.ru/Gallery/Viewfull/23235126.html 04.09.09 23:48 evarube

• Ты в AGS 2.72 их смотришь?


Блин, я вроде проверял только LucasArts-стиль ^_^''' Если не канает, можно SCI-шаблон для AGS 2.62 использовать, там уже много что готово.

http://jift.narod.ru/invis/SCI__25_08_2009.rar 06.09.09 04:35 Sledgy

Слэш Вохаул



20.02.09 19:49

что делать если при попытке Import GUI пишут "Unsupported Gui format"?


• Или выбрал не тот файл (*.gue - один гуи, а *.gui - целый набор; это 2 разных файла), или не та версия программы.

Посмотри Help - About... - какая у тебя версия.

Я щас две использую - 2.61 и 2.72, первая мне кажется удобней. Я перешлю тебе гуи для твоей версии.


Вот так выглядит твой гуи в игре:

21.02.09 11:45 Sledgy

• 2.61 21.02.09 12:28 Слэш Вохаул

• В принципе, можешь сразу вот это проделать:


В Edit global script (Ctrl+G) замени
InventoryScreen();

на
GUIOn (INVENTORY);
SetCursorMode (MODE_USE);
SetMouseCursor (6);




P.S. Гуи положил тебе в личку, но, думаю, в нём нет смысла (только из инвентаря "?" удали!). Если всё-таки будет глючить, скачай гуи. 21.02.09 13:10 Sledgy

• класс) теперь работает 21.02.09 13:38 Слэш Вохаул

• новая проблема: теперь кнопки в инвентаре не работают, а некоторые просто поменялись своими функциями 21.02.09 13:43 Слэш Вохаул

• а да-да чуть не забыл, это просто в гуи не сохраняется код ((


Выбери свой гуи и внизу "Edit script..."

Найди
if (interface == INVENTORY) {...

замени на
if (interface == INVENTORY) {
if (button == 0) {
SetCursorMode (MODE_USE);
SetMouseCursor (6);
}

if (button == 1) {
SetActiveInventory(-1);
SetCursorMode(MODE_LOOK);
}
if (button == 2) {
GUIOff (INVENTORY);
SetDefaultCursor();
}

if ((button == 4) && (game.top_inv_item < game.num_inv_items - game.num_inv_displayed)) {
game.top_inv_item = game.top_inv_item + game.items_per_line;
}
if ((button == 3) && (game.top_inv_item > 0)){
game.top_inv_item = game.top_inv_item - game.items_per_line;
}
}
21.02.09 16:13 Sledgy

• в основном все исправлено, но когда нажимаю "ОК" вместо курсора с предметом появляется курсор с глазом 21.02.09 18:56 Слэш Вохаул

• и еще когда гнлаз на предмет использую, игра вылетает( 21.02.09 19:30 Слэш Вохаул

• Проще всего если конечно ты пришлешь сам проект, чтоб я увидел ))) но будем так

***

Когда щелкаешь в GUI кнопку в Инвентаре (допустим ОК). В окошке рядом появляются его свойства, в заголовке окошка - номер кнопки.

Gui 2 Object 2, Gui 2 Object 1, Gui 2 Object 0....
Эти номера после "объект" - и есть номера для
if (button == 0) {...


Т.е. --- "если кнопка=0" (кнопка под номером 0), тогда...

Вот и смотри, под каким номером какая кнопка и соотв-но меняешь цифры в скрипте.


У меня было так: (и сейчас у тебя так в скрипте)
кнопка 0 - выбор (стрелка), 1 - смотреть, 2 - ОК (выйти из инв), 3-4 - скроллинг по вещам


Может, после удаления "?"-кнопки (если ты её удалял), у тебя по-другому получились номера кнопок.

***

Вылетать игра может, если при смотрении на вещь у тебя стоит сообщение на русском языке, а шрифт в игре не лежит.

В общем, пошли скриншот ошибки. 21.02.09 20:06 Sledgy

• все игра больше не вылетает (видимо глюк какой-то был).
проверил номера - все номера правильные 21.02.09 20:24 Слэш Вохаул

• я сейчас делаю GUI как у Sierra. есть вопрос: как сделать так, чтобы работала кнопку с вопросительным знаком? я так понимаю, для нее отдельный скрипт нужно писать?

***
+как мне сделать так чтобы GUI были скрытыми? т.е. их не было бы на экране??
и как настроить X и Y у GUI??? 22.05.09 17:37 Слэш Вохаул

1-"?" для иконбара

if (GetCursorMode()==5) {
...
}

расшифровка: если выбран курсор под номером 5


1) номера смотри в Курсорах (закладка слева). Для вопросика надо создать отдельный, например 8-й.

2) затем Edit Global Script (верхнее меню) или Ctrl+G

Находишь вот эти строки

if (interface == ICONBAR) {
if (button == 4) { // show inventory
show_inventory_window();
}
else if (button == 5) { // use selected inventory
if (character[ GetPlayerCharacter() ].activeinv >= 0)
SetCursorMode(4);
}
...
if ((button == 5) && (game.top_inv_item > 0)){
// scroll up
game.top_inv_item = game.top_inv_item - game.items_per_line;
}
}


button==... - какая кнопка в иконбаре нажимается и что делать

if ... { - оставить везде то же, а внутри добавить еще одно "если"; перед содержимым, а в конце после содержимого поставить }



if (GetCursorMode()==8) {
...сообщение что это за иконка
}
else
{
...действие которое там стояло до твоих коварных манипуляций



И всё. Везде в конце должны оказаться две фигурные скобки - закрывающие оба "если". Т.е. }



2-Невидимый ГУИ

Там несколько видов отображения и появления ГУИ. В GUI-форме есть три стандартных гуи с разным таким появлением: щелкни два раза по Visible в окошке свойств

Normal - всегда висит
Mouse YPos - при наводке появляется (по вертикали)
Popup Modal - появляется поверх всего, и игра на паузе, пока ты не вылезешь из этого окна
Persistent - без понятия ;)


Каким образом должны появляться твои ГУИ или ты имеешь ввиду их вообще сделать невидимками навсегда? Возможно это и есть персистент.



3-икс игрик гуи

Т.е. место его появления?

В окошке свойств есть X-Position и Y-Position 22.05.09 22:54 Sledgy

• вот скрипт почему-то не работает:

else if(button == 9){
if (GetCursorMode()==10) {
Display("Эта иконка показывает информацию о других иконках.");
}
else
{ SetCursorMode(10);
}
}


-со всеми другими иконками работало, а с самим вопросительным знаком как ни странно не работает: сколько я раз не нажимаю на иконку с "?" курсором с вопросительным знаком, ничего не происходит. с другими иконками работает. 25.05.09 10:04 Слэш Вохаул

• Пожалуйста скинте мне гуи в стиле SQ для 2.61 25.05.09 10:45 Ksen

• 10й курсор ты точно создал? в 9 кнопке в настройках выбрал "New mode number = 10"?


Попробуй сместить фигурную скобку:


else
{
SetCursorMode(10);
}
}



Вот так вроде нельзя писать --> "{ SetCursorMode(10);"


***


Если не помогло, дай весь скрипт этих ...button==... - чтобы можно было увидеть всё целиком.




Ksen, GUI в стиле SQ: это и иконбар, и форма настроек (save, менять скорость), и форма сообщений :)

Могу дать эти GUI из SQ3 P&C (demo), но возможно он только для 2.7х версии 29.05.09 04:11 Sledgy

• как только доделаю, сразу скину 25.05.09 12:56 Слэш Вохаул

• все спс разобрался 01.06.09 09:47 Слэш Вохаул

• почти доделал гуи. осталось два вопроса:
1) как настроить, за что отвечают ползунки (громкость, скорость и т.д.)???
2) как сделать гуи для сохранения или загрузки ? 22.06.09 09:22 Слэш Вохаул

• просьба ответить побыстрее 22.06.09 17:01 Слэш Вохаул

• Всё это уже сделано в демке SQ3 P&C (он правда для 2.72 АГС), надо там внутренности копать и по аналогии для нашей версии. Морочиться надо, изучать.


Пока рекомендую оставить как есть. Ну или могу тебе тупо скачать коды этих готовых гуи. 22.06.09 17:18 Sledgy

• КОГДА БУДУТ НОВЫЕ GUI ДЛЯ АГС 2.61 24.06.09 19:37 Andrey

• Кто нить ответить может будет ли GUI для AGS 2.61????????????? 01.07.09 19:41 Andrey

• ок через неделю выложу тут. только я там еще не доделал ГУИ сохранения и загрузки и хз как их делать. пока там только одно сохранение может быть 01.07.09 20:14 Слэш Вохаул

Слэш Вохаул
О_о круто,молодца.
GUI for AGS 2.61 cool.Yes 02.07.09 09:57 Andrey

Слэш Вохаул, там наверно список надо использовать (элемент списка) и как-то добавлять туда новые сохранения. 02.07.09 10:44 Sledgy

• Sledgy пишет:

 цитата:
там наверно список надо использовать


это я знаю, но непонятно как сделать так чтобы сохранялось именно на ту строчку, которую выбрал игрок и сохранялось под тем названием, которое он напечатал 02.07.09 11:09 Слэш Вохаул

• Потом в 4 уроке будут все эти гуи, и гамовер, и выход и пр... Щас пока не до этого.

Вот скрипт из SQ3 P&C demo (мож поможет):

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



В глобальный тоже надо пихнуть кое-что:

(в самом начале)
Скрытый текст


потом:
Скрытый текст



и это:
Скрытый текст



Но всё это не проверял, может быть здесь не всё или может быть это только для AGS 2.72 02.07.09 11:37 Sledgy

• Можно хотяб иконки выложить. 02.07.09 15:17 Andrey

• их проще самому дёрнуть через SCI-AGi Viewer / SCI Studio из SQ4,5 02.07.09 15:30 Sledgy

• Мне надо для AGS 2.61
Ты че думаешь я не пробовал
Вставляю там крошечная картинка.
Я тебе говорю про Point and Click иконки. 02.07.09 15:37 Andrey

• на следующей неделе пришлю. все равно у меня сейчас проекта игры с собой нету. все на даче осталось 02.07.09 15:58 Слэш Вохаул

• Ну тогда ладно 02.07.09 16:01 Andrey

• Когда ты пришлеш ГУИ ???????? 30.07.09 13:31 Andrey

• Слэш Вохаул давно уже их сделал в виде готового проекта-примера:
http://sq.forum24.ru/?1-4-0-00000027-000-0-0-1248427964


Внизу смотри последнюю версию. 01.08.09 03:18 Sledgy

• Вот сами GUI's Space Quest'а :

http://narod.ru/disk/11918944000/Gui's%20Space%20Quest.rar.html 12.08.09 16:58 Andrey

• Это откуда? 13.08.09 03:48 Sledgy

• Вытащил из проэкта Slasha Vohaula ,чтобы НЕКОТОРЫЕ НЕ МУЧИЛИСЬ 13.08.09 13:57 Andrey

Слэш Вохаул



24.03.09 20:30

до этого вставлял музыку в игру и все работало нормально. сейчас попытался вставить туда другую мелодию а мне пишут: Unable to initialize your audio hardware. [Problem: Failed to init digital sound driver]

-в чем проблема и как ее исправить???


• Возможно, звук занят чем-то другим.

Попробуй ctrl+alt+del (вызов Панели задач), там в Процессах (где всякие explorer.exe, ctfmon.exe) найди SynCor.exe и закрой его (выбери, кнопка Del, "да"), он должен исчезнуть.


Также можно просто перезагрузиться. 24.03.09 20:51 Sledgy

• а если там нет этого СинКор? перезагрузил комп, а АГС все равно эту ошибку выдает 26.03.09 19:40 Слэш Вохаул

• Какого формата мелодии вставлял и какую сейчас вставляешь? (ну т.е. mid или что там)


Может быть, в winsetup.exe игры надо сменить настройки

в AGS: File - Setup Game... И там поставить Default DirectSound и Default MCI Music Device. 26.03.09 20:55 Sledgy

• Sledgy пишет:

 цитата:
Default DirectSound и Default MCI Music Device.



у меня там так и настроено.
PS файл в формате MIDI 27.03.09 20:51 Слэш Вохаул

• Может быть, сам муз.файл, который ты пытаешься вставить какой-то не такой.

Попробуй другие миди повставлять. Они пойдут? 27.03.09 21:05 Sledgy

• тоже самое 04.04.09 20:26 Слэш Вохаул

• ну последнее что хз вдруг поможет

панель управления - звуки - вкладка Аудио - там "Воспроизведение MIDI" в самом низу, ставишь Программный синтезатор звуковой. Ок.


если нет, можно отложить на потом и уже в процессе тестирования (хотя бы демки) вставлять музу, проверять всякие дела и тд 05.04.09 00:51 Sledgy

• У меня тоже такая проблема была писало:Unable to initialize your audio hardware. [Problem: Failed to init digital sound driver]
В папке complied есть winsetup там надо настроить Digital sound,midi music.

***

В Winsetup
Digital sound:Default WaveOut Device
Midi Music:Win32 Midi
23.06.09 09:50 Andrey

Слэш Вохаул



06.04.09 11:41

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

1) при нажатии рукой на предмет номер 0 сначала показать анимацию, а потом пренести персонажа в комнату номер 5


• Анимация может быть трёх видов:

1) "персонаж" (character)
2) объект (object)
3) анимационный фон

1 - обычно для персонажей и делается
2 - для предметов (которые можно взять или изменить)
3 - изменяющийся фон (например сверкающая молния в небе)


Если тебе надо, чтобы сам предмет-0 анимировал, то это 2й пункт.

Если ты вообще хочешь какую-то киношку показать, это даже не анимация, а заставка (ролик).

***

Допустим, нам надо анимировать объект-0, на который мы и нажали



AnimateObject(0,0,0,false);


первое число - номер объекта, дальше - номер лупа (сама анимация), скорость, и надо ли повторять (по умолчанию: нет).

***

Если объект еще не создан, создаём его

- Objects - New object и кликаешь куда его поставить. Появится синяя чашка.

- Change Image... - меняешь её на облик нужного предмета-0

- Затем Interactions... - события этого объекта

Interact object <-- вот сюда и ложишь скрипт

***

Ну и также к скрипту добавим строчку телепортации

Это

NewRoomEx(5,0,0);


номер комнаты, будущие координаты (икс, игрик) 07.04.09 10:36 Sledgy

• Sledgy пишет:

 цитата:
не анимация, а заставка (ролик).


а это как сделать?) 14.04.09 13:26 Слэш Вохаул

• ок. с тем скриптом разобрался. но есть новый вопрос:
Sledgy пишет:

 цитата:
AnimateObject(0,0,0,false);



There was an error compilingyour script. The problem was:
In 'Main script'
Error (line 12): underfined symbol 'false'

-в чем ошибка?


***

Вот еще:
an error has occured. Please contact the game auther for support, as this
is likely to be a scripting error and not a bug in AGS.
(ACI version 2.61.747)

(room 1 script line 12)
Error: AnimateObject: object has not been assigned a view 21.05.09 18:12 Слэш Вохаул

• ок с этим скритом разобрался. 22.05.09 11:40 Слэш Вохаул

• есть вопрос: как сделать так, чтобы действия в скрипте шли в определенной последовательности? 08.04.09 17:03 Слэш Вохаул

• Они идут по порядку, но если нужна задержка между действиями - Wait(0); - где вместо 0 количество секунд 08.04.09 19:35 Sledgy

• а можно ли сделать так, чтобы сначала персонаж подошел в опредленные координаты, затем полностью показали анимацию и только потом персонаж попал в другую комнату?

а то персонаж сразу же попадает в другую комнату, а задержку невозможно подсчитать точно 09.04.09 12:05 Слэш Вохаул


 цитата:
персонаж подошел в опредленные координаты, затем полностью показали анимацию



Про анимацию не понял, но наверное так:

Персонаж идёт к указанной точке. И как только он дошел, перенести его на другую комнату.



MoveCharacter(0,230,143);

while ((character[0].x!=230) && (character[0].y!=143)) {
Wait(1);
}

NewRoomEx(5,0,0);

09.04.09 13:07 Sledgy


PlayVideo ("intro.mpg", 1, 1);
avi, mpg и др форматы


первая цифра - пропуск

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


вторая цифра - параметры

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



Пока играет видео, игра на паузе.


Кодеки
Скрытый текст



Куда ложить видео-файл
Скрытый текст
14.04.09 19:41 Sledgy

• какой нужен скрипт чтобы курсор мыши изменился на 1 секунду, а потом поменялся обратно? 15.04.09 13:35 Слэш Вохаул

• новые курсоры можно сделать в Cursors (там уже есть 2 свободных - usermode1-2, меняешь картинку через "Change image...")

паузу делаешь через Wait ест-но --- Wait(40); - это 1 секунда


- меняем курсор
- пауза
- меняем курсор


Поменять можно графику курсора, а можно переключить на один из уже существующих режимов.


Т.е. можно курсор "Смотреть" (который сейчас глаз) превратить в очки. При этом это всё равно будет курсор "Смотреть".

А можно поменять "Смотреть" на "Говорить" (переключить режим курсора).


Изменить графику курсора - ChangeCursorGraphic (MODE_LOOK, 120);

Переключить режим курсора на другой - SetCursorMode(MODE_LOOK);

MODE_LOOK - англ название режима: LOOK, USE, ..., можно писать номер (его смотри в Cursors) (0 - ходить, 1 - смотреть, 2 - ...)
120 - номер картинки из Sprite manager'а (там под каждой картинкой номер) 16.04.09 12:06 Sledgy

• =((
какая-то ошибка: курсор всегда меняет спрайт на 2055 (хотя я пишу 2060), а потом когда я жму на глаз (который к скрипту не имеет ни какого отношения) вместо глаза я вижуэтот самый 2060 спрайт. как это исправить? 16.04.09 17:48 Слэш Вохаул

• Если тебе нужно создать новый курсор, лучше всегда использовать *новый* курсор, т.е. usermode1-2 или создать свой

Например ты придумал иконку Драться, то создай для неё новый курсор, не переделывай стандартные.


Переключиться на крестик (2060) у меня получилось через SetCursorMode(5);


У тебя возникала ошибка, потому что видимо ты написал

ChangeCursorGraphic (MODE_LOOK, 2060);
что означает, заменить картинку иконки "Глаз" на спрайт 2060


Лучше не менять графику курсора, а именно *переключаться на другой курсор* (SetCursorMode), а то потом неудобно будет действия обрабатывать --> Сравни: Если выбран такой-то курсор и его картинка равна такому-то спрайту, то ... ))) или Если выбран такой-то курсор, то...


Ну а графу курсоров можно и заранее в редакторе поменять (change image) 17.04.09 01:51 Sledgy

• мне нужно чтобы в команде

 цитата:
ChangeCursorGraphic (MODE_LOOK, 2060);


вместо курсора "смотреть" изменялся курсор "ждать" как это сделать? 28.04.09 14:06 Слэш Вохаул

• я понял: проблема в том что при использовании скрипта wait курсор автоматически меняется в часы. что мне с этим сделать? 17.04.09 14:51 Слэш Вохаул

• Замени картинку курсора "Часы" на другую картинку.

Можешь в редакторе сразу сделать, можешь походу игры. 17.04.09 20:05 Sledgy

• а как сделать так чтобы курсор не мог двигаться с места в течение 1 секунды? 18.04.09 12:11 Слэш Вохаул

Например так:

SetMouseBounds(mouse.x, mouse.y, mouse.x, mouse.y);
Wait(40);
SetMouseBounds(0,0,0,0);


- ограничение диапозона мыши по текущим координатам мыши
- 1 секунда
- свободный диапозон


Есть один минус: двигать все равно чуть-чуть можно (увидишь)

***

Можно еще сделать курсор невидимым

HideMouseCursor();

20.04.09 10:17 Sledgy

• Не очень понял вопрос.


Ты хочешь изменить картинку курсора "Ждать"?

Или хочешь изменить картинку курсора "Глаз" на картинку часов? (т.е. картинку курсора "Ждать") 28.04.09 16:32 Sledgy


 цитата:
изменить картинку курсора "Ждать"

28.04.09 17:10 Слэш Вохаул

• В "Cursors" (панель слева) находишь номер курсора

0 - walk, 1 - look, ...


=>

ChangeCursorGraphic (7, 2060);
28.04.09 18:31 Sledgy

• нужен следующий скрипт:
если персонаж SP побывал в комнате 3 то при нажатии рукой на хотспот 7 показать сообщение "...", но если он там не был то перенести его в комнату 3 в координатах 1;1 20.05.09 18:07 Слэш Вохаул

• Слэш Вохаул пишет:

 цитата:
нужен следующий скрипт:
если персонаж SP побывал в комнате 3 то при нажатии рукой на хотспот 7 показать сообщение "...", но если он там не был то перенести его в комнату 3 в координатах 1;1



1) при первом заходе на локацию #3 -> в глобальную переменную (например 3-ью) записать значение "1" (0-не было, 1-был)

настройки локации - i - First time player enters screen

SetGlobalInt(3,1); - установить глобальную переменную #3 равную 1 (глобальная - т.е. во всех локациях действует)


2) в любой другой локации, любой hotspot

interaction - interact hotspot

проверяем был ли герой в 3 локации, т.е. равна ли глобал.переменная #3 - единице?

if (GetGlobalInt(3)==0) {
Display("...");
}
else
{
NewRoomEx(3,1,1);
}


if - если
GetGlobalInt(3) - получить значение Глобальной переменной #3

else - иначе
NewRoomEx(3,1,1); - перенести героя в комнату 3, с координатами (1;1) 21.05.09 05:47 Sledgy

• + вопрос: какой нужен скрипт чтобы сработала анимация персонажа SP?? (loop 8)

***

с этим скриптом уже сам разобрался 21.05.09 18:58 Слэш Вохаул

• Ну как получилось с "AnimateObject(0,0,0,false);" ? 22.05.09 09:30 Sledgy

• нужен следующий скрипт:
если выбран курсор 4, то:
GUIOff (INVENTORY);
SetCursorMode(4);
если нет, то:
GUIOff (INVENTORY);
SetCursorMode(6);
22.05.09 18:44 Слэш Вохаул

• if (GetCursorMode()==4) {
...
}
else {
...
} 22.05.09 22:56 Sledgy

• что нужно измнить в Global Script чтобы когда выбран курсор 10 при наведении на Iconbar он не менялся на курсор 6? 25.05.09 10:06 Слэш Вохаул

• так и не решен вопрос:

 цитата:
что нужно измнить в Global Script чтобы когда выбран курсор 10 при наведении на Iconbar он не менялся на курсор 6?


плюс еще один мой неразрешенный вопрос в соседней теме 27.05.09 12:28 Слэш Вохаул

• 1) в GUI - Iconbar жмешь внизу Edit script...


и после " if (interface == ICONBAR) {" сразу добавляешь:


if (button == 9)
{
ChangeCursorGraphic (6, 2010);
SetCursorMode(9);
} else ChangeCursorGraphic (6, 2061);

if (button<4) SetCursorMode(button);

(после этого else не надо писать!)


вместо 2010 - номер картинки, где нарисован курсор 10
вместо 2061 - номер картинки с курсором 6 (стрелка)


Старый button==9 - убери.



2) в GUI - Iconbar где сами кнопки.

Щелкни на каждую, в настройках где Left Click везде поставь Run Script !!! (начиная с иконки Ходьбы до последнего - проверь чтоб везде был ран скрипт)


***


В итоге при выборе "?" (курсор10) на весь иконбар будет курсор10. При выборе любой другой иконки - стрелка. 29.05.09 05:12 Sledgy


 цитата:
if (button == 9)
{
ChangeCursorGraphic (6, 78);
SetCursorMode(9);
} else ChangeCursorGraphic (6, 68);

if (button<4) SetCursorMode(button);



все равно не работает =(

вот скрипт до изменения

if (interface == ICONBAR) {

if (button == 4) {
if (GetCursorMode()==10) {
Display("Эта иконка показывает предметы, которые вы несете.");
}
else
{
// show inventory
show_inventory_window();
}
}
else if (button == 5) {
if (GetCursorMode()==10) {
Display("Эта иконка показывает ваш текущий предмет.");
}
else
{ // use selected inventory
if (character[ GetPlayerCharacter() ].activeinv >= 0)
SetCursorMode(4);
}
}
else if(button == 0){
if (GetCursorMode()==10) {
Display("Это иконка для ходьбы.");
}
else
{ SetCursorMode(0);
}
}
else if(button == 3){
if (GetCursorMode()==10) {
Display("Это иконка для разговора.");
}
else
{ SetCursorMode(3);
}
}
else if(button == 2){
if (GetCursorMode()==10) {
Display("Это иконка для действия.");
}
else
{ SetCursorMode(2);
}
}
else if(button == 1){
if (GetCursorMode()==10) {
Display("Это иконка для смотрения.");
}
else
{ SetCursorMode(1);
}
}
else if(button == 9){
if (GetCursorMode()==10) {
Display("Эта иконка показывает информацию о других иконках.");
}
else
{ SetCursorMode(10);
}
}
else if(button == 6){
if (GetCursorMode()==10) {
Display("Это иконка для нюханья.");
}
else
{ SetCursorMode(8);
}
}
else if (button == 7){
if (GetCursorMode()==10) {
Display("Это иконка для пробования.");
}
else
{ SetCursorMode(9);
}
}
else if (button == 8){
if (GetCursorMode()==10) {
Display("Эта иконка открывает окно меню.");
}
else
{ // show menu

}}}
// end if interface ICONBAR

if (interface == MENU) {
if (button == 4) { // quit
QuitGame(1);
}
else if (button == 1) // save game
SaveGameDialog();
else if (button == 2) // load game
RestoreGameDialog();
else if (button == 6) // about
Display("'Space Quest XII - Месть Вохаула II'. Новый квест от компании 'неSIERRA'. Автор игры - Кондратенко Арсений.");
}


// end if interface MENU


if (interface == INVENTORY) {
if (button == 0) {
if (GetCursorMode()==10) {
Display("Это иконка для выбора предмета.");
}
else
{
SetCursorMode (MODE_USE);
SetMouseCursor (6);
}
}

else if (button == 1) {
if (GetCursorMode()==10) {
Display("Это иконка для смотрения на предмет.");
}
else
{
SetActiveInventory(-1);
SetCursorMode(MODE_LOOK);
}
}

if (button == 2) {
if (GetCursorMode()==10) {
Display(".");}
else
{
if (GetCursorMode()==4) {
GUIOff (INVENTORY);
SetCursorMode(4);
}
else {
GUIOff (INVENTORY);
SetCursorMode(6); }}
}


else if (button == 6) {
if (GetCursorMode()==10) {
Display("Это иконка для действия над предметом.");
}
else
{
SetCursorMode(2);
}
}

else if (button == 7){
SetCursorMode(10);}



if ((button == 4) && (game.top_inv_item < game.num_inv_items - game.num_inv_displayed)) {
game.top_inv_item = game.top_inv_item + game.items_per_line;
}
if ((button == 3) && (game.top_inv_item > 0)){
game.top_inv_item = game.top_inv_item - game.items_per_line;
}


if ((button == 4) && (game.top_inv_item < game.num_inv_items - game.num_inv_displayed)) {
// scroll down
game.top_inv_item = game.top_inv_item + game.items_per_line;
}
if ((button == 3) && (game.top_inv_item > 0)){
// scroll up
game.top_inv_item = game.top_inv_item - game.items_per_line;
}
}

­ 01.06.09 10:04 Слэш Вохаул

• 1. Иконбарный скрипт (менюшный и пр. не трогай)


if (interface == ICONBAR) {

if (GetCursorMode()==10) {

if (button==0) Display("Это иконка для ходьбы.");
if (button==1) Display("Это иконка для смотрения.");
if (button==2) Display("Это иконка для действия.");
if (button==3) Display("Это иконка для разговора.");
if (button==4) Display("Эта иконка показывает предметы, которые вы несете.");
if (button==5) Display("Эта иконка показывает ваш текущий предмет.");
if (button==6) Display("Это иконка для нюханья.");
if (button==7) Display("Это иконка для пробования.");
if (button==8) Display("Эта иконка открывает окно меню.");
if (button==9) Display("Эта иконка показывает информацию о других иконках.");

}
else
{
if (button<4) SetCursorMode(button);
if (button==4) show_inventory_window();
if (button==5)
if (character[ GetPlayerCharacter() ].activeinv >= 0) SetCursorMode(4);
if (button==6) SetCursorMode(8);
if (button==7) SetCursorMode(9);
if (button==8) GUIOn(3); //showmenu (GUIs. 3: MENU)
if (button == 9)
{
ChangeCursorGraphic (6, 2040);
SetCursorMode(10);
SetGlobalInt(99,1); //help mode on
}
}


}
// end if interface ICONBAR



if (button==8) GUIOn(3); //showmenu (GUIs. 3: MENU)
GUIon - показать гуи MENU. 3 - номер гуи

ChangeCursorGraphic (6, 2040);
изменить иконбарный курсор (стрелка) на "?" (вместо 2040 номер своей картинки напишешь)

SetGlobalInt(99,1);
показатель того, что был изменён курсор; он пригодится позже



2. Где game_start


function game_start() {
// called when the game starts, before the first room is loaded

SetGlobalInt(99,0); //help mode off
}


В начале игры делаем показатель нулевым, т.е. иконбарский курсор == стрелка.


3. repeatedly_execute


function repeatedly_execute() {
// put anything you want to happen every game cycle here

if ((GetCursorMode()!=10) && (GetGlobalInt(99)==1))
{
SetGlobalInt(99,0); //help mode off
ChangeCursorGraphic(6, 2061);
}

}


Постоянно проверять: если курсор переключили, а показатель говорит что недавно был выбран "Help Mode" (10), то отключаем хелп-мод и меняем Иконбарный курсор на стрелку


Это нужно для того, чтобы можно было выйти из хелп-режима. Т.е. выходится просто сменой курсора через правую кнопку мыши (при этом надо быть на игровом экране). 02.06.09 06:51 Sledgy

• после того как я скопировал в глобал скрипт
function repeatedly_execute() {
// put anything you want to happen every game cycle here

if ((GetCursorMode()!=10) && (GetGlobalInt(99)==1))
{
SetGlobalInt(99,0); //help mode off
ChangeCursorGraphic(6, 2061);
}

}


и в игре сначала выбрал хелп моуд, а потом иконку с глазом. после этого игра вылетела с ошибкой:

---------------------------
Illegal exception
---------------------------
An exception 0xC0000005 occured in ACWIN.EXE at EIP = 0x004186C8 ; program pointer is +5, ACI version 2.61.747, gtags (1,9)

AGS cannot continue, this exception was fatal. Please note down the numbers above, remember what you were doing at the time and notify CJ on the Tech forum. 09.06.09 14:46 Слэш Вохаул

• Без этого скрипта ошибки нет? Проверь 2061 - есть ли у тебя картинка с этим номером?

В gamestart иточно прописал 99=0?


Пока так навскидку, позже разберем если что 10.06.09 06:44 Sledgy

• все заработало=)
еще надо чтобы когда выбран курсор с вопросительным знаком курсор не мог бы двигаться за пределы iconbar и чтобы после любого нажатия вопросительным знаком курсор менялся на pointer 10.06.09 10:46 Слэш Вохаул

• И еще чтоб вода превращалась в вино, чтоб создали SQ7, и чтоб...


Слэш Вохаул пишет:

 цитата:
все заработало=)


Уух, как гора с плеч. А то на дистанции хрен поймешь, в чем проблема.

***


 цитата:
после любого нажатия вопросительным знаком курсор менялся на pointer



Ну это-то легко.


if (GetCursorMode()==10) {

SetMouseBounds(0, 0, 0, 0);
...
if (button==8) Display("эта иконка...");
if (button==9) Display("а эта иконка...");

SetGlobalInt(99,0); //help mode off
ChangeCursorGraphic(6, 2061);
SetCursorMode(GetGlobalInt(98));




Добавить выделенное. После сообщения курсор делается поинтером.

***


if (button == 9)
{
ChangeCursorGraphic (6, 2040);

SetGlobalInt(98,GetCursorMode());
SetMouseBounds(0, 0, 320, 17);


SetCursorMode(10);
SetGlobalInt(99,1); //help mode on
}


Также добавь выделенное. И после вопросика будет (в игре) тот же курсор, что был до этого (рука, глаз и тд).

***

Теперь ограничение в иконбаре


Это "SetMouseBounds" - ограничение мыши. По ширине и высоте 320х17. Если высота будет неподходящая для вопросика - увеличивай, уменьшай (возможно надо поставить 27).

А еще выше "SetMouseBounds" по нулям - это убирание ограничения. 10.06.09 18:54 Sledgy

• все работает, но после перелючения курсора с вопросительного знака на любой другой курсор номер пять (стрелочка) так и остается вопросительным знаком 18.06.09 07:48 Слэш Вохаул

• Ты имеешь ввиду, что жмешь Вопросик, кликаешь на любую иконку и потом курсор не становится обратно Стрелочкой?

У меня всё робит.


Меняется на стрелку курсор здесь -> ChangeCursorGraphic(6, 2061); --- шестой кстати, не пятый. 18.06.09 14:31 Sledgy

• ага шестой я ошибся.

***
все. разобрался. просто в одном месте надо было 78 на 68 заменить ;) 18.06.09 20:06 Слэш Вохаул

• Как гора с плеч 18.06.09 22:22 Sledgy

• а можно ли сделать так чтобы когда выбран "?" визибл у гуи менялся на нормал а потом обратно? 19.06.09 14:30 Слэш Вохаул

• Ты имеешь ввиду, чтобы при клике вопросиком GUI не исчезал?


Вообще как я понял из игры Visible у GUI вообще никак не поменять О_О Я пробовал сделать, чтобы при клике иконбар не закрывался, нихрена, никакие уловки не помогают :)) 19.06.09 15:06 Sledgy

Слэш Вохаул



19.05.09 18:07

что сделать чтобы в игре работала музыка в формате mp3??? ошибки не появляется, но и звука нет


• Ты называешь файл Music1.mp3 и жмешь в AGS - Rebuild VOX?

Возможно он берет только WAV, MOD, XM, MID. 20.05.09 00:30 Sledgy

• Sledgy пишет:

 цитата:
Rebuild VOX


а это что такое? 20.05.09 17:50 Слэш Вохаул

• Эту штуку надо периодически нажимать, когда вставляешь новую музыку (в папку кидаешь), чтобы игра её переработала для себя.

меню Game - Rebuild VOX files (Ctrl+B)


Вот все поддерживаемые аудио-форматы:

для фоновой музыки - ogg, mp3, mid, wav, mod, xm, s3m
для звуков - ogg, mp3, wav, voc


Файл музыки надо назвать MUSICx.* (x - номер музыки, * - расширение файла).
Файл со звуком - SOUNDx.*

(эти файлы кидать в проект игры; но не в Compiled, а снаружи) 21.05.09 05:05 Sledgy

• все, разобрался 21.05.09 16:58 Слэш Вохаул

Sledgy



17.05.09 17:41

Всё-таки это реально

Т.е. можно сделать любого персонажа прозрачным, главное чтобы у вас стояло как минимум 16 hi-color в настройках.



SetCharacterTransparency(EGO,50);


EGO - номер или скриптовое имя персонажа
50 - вроде проценты прозрачности, но 50 точно работает, остальное не проверял ;)


Слэш Вохаул



28.04.09 18:45

вот, только что завершил:

{
SetCursorMode(5);
SetMouseBounds(mouse.x, mouse.y, mouse.x, mouse.y);
Wait(40);
SetMouseBounds(0,0,0,0);
SetCursorMode(4);
}


-потипу как когда в space quest IV пытаешься взять предмет который нельзя взять и т.д.


• Поправил.



ChangeCursorGraphic(7,2060);
Wait(40);
ChangeCursorGraphic(7,2055);



- меняем графику курсора "Ждать" на крестик
- ждём -> соотв-но, вызываем курсор "Ждать", который у нас выглядит как крестик
- меняем графику курсора "Ждать" обратно на часики

предыдущий курсор появляется сам



Это событие для
- попытки взять неберущийся объект
- попытки использовать инвентарь на объект, на который нельзя ничего использовать

***

Убрал bounds (ограничение мышки), т.к. подействовать курсором "Ждать" всё равно ни на что нельзя. Ну и чтоб не раздражать игрока недвигающейся мышкой 28.04.09 23:05 Sledgy

Слэш Вохаул



09.04.09 19:09

_


• Agi Studio тебе в помощь (на сайте "Создать SQ")

там бэки зовутся Pics / Pictures, спрайты - View


Надо нажать Open и выбрать папку с игрой.


з.ы. не откроются - игры типа SQ3 и сделанные на AGS 10.04.09 14:44 Sledgy

Слэш Вохаул



07.04.09 15:59

и как?


• Ты имеешь ввиду, как двигать объект до определенной точки?


Например, знаменитая "синяя чашка" ползёт из координат (5,10) в координаты (150,200)?


while ((GetObjectX(0)<150) && (GetObjectY(0)<200)) {
MoveObjectDirect(0,GetObjectX(0)+2,GetObjectY(0)+2,2);
Wait(2);
}

Цель: Двигать до (150,200)


GetObjectX(0), GetObjectY(0) - получить координаты объекта-0
MoveObjectDirect(0,x,y,2); - двигать объект-0 в новые координаты со скоростью 2


почему я взял в MoveObjectDirect такие x,y:

GetObjectX(0)+2 - это старая координата + 2. Т.е. новая координата будет на 2 пикселя правее.
GetObjectY(0)+2 - (...) на 2 пикселя ниже.

***

В итоге чашка двигается по диагонали вправо и вниз, пока не достигнет позиции (150,200) 08.04.09 13:47 Sledgy

• я имею ввиду как сделать так чтобы при нажатии рукой на предмет номер ноль персонаж sp подходил к координатам 230;143 08.04.09 16:00 Слэш Вохаул

• Нуу для начала, объекты - это предметы, которые например можно взять; персонажи - это отдельная тема


Тогда всё немного проще.

Ты поставил объект. В его "Interactions..." ты выбрал действие, например Look.


И там такой скрипт


MoveCharacter(0,230,143);


0 - номер персонажа, можно писать скриптовое имя (например, EGO) 08.04.09 16:19 Sledgy

Sledgy



16.02.09 23:00

- http://wiki.bigbluecup.ru/wiki/Скачать_AGS
- http://ags-time.narod.ru/download.html

***

AGS 2.72 - http://www.bigbluecup.com/ags_272.zip

Здесь разные игры (англ): http://www.bigbluecup.com/games.php?category=102


AGS 2.61: http://raritet-site.narod.ru/files/AGS.rar

Простой и удобный, особенно для новичков (в след. версиях исчезли некоторые возможности) 13.03.09 20:56 Sledgy

• 2.61 23.03.09 01:53 Duke

• Точно ) 23.03.09 04:09 Sledgy

Слэш Вохаул



28.02.09 17:41

т.е. такую анимацию, чтобы она происходила после определенного действия


• ты имеешь ввиду анимацию на месте или движение объекта?


Если на месте:
SetObjectFrame(номер_объекта, номер_view, номер_loop, номер_кадра);

и изменять через паузу --
Wait(x);



Двигать объект:

1) Сразу переместить в x,y -
SetObjectPosition(номер_объекта, x, y);


2) Двигать в x,y -
while (GetObjectX(номер_объекта)>20) {
SetObjectPosition(номер_объекта, GetObjectX(номер_объекта)-15, GetObjectY(номер_объекта));
Wait(1);
}

пояснение: пока X объекта больше 20, отнимать 15 от X



Двигать персонажа:
while (character[EGO].x<230) {
character[EGO].x=character[EGO].x+10;
Wait(2);
}
11.03.09 01:58 Sledgy

Sledgy



21.02.09 16:10

Скриншот игры и записать в файл


function doScreenshot() {
String input = Game.InputBox("Filename:");
input = input.Append(".bmp");
SaveScreenShot(input);
}


Sledgy



21.02.09 13:34



http://spacequest-time.narod.ru/files/forum/LucasStyle_AGS2_7x.rar

Все GUI Лукаса. Работает для AGS 2.7x

Sledgy



17.02.09 00:19

Здесь вы можете поучаствовать в ежемесячных английских соревнованиях по AGS-играм!!!

http://www.mags-competition.tk/


У них каждый месяц какая-то тема игры - например игра по книге, или игра про животных, или игра про ... неважно про что.

Победитель получает славу! И право назвать Тему игр следующего месяца....


Здесь можете писать комменты по соревнованиям, если кто участвовал, хочет участвовать или думает обо всём этом.

Страницы: 1 2 3 4 5 6 7 8

большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка свернутый текст

не делать ссылки активными


Все смайлики: 1 2 3 4 5 6 7 8 9
имя
  
пароль
  зарегистрироваться