Как сделать?
…
Aleks Versus:
killvar ‘hunter_animals_count’
Помогло, как раз пишу для себя бродилку кликер
Нужен совет: есть массив $mass с индексами ‘zero’, ‘chto-to’, ‘gde-to’.
Как вернуть именно строковой индекс а не числовую позицию? Буду благодарен, если подскажете. :)
Обыскал справку, но пока так и не нашел ответа.
HronoStranger,
Если нужно работать с индексами - делай числовые. В дискорде писали, что никак, вроде.
dmvikar,
Спасибо, значит буду думать.
HronoStranger,
Можно завести отдельный массив, в котором будут храниться строковые индексы в связке с числовыми. А лучше два массива. Это несколько усложнит код.
Aleks Versus:
HronoStranger,
Можно завести отдельный массив, в котором будут храниться строковые индексы в связке с числовыми. А лучше два массива. Это несколько усложнит код.
Пример можешь соорудить? Я тоже подумал об этом, но так и не сообразил, как по значению вычислить индекс.
Aleks Versus:
Можно завести отдельный массив, в котором будут храниться строковые индексы в связке с числовыми. А лучше два массива. Это несколько усложнит код.
Нет, второй массив - самый оптимальный вариант, но без связки.
Я планировал вычислить строковый индекс для выведения его на экран.
Видимо, придется менять архитектуру участка кода. (который пока ничего не делает, баловался с отладкой)
Spoiler
x=0
$a=‘$<<$args[0]>>’
killvar ‘$mass’
copyarr ‘$mass’,’<<$a>>’
:cellmark
$z=$mass[x]
*nl ARRCOMP(x,’$mass’,’(.*)’)
*nl ARRPoS(x,’$mass’,’<<$z>>’)
if x<arrsize(’$mass’)+1: x+=1 & jump ‘cellmark’
За комбинирование посмотрел бы. Хотя полагаю, ты имеешь ввиду конструкции, которые использовал в своем движке.
Доброго времени суток! Подскажите, пожалуйста, как сделать что бы, когда ГГ взаимодействует с другими персонажами, то у них менялась статистика? При разговоре, например, повышалось доверие к ГГ? И когда доверие достигает определенного значение, то открывалась возможность новых действий? Заранее, благодарю!
Иван1901111:
Доброго времени суток! Подскажите, пожалуйста, как сделать что бы, когда ГГ взаимодействует с другими персонажами, то у них менялась статистика? При разговоре, например, повышалось доверие к ГГ? И когда доверие достигает определенного значение, то открывалась возможность новых действий? Заранее, благодарю!
Приветствую. Для начала советую просмотреть все уроки по QSP и написать хоть один квест прежде, чем браться за такой непростой момент как NPC.
Тогда, понимая структуру кода, вы поймете возможность использования базовых действий для смени флагов, провести исчисление реакции и рендерить их в текстовом формате.
С уважением,
HronoStranger
По поводу получения текстовых индексов, пример реализации:
Spoiler
#регистрация_индекса
! добавляем текстовые индексы в массив с названием оригинального массива + "_индексы"
! для текстовых массивов
if INSTR(0,$args[0],'$')>0:
dynamic "
<<$args[0]>>['<<$args[1]>>'] = '<<$args[2]>>'
<<$args[0]>>_индексы[ARRSIZE('<<$args[0]>>')-1] = '<<$args[1]>>'
"
! для числовых массивов
else
dynamic "
<<$args[0]>>['<<$args[1]>>'] = <<args[2]>>
$<<$args[0]>>_индексы[ARRSIZE('<<$args[0]>>')-1] = '<<$args[1]>>'
"
end if
#получить_текст_индекса
dynamic "$result = $<<$args[0]>>_индексы[<<args[1]>>]"
#удалить_элемент
dynamic '
killvar "<<$args[0]>>", ARRPOS(0,"$<<$args[0]>>_индексы","<<$args[1]>>")
killvar "<<$args[0]>>_индексы", ARRPOS(0,"$<<$args[0]>>_индексы","<<$args[1]>>")
'
#тест
! хотим добавить элемент в массив с сохранением расположения текстового индекса
gs 'регистрация_индекса', '$массив', 'индекс', 'значение'
gs 'регистрация_индекса', '$массив', 'индекс2', 'значение2'
! для числовых массивов
gs 'регистрация_индекса', 'массив2', 'индекс3', 8
! тест получения текста индекса:
msg $func('получить_текст_индекса','массив',0) &! по числовому индексу
msg $func('получить_текст_индекса','массив',ARRPOS(0,'$массив','значение2')) &! по значению
msg $func('получить_текст_индекса','массив2',ARRPOS(0,'массив2',8))
! тест удаления
gs 'удалить_элемент', 'массив', 'индекс'
msg $массив[0]
msg $массив_индексы[0]
Да я изучаю, параллельно практикуюсь в написании игры. Просто заинтересовал этот момент, хочется разобраться в этом, разобрать пример, почитать что где и за что отвечает.
Иван1901111,
Это по простому https://qsp.org/forum/comments/7079
Для продвинутого нужно использовать массивы и по индексу привязывать все параметры.
emmanuel,
очищать окно доп описания перед тем, как выводить время, с помощью команды clear.
Работает, спасибо
