Форум переехал на новый адрес: http://qsp.su



АвторСообщение



ссылка на сообщение  Отправлено: 04.11.08 15:15. Заголовок: Как это сделать?


Только начал программить на QSP. Вопрос: как сделать так, чтобы после выполнения одного действия, в этой же локации становились видны другие, до этого не видимые? Хелп читал - не нашёл ответа. И ещё - можно ли с помощью оператора DYNAMIC создавать новые действия и предметы?

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 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 $имя_предмета


Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 04.11.08 15:27. Заголовок: Спасибо. Я здесь буд..


Спасибо. Я здесь буду ешё вопросы выкладывать, если возникнут, хорошо?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 04.11.08 15:29. Заголовок: Конечно :sm67: ..


Конечно

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 04.11.08 16:25. Заголовок: А как скрыть действи..


А как скрыть действие? Т.е. if был_здесь: ... ?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 04.11.08 16:39. Заголовок: Можно через оператор..


Можно через оператор DELACT:
delact 'Название действия'


Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 06.11.08 13:42. Заголовок: Как вывести текст в ..


Как вывести текст в окно дополнительной информации?

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 06.11.08 15:16. Заголовок: P 'текст'..


P 'текст'

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 06.11.08 15:24. Заголовок: спс..


спс

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 07.11.08 19:24. Заголовок: как сделать сохранен..


как сделать сохранение игры? Плз, с примером. Пытался сделать по хелпу через SAVEGAME и OPENGAME - ни фига не получается :(

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 07.11.08 19:32. Заголовок: SAVEGAME 'имя ф..


 
SAVEGAME 'имя файла' - сохранение в указанный файл
SAVEGAME '' - сохранение, игрок сам выбирает имя файла


Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 07.11.08 19:39. Заголовок: Это-то понятно, но в..


Это-то понятно, но вот у меня в меню есть пункт 'продолжить' При нажатии на него появляется список открытых глав. Вот код обработки
KILLALL & CLS & CLOSE ALL
OPENGAME 'Другое_зрение.sav'
После этого вылетает "нельзя открыть файл", хотя он есть и называется точно так же! И даже лежит в той же папке, потому что создаётся автоматом при посещении опред. локации!
Что здесь не правильно?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 07.11.08 20:20. Заголовок: #Начало ACT '1&..


 
#Начало
ACT '1':
'test!'
END
ACT 'save':
savegame 'другой.sav'
END
ACT 'load':
opengame 'другой.sav'
END
---------------------------

работает... может, название не совсем такое, как при сохранении? попробуй скопировать название из savegame..

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 08.11.08 08:59. Заголовок: denis, проблема реше..


denis, проблема решена? opengame заработал?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 08.11.08 14:11. Заголовок: нет. Потом разберусь..


Нет. Потом разберусь. У меня там сейчас и без него забот полон рот :) Иду на победу!
Вопрос такой: как узнать, сколько времени прошло с момента входа в локацию? Без waita! ;)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 08.11.08 15:10. Заголовок: Переменная MSECSCOUN..


Переменная MSECSCOUNT. При посещении локации сохраняем текущее время в какой-либо переменной, затем, когда нужно, вычитаем из текущего времени сохраненное значение.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 08.11.08 15:20. Заголовок: Всё, спасибо, вопрос..


Всё, спасибо, вопросов больше нет!

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.11.08 12:58. Заголовок: Итак, игра разрослас..


Итак, игра разрослась до таких размеров, что писать дальше без возможности начать с нужного места просто невозможно! И это радует :) Не радует отсутствие сохранок. Если не трудно, кинь пример, как должно выглядеть сохранение в файл с названием a_b.sav и загрузка из него.
У меня всё выглядит так. При входе в определённую локацию выполняется SAVEGAME 'Другое_зрение.sav'
Затем я перезапускаю игру ('Начать заново' в плеере), в меню выбираю пункт Главы->Другое зрение, выполняется код OPENGAME 'Другое_зрение.sav'
И всё. Пустой экран. Не глючит, ошибок не выдаёт.


Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 09.11.08 13:56. Заголовок: Вот этот код работае..


Вот этот код работает?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.11.08 17:50. Заголовок: Да, спасибо, работае..


Да, спасибо, работает. Ребята, извините, кина не будет, по крайней мере на этом конкурсе. Файл, в котором тестил загрузку/сохранение, я случайно сохранил в файл игры. Пока настроения что-либо делать нет. Извините.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.11.08 18:56. Заголовок: Правка: кино будет, ..


Правка: кино будет, но в меньше объёме. Вопросов больше нет.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.11.08 20:57. Заголовок: Как я понял, при вып..


Как я понял, при выполнении кода

USEHTML=1
'<img src=фон.jpg>'
'<AREA HREF="где-то" SHAPE="RECT" COORDS="0, 0, 1000, 1000" >'

на рисунке должна появиться квадратная область, при щелчке на которую должен быть переход в локацию "где-то". Почему это может не происходить? Не отображается даже курсор с пальцем - он остаётся обычным.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 09.11.08 22:15. Заголовок: Файл, в котором тест..



 цитата:
Файл, в котором тестил загрузку/сохранение, я случайно сохранил в файл игры.


denis O_O
А как же бэкап?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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>'


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 10.11.08 07:36. Заголовок: чего?на куспе работа..


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

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 10.11.08 08:08. Заголовок: Из справки: Если в ..


Из справки:

Если в качестве ссылки для "A HREF" указано число, то при клике по ссылке будет произведена обработка действия с данным индексом. Индексация действий ведётся с 1.
Если в качестве ссылки для "A HREF" указана строка вида "EXEC:строка_кода", то при клике по ссылке будет выполнена указанная строка кода.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 10.11.08 16:05. Заголовок: > denis O_O >..


> denis O_O
> А как же бэкап?
В смысле? Я сохранил тестовый файл с таким же именем, как и файл игры, и он заменил его! А восстановление системы в Windows файлы не затрагивает, как я помню.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 10.11.08 19:57. Заголовок: denis я не про восст..


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

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 10.11.08 21:16. Заголовок: Более того, удобнее ..


Более того, удобнее всего поставить себе локально репозитарий, WinCVS, например. И заливать изменения каждый раз после работы. Тогда не только наработки не потеряются, но и всегда можно будет вернуться назад и посмотреть "как там было раньше"... Или отвести ветку от основной работы. Рекомендую.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 10.11.08 23:35. Заголовок: fireton, Nex, спасиб..


fireton, Nex, спасибо. Я обычно в таких случаях пользуюсь "жёсткими ссылками" - через командную строку создаётся ссылка напрямую на память, которую занимает файл на жёстком, и пока ты её не удалишь, очистить там память невозможно. Оч удобная вещь, особенно когда нужно предохранить крупный файл. Но здесь я вроде как только начал, а получилось, что за неделю сделал довольно много... Но я решил закончить в первоначальном объёме. :) Трепещите, конкуренты! :D

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 11.11.08 06:09. Заголовок: denis пишет: Но я р..


