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



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



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


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

Спасибо: 0 
Профиль Цитата Ответить
Ответов - 201 , стр: 1 2 3 4 5 6 7 8 9 10 11 All [только новые]





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