Автор | Сообщение |
|
Отправлено: 04.11.08 15:15. Заголовок: Как это сделать?
Только начал программить на QSP. Вопрос: как сделать так, чтобы после выполнения одного действия, в этой же локации становились видны другие, до этого не видимые? Хелп читал - не нашёл ответа. И ещё - можно ли с помощью оператора DYNAMIC создавать новые действия и предметы?
|
|
Профиль
Цитата
Ответить
|
Ответов - 201
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|
|
Отправлено: 04.11.08 15:23. Заголовок: Вариант: в поле кода..
Вариант - в поле кода локации пишем условие: if был_здесь: act 'Действие 1': ! код действия end act 'Действие 2': ! код действия end act 'Действие 3': ! код действия end end Затем, в коде обработки выбора нужного действия пишем: был_здесь=1 & gt $curloc С помощью оператора DYNAMIC - можно, но добавлять новые действия и предметы всё равно придётся через ACT и ADDOBJ: ADDOBJ $имя_предмета
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 04.11.08 15:27. Заголовок: Спасибо. Я здесь буд..
Спасибо. Я здесь буду ешё вопросы выкладывать, если возникнут, хорошо?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 04.11.08 15:29. Заголовок: Конечно :sm67: ..
Конечно
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 04.11.08 16:25. Заголовок: А как скрыть действи..
А как скрыть действие? Т.е. if был_здесь: ... ?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 04.11.08 16:39. Заголовок: Можно через оператор..
Можно через оператор DELACT: delact 'Название действия'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 06.11.08 13:42. Заголовок: Как вывести текст в ..
Как вывести текст в окно дополнительной информации?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 06.11.08 15:16. Заголовок: P 'текст'..
P 'текст'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 06.11.08 15:24. Заголовок: спс..
спс
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 07.11.08 19:24. Заголовок: как сделать сохранен..
как сделать сохранение игры? Плз, с примером. Пытался сделать по хелпу через SAVEGAME и OPENGAME - ни фига не получается :(
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 07.11.08 19:32. Заголовок: SAVEGAME 'имя ф..
SAVEGAME 'имя файла' - сохранение в указанный файл SAVEGAME '' - сохранение, игрок сам выбирает имя файла
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 07.11.08 19:39. Заголовок: Это-то понятно, но в..
Это-то понятно, но вот у меня в меню есть пункт 'продолжить' При нажатии на него появляется список открытых глав. Вот код обработки KILLALL & CLS & CLOSE ALL OPENGAME 'Другое_зрение.sav' После этого вылетает "нельзя открыть файл", хотя он есть и называется точно так же! И даже лежит в той же папке, потому что создаётся автоматом при посещении опред. локации! Что здесь не правильно?
|
|
Профиль
Цитата
Ответить
|
|
|
Отправлено: 07.11.08 20:20. Заголовок: #Начало ACT '1&..
#Начало ACT '1': 'test!' END ACT 'save': savegame 'другой.sav' END ACT 'load': opengame 'другой.sav' END --------------------------- работает... может, название не совсем такое, как при сохранении? попробуй скопировать название из savegame..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.11.08 08:59. Заголовок: denis, проблема реше..
denis, проблема решена? opengame заработал?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.11.08 14:11. Заголовок: нет. Потом разберусь..
Нет. Потом разберусь. У меня там сейчас и без него забот полон рот :) Иду на победу! Вопрос такой: как узнать, сколько времени прошло с момента входа в локацию? Без waita! ;)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.11.08 15:10. Заголовок: Переменная MSECSCOUN..
Переменная MSECSCOUNT. При посещении локации сохраняем текущее время в какой-либо переменной, затем, когда нужно, вычитаем из текущего времени сохраненное значение.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.11.08 15:20. Заголовок: Всё, спасибо, вопрос..
Всё, спасибо, вопросов больше нет!
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.11.08 12:58. Заголовок: Итак, игра разрослас..
Итак, игра разрослась до таких размеров, что писать дальше без возможности начать с нужного места просто невозможно! И это радует :) Не радует отсутствие сохранок. Если не трудно, кинь пример, как должно выглядеть сохранение в файл с названием a_b.sav и загрузка из него. У меня всё выглядит так. При входе в определённую локацию выполняется SAVEGAME 'Другое_зрение.sav' Затем я перезапускаю игру ('Начать заново' в плеере), в меню выбираю пункт Главы->Другое зрение, выполняется код OPENGAME 'Другое_зрение.sav' И всё. Пустой экран. Не глючит, ошибок не выдаёт.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.11.08 13:56. Заголовок: Вот этот код работае..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.11.08 17:50. Заголовок: Да, спасибо, работае..
Да, спасибо, работает. Ребята, извините, кина не будет, по крайней мере на этом конкурсе. Файл, в котором тестил загрузку/сохранение, я случайно сохранил в файл игры. Пока настроения что-либо делать нет. Извините.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.11.08 18:56. Заголовок: Правка: кино будет, ..
Правка: кино будет, но в меньше объёме. Вопросов больше нет.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.11.08 20:57. Заголовок: Как я понял, при вып..
Как я понял, при выполнении кода USEHTML=1 '<img src=фон.jpg>' '<AREA HREF="где-то" SHAPE="RECT" COORDS="0, 0, 1000, 1000" >' на рисунке должна появиться квадратная область, при щелчке на которую должен быть переход в локацию "где-то". Почему это может не происходить? Не отображается даже курсор с пальцем - он остаётся обычным.
|
|
Профиль
Цитата
Ответить
|
|
|
| moderator
|
|
|
Отправлено: 09.11.08 22:15. Заголовок: Файл, в котором тест..
цитата: | Файл, в котором тестил загрузку/сохранение, я случайно сохранил в файл игры. |
| denis O_O А как же бэкап?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 05:09. Заголовок: usehtml=1 '<..
usehtml=1 '<IMG src="pic.jpg" USEMAP="#map">' '<MAP NAME="map"><AREA shape="rect" coords="0,0,100,100" href="exec:''asddasd''"></MAP>' Для всего изображения ссылку задать проще: usehtml=1 '<A HREF="exec:''asddasd''"><IMG src="pic.jpg"></A>'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 07:36. Заголовок: чего?на куспе работа..
чего?на куспе работают такие вещи?ссылки с рисунков на локацию?где можно подробней узнать?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 08:08. Заголовок: Из справки: Если в ..
Из справки: Если в качестве ссылки для "A HREF" указано число, то при клике по ссылке будет произведена обработка действия с данным индексом. Индексация действий ведётся с 1. Если в качестве ссылки для "A HREF" указана строка вида "EXEC:строка_кода", то при клике по ссылке будет выполнена указанная строка кода.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 16:05. Заголовок: > denis O_O >..
> denis O_O > А как же бэкап? В смысле? Я сохранил тестовый файл с таким же именем, как и файл игры, и он заменил его! А восстановление системы в Windows файлы не затрагивает, как я помню.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 10.11.08 19:57. Заголовок: denis я не про восст..
denis я не про восстановление, я про обычное "резервное копирование". Когда занимаешься чем-то более-менее серьёзным, создавай запасные копии и сохраняй промежуточные версии, это общепринятая практика. Ну это на будущее. Понятно, что игру уже не вернёшь.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 21:16. Заголовок: Более того, удобнее ..
Более того, удобнее всего поставить себе локально репозитарий, WinCVS, например. И заливать изменения каждый раз после работы. Тогда не только наработки не потеряются, но и всегда можно будет вернуться назад и посмотреть "как там было раньше"... Или отвести ветку от основной работы. Рекомендую.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.11.08 23:35. Заголовок: fireton, Nex, спасиб..
fireton, Nex, спасибо. Я обычно в таких случаях пользуюсь "жёсткими ссылками" - через командную строку создаётся ссылка напрямую на память, которую занимает файл на жёстком, и пока ты её не удалишь, очистить там память невозможно. Оч удобная вещь, особенно когда нужно предохранить крупный файл. Но здесь я вроде как только начал, а получилось, что за неделю сделал довольно много... Но я решил закончить в первоначальном объёме. :) Трепещите, конкуренты! :D
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 11.11.08 06:09. Заголовок: denis пишет: Но я р..
denis пишет: цитата: | Но я решил закончить в первоначальном объёме. |
| Отлично!
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 12.11.08 09:15. Заголовок: Корвин хотел предлож..
Корвин хотел предложить denis'у участвовать в КРИЛ, но посмотрел на Чебурашку с топором и скромно промолчал.
|
|
Профиль
Цитата
Ответить
|
|
|
| moderator
|
|
|
Отправлено: 12.11.08 09:24. Заголовок: Korwin Только до 30..
Korwin Только до 30 ноября совсем мало времени осталось - вряд ли успеет.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 15:47. Заголовок: Байт, а возможно зап..
Байт, а возможно записывать состояние игры в одной локации, а загружать её - в другой? Что-то не получается. Насчёт КРИЛ: как я понял, выставлять недоделку - дурной тон, даже если она лишена багов и смотрится интересно. Всё равно сюжет должен быть логически закончен. А у меня такой проект, что дай бог к весне закончить! :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 15:53. Заголовок: Только через $ONGLOA..
Только через $ONGLOAD: На данной локации пишем gt $после_загрузки далее, в нужные моменты устанавливаем значение $после_загрузки: $после_загрузки = 'моя локация'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:01. Заголовок: Как я понял. Вот я н..
Как я понял. Вот я начинаю игру заново, захожу в локацию 'главы', нахожу там название последней главы, попадаю на $ONGLOAD, затем выполняется gt $после_загрузки... А если у меня были какие-то параметры? Например, уровень страха? Или репутация? Они потеряются?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:09. Заголовок: denis, видимо, ты не..
denis, видимо, ты не понял как это работает. Все данные, которые имеются, сохраняются, но после загрузки будет переход на нужную локацию: #1 $ongload='load' $go_load='4' 'Теперь можно сохранять игру, после загрузки всё восстановится, но будет произведён переход на локацию "4".' ---------------------------------- #load gt $go_load ---------------------------------- #4 'После загрузки!' ----------------------------------
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:13. Заголовок: спасибо, сейчас пров..
спасибо, сейчас проверю.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:32. Заголовок: Работает только если..
Работает только если явно прописывать в локации-постзагрузчике gt 'улица-1'. Если прописывать переменной, то она обнулсяется.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:45. Заголовок: Не может она обнулят..
Не может она обнуляться. Сохранение идёт после присвоения переменной значения?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 13.11.08 16:48. Заголовок: Спасибо, разобрался...
Спасибо, разобрался. У меня там KILLALL было после этого :) Авось успею на КРИЛ с первым законченным эпизодом.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 05.12.08 11:33. Заголовок: Подскажите плизз, ка..
Подскажите плизз, как можно узнать название не текущей, а предыдущей локации. Можно как-то это сделать средствами языка, а не добавлением переменных?
|
|
Профиль
Цитата
Ответить
|
|
|
| moderator
|
|
|
Отправлено: 05.12.08 12:19. Заголовок: ну так понадобится в..
ну так понадобится всего 1 переменная. На предыдущей локации пишешь $loc=$CURLOC А на текущей можешь проверить IF $loc <> 'подвал': и т.д.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 05.12.08 12:38. Заголовок: Можно сделать такое ..
Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код $prevloc=$curloc Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 05.12.08 16:15. Заголовок: О, спасибо :)..
О, спасибо :)
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 09.12.08 13:04. Заголовок: Byte пишет: Можно ..
Byte пишет: цитата: | Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код $prevloc=$curloc Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации. |
| А можно пожалуйста пример, а то я видимо что-то делаю неправильно, потому что у меня это всё не работает.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.12.08 13:55. Заголовок: #2 $onnewloc='ne..
#2 $onnewloc='new' act 'next':gt '3' - #3 'Вы перешли с локации <<$prevloc>>' - #new $prevloc=$curloc - Если переменную $prevloc нужно использовать в коде действий, то нужно во временной переменной в коде локации сохранить имя предыдущей: #2 $onnewloc='new' act 'next':gt '3' - #3 $ploc=$prevloc 'Вы перешли с локации <<$prevloc>>' act 'show':'Вы перешли с локации <<$ploc>>' - #new $prevloc=$curloc - UPD: Есть ещё такой вариант: #2 $onnewloc='new' act 'next':gt '3' - #3 'Вы перешли с локации <<$prevloc>>' act 'show':'Вы перешли с локации <<$aprevloc>>' - #new $aprevloc=$prevloc $prevloc=$curloc - То есть, для кода локации используется $prevloc, а для кода действий $aprevloc.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.12.08 14:06. Заголовок: ммммм... Я запуталас..
ммммм... Я запуталась. Давайте так. Я создаю локацию с именем "onnewloc" пишу на ней $prevloc=$curloc насколько я поняла - это должнло выполняться всегда, когда я перехожу на новую локацию? но если я на локации с названием "Карта" делаю act 'next': gt $prevloc он говорит, что такой локации не существует, при условии, что в локацию Карта - я захожу с какой-то локации. Что здесь не так? Где ошибка?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 10.12.08 14:23. Заголовок: Ajenta в самой перво..
Ajenta в самой первой локации напиши $ONNEWLOC = 'onnewloc' Байт, будь лаконичнее. К тому же девушка наверняка пользуется QGen4, а не TXT2GAM.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.12.08 14:35. Заголовок: Угу, пасиб, попробую..
Угу, пасиб, попробую.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.12.08 15:01. Заголовок: Тааак. Сделала как ..
Тааак. Сделала как сказали. Я сделала вывод переменной $prevloc на экран Происходит следующее Перехожу я на карту - $prevloc пишет название предыдущей локации. Делается act 'next': gt $prevloc после чего $prevloc - пишет Карта и никуда не переходит я что-то опять не так делаю. :( что ему ещё нехватает?
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.12.08 15:03. Заголовок: А пользуюсь действит..
А пользуюсь действительно QGen'ном и именно четвёртым.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 10.12.08 15:14. Заголовок: В локации "onnew..
В локации "onnewloc" должно быть это: $aprevloc=$prevloc $prevloc=$curloc Когда используешь "имя предыдущей локации", то для действий используй переменную $aprevloc, а для остального - $prevloc. т.е. действие должно быть таким: act 'next': gt $aprevloc Извини, что сразу не разобрался.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.12.08 15:17. Заголовок: Урра!!! Заработало! ..
Урра!!! Заработало! Чмок и большущее спасибо Сама бы фиг догадалась.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 18:19. Заголовок: Люди, я очень давно ..
Люди, я очень давно здесь не был - появился вопрос. Есть вот такой код цитата: | $USERCOM=$CURLOC $USRTXT = '' if (первое_посещение=1): 'Встаю. В комнате полумрак - не понятно, ещё ночь или уже утро?' act 'посмотреть на будильник': !смотрит прямо end первое_посещение=0 end if ($USRTXT = '1'): ! посмотрел направо cla act 'посмотреть на будильник': end end if ($USRTXT = '2'): cla act 'включить свет': !посмотрел прямо 'включил свет' end end if ($USRTXT = '3'): act 'открыть шторы': !посмотрел назад end end |
| При вводе в поле ввода числа 2 должно появляться действие 'включить свет'. На деле оно ещё и выполняется - почему? Кстати, denis - это я, админ, напомни мне мой пароль, пожалуйста. игру, которую я делал, я успешно по**рил во второй раз - теперь уже путем форматирования жёсткого.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 18:53. Заголовок: Всё, разобрался, это..
Всё, разобрался, это баг - Byte, поправь, сейчас если ставишь после act: комментарий, то действие сразу выполняется.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 25.02.09 19:18. Заголовок: denis-1 это не баг. ..
denis-1 это не баг. Это запланированные Байтом грабли. Восклицательный знак в языке QSP - не просто комментарий, а оператор комментария, который: нельзя использовать в конструкциях IF a=b : !наше условие *PL 'a равно b' END , т.к. он посчитает комментарий за оператор, а раз после двоеточия стоит оператор, то IF будет считаться однострочным; то же касается и ACT; нельзя использовать так: *PL 'строка1' ! Byte's soft *PL 'строка2' , т.к. кавычки и апострофы внутри комментария необходимо экранировать точно так же, как и в строковых константах - из-за апострофа движок посчитает, что комментарий продолжается на следующей строке.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 20:03. Заголовок: Ага, спасибо. Завтра..
Ага, спасибо. Завтра выложу (тьфу-тьфу-тьфу!) завязку игры для тестирования. :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 20:38. Заголовок: А можно в этой теме ..
А можно в этой теме выкладывать поэпизодно игру, если она конкурсная? Т.е. выложу 2-3 эпизода, а в полной версии их 18-20? Просто мне для тестирования нужно.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 20:44. Заголовок: Допускается только з..
Допускается только закрытое тестирование (можно высылать небольшому кругу лиц - с оговорками). Игра или её части не должны быть опубликованы ранее срока сдачи игр. denis, и ещё - если собираешься участвовать в конкурсе, нужно подать заявку (автор+предварительное название).
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 21:27. Заголовок: Отлично! Завтра вышл..
Отлично! Завтра вышлю тебе и Nex-у! :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 21:36. Заголовок: Мне не нужно. Смотре..
Мне не нужно. Смотреть до конкурса в любом случае не буду.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 21:46. Заголовок: Хорошо, я уже догово..
Хорошо, я уже договорился со знакомым в оффлайне, так что тестера я нашёл. Другой вопрос - в правилах указан размер до 2-х мегабайт, что делать, если у меня в игре много изображений (не крупных, но под 70 штук). Просто в локациях можно осматриваться вверх-вниз, влево-вправо. Думаю, урезать не получится. :(
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.02.09 21:48. Заголовок: 2мб это рекомендация..
2мб это рекомендация :) в принципе, можно и больше.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 26.02.09 20:05. Заголовок: А почему может не ра..
А почему может не работать код цитата: | USEHTML=1 '<img src="фон.jpg" usrmap="#map">' '<MAP NAME="map"><AREA shape="rect" coords="0,0,1000,1000" href="exec:gt ''...''"></MAP>' |
| Картинка выводится. Локация ... есть.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 26.02.09 20:16. Заголовок: "usrmap" вме..
"usrmap" вместо "usemap"?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 26.02.09 22:14. Заголовок: Да, спасибо! %) ..
Да, спасибо! %)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.02.09 19:19. Заголовок: Byte, опят траблы с ..
Byte, опят траблы с сохранкой... Игра сохраняется в определённый момент, затем появляется действие цитата: | act 'загрузить': $ongload='load' opengame '1.sav' end |
| В локации load цитата: | if прошли_первый_уровень=1: gt 'улица' end |
| Локация 'улица' тоже есть. При попытке всё это проделать плеер ругается и говорит, что нельзя открыть файл (ошибка 105). При попытке загрузить вручную (средствами плеера, т.е.) - тоже самое. Игра сохраняется так: #улица цитата: | прошли_первый_уровень=1 NoSave=0 SAVEGAME "Другое_зрение.sav" NoSave=1 ... остальное |
| В общем, сохранки, сделанные ручками (Игра->сохранить состояние...) грузятся нормально, сделанные с помощью savegame - не пашут.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.02.09 19:40. Заголовок: act 'загрузить..
act 'загрузить': $ongload='load' opengame '1.sav' end $ongload='load' здесь ни к чему, так как при загрузке сохранения переменные будут загружены из файла. $ongload нужно устанавливать перед savegame. ругается на файл именно в этой локации и в этой строчке?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.02.09 19:42. Заголовок: Сохранения savegame ..
Сохранения savegame - абсолютно такие же, что и сделанные вручную :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.02.09 19:45. Заголовок: А ругается на файл -..
А ругается на файл - у тебя SAVEGAME "Другое_зрение.sav" но при этом opengame '1.sav' имя файла должно быть одинаковым.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.02.09 20:13. Заголовок: Да нет, уже одинаков..
Да нет, уже одинаковые, всё равно ругается. :( P.S. Да, спасибо, заработало - нужно было $ongload='load' перед сохранением поставить. :)
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 27.02.09 22:02. Заголовок: Какие-то извращения...
Какие-то извращения... Первая игра, и уже в такие дебри залез? Нафига?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 28.02.09 17:06. Заголовок: :) Хочу победить. Чт..
:) Хочу победить. Чтобы победить, нужно, чтобы моя игра понравилась. Чтобы она понравилась, нужно не халтурить.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 28.02.09 23:45. Заголовок: Да не, я просто не м..
Да не, я просто не могу представить, зачем делать сейвы прямо из игры. Ну, автору виднее. Может, это и правда пригодится.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 01.03.09 17:21. Заголовок: Вот ещё вопрос: т.к...
Вот ещё вопрос: т.к. до этого момента моё произведение больше напоминало книгу-игру, то с предметами я особо не работал. А вот теперь не могу понять, как сделать, чтобы по выделению предмета совершалось какое-нибудь действие. Например, у меня есть объект 'мобильник', и после его выделения я хочу перейти на локацию, где обрабатывается работа с мобильным. цитата: | add obj 'мобильник', 'Объекты\мобильник.jpg' if $SELOBJ='мобильник': GOSUB $SELOBJ end |
| На практике нужно совершение какого-нибудь другого действия - только тогда выделенный объект начинает работать, и выполняется GOSUB $SELOBJ
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 01.03.09 17:33. Заголовок: denis-1, создай лока..
denis-1, создай локацию 'OBJSEL', и установи $ONOBJSEL='OBJSEL' далее, уже на самой локации if $SELOBJ='мобильник': GOSUB $SELOBJ end unselect Неужели совсем справку не читаем?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 01.03.09 17:38. Заголовок: Читаем, иначе как бы..
Читаем, иначе как бы я про $SELOBJ узнал :) Да, спасибо, заработало.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.03.09 18:10. Заголовок: Как программно выдел..
Как программно выделить объект?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.03.09 18:50. Заголовок: Зачем?..
Зачем?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.03.09 20:51. Заголовок: Всё, уже не надо. :)..
Всё, уже не надо. :) Сделал по-другому, и даже лучше вписалось в сюжет - получилась небольшая загадка.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 15.03.09 21:04. Заголовок: .k™: как думаешь сто..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.03.09 21:58. Заголовок: :sm38: ..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 12:24. Заголовок: Здравствуйте. Извини..
Здравствуйте. Извините за глупый вопрос, но можно ли в qsp с помощью html-тегов позиционировать текст посередине? Т.е. не только по горизонтали, но и по вертикали?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 12:29. Заголовок: flir3, в данный моме..
flir3, в данный момент нет. Сейчас можно создать таблицу с ячейкой указанной высоты (в пикселях), и только потом выровнять текст по вертикали. Указание относительной высоты (в процентах) - в планах.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 15:15. Заголовок: Byte, я долго въезжа..
Byte пишет: цитата: | можно создать таблицу с ячейкой указанной высоты (в пикселях) |
| Byte, я долго въезжал, но не понял, атрибутом какого тега при этом пользоваться. Можешь привести пример, если не трудно?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 15:31. Заголовок: usehtml=1 *p '&..
usehtml=1 *p '<table width=100%><tr valign=middle>' *p '<td width=0><hr width=0 size=300></td>' *p '<td>' *p 'Текст, выровненный по вертикали' *p '</td></tr></table>' Здесь 300 - высота по вертикали.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 17:27. Заголовок: Похоже нужно тему дл..
Похоже нужно тему для записи различных хаков, например, что для замены однопиксельного gif'а или div'а можно использовать hr.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 17:41. Заголовок: Кстати файрфокс для ..
Кстати файрфокс для <hr width=0 size=300> всё равно умудряется рисовать один пиксель в ширину. Как другие браузеры не знаю.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.10.09 21:45. Заголовок: Это тень от HR, она ..
Это тень от HR, она всегда рисуется. Лучше взять однопиксельный GIF и поставить ему размеры.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 10:48. Заголовок: Ну я так и подумал, ..
Ну я так и подумал, что тень.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 17:51. Заголовок: Byte, подскажи ещё, ..
Byte, подскажи ещё, оператору gosub нельзя передать больше десяти параметров?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 17:55. Заголовок: Сейчас ограничение н..
Сейчас ограничение на максимум 10 параметров :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 18:04. Заголовок: Много параметров мож..
Много параметров можно передать отдельным массивом.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:00. Заголовок: Сейчас ограничение н..
[Byte пишет: цитата: | Сейчас ограничение на максимум 10 параметров :) |
| байт, увеличь хотя бы до 16. пожалуйста.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:21. Заголовок: Ntropy пишет: Это ..
Ntropy пишет: цитата: | Это тень от HR, она всегда рисуется. |
| А noshade в wxHTML не поддерживается?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:42. Заголовок: fireton, в данном сл..
fireton, в данном случае проблема не с wxHTML, а с фаерфоксом :) А вообще noshade это не отключение тени, это просто смена типа тени.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:44. Заголовок: , зачем 16 параметро..
[Ray], зачем 16 параметров? o_O
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:53. Заголовок: Byte мм... да как бы..
Byte мм... да как бы тебе сказать... особенность движка... вообщем, базы оружия, монстров, лута и т.д. я для простоты задаю так: !ENGINE_ENEMY_ADD(0.ID, 1.Название, 2.Здоровье, 3.Мин.урон, 4.Макс.урон, 5.Уровень, 6.Награда-опыт) GS'ENGINE_ENEMY_ADD',1,"Лесной волк",22,3,4,1,6
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 20:56. Заголовок: Byte я лишь боюсь чт..
Byte я лишь боюсь что параметров придется использовать больше.. намного больше. например, на заклинания которые он(монстр) может творить, ссылка на таблицу вещей которые из него выпадают.... а вот если бы ты сделал возможность импорта данных из .txt - был бы вообще праздник просто ;)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 21:13. Заголовок: есть addqst..
[Ray] есть addqst
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 21:28. Заголовок: Byte нет, addqst не ..
Byte нет, addqst не решит проблему. нужно загружать файл как таблицу. а лучше сразу в массив.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 21:29. Заголовок: А, ещё есть разбор т..
А, ещё есть разбор текста - можно данные в виде строки оформить, потом их разобрать.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.10.09 22:41. Заголовок: 16 параметров в лока..
16 параметров в локации это перебор, для разбора текста можно использовать разбиение по пробелам.
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 22.10.09 23:55. Заголовок: Я такого рода пробл..
[Ray] Я такого рода проблему решал передавая в локацию только название противника, тип места боя и время суток. При обработке боёвки игра обращалась к БД (отдельная лока) где на основе названия противника и на основе уровня определяла все статсы и прочие переменные.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 23.10.09 00:15. Заголовок: WladySpb кинь кусоч..
WladySpb кинь кусочек кода, который определяет по названию противника все его характеристики; я уверен там такой же мусор как у mioirel'я в его The Underworld Slayer. угу. я за чистоту нации кода.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 23.10.09 00:16. Заголовок: Byte разбор текста? ..
Byte разбор текста? круто! а поподробнее?
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 23.10.09 09:11. Заголовок: Ну, примерно это пр..
[Ray] Ну, примерно это происходит так: Задаём тип противника, запускаем бой, в начале локации-боя инициализация противника, делаем gs на локацию с БД. Там что-то такое: цитата: | if $enemy['кто']='волк': $enemy['кого']='волка' $enemy['кому']='волку' ......... enemy['жизнь']=10+level*2 \\ у меня сила мобов вычислялась в зависимости от уровня героя. enemy['мин_урон']=4+level enemy['макс_урон']=7+level ........ end if $enemy['кто']='бандит': ....... |
| Ну вот как-то так. Весь список параметров приводить не буду)
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 23.10.09 09:31. Заголовок: Одному мало 10, друг..
Одному мало 10, другому 16 мало, и т.д.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 23.10.09 10:58. Заголовок: , ну есть текст с да..
[Ray], ну есть текст с данными, например $data=' волк,10,23,45,67,88,99,44,22 коза,100,3,5,66,78,49,40,20 капуста,12,45,67,2,43,12,0,5 .... ' Далее этот текст разбиваем по переносам строк и каждую строку по запятым. Проще всего сделать через регэкспы, но можно и без них.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 23.10.09 21:20. Заголовок: Nex а что, шестнадца..
Nex а что, шестнадцати жалко? :) действительно, я думал что изменить количество нетрудно) Byte а что за функции это делают?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 23.10.09 21:36. Заголовок: 16 - нелогично. В Q..
[Ray] 16 - нелогично. В QSP те ограничения, которые еще остались, кратны 10. Так легче запоминается. Если все будет кратно 10, а одно-единственное будет 16, будет просто некрасиво.
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 23.10.09 23:39. Заголовок: Nex На самом деле, о..
Nex На самом деле, ограничения вообще нелогичны, если не являются следствием конкретных особенностей языка. Хотя в данном случае мне не кажется аккуратным сам метод, но и ограничений я не понимаю. кстати, что меня приятно порадовало в куспе, когда я начинал, это то, что нет глупых ограничений. Переменные не нужно объявлять заранее(как в паскале или Си), к примеру. Нет разграничений переменных по типам, экономить несколько байт информации уже не нужно, хотя раньше наверное это было критично...
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 24.10.09 00:00. Заголовок: WladySpb из двух зол..
WladySpb из двух зол следует выбирать меньшее. И из ограничений на 16 и на 10 параметров, я выберу 10, т.к. это более соответствует всему остальному.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.10.09 10:52. Заголовок: пишет: действитель..
[Ray] пишет: цитата: | действительно, я думал что изменить количество нетрудно) |
| Изменить нетрудно.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.10.09 19:00. Заголовок: Подскажите, пожалуйс..
Подскажите, пожалуйста, а размер переменной строкового типа в qsp ограничен?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.10.09 19:22. Заголовок: Практически нет...
Практически нет.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.10.09 19:28. Заголовок: Практически нет. By..
Byte, а можно поподробнее?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.10.09 19:40. Заголовок: Грубо говоря, действ..
Грубо говоря, действует ограничение доступной приложению оперативной памяти.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 31.10.09 17:41. Заголовок: Короче, мне нужно сд..
Короче, мне нужно сделать так, что бы мои числовые переменные, выводились текстом. Например, если у меня перемнная Реклама=2, то в игре выводилось Реклама = слабая.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 31.10.09 23:07. Заголовок: создаешь массив текс..
создаешь массив текстовых значений с числовыми индексами например $характеристики[1] = 'плохая' $характеристики[2] = 'слабая' и т.д. потом останется только вывести *p 'Реклама = <<$характеристики[Реклама]>>'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.11.09 17:13. Заголовок: Всем привет! Почита..
Всем привет! Почитал форум, похоже для того, чтобы задать пару вопросов по коду эта тема лучше всего подходит. Собственно у меня вопросы чисто по html-части. 1. Не нашел списка хтмл-тэгов, которые поддерживает кусп. Такое есть вообще? 2. Все стаилы работать будут? Ну вот например, чтобы сылка не подчёркивалась видел тут где-то конструкцию с доп.тегом внутри {a}. А вот {a href="путь" style="text-decoration:none"}ссыль{/a} будет работать? 3. Таблицы он нормально показывает, кривости нет? Я тут игрушку затеял, но для реализации нужно чтобы таблицы с точностью до пикселя были такими, какими я их навоял. заранее спасибо за ответы и терпение)
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 15.11.09 21:43. Заголовок: 1. Hertz, судя по вс..
1. Hertz, судя по всему, ты еще не скачал справку. Немедленно скачай - http://qsp.su/files/redirect.php?dlid=7 В справке см. "Операторы и функции"->"Использование тегов HTML при разработке игр" 2. "стаилы" не поддерживаются. Ссылки без подчеркиваний - это костыль. 3. таблицы с большой вероятностью будут НЕ такими, как в твоем любимом браузере(все браузеры рисуют их по-разному).
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 15.11.09 21:53. Заголовок: Nex спасибо, всё наш..
Nex спасибо, всё нашел. Очень жаль что для таблиц не поддерживается backcolor. Ведь в таком случае можно было бы делать фон, а в ячейках таблицы распологать предемты в виде png. Ну и чтобы они были ссылками. Очень интересные игрушки можно было бы делать. Неужели трудно реализовать это? А ещё параметр height у таблиц не работает.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 00:31. Заголовок: Hertz пишет: Ведь в..
Hertz пишет: цитата: | Ведь в таком случае можно было бы делать фон, а в ячейках таблицы распологать предемты в виде png. Ну и чтобы они были ссылками. Очень интересные игрушки можно было бы делать |
| В ячейках таблиц картинки могут быть. Ссылки сделать картинками тоже можно - для картинок подчёркивания нет.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 00:57. Заголовок: Byte пишет: В ячейк..
Byte пишет: цитата: | В ячейках таблиц картинки могут быть. Ссылки сделать картинками тоже можно - для картинок подчёркивания нет. |
| Я знаю! Я уже пробовал это сделать. Проблема в том, что у таблиц и ячеек только ширина фиксится. А высота зависит только от содержания. И нельзя положить фон под таблицу, т.к. работает только bgcolor, а background он не понимает.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 16.11.09 01:33. Заголовок: Hertz платформа QSP ..
Hertz платформа QSP создана для текстовых игр. Возможности графики в ней ограничены. Рекомендую применять QSP по назначению - написать текстовую игру.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 16.11.09 01:37. Заголовок: Hertz пишет: нельзя..
Hertz пишет: цитата: | нельзя положить фон под таблицу |
| Можно. Для этого используется системная переменная $BACKIMAGE (см. справку)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 01:42. Заголовок: Nex пишет: Рекоменд..
Nex пишет: цитата: | Рекомендую применять QSP по назначению - написать текстовую игру. |
| Текстовую и пишу. Диалоги и дейсвия будут текстовыми, а вот перемещения хотел сделать путём тыканья по карте "мира". Просто возможность положить фон под таблицу, а сверху размещать в зависимости от условий нужные картинки-ссылки весьма облегчило бы задачу и украсило бы игру. Хотя это и не главное, но почему бы и нет? ps ничего, что я тут у вас флудить помногу буду?)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 01:51. Заголовок: Nex пишет: Для этог..
Nex пишет: цитата: | Для этого используется системная переменная $BACKIMAGE (см. справку) |
| не врубаюсь, как положить строго под таблицу. если не трудно напиши кусок кода, которым под таблицу 400 на 400 пикселей кладётся картинка такого же размера, а в самой таблице что-нибудь написано просто.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 07:08. Заголовок: Строго под таблицу в..
Строго под таблицу в текущем плеере не выйдет.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 17:30. Заголовок: Byte, ты писал, что ..
Byte, ты писал, что можно сделать массив в качестве аргумента оператора gosub. Расскажи поподробнее, как это сделать? Как мне выудить переменную из массива в массиве?
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 16.11.09 17:30. Заголовок: Hertz Здесь вариант..
Hertz, Здесь вариант только один, нарисовать картинку на бэкграунд, а потом надрать кусками и пихать эти куски в таблицу, меняя в ячейках те, которые надо менять.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 16.11.09 17:55. Заголовок: Hertz "карту мир..
Hertz "карту мира" в виде таблицы сделать можно, где-то на форуме уже обсуждались способы.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 16.11.09 17:57. Заголовок: Ajenta пишет: ertz,..
Ajenta пишет: цитата: | ertz, Здесь вариант только один, нарисовать картинку на бэкграунд, а потом надрать кусками и пихать эти куски в таблицу, меняя в ячейках те, которые надо менять. |
| Это и так понятно. Просто хотелось бы изящно сделать. Хотя грамотно составленый список из ссылок тоже прекрасен.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 16.11.09 19:58. Заголовок: Hertz Изящно можно р..
Hertz Изящно можно реализовать через карты ссылок картинки. Смотри тег MAP.
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 17.11.09 10:58. Заголовок: elmortem Я так понял..
elmortem Я так понял, нужно чтобы на статической карте появлялись, к примеру, города по которым можно кликнуть. Так что изящное решение недоступно... На мой взгляд, поверх фона можно было бы выводить картинки-ссылки с абсолютным позиционированием, но это тоже не поддерживается) А так да, карта ссылок тема...
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 17.11.09 16:40. Заголовок: flir3, имелся в виду..
flir3, имелся в виду вариант, когда имя массива известно. например: $a[0]='sdsd' $a[1]='ddfdf' $a[2]='vbvb' gosub 'test' В 'test' будет доступен весь массив $a. А если передать имя массива, то значения можно получать через функцию DYNEVAL.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 21.11.09 13:33. Заголовок: WladySpb Ну, можно в..
WladySpb Ну, можно ведь ссылки генерить динамически в карте. Т.е. сами города хоть и будут на картинке, но кликнуть по ним будет нельзя. Как вариант, если появление городов линейно - можно сделать последовательность изображений, где в каждом следующем добавлен ещё один город. Опять же, если не сильно извращаться, то теоретически моно составить карту из тайлов в таблице.
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 21.11.09 14:57. Заголовок: elmortem Как идеальн..
elmortem Как идеальный вариант - карта аля Baldurs Gate, узнал о локации - появилась на карте. Самый логичный способ реализации - картинка фона, плюс картинки городов как ссылки. А теперь представь насколько возрастает объём если всё это разбивать на куски? Я не говорю что это невозможно, просто на данный момент это значительно менее удобно, чем даже в чистом html) В принципе, разбить это на куски в таблице самое логичное, тогда будет, скажем, 10 кусков карты и десять картинок этой же карты но с городами. Сделать легко, просто неаккуратненько как-то.. А если предположить возможность нелинейного развития, рандомных встреч или ещё какой динамической фигни - сложность возрастает в разы.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.11.09 16:16. Заголовок: WladySpb прав. А вот..
WladySpb прав. А вот если реализовать возможность тэга background для таблички, то всё очень хорошо получится - и резать ничего не надо.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 21.11.09 16:33. Заголовок: Чем меньше картинок ..
Чем меньше картинок - тем больше текста. Так что, по моему мнению, не надо "реализовать возможность тэга background для таблички". WladySpb, никто не пишет настолько масштабных игр. Не потому, что "нельзя сделать карту", а просто потому, что сил, умений и желания на такую игру, с "городами" ни у кого не хватает. К тому моменту, когда такую игру напишут - уже наверняка будет SDL-версия :) Более того, даю торжественное обещание: если кто-то напишет полноценную игру, в которой будет необходима такая карта, то я сам возмусь и сделаю SDL-версию.
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 21.11.09 17:20. Заголовок: Nex Я согласен) Пока..
Nex Я согласен) Пока это было чисто теоретическое размышление, на тему как сделать карту удобней... Пока это никому не нужно, по крайней мере, в существующих проектах)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.11.09 21:40. Заголовок: Расширенную карту с ..
Расширенную карту с произвольным появлением областей можно сделать табличкой, вот только недавно рисовал схемку для Ajenta'ы. А ноги растут вот отсюда http://htmlbook.ru/content/?id=88.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 21.11.09 23:25. Заголовок: WladySpb пишет: Пок..
WladySpb пишет: цитата: | Пока это никому не нужно, по крайней мере, в существующих проектах) |
| мне нужно) или думаете, что просто так спросил?
|
|
Профиль
Цитата
Ответить
|
|
| менеджер по рекламе
|
|
|
Отправлено: 22.11.09 00:19. Заголовок: Hertz Кинь подробное..
Hertz Кинь подробное ТЗ, может, соображу кода кусок. Не гарантирую конечно, но подумаю как можно. UPD: Хотя не, всё равно резать придётся, и по кускам монтировать... Тегов маловато
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.11.09 01:23. Заголовок: я забыл как передава..
я забыл как передавать ID действия как число. напомние плз
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.11.09 01:46. Заголовок: Можно создать массив..
Можно создать массив названий действий, а индекс элемента будет id.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.11.09 13:15. Заголовок: плз, подробнее и с п..
плз, подробнее и с примером
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 22.11.09 14:35. Заголовок: $acts = 1 $acts = 2..
$acts['поднять'] = 1 $acts['осмотреть'] = 2 ... id = $acts[selact]
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 19:34. Заголовок: Такс. Оказывается вс..
Такс. Оказывается всё гораздо сложне... вообщем, необходимо сделать так: Есть несколько действий с одинаковым gs'Локация',argument Вот только аргумент - переменная. Т.е. Все действия имеют одинаковый код при нажатии. (блин, как же я криво всё описал... не поймёте - спросите, пояюсню.) Сабж: Как сделать, чтобы действие у act'' генерировалось при создании действия, а не при нажатии? ещё раз поясню. мне нужно чтобы аргумент превращался в числовое его значение.... блджад, я не знаю ещё как вам описать.. кто понял, помогите.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 24.11.09 21:56. Заголовок: см. оператор DYNAMI..
[Ray] см. оператор DYNAMIC Где-то здесь уже обсуждался такой же вопрос.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:10. Заголовок: я пытался его исполь..
я пытался его использовать, но так и не понял суть. да и если прикинуть, мне скорее Static чем Dynamic нужно.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:17. Заголовок: , это старый вопрос...
[Ray], это старый вопрос. Варианта 2: 1) $a='Действие'+n acts[$a]=n act $a: pl acts[$selact] end 2) DYNAMIC " act 'Действие <<n>>':pl <<n>> "
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:18. Заголовок: Byte аригато, сейчас..
Byte аригато, сейчас попробую...
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:20. Заголовок: БЛДЖАД у меня скобок..
БЛДЖАД у меня скобок не хватает! " и ' уже стоят. есть ли третий тип?
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:23. Заголовок: Используй "удвое..
Используй "удвоение" кавычки :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.11.09 22:32. Заголовок: Хаха! даа! йес, я с..
Хаха! даа! йес, я сделал это! скоро выложу убер-движок, только вот еще пару фичей прикручу)
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 24.11.09 23:42. Заголовок: эх, лучше б игру...
[Ray] эх, лучше б игру.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.11.09 00:14. Заголовок: Nex да над игрой вот..
Nex да над игрой вот тружусь... я задумал много контента для нее, там работы побольше чем над двигом.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.12.09 22:52. Заголовок: из 10 в 16
Пытаюсь сделать перевод из десятеричной системы в шестнадцатеричную. то есть подменять циферки типа 10 на буковки типа 0A. Бьюсь уже вторые сутки. Кто-нибудь пробовал писать такое? поделитесь опытом.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.12.09 23:01. Заголовок: '<center>..
'<center><u><a href=exec:gt 'начало't>Начать игру</a></u></center>' не пашит. Походу что-то с кавычками. Хелп.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 24.12.09 23:13. Заголовок: А все, справился...
А все, справился.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 25.12.09 01:36. Заголовок: Aleks Versus !пере..
Aleks Versus !перевод из десятичной системы счисления в шестнадцатеричную $shablon='0123456789ABCDEF' num10=val($input('Введите число:')) t10 = num10 :loop ost = t10 mod 16 $t = $mid($shablon,ost+1,1) $num16_str = $t + $num16_str t10 = t10 / 16 if t10 > 0: jump 'loop' '<<num10>>=<<$num16_str>>'
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 25.12.09 23:42. Заголовок: Nex пишет: ost = t1..
Nex пишет: Дико извиняюсь, а mod - это что за операция? В справке найти не могу. Возвращает остаток от деления? А вцелом спасибо.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 26.12.09 16:36. Заголовок: Aleks Versus да, к м..
Aleks Versus да, к моему ужасу, в справке про это ничего не написано. Так и есть, остаток от целочисленного деления. Все операции в QSP производятся с целыми числами.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 27.12.09 23:19. Заголовок: Nex пишет: Aleks Ve..
Nex пишет: цитата: | Aleks Versus да, к моему ужасу, в справке про это ничего не написано. |
| Полагаю это был сарказм, и еще раз извиняюсь. mod в справке нашел- мои кривые руки опять вводили не то слово.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 28.12.09 00:24. Заголовок: Хм. У меня, оказывае..
Хм. У меня, оказывается, была не последняя версия справки. Скачал сейчас новую. В последней версии (5.6.2), датированной сентябрем, действительно упомянут MOD, хотя его нет в указателе. Зато обнаружилось, что в этой последней версии не работает половина разделов O_o Надо срочно исправлять.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 28.12.09 01:14. Заголовок: Гм.. Только что пров..
Гм.. Только что проверил, вроде все работает.. Какой раздел не работал?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 28.12.09 02:05. Заголовок: О программе -> Б..
О программе -> Благодарности; Принцип работы; Операторы и функции; Операторы и функции -> Выражения -> Использование массивов; Операторы и функции -> Операторы -> Работа с действиями; Операторы и функции -> Операторы -> Работа с инвентарём; Операторы и функции -> Операторы -> Работа с переменными / массивами; Операторы и функции -> Операторы -> Настройка интерфейса; Операторы и функции -> Операторы -> Мультимедийные возможности: звук и музыка; Операторы и функции -> Функции; Операторы и функции -> Функции -> Работа с действиями; Операторы и функции -> Функции -> Работа с инвентарём; Операторы и функции -> Функции -> Работа с массивами; Операторы и функции -> Системные переменные; Операторы и функции -> Системные переменные -> Базовые системные переменные; Операторы и функции -> Системные переменные -> Переменные, задающие обработчики событий; Операторы и функции -> Системные переменные -> Переменные настройки интерфейса; Операторы и функции -> Создание меню для предметов; Подсказки / Советы; Словарь терминов.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 28.12.09 12:27. Заголовок: У меня это работает ..
У меня это работает
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 28.12.09 13:08. Заголовок: У меня тоже работает..
У меня тоже работает.. но по-моему Nex уже перезалил исправленны файл..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 28.12.09 22:23. Заголовок: Не, это вряд ли...
Не, это вряд ли.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 30.12.09 13:20. Заголовок: Осваиваю азы, возник..
Осваиваю азы, возник такой вот вопросик... Сейчас. Придумаю вменяемую формулировку... Хм. Есть локация 1. На ней, по сюжету предоставленного мне теста, сидит говорящая собака (вот не надо смеяться, это тест по диалогам из архива qsp300ddemos))) Я, представив свою реакцию, в аналогичной ситуации, добавил действие "Убежать от собаки". Локация 2. Сюда убегает игрок в процессе. Отсюда есть развилка. На этой локации есть код: if был_здесь=1: DELACT 'Убежать ещё дальше' & *PL 'Молодец, вы прибежали к собаке.' & ACT 'Подойти к собаке': GOTO 'Начало' if был_здесь=2: DELACT 'Свернуть в лес' Вариант 1 - "Убежать ещё дальше" - на локацию 3; и вариант 2, "Свернуть в лес", на локацию 4. Локация 3. Здесь присутствует параметр (или как его?) был_здесь= 1. И действие а-ля "Вам тут холодно, идите обратно, поговорите с собакой". Локация 4. Здесь присутствует аналогичный параметр "был_здесь= 2", и аналогичное действие "тут темно, и т.д.". То есть. Игрок уходит от собаки, появляется на развилке. Там два действия. Каждое из них должно пропасть, после того, как игрок там побывал. Вроде как всё нормально. Но! Если игрок побывал в лесу, то действие "лес" действительно удаляется. Если игрок после этого побежит дальше, и, соответственно, вернётся обратно - то пропадёт только действие "убежать дальше", а "лес" опять появится! Короче, прекращаю вас мучить своей чрезмерной вербальной активностью, прикладываю файл. QSP. http://zalil.ru/upload/28424374 Вопрос №2 (не волнуйтесь, он короткий!) Как можно сделать какую-то функцию, выполняющуюся при ПОКИДАНИИ локации?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 30.12.09 15:13. Заголовок: Сидан Рейдан ссылка ..
Сидан Рейдан ссылка на файл не работает. Не очень понятно, что ты хотел сделать с переходами. Используй многострочные IF'ы вместо однострочных. DELACT лучше вообще не использовать, он только запутывает. Я всегда прекрасно без него обхожусь. цитата: | Как можно сделать какую-то функцию, выполняющуюся при ПОКИДАНИИ локации? |
| Через ту же служебную локацию что выполняется при ПОСЕЩЕНИИ локации - $ONNEWLOC
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 30.12.09 15:43. Заголовок: Спасибо. Попытаюсь у..
Спасибо. Попытаюсь уточнить формулировку. Развилка Y. Можно перейти в две локации. Соответственно, два действия. С обеих локаций происходит возврат в первую локацию. В итоге, с помощью функции "был_здесь" и "DELACT" пресловутые два действия должны исчезнуть. При возвращении с первой локации, остаётся ссылка на вторую. При возвращении со второй - остаётся ссылка на первую. Вот, я попытался перезалить файл. http://zalil.ru/upload/28424854 цитата: | Используй многострочные IF'ы вместо однострочных. DELACT лучше вообще не использовать, он только запутывает. Я всегда прекрасно без него обхожусь. |
| К своему сожалению, я пока только учусь, премудростей не знаю)) Ещё один вопросик возник. Для параметров BCOLOR, FCOLOR - какие значения ставить? Какие-то цифровые? Где их найти? Или буквенные? И куда из ставить, просто на "начало"?
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 30.12.09 15:51. Заголовок: Сидан Рейдан эта ссы..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.02.10 21:04. Заголовок: Ох, месяц прошёл, а ..
Ох, месяц прошёл, а в этой теме после моего же сообщения вновь появился только я же... Плохая тенденция, однако... - сказал чукча, почёсывая затылок. Ну да ладно, сомнения прочь, флаг в руки, скипидар под причинное место, да вперёд, с вопросами к знатокам. Сперва обосную, почему я тут сейчас пишу: На IRC-канале Интерактивной Литературы я не могу долго поддерживать контакт (перебои со связью, знаете ли, лень излишняя, и вообще в Украине с коммуникациями плохо), а вопрос у меня для моего восприятия непростой, и требует долгого "переваривания". В чём суть... Пишу квест (как ни странно), и столкнулся с рядом проблем. Ряд образовал некое подобие Берлинской Стены, придётся мне его осилить. Суть такова - поциэнт, простите, глав.герой идёт в далёкое странствие. Он - дурак, а вдобавок ещё и сталкер (нет, не тот, который в мифической Зоне, а тот, который шастает по всяким заброшенным и покинутым местам цивилизации, вполне реальные люди) и вот-вот собирается в очередной поход. И, собственно, тут-то и попёр ряд проблем. Проблема первая. Персонаж по причине некоей физической ограниченности своего вещмешка может взять с собой ограниченное количество вещей. Сперва я хотел сделать аксиому в виде "не больше четырёх", потом понял, что это алогично. Допустим, в одном варианте персонаж захочет взять телефон, навигатор, фонарик, да светотрубку, а в другом - паёк на неделю, оружие, набор инструментов и медпакет. Де-юре - четыре предмета. Де-факто - совершенно разные по объёму вещи. Вот и пришла мне в голову мою глупую идея: сделать некий объём вещмешка (в кубических дециметрах, как пишут в Украине О_о) (шутка) и каждому предмету присвоить определённый вес. Чтоб он занимал ровно столько, сколько ему положено. ...Перечитал, вроде написано понятно. Проблема вторая, близкая к первой. Предметы будут исчезать\прибывать, как, допустим, при таких ситуациях а-ля "скушал за часок весь паёк", "купил в магазинчике ещё молоточек", и, соответственно, объём свободного места в вещмешке должен динамично изменяться. Может, вам тут не видно никакой проблемы, но мне лично процентов на 99 непонятно, как это сделать - я тотальнейший новичок в программировании. Желательно, что бы "свободное место" динамично изменялось прямо при выполнении команд ADDOBJ и DELOBJ (если это, разумеется, возможно, а то мне каждые три строчки нового, неизвестного кода - как чукче двигатель атомной подлодки) (и вновь почти что шутка. Почти). Проблема третья. Философская. Инвентарь и деньги. Да, я такой дурак, что толком не могу это сделать, вернее, не понимаю, как. Как сделать счётчик имеющихся денег? Как создать полноценный инвентарь? Просто в лице "списка предметов" в, собственно, "окне предметов"? Проблема четвёртая, от которой у большинства присутствующих может наступить когнитивный диссонанс (я предупредил) Как... кхэм... как, простите, можно по игре нормально взаимодействовать с предметами? С локацией-обработчиком (или как её) $ONOBJSEL я не справился, просто не заработала. Выводить описание предметов по щелчку на них в "инвентаре" не могу, дальше элементарных действий наподобие "щёлкнул на фонарик - свет появился" (и то с вашей же помощью) я не продвинулся. Товарищи доктора, у меня есть шанс? Простите за излишнюю наглость и загруженность вопросами, так уж вышло. Срочного ответа не требуется, лучше напишите дураку подольше, да пообстоятельней) Заранее спасибо за внимание.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 08.02.10 21:18. Заголовок: Мдаааа... Ты бы хоть..
Мдаааа... Ты бы хоть вопросы не кучей пихал что ли, а по одному. Ну да ладно. Приду домой напишу пообстоятельней, если до меня этого никто сделать не успеет.
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 08.02.10 21:34. Заголовок: Сидан Рейдан совсем ..
Сидан Рейдан совсем откажись от ограничений на вес и объем предметов. Либо сделай подсчет максимально простым - например, всякую мелочь вроде денег и патронов можно набирать сколько хочешь, а крупные предметы ограничить по количеству (например, не более 6). цитата: | Сперва я хотел сделать аксиому в виде "не больше четырёх", потом понял, что это алогично. Допустим, в одном варианте персонаж захочет взять телефон, навигатор, фонарик, да светотрубку, а в другом - паёк на неделю, оружие, набор инструментов и медпакет. Де-юре - четыре предмета. Де-факто - совершенно разные по объёму вещи. |
| Зря уповаешь на логику - хорошая игра должна быть интересной, а от логичности мало что зависит - в любых играх куча условностей и допущений. Не плоди сущностей без крайней необходимости. Вводи ограничения только там, где без этого не обойтись.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.02.10 21:48. Заголовок: любая игра - это мод..
любая игра - это модель. для того и есть игры, чтобы отбросить сложности, иначе можно было бы просто жить - никаких игр не надо. так что +1 к Nex
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 08.02.10 23:38. Заголовок: Что же, не смею спор..
Что же, не смею спорить с общественностью. Но всё ещё (если общественность, разумеется, соизволит (говорю без сарказма)) надеюсь на пояснения по вопросам. От системы "заполнения" рюкзака в плане веса, похоже, откажусь. Всем спасибо, ей-богу, не думал, что вы так серьёзно отнесётесь к новичку) Ждём-с, не сочтите за наглость....
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 09.02.10 00:34. Заголовок: Тааак. Во первых, ес..
Тааак. Во первых, если всё-таки не хочешь отказываться от мешка и килограмов :) Создаёшь массив типа $вещи[1] = 'нож' , вещи['нож'] = 10 первое это название вещи, второе - это сколько она весит У тебя есть количество, когда вещьмешок переполнен или недополнен, допустим туда влезает 100 кг. В самой первой локации пишешь $ONOBJADD = '!objadd' создаёшь локацию '!objadd' заводишь некую переменную, которая будет отвечать за текущую сумму в вещмешке, ну допустим тягание_тяжестей, а дальше на этой локации '!objadd' пишешь if $ARGS ='нож': тягание_тяжестей = тягание_тяжестей + вещи['нож'] if тягание_тяжестей>вес_мешка: msg 'вы не можете взять эту вещь, слишком мало места' del obj 'нож' else тягание_тяжестей = тягание_тяжестей - вещи['нож'] end end В общем примерно так, пробуй, дерзай или программера найди, если сам никак. Второй вопрос. Та же фигня На самой первой локации пишешь, в коде, конечно $ONOBJSEL = '!objsel' а на локации '!objsel' пишешь if $selobj = 'шкаф': p 'Это обычный шкаф, ничего интересного' unsel end И выведется тебе это в дополнительное описание. Так же можно выводить сколько денег в кармане у героя или склянок в его мешке. Вот. Надеюсь что-то из этого понятно. А вообще справку читай, там всё написано. Ну и примеры на сайте есть, рабочие, наука ещё не изобрела ничего проще копипаста. :)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 01:05. Заголовок: Правильный код для л..
Правильный код для локации "!objadd": тягание_тяжестей = тягание_тяжестей + вещи[$ARGS] if тягание_тяжестей>вес_мешка: msg 'вы не можете взять эту вещь, слишком мало места' del obj $ARGS тягание_тяжестей = тягание_тяжестей - вещи[$ARGS] end
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 01:08. Заголовок: Массив с $вещи = ..
Массив с $вещи[1] = 'нож' - не нужен в данном случае. Достаточно заполнять вещи['нож']=10
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 09.02.10 01:09. Заголовок: Да, спасибо :sm182..
Да, спасибо
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 01:19. Заголовок: 2 Сидан Не слушай т..
2 Сидан Не слушай тех кто обрезает крылья твоей фантазии. Хочешь делать хардкорный реализм - делай. Я лично куда больше уважаю именно такие игры. Так что мысленно с тобой - удачи. Ну а технологию тебе уже разъяснили. Не так уж сложно.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 01:47. Заголовок: Просто любое огранич..
Просто любое ограничение (то бишь приближение к реализму в данном случае) должно на чём-то основываться, в то смысле, что это должно быть необходимо в игре (например для головоломок). Если же автору просто захотелось, чтобы больше четырех предметов нельзя было брать просто потому что потому, то это явно лишнее.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 09.02.10 02:09. Заголовок: Hertz Ну ты авторов ..
Hertz Ну ты авторов совсем какими-то ... выставляешь. :)))) Они всегда делают для того, что нужно игре. :) Даже если только они так думают. :)
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 09.02.10 07:18. Заголовок: MasterSet я лично ув..
MasterSet я лично уважаю игры, которые доходят до релиза. А чрезмерные усложнения сильно уменьшают шансы.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 11:03. Заголовок: Тут такая дискуссия ..
Тут такая дискуссия развернулась... Отвечаю по всем пунктам. Nex, согласен..... Потому и стараюсь втихаря, вылажу "в свет" исключительно за помощью. Дабы, в случае чего, не нести особых моральных потерь) Ajenta - огромное спасибо за пресловутую помощь, вы меня, можно сказать, вновь вдохновили на подвиги и свершения)) MasterSet - аналогично))) Hertz - разумеется, доля скепсиса всегда полезна опьяневшему от перспектив автору) Отдельное спасибо. Byte - спасибо за поправки в коде, буду разбираться) Начну, так сказать, упомянутое мною выше "переваривание"... Коли будут какие вопросы по данному вопросу (простите за тавтологию), обращусь, не обессудьте) И ещё раз выскажу свою главную мысль - не ожидал, что вокруг никому не нужного новичка будут так хлопотать... О_о На такую помощь и поддержку даже не рассчитывал. Всем искреннейшая благодарность. Ни на каких форумах ещё не встречал такой отдачи, однако...
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 11:25. Заголовок: Итак, вопрос номер....
Итак, вопрос номер... какой он там? Вот ведь бестолочь. Так вот. Плейер грешит на данную строку: $вещи[1] = 'нож' , вещи [нож] = 50 - обидными словами про "ошибку синтаксиса". Господа знающие, я по причине принадлежности к классу "незнающих" тут ничего не нашёл. Подскажите, что не так? Вопрос 2. Многоуважаемая Adjenta писала: цитата: | ...заводишь некую переменную, которая будет отвечать за текущую сумму в вещмешке, ну допустим тягание_тяжестей, а дальше... |
| Внимание, вопрос. Есть какая-то разница от размещения этой переменной по локациям? Сидит она, вроде бы, на самой первой. Если то, что я написал, вообще является переменной...
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 09.02.10 12:12. Заголовок: Да, Байт поправил же..
Да, Байт поправил же вещи ['нож'] = 50 - вот так не будет ругаться то есть надо писать $вещи[1] = 'нож' вещи ['нож'] = 50 А по второму вопросу: "Заводишь" - это слово означает определяешь. Её, эту переменную, можно нигде не прописывать кроме как в коде, потому что она по умолчанию нулём инициализируется, то есть просто сразу используешь и всё. А к новичкам здесь всегда отношение доброжелательное, если они сходу не начинают делать мега-супер-пупер-рпг :)))
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 12:46. Заголовок: ОФФТОП 2 Nex Есть ..
ОФФТОП 2 Nex Есть мнение, что до релиза игры не доводятся отнюдь не по причине сложности задумки, а исключительно по раздолбайству авторов. Забить можно даже на самую простую игру. Вот человеку видишь сложно. Но он не забил, а упорно полез советоваться. Надо его морально поддержать, а не говорить ему, что он со сложным не справится и вообще делает всякую ненужную фигню. Так мы новых игр не дождемся. А те которых дождемся будут скучными и шаблонными.
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 13:53. Заголовок: вещи = 50 -- пробел..
|
|
Профиль
Цитата
Ответить
|
|
| moderator
|
|
|
Отправлено: 09.02.10 15:56. Заголовок: MasterSet твоя точка..
MasterSet твоя точка зрения мне понятна, потом как-нибудь отдельно обсудим ;)
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 09.02.10 21:22. Заголовок: Сидан Рейдан вот раб..
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.02.10 02:18. Заголовок: Нужна помощь с кодом..
Нужна помощь с кодом Допустим, у меня есть переменная a, которая принимает значение либо 0, либо 1. От этого значения зависит как будет выведен список - это будут просто названия или названия ссылки. Т.е. код примерно такой будет: цитата: | if a=0: 'название1' if a=1: '<a href=''exec:...''>название1</a>'' if a=0: 'название2' if a=1: '<a href=''exec:...''>название2</a>'' ... |
| Т.к. названия для двух случаев будут одинаковыми (разница лишь в том, будут ли они ссылками или нет) можно ли как-то это более изящно сделать? Пока писал возникла идея цитата: | <a href=''exec:if a=1: ... ''>название1</a> |
| но тогда получится, что при a=0 это всё равно будет ссылка, просто при нажатии ничего происходить не будет... к тому же я не уверен, что в href="exec: ... " нормально многострочный if и ещё несколько действий войдут... И тут же ещё одна цитата: | if a=1:'<a href=''''>' 'название1' if a=1:'</a>' |
| но это тоже дрянь, потом что если а=1, то перед и после название1 пустые строки Мне уже даже подумалось о CSS
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.02.10 02:28. Заголовок: usehtml=1 a=0 $nam..
usehtml=1 a=0 ! заполняем списки - названия + код $names[]='название1' & $execs[]='code1' $names[]='название2' & $execs[]='code2' $names[]='название3' & $execs[]='code3' ! этот цикл лучше вынести в отдельную локацию i=0 :loop if i < arrsize('names'): if a=0: $names[ i ] else '<a href="exec:<<$execs[ i ]>>"><<$names[ i ]>></a>' end i=i+1 jump 'loop' end
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 10.02.10 03:10. Заголовок: Byte Спасибо :sm36:..
Byte Спасибо Вот что значит программистское мышление - у меня полчаса в голове рождалось, рождалось и не родилось, а ты через 10 минут готовый код выложил. И, кстати, ты невольно угадал. Я сами названия собирался описать в массив изначально, а список выводить через gosub из отдельной локации.
|
|
Профиль
Цитата
Ответить
|
|
| демиург
|
|
|
Отправлено: 10.02.10 03:11. Заголовок: Не дрянь, кстати, пр..
Не дрянь, кстати, просто вот так if a=1: *p '<a href=''''>' end *p 'название1' if a=1: *p '</a>' end тогда пустых строк не будет
|
|
Профиль
Цитата
Ответить
|
|
Отправлено: 12.02.10 15:07. Заголовок: Ajenta :sm47: :sm..
Ajenta
|
|
Профиль
Цитата
Ответить
|
Ответов - 201
, стр:
1
2
3
4
5
6
7
8
9
10
11
All
[только новые]
|
|