denis пишет:

 цитата:
Но я решил закончить в первоначальном объёме.


Отлично!

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 12.11.08 09:15. Заголовок: Корвин хотел предлож..


Корвин хотел предложить denis'у участвовать в КРИЛ, но посмотрел на Чебурашку с топором и скромно промолчал.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 12.11.08 09:24. Заголовок: Korwin Только до 30..


Korwin
Только до 30 ноября совсем мало времени осталось - вряд ли успеет.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 13.11.08 15:47. Заголовок: Байт, а возможно зап..


Байт, а возможно записывать состояние игры в одной локации, а загружать её - в другой? Что-то не получается.
Насчёт КРИЛ: как я понял, выставлять недоделку - дурной тон, даже если она лишена багов и смотрится интересно. Всё равно сюжет должен быть логически закончен. А у меня такой проект, что дай бог к весне закончить! :)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 13.11.08 15:53. Заголовок: Только через $ONGLOA..


Только через $ONGLOAD:
На данной локации пишем
gt $после_загрузки

далее, в нужные моменты устанавливаем значение $после_загрузки:
$после_загрузки = 'моя локация'


Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 13.11.08 16:01. Заголовок: Как я понял. Вот я н..


Как я понял.
Вот я начинаю игру заново, захожу в локацию 'главы', нахожу там название последней главы, попадаю на $ONGLOAD, затем выполняется gt $после_загрузки... А если у меня были какие-то параметры? Например, уровень страха? Или репутация? Они потеряются?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 13.11.08 16:09. Заголовок: denis, видимо, ты не..


denis, видимо, ты не понял как это работает. Все данные, которые имеются, сохраняются, но после загрузки будет переход на нужную локацию:
 
#1
$ongload='load'
$go_load='4'
'Теперь можно сохранять игру, после загрузки всё восстановится, но будет произведён переход на локацию "4".'
----------------------------------
#load
gt $go_load
----------------------------------
#4
'После загрузки!'
----------------------------------


Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 13.11.08 16:13. Заголовок: спасибо, сейчас пров..


спасибо, сейчас проверю.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 13.11.08 16:32. Заголовок: Работает только если..


Работает только если явно прописывать в локации-постзагрузчике gt 'улица-1'. Если прописывать переменной, то она обнулсяется.


Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 13.11.08 16:45. Заголовок: Не может она обнулят..


Не может она обнуляться. Сохранение идёт после присвоения переменной значения?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 13.11.08 16:48. Заголовок: Спасибо, разобрался...


Спасибо, разобрался. У меня там KILLALL было после этого :) Авось успею на КРИЛ с первым законченным эпизодом.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 05.12.08 11:33. Заголовок: Подскажите плизз, ка..


Подскажите плизз, как можно узнать название не текущей, а предыдущей локации. Можно как-то это сделать средствами языка, а не добавлением переменных?

Спасибо: 0 
Профиль Цитата Ответить
moderator




ссылка на сообщение  Отправлено: 05.12.08 12:19. Заголовок: ну так понадобится в..


ну так понадобится всего 1 переменная.
На предыдущей локации пишешь $loc=$CURLOC
А на текущей можешь проверить IF $loc <> 'подвал': и т.д.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 05.12.08 12:38. Заголовок: Можно сделать такое ..


Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код
$prevloc=$curloc

Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 05.12.08 16:15. Заголовок: О, спасибо :)..


О, спасибо :)

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 09.12.08 13:04. Заголовок: Byte пишет: Можно ..


Byte пишет:

 цитата:

Можно сделать такое для всей игры сразу, автоматически - на $ONNEWLOC добавляем код

$prevloc=$curloc


Теперь при обработке кода новой локации (при переходах) в $prevloc будет имя предыдущей локации.



А можно пожалуйста пример, а то я видимо что-то делаю неправильно, потому что у меня это всё не работает.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.12.08 14:06. Заголовок: ммммм... Я запуталас..


ммммм... Я запуталась.
Давайте так.

Я создаю локацию с именем "onnewloc"
пишу на ней $prevloc=$curloc

насколько я поняла - это должнло выполняться всегда, когда я перехожу на новую локацию?

но если я на локации с названием "Карта" делаю
act 'next': gt $prevloc

он говорит, что такой локации не существует, при условии, что в локацию Карта - я захожу с какой-то локации.

Что здесь не так? Где ошибка?


Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 10.12.08 14:23. Заголовок: Ajenta в самой перво..


Ajenta в самой первой локации напиши
$ONNEWLOC = 'onnewloc'


Байт, будь лаконичнее. К тому же девушка наверняка пользуется QGen4, а не TXT2GAM.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.12.08 14:35. Заголовок: Угу, пасиб, попробую..


Угу, пасиб, попробую.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.12.08 15:01. Заголовок: Тааак. Сделала как ..


Тааак.

Сделала как сказали.

Я сделала вывод переменной $prevloc на экран

Происходит следующее

Перехожу я на карту - $prevloc пишет название предыдущей локации.
Делается act 'next': gt $prevloc

после чего $prevloc - пишет Карта и никуда не переходит

я что-то опять не так делаю. :(

что ему ещё нехватает?

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.12.08 15:03. Заголовок: А пользуюсь действит..


А пользуюсь действительно QGen'ном и именно четвёртым.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 10.12.08 15:14. Заголовок: В локации "onnew..


В локации "onnewloc" должно быть это:
$aprevloc=$prevloc 
$prevloc=$curloc


Когда используешь "имя предыдущей локации", то для действий используй переменную $aprevloc, а для остального - $prevloc.
т.е. действие должно быть таким:
act 'next': gt $aprevloc


Извини, что сразу не разобрался.

Спасибо: 1 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.12.08 15:17. Заголовок: Урра!!! Заработало! ..


Урра!!! Заработало!

Чмок и большущее спасибо Сама бы фиг догадалась.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 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 - это я, админ, напомни мне мой пароль, пожалуйста.
игру, которую я делал, я успешно по**рил во второй раз - теперь уже путем форматирования жёсткого.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 25.02.09 18:53. Заголовок: Всё, разобрался, это..


Всё, разобрался, это баг - Byte, поправь, сейчас если ставишь после act: комментарий, то действие сразу выполняется.

Спасибо: 0 
Профиль Цитата Ответить
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'

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

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 25.02.09 20:03. Заголовок: Ага, спасибо. Завтра..


Ага, спасибо. Завтра выложу (тьфу-тьфу-тьфу!) завязку игры для тестирования. :)

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 25.02.09 20:38. Заголовок: А можно в этой теме ..


А можно в этой теме выкладывать поэпизодно игру, если она конкурсная? Т.е. выложу 2-3 эпизода, а в полной версии их 18-20? Просто мне для тестирования нужно.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 25.02.09 20:44. Заголовок: Допускается только з..


