Как сделать?

Re: Как сделать?

KeyMasterOfGozer,
You can try to create a second array with names of your NPCs.

Код:

$NPC_Name[0] = 'Bob'

$NPC_Name[1] = 'Jack'
$NPC_Name[2] = 'Linda'

NPC_Age['Bob'] = 18
NPC_Age['Jack'] = 15
NPC_Age['Linda'] = 25

i=0
:ArrayPrintLoop
if i < arrsize('NPC_Age'):
    !Print data from first element
    *pl "NPC_Age[<<$NPC_Name[i]>>]=<<NPC_Age[$NPC_Name[i]]>>"
    i += 1
    jump 'ArrayPrintLoop'
end

I think it's better to use numbers instead of strings as indexes for arrays.

Sorry for my bad English big_smile

NickoAilus
Админъ.
useravatar
Онлайн
109 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

NickoAilus написал(а):

KeyMasterOfGozer,
You can try to create a second array with names of your NPCs.

Код:

$NPC_Name[0] = 'Bob'

$NPC_Name[1] = 'Jack'
$NPC_Name[2] = 'Linda'

NPC_Age['Bob'] = 18
NPC_Age['Jack'] = 15
NPC_Age['Linda'] = 25

i=0
:ArrayPrintLoop
if i < arrsize('NPC_Age'):
    !Print data from first element
    *pl "NPC_Age[<<$NPC_Name[i]>>]=<<NPC_Age[$NPC_Name[i]]>>"
    i += 1
    jump 'ArrayPrintLoop'
end

I think it's better to use numbers instead of strings as indexes for arrays.

Sorry for my bad English big_smile

Your English is good!  Thank you for your help.

My need is to create a more generic procedure to print an arbitrary array fr debug purposes.  Surely the internal platform must be able to know the string index in order to function.  Most languages have a way to loop through and know both the key and the value.  I am wondering if there is some method (maybe hidden) to find the list of items in a string indexed array.

KeyMasterOfGozer
useravatar
Offline
2 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

KeyMasterOfGozer,
if you need... hm... sort throught in order, you can use number indexes. Number indexes crossed with text indexes.
check:

Код:

NPC_Age['Bob'] = 18

NPC_Age['Jack'] = 15
NPC_Age['Linda'] = 25
NPC_Age[0]
NPC_Age[1]
NPC_Age[2]

You can't resieved text indexes from it.

Sorry MY Bad English. See http://qsp.su/index.php?option=com_agor … Поиск
Google-Translate in your help.

Aleks Versus
воздвигатель башни
useravatar
Онлайн
1551 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Здравствуйте. Я пробую писать в QSP/ И столкнулся с проблемой.
Задача: у персонажа есть некоторая статистика. Я написал параметры этой статистики на отдельной локации в виде массива.
Потом я на проверке вывел эту статистику в формате "У вас <<денег>> золотых. Вы <<$денег>>"
моя проблема: текстовая переменная, которая написана на отдельной локации не отображается в тексте($денег).
НО: если писать характеристику персонажа в одной локации, то все норм.
Я не понимаю, в чем проблема.
Я переписывал переменную $денег c условиями. if денег<0 then $денег=' нищий' else $денег=' богатый'
Некоторые пишут команду set  ЗАЧЕМ?
Спасибо за ответ

Poganec37
useravatar
Offline
22 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Poganec37, порядок соблюден? Сначала определяешь переменную денег, потом код:

Код:


if денег<0:
$денег='нищий'
else
$денег='богатый'
end

потом текст. Скорее всего у тебя текст идёт раньше кода, и переменная $денег пустая.
У тебя возможна ситуация, когда деньги уходят в минус?
set - я так понимаю, использовалась для присвоения значения переменной в ранних версиях qsp, теперь использовать не обязательно.

dmvikar
useravatar
Offline
68 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Я хотел сделать бродилку. И мне нужен был журнал квестов, или что-то похожее. Я написал статистику персонажа на отдельной локации. Там по определённым условиям меняются числа и текст. На локации журнала не отображались ячейки с текстом: их надо было в этой же локации писать. Я обращение сделал через gosub.
Я хотел уточнить: вот в некоторых играх можно переносить сохранения из одной части игры в другую. Как это делается: нельзя же просто сделать 2 части игры, а потом сохранения из одной части переносить в другие?

Poganec37
useravatar
Offline
22 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Я не очень понимаю, что ты хочешь сделать, но попробуй глянуть Komm, susser Tod.
И главное: не отчаивайся!  wink Вопросы решаемы, важно только спросить. А лучше конечно прикреплять файл или участок кода, который не работает, так всем будет проще.
Удачи в написании игр)

Последний из Гаяр
Неуклюжий хранитель
useravatar
Offline
77 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Poganec37 написал(а):

вот в некоторых играх можно переносить сохранения из одной части игры в другую

В каких конкретно?

Я полагаю, что алгоритм следующий, из игры А берутся некоторые ключевые значения переменных и объявляются в игре Б на стартовой локации. А как это реализуется программно - я не знаю.

dmvikar
useravatar
Offline
68 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

По урокам очень быстро можно научиться. Я разобрался с системой сохранения переменных и переход между локациями. Goto это переход конкретно с места на место. Если мы хотим переносить какие-либо параметры, которые изменяются, то мы пишем их на отдельной локации и обращаемся к ним в нужном месте через gosub. Это был мой косяк, который я не учел.
О переносе сохранений: да, я тоже думал о переносе параметров. Единственное: я не нашел в документации, как создаются письменные файлы, как блокнот или что-то похожее.
В целом, можно было бы просто создать в конце игры блокнот с параметрами персонажа и  эти данные переносить в другие части игры. Как в Масс Эффект.

Poganec37
useravatar
Offline
22 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Re: Как сделать?

Poganec37,
Есть opengame, savegame и addqst. Можно использовать сохранение игры

Последний из Гаяр
Неуклюжий хранитель
useravatar
Offline
77 Сообщений
Информация о пользователе в сообщениях
Администратор отключил публичную отправку сообщений

Информация

Статистика форума:
 
Всего тем:
989
Всего опросов:
14
Всего сообщений:
16790799
Всего сообщений сегодня:
1
Пользователи форума:
 
Всего пользователей:
2483
Последним зарегистрировался:
Nikrop