RU 📌 Pinned

Как сделать?

Dark[Ol(U23)leneri] #34 18.04.2010 22:57 6408 comments 2428081 views

Aleks Versus,
Все понял спасибо, просто не хотел на форуме большие куски кода сразу выкидывать поэтому в споилер засунул

Aleks Versus Moderator 06.03.2016 21:45 (9 years ago)

DeathSpace,
можно и в спойлер и в код:)

Spoiler
id1=1 
:next_id1 
    if iditem[id1] = 1: 
        '<table border = "1" bordercolor = black>' 
        *p "<tr><td><a href='exec:gs \'WeaponDefault\',<<id1>>'><<$wea[id1]>></a>.</td></tr>"    
    end 
    id1 += 1 
if id1 < 18: jump 'next_id1'

Aleks Versus,
Действительно, чет я затупил)))

я так понял в qsp кнопки(клик по картинке) действия типа act (ветвистые диалоги) в основном окне трудно реализуемы изза нужды экранирования кода? в основном видел переходы между локациями или обращение к локациям по типу

Spoiler

<a href=“exec:gt ‘‘Сад’’”><img src=“pic/1.png”>/a>

а вот act очень мало, в основном с коротким простеньким кодом.
тоесть полностью отказаться от окна “Действия” и перенести весь интерфейс в основное окно не получится без больших усилий, я правильно понимаю?
подскажите игры где это реализовано

Aaaspavel:

Nex:

из плеера это не будет убрано, по причинам описанным выше

не будет или нельзя вообще?

И нельзя вообще, и не будет убрано.

Aleks Versus Moderator 07.03.2016 08:03 (9 years ago)

saks,
что-то ты путаешь сам себя и нас. Совать act в гиперссылку? Зачем? Если гиперссылка сама по себе может служить действием. Ты хочешь, чтобы диалог выводился в виде гиперссылок? Так тут не нужно совать в гиперссылки тысячи строк кода. Это так же просто реализуется через “действие по условию”, только вместо act, выводящих на экран действия, у тебя будет команда *pl, выводящая гиперссылку.

Посмотри “вереницу миров”. Там нет сложных действий в гиперссылках, но от окна действий я полностью ушёл.

Aleks Versus:

saks,
что-то ты путаешь сам себя и нас. Совать act в гиперссылку? Зачем? Если гиперссылка сама по себе может служить действием. Ты хочешь, чтобы диалог выводился в виде гиперссылок? Так тут не нужно совать в гиперссылки тысячи строк кода. Это так же просто реализуется через “действие по условию”, только вместо act, выводящих на экран действия, у тебя будет команда *pl, выводящая гиперссылку.

Посмотри “вереницу миров”. Там нет сложных действий в гиперссылках, но от окна действий я полностью ушёл.

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

Spoiler

act ‘<img src=“pic/1.png”>’:
“много”
“кода”
end

а можешь пример написать?
в веренице миров код для меня очень сложный, нефига непонятно

Aleks Versus Moderator 07.03.2016 11:23 (9 years ago)

saks,
есть два способа.
1. Помещаешь “много кода” на отдельную локацию. Потом вставляешь картинку с гиперссылкой в нужном месте:

*p '<a href=''exec:gs "локация_с_кодом"''><img src="путь к файлу картинки/1.png"></a>'

2. Помещаешь “много кода” в переменную:

$code={
"много" 
"кода" 
}

потом в нужном месте делаешь так:

*p '<a href="exec:dynamic $code"><img src="путь к файлу картинки/1.png"></a>'

ясно. тоесть простого способа это сделать нету(

Думал, что знаю как, но нифига не выходит, короче вопрос такой: игра одновременно двумя гг, сегодня одним-завтра другим, смена в 00 часов, соответственно два варианта стат. Применительно к календарю, это как сделать?
if day=1 and mount=9 or day=3 and mount=9 or day=5 and mount=9 or….or day=29 and mount=9:stat1
if day=2 and mount=9 or day=4 and mount=9 or day=6 and mount=9 or….or day=30 and mount=9:stat2
if day=1 and mount=10 or day=3 and mount=10 or day=5 and mount=10 or….or day=31 and mount=10:stat1
if day=2 and mount=10 or day=4 and mount=10 or day=6 and mount=10 or….or day=30 and mount=10:stat2
и так далее на год расписывать или есть более простой вариант?

Aaaspavel,
Лично я бы изначально сделал все по другому. Через массив, где номер массива был бы номером героя. И в полночь просто менял бы номер массива.

!you - переменная в которой хранится номер героя, либо 0, либо 1. В полночь проверяем что у нас там в переменной и меняем значение.
smena=0
if you=0 and smena=0:you=1&smena=1
if you=1 and smena=0:you=0&smena=1
!данные о персонаже выводил бы не с разных локаций стат, а с одной, просто значения были бы разные.
!вот например здоровье персонажа
'Здоровье <<health[you]>>'

как вариант

Spoiler

!а это счетчик дней. в счетчике времени при смене суток пишем а=а+1 (в начале игры ставим а=1 -первый день)

:’джамп’ if а=1: х=1
if а=2: х=2 / тут проводим проверку четный или нечетный день (и если все хорошо назначаем х) if а>2:
а=1 / тут (если все плохо) день нечетный (третий) “делаем” из него первый - тоже нечетный
jump ‘джамп’ -тут перепрыгиваем вначало и проходим проверку еще раз
end
!тут присваиваем статы
if х=1: нужные статы
if х=2: нужные статы

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

Aleks Versus Moderator 07.03.2016 14:10 (9 years ago)

saks:

тоесть простого способа это сделать нету(

куда уж проще.

Aleks Versus:

saks:

тоесть простого способа это сделать нету(

куда уж проще.

ну вот если этих самых act в игре несколько сотен, причем многие один в другом -это сотни локаций с кучей разбитого кода
с переменными полегче но всеравно овчинка выделки не стоит - тонны переменных в которых потом черт ногу сломит

Aleks Versus Moderator 07.03.2016 15:30 (9 years ago)

saks,
я умываю руки. Ты кажется не слышишь меня. Не нужно засовывать act в act. Если ты выводишь действия в виде гиперссылок, то act вообще можно не использовать. Всё организуется через “действия по условию”. Я дважды давал тебе ссылку.

if маркер=0:
  $CODE = {!код действия
маркер=1
gt $curloc}
 *pl "<a href='dynamic $CODE'>Действие</a>"
end
if маркер=1:
   $CODE1 = {!код действия
маркер=2
gt $curloc}
   $CODE = {!код действия
маркер=3
gt $curloc}
    *pl "<a href='dynamic $CODE1'>правая ветка</a>"
    *pl "<a href='dynamic $CODE2'>левая ветка</a>"
end

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

Log in or Register to post comments.