Допускается только закрытое тестирование (можно высылать небольшому кругу лиц - с оговорками). Игра или её части не должны быть опубликованы ранее срока сдачи игр.
denis, и ещё - если собираешься участвовать в конкурсе, нужно подать заявку (автор+предварительное название).

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 25.02.09 21:27. Заголовок: Отлично! Завтра вышл..


Отлично! Завтра вышлю тебе и Nex-у! :)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 25.02.09 21:36. Заголовок: Мне не нужно. Смотре..


Мне не нужно. Смотреть до конкурса в любом случае не буду.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 25.02.09 21:46. Заголовок: Хорошо, я уже догово..


Хорошо, я уже договорился со знакомым в оффлайне, так что тестера я нашёл. Другой вопрос - в правилах указан размер до 2-х мегабайт, что делать, если у меня в игре много изображений (не крупных, но под 70 штук). Просто в локациях можно осматриваться вверх-вниз, влево-вправо. Думаю, урезать не получится. :(

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 25.02.09 21:48. Заголовок: 2мб это рекомендация..


2мб это рекомендация :) в принципе, можно и больше.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 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>'


Картинка выводится. Локация ... есть.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 26.02.09 20:16. Заголовок: "usrmap" вме..


"usrmap" вместо "usemap"?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 26.02.09 22:14. Заголовок: Да, спасибо! %) ..


Да, спасибо! %)

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 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 - не пашут.



Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 27.02.09 19:40. Заголовок: act 'загрузить&#..


act 'загрузить':
$ongload='load'
opengame '1.sav'
end

$ongload='load' здесь ни к чему, так как при загрузке сохранения переменные будут загружены из файла.
$ongload нужно устанавливать перед savegame.

ругается на файл именно в этой локации и в этой строчке?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 27.02.09 19:42. Заголовок: Сохранения savegame ..


Сохранения savegame - абсолютно такие же, что и сделанные вручную :)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 27.02.09 19:45. Заголовок: А ругается на файл -..


А ругается на файл - у тебя
SAVEGAME "Другое_зрение.sav"

но при этом
opengame '1.sav'

имя файла должно быть одинаковым.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 27.02.09 20:13. Заголовок: Да нет, уже одинаков..


Да нет, уже одинаковые, всё равно ругается. :(
P.S. Да, спасибо, заработало - нужно было $ongload='load' перед сохранением поставить. :)

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 27.02.09 22:02. Заголовок: Какие-то извращения...


Какие-то извращения... Первая игра, и уже в такие дебри залез? Нафига?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 28.02.09 17:06. Заголовок: :) Хочу победить. Чт..


:) Хочу победить. Чтобы победить, нужно, чтобы моя игра понравилась. Чтобы она понравилась, нужно не халтурить.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 28.02.09 23:45. Заголовок: Да не, я просто не м..


Да не, я просто не могу представить, зачем делать сейвы прямо из игры. Ну, автору виднее. Может, это и правда пригодится.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 01.03.09 17:21. Заголовок: Вот ещё вопрос: т.к...


Вот ещё вопрос: т.к. до этого момента моё произведение больше напоминало книгу-игру, то с предметами я особо не работал. А вот теперь не могу понять, как сделать, чтобы по выделению предмета совершалось какое-нибудь действие. Например, у меня есть объект 'мобильник', и после его выделения я хочу перейти на локацию, где обрабатывается работа с мобильным.

 цитата:

add obj 'мобильник', 'Объекты\мобильник.jpg'
if $SELOBJ='мобильник':
GOSUB $SELOBJ
end


На практике нужно совершение какого-нибудь другого действия - только тогда выделенный объект начинает работать, и выполняется GOSUB $SELOBJ

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 01.03.09 17:33. Заголовок: denis-1, создай лока..


denis-1,
создай локацию 'OBJSEL', и установи
$ONOBJSEL='OBJSEL'

далее, уже на самой локации
 
if $SELOBJ='мобильник':
GOSUB $SELOBJ
end
unselect

Неужели совсем справку не читаем?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 01.03.09 17:38. Заголовок: Читаем, иначе как бы..


Читаем, иначе как бы я про $SELOBJ узнал :) Да, спасибо, заработало.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 15.03.09 18:10. Заголовок: Как программно выдел..


Как программно выделить объект?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 15.03.09 18:50. Заголовок: Зачем?..


Зачем?

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 15.03.09 20:51. Заголовок: Всё, уже не надо. :)..


Всё, уже не надо. :) Сделал по-другому, и даже лучше вписалось в сюжет - получилась небольшая загадка.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 15.03.09 21:04. Заголовок: .k™: как думаешь сто..



 цитата:
.k™: как думаешь стоит ли свой сервер сделать?
lip: для чего?
.k™: ты ответил на мой вопрос


http://bash.org.ru/quote/402196

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 15.03.09 21:58. Заголовок: :sm38: ..




Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 21.10.09 12:24. Заголовок: Здравствуйте. Извини..


Здравствуйте. Извините за глупый вопрос, но можно ли в qsp с помощью html-тегов позиционировать текст посередине? Т.е. не только по горизонтали, но и по вертикали?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 21.10.09 12:29. Заголовок: flir3, в данный моме..


flir3, в данный момент нет. Сейчас можно создать таблицу с ячейкой указанной высоты (в пикселях), и только потом выровнять текст по вертикали.
Указание относительной высоты (в процентах) - в планах.

Спасибо: 1 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 21.10.09 15:15. Заголовок: Byte, я долго въезжа..


Byte пишет:

 цитата:
можно создать таблицу с ячейкой указанной высоты (в пикселях)


Byte, я долго въезжал, но не понял, атрибутом какого тега при этом пользоваться. Можешь привести пример, если не трудно?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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 - высота по вертикали.

Спасибо: 1 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 21.10.09 17:27. Заголовок: Похоже нужно тему дл..


Похоже нужно тему для записи различных хаков, например, что для замены однопиксельного gif'а или div'а можно использовать hr.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 21.10.09 17:41. Заголовок: Кстати файрфокс для ..


Кстати файрфокс для <hr width=0 size=300> всё равно умудряется рисовать один пиксель в ширину. Как другие браузеры не знаю.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 21.10.09 21:45. Заголовок: Это тень от HR, она ..


Это тень от HR, она всегда рисуется.
Лучше взять однопиксельный GIF и поставить ему размеры.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 10:48. Заголовок: Ну я так и подумал, ..


Ну я так и подумал, что тень.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 22.10.09 17:51. Заголовок: Byte, подскажи ещё, ..


Byte, подскажи ещё, оператору gosub нельзя передать больше десяти параметров?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 17:55. Заголовок: Сейчас ограничение н..


Сейчас ограничение на максимум 10 параметров :)

Спасибо: 1 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 18:04. Заголовок: Много параметров мож..


Много параметров можно передать отдельным массивом.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.10.09 20:00. Заголовок: Сейчас ограничение н..


[Byte пишет:

 цитата:
Сейчас ограничение на максимум 10 параметров :)


байт, увеличь хотя бы до 16. пожалуйста.


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.10.09 20:21. Заголовок: Ntropy пишет: Это ..


Ntropy пишет:

 цитата:

Это тень от HR, она всегда рисуется.


А noshade в wxHTML не поддерживается?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 20:42. Заголовок: fireton, в данном сл..


fireton, в данном случае проблема не с wxHTML, а с фаерфоксом :)
А вообще noshade это не отключение тени, это просто смена типа тени.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 20:44. Заголовок: , зачем 16 параметро..


[Ray], зачем 16 параметров? o_O

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 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

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.10.09 20:56. Заголовок: Byte я лишь боюсь чт..


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

а вот если бы ты сделал возможность импорта данных из .txt - был бы вообще праздник просто ;)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 21:13. Заголовок: есть addqst..


[Ray] есть addqst

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.10.09 21:28. Заголовок: Byte нет, addqst не ..


Byte нет, addqst не решит проблему. нужно загружать файл как таблицу. а лучше сразу в массив.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.10.09 21:29. Заголовок: А, ещё есть разбор т..


А, ещё есть разбор текста - можно данные в виде строки оформить, потом их разобрать.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.10.09 22:41. Заголовок: 16 параметров в лока..


16 параметров в локации это перебор, для разбора текста можно использовать разбиение по пробелам.

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 22.10.09 23:55. Заголовок: Я такого рода пробл..


[Ray] Я такого рода проблему решал передавая в локацию только название противника, тип места боя и время суток. При обработке боёвки игра обращалась к БД (отдельная лока) где на основе названия противника и на основе уровня определяла все статсы и прочие переменные.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 23.10.09 00:15. Заголовок: WladySpb кинь кусоч..


WladySpb
кинь кусочек кода, который определяет по названию противника все его характеристики;
я уверен там такой же мусор как у mioirel'я в его The Underworld Slayer.
угу. я за чистоту нации кода.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 23.10.09 00:16. Заголовок: Byte разбор текста? ..


Byte разбор текста? круто! а поподробнее?

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 23.10.09 09:11. Заголовок: Ну, примерно это пр..


[Ray] Ну, примерно это происходит так:
Задаём тип противника, запускаем бой, в начале локации-боя инициализация противника, делаем gs на локацию с БД. Там что-то такое:

 цитата:
if $enemy['кто']='волк':
$enemy['кого']='волка'
$enemy['кому']='волку'
.........
enemy['жизнь']=10+level*2 \\ у меня сила мобов вычислялась в зависимости от уровня героя.
enemy['мин_урон']=4+level
enemy['макс_урон']=7+level
........
end
if $enemy['кто']='бандит':
.......


Ну вот как-то так. Весь список параметров приводить не буду)

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 23.10.09 09:31. Заголовок: Одному мало 10, друг..


Одному мало 10, другому 16 мало, и т.д.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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
....
'

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


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 23.10.09 21:20. Заголовок: Nex а что, шестнадца..


Nex а что, шестнадцати жалко? :) действительно, я думал что изменить количество нетрудно)

Byte а что за функции это делают?

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 23.10.09 21:36. Заголовок: 16 - нелогично. В Q..


[Ray] 16 - нелогично.
В QSP те ограничения, которые еще остались, кратны 10. Так легче запоминается.
Если все будет кратно 10, а одно-единственное будет 16, будет просто некрасиво.

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 23.10.09 23:39. Заголовок: Nex На самом деле, о..


Nex На самом деле, ограничения вообще нелогичны, если не являются следствием конкретных особенностей языка. Хотя в данном случае мне не кажется аккуратным сам метод, но и ограничений я не понимаю. кстати, что меня приятно порадовало в куспе, когда я начинал, это то, что нет глупых ограничений. Переменные не нужно объявлять заранее(как в паскале или Си), к примеру. Нет разграничений переменных по типам, экономить несколько байт информации уже не нужно, хотя раньше наверное это было критично...

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 24.10.09 00:00. Заголовок: WladySpb из двух зол..


WladySpb из двух зол следует выбирать меньшее.
И из ограничений на 16 и на 10 параметров, я выберу 10, т.к. это более соответствует всему остальному.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 24.10.09 10:52. Заголовок: пишет: действитель..


[Ray] пишет:

 цитата:
действительно, я думал что изменить количество нетрудно)


Изменить нетрудно.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 24.10.09 19:00. Заголовок: Подскажите, пожалуйс..


Подскажите, пожалуйста, а размер переменной строкового типа в qsp ограничен?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 24.10.09 19:22. Заголовок: Практически нет...


Практически нет.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 24.10.09 19:28. Заголовок: Практически нет. By..



 цитата:
Практически нет.


Byte, а можно поподробнее?


Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 24.10.09 19:40. Заголовок: Грубо говоря, действ..


Грубо говоря, действует ограничение доступной приложению оперативной памяти.

Спасибо: 1 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 31.10.09 17:41. Заголовок: Короче, мне нужно сд..


Короче, мне нужно сделать так, что бы мои числовые переменные, выводились текстом. Например, если у меня перемнная Реклама=2, то в игре выводилось Реклама = слабая.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 31.10.09 23:07. Заголовок: создаешь массив текс..


создаешь массив текстовых значений с числовыми индексами
например
$характеристики[1] = 'плохая'
$характеристики[2] = 'слабая' и т.д.

потом останется только вывести
*p 'Реклама = <<$характеристики[Реклама]>>'

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 15.11.09 17:13. Заголовок: Всем привет! Почита..


Всем привет!

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

Собственно у меня вопросы чисто по html-части.
1. Не нашел списка хтмл-тэгов, которые поддерживает кусп. Такое есть вообще?
2. Все стаилы работать будут? Ну вот например, чтобы сылка не подчёркивалась видел тут где-то конструкцию с доп.тегом внутри {a}. А вот {a href="путь" style="text-decoration:none"}ссыль{/a} будет работать?
3. Таблицы он нормально показывает, кривости нет? Я тут игрушку затеял, но для реализации нужно чтобы таблицы с точностью до пикселя были такими, какими я их навоял.

заранее спасибо за ответы и терпение)

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 15.11.09 21:43. Заголовок: 1. Hertz, судя по вс..


1.
Hertz, судя по всему, ты еще не скачал справку.
Немедленно скачай - http://qsp.su/files/redirect.php?dlid=7

В справке см. "Операторы и функции"->"Использование тегов HTML при разработке игр"

2. "стаилы" не поддерживаются. Ссылки без подчеркиваний - это костыль.

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

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 15.11.09 21:53. Заголовок: Nex спасибо, всё наш..


Nex спасибо, всё нашел.

Очень жаль что для таблиц не поддерживается backcolor. Ведь в таком случае можно было бы делать фон, а в ячейках таблицы распологать предемты в виде png. Ну и чтобы они были ссылками. Очень интересные игрушки можно было бы делать. Неужели трудно реализовать это? А ещё параметр height у таблиц не работает.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 16.11.09 00:31. Заголовок: Hertz пишет: Ведь в..


Hertz пишет:

 цитата:
Ведь в таком случае можно было бы делать фон, а в ячейках таблицы распологать предемты в виде png. Ну и чтобы они были ссылками. Очень интересные игрушки можно было бы делать


В ячейках таблиц картинки могут быть. Ссылки сделать картинками тоже можно - для картинок подчёркивания нет.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 16.11.09 00:57. Заголовок: Byte пишет: В ячейк..


Byte пишет:

 цитата:
В ячейках таблиц картинки могут быть. Ссылки сделать картинками тоже можно - для картинок подчёркивания нет.



Я знаю! Я уже пробовал это сделать. Проблема в том, что у таблиц и ячеек только ширина фиксится. А высота зависит только от содержания. И нельзя положить фон под таблицу, т.к. работает только bgcolor, а background он не понимает.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 16.11.09 01:33. Заголовок: Hertz платформа QSP ..


Hertz платформа QSP создана для текстовых игр.
Возможности графики в ней ограничены.

Рекомендую применять QSP по назначению - написать текстовую игру.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 16.11.09 01:37. Заголовок: Hertz пишет: нельзя..


Hertz пишет:

 цитата:
нельзя положить фон под таблицу


Можно. Для этого используется системная переменная $BACKIMAGE (см. справку)

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 16.11.09 01:42. Заголовок: Nex пишет: Рекоменд..


Nex пишет:

 цитата:
Рекомендую применять QSP по назначению - написать текстовую игру.



Текстовую и пишу.
Диалоги и дейсвия будут текстовыми, а вот перемещения хотел сделать путём тыканья по карте "мира".
Просто возможность положить фон под таблицу, а сверху размещать в зависимости от условий нужные картинки-ссылки весьма облегчило бы задачу и украсило бы игру. Хотя это и не главное, но почему бы и нет?

ps ничего, что я тут у вас флудить помногу буду?)

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 16.11.09 01:51. Заголовок: Nex пишет: Для этог..


Nex пишет:

 цитата:
Для этого используется системная переменная $BACKIMAGE (см. справку)



не врубаюсь, как положить строго под таблицу.
если не трудно напиши кусок кода, которым под таблицу 400 на 400 пикселей кладётся картинка такого же размера, а в самой таблице что-нибудь написано просто.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 16.11.09 07:08. Заголовок: Строго под таблицу в..


Строго под таблицу в текущем плеере не выйдет.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 16.11.09 17:30. Заголовок: Byte, ты писал, что ..


Byte, ты писал, что можно сделать массив в качестве аргумента оператора gosub. Расскажи поподробнее, как это сделать? Как мне выудить переменную из массива в массиве?

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 16.11.09 17:30. Заголовок: Hertz Здесь вариант..


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

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 16.11.09 17:55. Заголовок: Hertz "карту мир..


Hertz "карту мира" в виде таблицы сделать можно, где-то на форуме уже обсуждались способы.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 16.11.09 17:57. Заголовок: Ajenta пишет: ertz,..


Ajenta пишет:

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



Это и так понятно. Просто хотелось бы изящно сделать. Хотя грамотно составленый список из ссылок тоже прекрасен.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 16.11.09 19:58. Заголовок: Hertz Изящно можно р..


Hertz
Изящно можно реализовать через карты ссылок картинки. Смотри тег MAP.

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 17.11.09 10:58. Заголовок: elmortem Я так понял..


elmortem Я так понял, нужно чтобы на статической карте появлялись, к примеру, города по которым можно кликнуть. Так что изящное решение недоступно... На мой взгляд, поверх фона можно было бы выводить картинки-ссылки с абсолютным позиционированием, но это тоже не поддерживается)

А так да, карта ссылок тема...

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 17.11.09 16:40. Заголовок: flir3, имелся в виду..


flir3, имелся в виду вариант, когда имя массива известно. например:
 
$a[0]='sdsd'
$a[1]='ddfdf'
$a[2]='vbvb'
gosub 'test'

В 'test' будет доступен весь массив $a.
А если передать имя массива, то значения можно получать через функцию DYNEVAL.

Спасибо: 1 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 21.11.09 13:33. Заголовок: WladySpb Ну, можно в..


WladySpb
Ну, можно ведь ссылки генерить динамически в карте. Т.е. сами города хоть и будут на картинке, но кликнуть по ним будет нельзя. Как вариант, если появление городов линейно - можно сделать последовательность изображений, где в каждом следующем добавлен ещё один город. Опять же, если не сильно извращаться, то теоретически моно составить карту из тайлов в таблице.

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 21.11.09 14:57. Заголовок: elmortem Как идеальн..


elmortem Как идеальный вариант - карта аля Baldurs Gate, узнал о локации - появилась на карте. Самый логичный способ реализации - картинка фона, плюс картинки городов как ссылки. А теперь представь насколько возрастает объём если всё это разбивать на куски? Я не говорю что это невозможно, просто на данный момент это значительно менее удобно, чем даже в чистом html) В принципе, разбить это на куски в таблице самое логичное, тогда будет, скажем, 10 кусков карты и десять картинок этой же карты но с городами. Сделать легко, просто неаккуратненько как-то.. А если предположить возможность нелинейного развития, рандомных встреч или ещё какой динамической фигни - сложность возрастает в разы.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 21.11.09 16:16. Заголовок: WladySpb прав. А вот..


WladySpb прав. А вот если реализовать возможность тэга background для таблички, то всё очень хорошо получится - и резать ничего не надо.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 21.11.09 16:33. Заголовок: Чем меньше картинок ..


Чем меньше картинок - тем больше текста.
Так что, по моему мнению, не надо "реализовать возможность тэга background для таблички".

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

К тому моменту, когда такую игру напишут - уже наверняка будет SDL-версия :)

Более того, даю торжественное обещание: если кто-то напишет полноценную игру, в которой будет необходима такая карта, то я сам возмусь и сделаю SDL-версию.

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 21.11.09 17:20. Заголовок: Nex Я согласен) Пока..


Nex Я согласен) Пока это было чисто теоретическое размышление, на тему как сделать карту удобней... Пока это никому не нужно, по крайней мере, в существующих проектах)

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 21.11.09 21:40. Заголовок: Расширенную карту с ..


Расширенную карту с произвольным появлением областей можно сделать табличкой, вот только недавно рисовал схемку для Ajenta'ы. А ноги растут вот отсюда http://htmlbook.ru/content/?id=88.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 21.11.09 23:25. Заголовок: WladySpb пишет: Пок..


WladySpb пишет:

 цитата:
Пока это никому не нужно, по крайней мере, в существующих проектах)



мне нужно) или думаете, что просто так спросил?

Спасибо: 0 
Профиль Цитата Ответить
менеджер по рекламе




ссылка на сообщение  Отправлено: 22.11.09 00:19. Заголовок: Hertz Кинь подробное..


Hertz Кинь подробное ТЗ, может, соображу кода кусок. Не гарантирую конечно, но подумаю как можно.

UPD: Хотя не, всё равно резать придётся, и по кускам монтировать... Тегов маловато

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.11.09 01:23. Заголовок: я забыл как передава..


я забыл как передавать ID действия как число. напомние плз

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 22.11.09 01:46. Заголовок: Можно создать массив..


Можно создать массив названий действий, а индекс элемента будет id.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.11.09 13:15. Заголовок: плз, подробнее и с п..


плз, подробнее и с примером

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 22.11.09 14:35. Заголовок: $acts = 1 $acts = 2..


 
$acts['поднять'] = 1
$acts['осмотреть'] = 2
...
id = $acts[selact]


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.11.09 19:34. Заголовок: Такс. Оказывается вс..


Такс. Оказывается всё гораздо сложне... вообщем, необходимо сделать так:
Есть несколько действий с одинаковым gs'Локация',argument
Вот только аргумент - переменная. Т.е. Все действия имеют одинаковый код при нажатии.
(блин, как же я криво всё описал... не поймёте - спросите, пояюсню.)
Сабж: Как сделать, чтобы действие у act'' генерировалось при создании действия, а не при нажатии?

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


Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 24.11.09 21:56. Заголовок: см. оператор DYNAMI..


[Ray] см. оператор DYNAMIC
Где-то здесь уже обсуждался такой же вопрос.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.11.09 22:10. Заголовок: я пытался его исполь..


я пытался его использовать, но так и не понял суть. да и если прикинуть, мне скорее Static чем Dynamic нужно.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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>> "

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.11.09 22:18. Заголовок: Byte аригато, сейчас..


Byte аригато, сейчас попробую...

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.11.09 22:20. Заголовок: БЛДЖАД у меня скобок..


БЛДЖАД у меня скобок не хватает! " и ' уже стоят. есть ли третий тип?

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 24.11.09 22:23. Заголовок: Используй "удвое..


Используй "удвоение" кавычки :)

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.11.09 22:32. Заголовок: Хаха! даа! йес, я с..


Хаха! даа! йес, я сделал это! скоро выложу убер-движок, только вот еще пару фичей прикручу)

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 24.11.09 23:42. Заголовок: эх, лучше б игру...


[Ray] эх, лучше б игру.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 25.11.09 00:14. Заголовок: Nex да над игрой вот..


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

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.12.09 22:52. Заголовок: из 10 в 16


Пытаюсь сделать перевод из десятеричной системы в шестнадцатеричную. то есть подменять циферки типа 10 на буковки типа 0A. Бьюсь уже вторые сутки. Кто-нибудь пробовал писать такое? поделитесь опытом.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.12.09 23:01. Заголовок: '<center>..


'<center><u><a href=exec:gt 'начало't>Начать игру</a></u></center>'

не пашит. Походу что-то с кавычками. Хелп.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 24.12.09 23:13. Заголовок: А все, справился...


А все, справился.

Спасибо: 0 
Профиль Цитата Ответить
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>>'


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 25.12.09 23:42. Заголовок: Nex пишет: ost = t1..


Nex пишет:

 цитата:
ost = t10 mod 16


Дико извиняюсь, а mod - это что за операция? В справке найти не могу. Возвращает остаток от деления?

А вцелом спасибо.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 26.12.09 16:36. Заголовок: Aleks Versus да, к м..


Aleks Versus да, к моему ужасу, в справке про это ничего не написано.
Так и есть, остаток от целочисленного деления. Все операции в QSP производятся с целыми числами.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 27.12.09 23:19. Заголовок: Nex пишет: Aleks Ve..


Nex пишет:

 цитата:
Aleks Versus да, к моему ужасу, в справке про это ничего не написано.


Полагаю это был сарказм, и еще раз извиняюсь. mod в справке нашел- мои кривые руки опять вводили не то слово.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 28.12.09 00:24. Заголовок: Хм. У меня, оказывае..


Хм. У меня, оказывается, была не последняя версия справки. Скачал сейчас новую.
В последней версии (5.6.2), датированной сентябрем, действительно упомянут MOD, хотя его нет в указателе.

Зато обнаружилось, что в этой последней версии не работает половина разделов O_o
Надо срочно исправлять.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 28.12.09 01:14. Заголовок: Гм.. Только что пров..


Гм.. Только что проверил, вроде все работает.. Какой раздел не работал?

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 28.12.09 02:05. Заголовок: О программе -> Б..


О программе -> Благодарности;
Принцип работы;
Операторы и функции;
Операторы и функции -> Выражения -> Использование массивов;
Операторы и функции -> Операторы -> Работа с действиями;
Операторы и функции -> Операторы -> Работа с инвентарём;
Операторы и функции -> Операторы -> Работа с переменными / массивами;
Операторы и функции -> Операторы -> Настройка интерфейса;
Операторы и функции -> Операторы -> Мультимедийные возможности: звук и музыка;
Операторы и функции -> Функции;
Операторы и функции -> Функции -> Работа с действиями;
Операторы и функции -> Функции -> Работа с инвентарём;
Операторы и функции -> Функции -> Работа с массивами;
Операторы и функции -> Системные переменные;
Операторы и функции -> Системные переменные -> Базовые системные переменные;
Операторы и функции -> Системные переменные -> Переменные, задающие обработчики событий;
Операторы и функции -> Системные переменные -> Переменные настройки интерфейса;
Операторы и функции -> Создание меню для предметов;
Подсказки / Советы;
Словарь терминов.

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 28.12.09 12:27. Заголовок: У меня это работает ..


У меня это работает

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 28.12.09 13:08. Заголовок: У меня тоже работает..


У меня тоже работает.. но по-моему Nex уже перезалил исправленны файл..

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 28.12.09 22:23. Заголовок: Не, это вряд ли...


Не, это вряд ли.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 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 (не волнуйтесь, он короткий!)
Как можно сделать какую-то функцию, выполняющуюся при ПОКИДАНИИ локации?


Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 30.12.09 15:13. Заголовок: Сидан Рейдан ссылка ..


Сидан Рейдан ссылка на файл не работает.
Не очень понятно, что ты хотел сделать с переходами.

Используй многострочные IF'ы вместо однострочных.
DELACT лучше вообще не использовать, он только запутывает. Я всегда прекрасно без него обхожусь.


 цитата:
Как можно сделать какую-то функцию, выполняющуюся при ПОКИДАНИИ локации?


Через ту же служебную локацию что выполняется при ПОСЕЩЕНИИ локации - $ONNEWLOC

Спасибо: 1 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 30.12.09 15:43. Заголовок: Спасибо. Попытаюсь у..


Спасибо.
Попытаюсь уточнить формулировку.

Развилка Y.

Можно перейти в две локации. Соответственно, два действия.
С обеих локаций происходит возврат в первую локацию.
В итоге, с помощью функции "был_здесь" и "DELACT" пресловутые два действия должны исчезнуть.

При возвращении с первой локации, остаётся ссылка на вторую. При возвращении со второй - остаётся ссылка на первую.
Вот, я попытался перезалить файл.
http://zalil.ru/upload/28424854


 цитата:
Используй многострочные IF'ы вместо однострочных.
DELACT лучше вообще не использовать, он только запутывает. Я всегда прекрасно без него обхожусь.


К своему сожалению, я пока только учусь, премудростей не знаю))

Ещё один вопросик возник.
Для параметров BCOLOR, FCOLOR - какие значения ставить? Какие-то цифровые? Где их найти? Или буквенные?
И куда из ставить, просто на "начало"?



Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 30.12.09 15:51. Заголовок: Сидан Рейдан эта ссы..


Сидан Рейдан эта ссылка тоже не работает. Заходи на канал по этой ссылке:

http://tinyurl.com/qsp-irc

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 08.02.10 21:04. Заголовок: Ох, месяц прошёл, а ..


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

Ну да ладно, сомнения прочь, флаг в руки, скипидар под причинное место, да вперёд, с вопросами к знатокам.
Сперва обосную, почему я тут сейчас пишу:
На IRC-канале Интерактивной Литературы я не могу долго поддерживать контакт (перебои со связью, знаете ли, лень излишняя, и вообще в Украине с коммуникациями плохо), а вопрос у меня для моего восприятия непростой, и требует долгого "переваривания".
В чём суть...

Пишу квест (как ни странно), и столкнулся с рядом проблем. Ряд образовал некое подобие Берлинской Стены, придётся мне его осилить.
Суть такова - поциэнт, простите, глав.герой идёт в далёкое странствие. Он - дурак, а вдобавок ещё и сталкер (нет, не тот, который в мифической Зоне, а тот, который шастает по всяким заброшенным и покинутым местам цивилизации, вполне реальные люди) и вот-вот собирается в очередной поход.
И, собственно, тут-то и попёр ряд проблем.

Проблема первая.
Персонаж по причине некоей физической ограниченности своего вещмешка может взять с собой ограниченное количество вещей. Сперва я хотел сделать аксиому в виде "не больше четырёх", потом понял, что это алогично. Допустим, в одном варианте персонаж захочет взять телефон, навигатор, фонарик, да светотрубку, а в другом - паёк на неделю, оружие, набор инструментов и медпакет. Де-юре - четыре предмета. Де-факто - совершенно разные по объёму вещи.
Вот и пришла мне в голову мою глупую идея: сделать некий объём вещмешка (в кубических дециметрах, как пишут в Украине О_о) (шутка) и каждому предмету присвоить определённый вес. Чтоб он занимал ровно столько, сколько ему положено.
...Перечитал, вроде написано понятно. Проблема вторая, близкая к первой.
Предметы будут исчезать\прибывать, как, допустим, при таких ситуациях а-ля "скушал за часок весь паёк", "купил в магазинчике ещё молоточек", и, соответственно, объём свободного места в вещмешке должен динамично изменяться. Может, вам тут не видно никакой проблемы, но мне лично процентов на 99 непонятно, как это сделать - я тотальнейший новичок в программировании.
Желательно, что бы "свободное место" динамично изменялось прямо при выполнении команд ADDOBJ и DELOBJ (если это, разумеется, возможно, а то мне каждые три строчки нового, неизвестного кода - как чукче двигатель атомной подлодки) (и вновь почти что шутка. Почти).

Проблема третья. Философская.
Инвентарь и деньги.
Да, я такой дурак, что толком не могу это сделать, вернее, не понимаю, как. Как сделать счётчик имеющихся денег? Как создать полноценный инвентарь? Просто в лице "списка предметов" в, собственно, "окне предметов"?

Проблема четвёртая, от которой у большинства присутствующих может наступить когнитивный диссонанс (я предупредил)
Как... кхэм... как, простите, можно по игре нормально взаимодействовать с предметами?
С локацией-обработчиком (или как её) $ONOBJSEL я не справился, просто не заработала. Выводить описание предметов по щелчку на них в "инвентаре" не могу, дальше элементарных действий наподобие "щёлкнул на фонарик - свет появился" (и то с вашей же помощью) я не продвинулся.

Товарищи доктора, у меня есть шанс?

Простите за излишнюю наглость и загруженность вопросами, так уж вышло. Срочного ответа не требуется, лучше напишите дураку подольше, да пообстоятельней)
Заранее спасибо за внимание.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 08.02.10 21:18. Заголовок: Мдаааа... Ты бы хоть..


Мдаааа... Ты бы хоть вопросы не кучей пихал что ли, а по одному. Ну да ладно. Приду домой напишу пообстоятельней, если до меня этого никто сделать не успеет.

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 08.02.10 21:34. Заголовок: Сидан Рейдан совсем ..


Сидан Рейдан совсем откажись от ограничений на вес и объем предметов.
Либо сделай подсчет максимально простым - например, всякую мелочь вроде денег и патронов можно набирать сколько хочешь, а крупные предметы ограничить по количеству (например, не более 6).


 цитата:

Сперва я хотел сделать аксиому в виде "не больше четырёх", потом понял, что это алогично. Допустим, в одном варианте персонаж захочет взять телефон, навигатор, фонарик, да светотрубку, а в другом - паёк на неделю, оружие, набор инструментов и медпакет. Де-юре - четыре предмета. Де-факто - совершенно разные по объёму вещи.


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

Спасибо: 1 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 08.02.10 21:48. Заголовок: любая игра - это мод..


любая игра - это модель.
для того и есть игры, чтобы отбросить сложности, иначе можно было бы просто жить - никаких игр не надо.

так что +1 к Nex

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 08.02.10 23:38. Заголовок: Что же, не смею спор..


Что же, не смею спорить с общественностью.
Но всё ещё (если общественность, разумеется, соизволит (говорю без сарказма)) надеюсь на пояснения по вопросам.
От системы "заполнения" рюкзака в плане веса, похоже, откажусь. Всем спасибо, ей-богу, не думал, что вы так серьёзно отнесётесь к новичку)

Ждём-с, не сочтите за наглость....

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 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

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

Вот. Надеюсь что-то из этого понятно. А вообще справку читай, там всё написано. Ну и примеры на сайте есть, рабочие, наука ещё не изобрела ничего проще копипаста. :)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 09.02.10 01:05. Заголовок: Правильный код для л..


Правильный код для локации "!objadd":

тягание_тяжестей = тягание_тяжестей + вещи[$ARGS]
if тягание_тяжестей>вес_мешка:
msg 'вы не можете взять эту вещь, слишком мало места'
del obj $ARGS
тягание_тяжестей = тягание_тяжестей - вещи[$ARGS]
end

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 09.02.10 01:08. Заголовок: Массив с $вещи = ..


Массив с $вещи[1] = 'нож' - не нужен в данном случае. Достаточно заполнять вещи['нож']=10

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 09.02.10 01:09. Заголовок: Да, спасибо :sm182..


Да, спасибо

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 09.02.10 01:19. Заголовок: 2 Сидан Не слушай т..


2 Сидан

Не слушай тех кто обрезает крылья твоей фантазии. Хочешь делать хардкорный реализм - делай.
Я лично куда больше уважаю именно такие игры.
Так что мысленно с тобой - удачи.

Ну а технологию тебе уже разъяснили. Не так уж сложно.

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 09.02.10 01:47. Заголовок: Просто любое огранич..


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

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 09.02.10 02:09. Заголовок: Hertz Ну ты авторов ..


Hertz Ну ты авторов совсем какими-то ... выставляешь. :)))) Они всегда делают для того, что нужно игре. :) Даже если только они так думают. :)

Спасибо: 0 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 09.02.10 07:18. Заголовок: MasterSet я лично ув..


MasterSet я лично уважаю игры, которые доходят до релиза. А чрезмерные усложнения сильно уменьшают шансы.

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.02.10 11:03. Заголовок: Тут такая дискуссия ..


Тут такая дискуссия развернулась... Отвечаю по всем пунктам.
Nex, согласен..... Потому и стараюсь втихаря, вылажу "в свет" исключительно за помощью. Дабы, в случае чего, не нести особых моральных потерь)

Ajenta - огромное спасибо за пресловутую помощь, вы меня, можно сказать, вновь вдохновили на подвиги и свершения))

MasterSet - аналогично)))

Hertz - разумеется, доля скепсиса всегда полезна опьяневшему от перспектив автору) Отдельное спасибо.

Byte - спасибо за поправки в коде, буду разбираться) Начну, так сказать, упомянутое мною выше "переваривание"... Коли будут какие вопросы по данному вопросу (простите за тавтологию), обращусь, не обессудьте)

И ещё раз выскажу свою главную мысль - не ожидал, что вокруг никому не нужного новичка будут так хлопотать... О_о На такую помощь и поддержку даже не рассчитывал. Всем искреннейшая благодарность. Ни на каких форумах ещё не встречал такой отдачи, однако...

Спасибо: 0 
Профиль Цитата Ответить



ссылка на сообщение  Отправлено: 09.02.10 11:25. Заголовок: Итак, вопрос номер....


Итак, вопрос номер... какой он там? Вот ведь бестолочь.

Так вот.
Плейер грешит на данную строку:
$вещи[1] = 'нож' , вещи [нож] = 50 - обидными словами про "ошибку синтаксиса". Господа знающие, я по причине принадлежности к классу "незнающих" тут ничего не нашёл. Подскажите, что не так?

Вопрос 2.
Многоуважаемая Adjenta писала:
 цитата:
...заводишь некую переменную, которая будет отвечать за текущую сумму в вещмешке, ну допустим тягание_тяжестей, а дальше...


Внимание, вопрос. Есть какая-то разница от размещения этой переменной по локациям? Сидит она, вроде бы, на самой первой. Если то, что я написал, вообще является переменной...


Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 09.02.10 12:12. Заголовок: Да, Байт поправил же..


Да, Байт поправил же вещи ['нож'] = 50 - вот так не будет ругаться

то есть надо писать
$вещи[1] = 'нож'
вещи ['нож'] = 50

А по второму вопросу: "Заводишь" - это слово означает определяешь. Её, эту переменную, можно нигде не прописывать кроме как в коде, потому что она по умолчанию нулём инициализируется, то есть просто сразу используешь и всё.

А к новичкам здесь всегда отношение доброжелательное, если они сходу не начинают делать мега-супер-пупер-рпг :)))

Спасибо: 1 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 09.02.10 12:46. Заголовок: ОФФТОП 2 Nex Есть ..


ОФФТОП

2 Nex

Есть мнение, что до релиза игры не доводятся отнюдь не по причине сложности задумки, а исключительно по раздолбайству авторов.
Забить можно даже на самую простую игру.

Вот человеку видишь сложно. Но он не забил, а упорно полез советоваться. Надо его морально поддержать, а не говорить ему, что он со сложным не справится и вообще делает всякую ненужную фигню. Так мы новых игр не дождемся. А те которых дождемся будут скучными и шаблонными.

Спасибо: 1 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 09.02.10 13:53. Заголовок: вещи = 50 -- пробел..


вещи ['нож'] = 50 -- пробел между "и" и "[" нужно убрать.
$вещи[1] = 'нож' -- строчка не нужна.

http://qsp.borda.ru/?1-0-0-00000138-000-180-0#122

Спасибо: 1 
Профиль Цитата Ответить
moderator


ссылка на сообщение  Отправлено: 09.02.10 15:56. Заголовок: MasterSet твоя точка..


MasterSet твоя точка зрения мне понятна, потом как-нибудь отдельно обсудим ;)

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 09.02.10 21:22. Заголовок: Сидан Рейдан вот раб..


Сидан Рейдан вот работающий пример - http://pastebin.ru/310411

Тег "<?php" добавил сервис, его нужно убрать)

Спасибо: 1 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 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

Спасибо: 0 
Профиль Цитата Ответить
администратор




ссылка на сообщение  Отправлено: 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


Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 10.02.10 03:10. Заголовок: Byte Спасибо :sm36:..


Byte
Спасибо

Вот что значит программистское мышление - у меня полчаса в голове рождалось, рождалось и не родилось, а ты через 10 минут готовый код выложил.

И, кстати, ты невольно угадал. Я сами названия собирался описать в массив изначально, а список выводить через gosub из отдельной локации.

Спасибо: 0 
Профиль Цитата Ответить
демиург




ссылка на сообщение  Отправлено: 10.02.10 03:11. Заголовок: Не дрянь, кстати, пр..


Не дрянь, кстати, просто вот так

if a=1:
*p '<a href=''''>'
end
*p 'название1'
if a=1:
*p '</a>'
end

тогда пустых строк не будет

Спасибо: 0 
Профиль Цитата Ответить





ссылка на сообщение  Отправлено: 12.02.10 15:07. Заголовок: Ajenta :sm47: :sm..


Ajenta


Спасибо: 0 
Профиль Цитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 6
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация вкл, правка нет



Создай свой форум на сервисе Borda.ru
Текстовая версия