RU 📌 Pinned

Как сделать?

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

я ваще балдею от этого вашего ксп:

Так-с, ну я даже смог написать ужасно кривую и неудобную систему продажи артефактов + добавил пока тестовую возможность углубляться в Зону, повышая zone_level от которого на данный момент зависит вероятность найти более дорогие артефакты ну и шанс найти артефакты в принципе, магазин сделал через индексированный массив с ценами и целой кучей повторяющегося кода.. 100% можно было сделать раз в 10 короче, но я пока не понимаю как…

if obj 'Игла':
money = money + игла_продажа
delobj 'Игла'
goto $curloc

elseif obj 'Жмых':
money = money + жмых_продажа
delobj 'Жмых'
goto $curloc

Вот кусок кода, ответственного за продажу, ищет конкретный предмет в инвентаре, добавляет N-денег(переменная_продажа равняется цене из массива), и далее проверяет уже следующий предмет.

Из минусов:
Предметы продаются не кучей, чтобы продать 20 предметов - кликаем 20 раз
Только щас понял, что мне не нужна переменная_продажа, я же вроде мог просто прибавлять к money ячейку массива..

Это код в магазине автоматом ищет предмет и продает? Тогда убери elseif и просто сделай новую строку с if. За один раз все продастся, правда я не знаю, что будет, если у тебя два одинаковых предмета в инвентаре. Я вообще не люблю объекты и не работаю с ними. И goto $curloc только один в конце.

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

я ваще балдею от этого вашего ксп #2721 07.02.2024 14:43 (2 years ago)

dmvikar:

Тогда убери elseif и просто сделай новую строку с if.

О, получилось, спасибо)
Если предметов несколько - нужно просто тапнуть еще раз и они уйдут на продажу, ну хотя бы 50 предметов продаются за 5-6 кликов, а не за 50, уже прогресс

я ваще балдею от этого вашего ксп #2721 07.02.2024 15:06 (2 years ago)

Я почитал, что могу сделать саблоку при загрузке игры, то есть в теории я могу засунуть туда все массивы + какие-то еще переменные, которые нужны мне только 1 раз в исходном значении и больше не нагружать этим код в активных игровых моментах?

я ваще балдею от этого вашего ксп:

Я почитал, что могу сделать саблоку при загрузке игры, то есть в теории я могу засунуть туда все массивы + какие-то еще переменные, которые нужны мне только 1 раз в исходном значении и больше не нагружать этим код в активных игровых моментах?

Твоя формулировка имеет разночтения, но примерно так.

я ваще балдею от этого вашего ксп #2721 07.02.2024 15:53 (2 years ago)

dmvikar:

но примерно так.

Улучшит ли показатель оптимизации то, что я сделал:
Игра начинается с локации Меню - она доступна один раз.
На локации Меню я через func вызываю ряд служебных локаций и получаю из них переменные и массивы
Далее начинаю игру и вроде бы весь код работает без целой кучи массивов и лишних переменных, я просто прописываю доп. механики ссылаясь на переменные и данные, которые вызывал служебными локами на старте

Норм?

я ваще балдею от этого вашего ксп,
Делай так. чтоб тебе было удобно с этим работать. Конкретно в производительности начинаются проблемы при работе с циклами от 10к, циклами внутри циклов и т.д. Все остальное не особо влияет, т.е. перечитать локацию в 1к строк - не проблема.

я ваще балдею от этого вашего ксп #2721 07.02.2024 16:05 (2 years ago)

dmvikar:

с циклами от 10к

Я даже не представляю что люди пытаются сделать с такими объемами данных..
Хотя я тут думал чисто в плане концепции динамическую генерацию NPC и их взаимодействие с миром, чтобы ресурсные кластеры имели определенную емкость и неписи имели шансы что-то оттуда утащить, пока игрок занимается чем-угодно
Для каждого нпс рассчитывался бы его суммарный опыт + уровень обеспеченности, что в последствии позволяло бы им забирать все больше и больше ресурсов из под носа игрока, вынуждая его увеличивать сложность забегов для сохранения выгоды- вот наверное такие сложные системы и забирают всю производительность при недостатке оптимизации…

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

Вполне себе #2722 07.02.2024 19:20 (2 years ago)

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

Вполне себе:

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

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

Вполне себе #2722 08.02.2024 06:04 (2 years ago)

Собственно за этим и хочу.
У меня есть ноут 1300 точков в горизонте и комп - 2000 с мелочью. Текст надо изначально или поместить между картинками (так очень приятно выглядывает). Или уронить под.
Если на маленьком мониторе так не сделать, то текст убегает вниз, и получается слева картинка, столб текста гораздо ниже всех картинок, и справа картинка.
Как мне из под QSP узнать размеры основного окна. Пусть даже размеры монитора вообще. Javascript может это узнать , но как мне получить данное значение в КуСПе, чтобы присвоить переменной?

Изменение под разные размеры экрана можно на css сделать (c помощью media queries) - и так даже надежней.
Это конечно если ты под qspider пишешь (в классическом плеере это не сработает)
Если не получается настроить как хочется - заходи лучше в discord, там обычно кто-то есть кто сможет помочь

Вполне себе #2722 08.02.2024 09:36 (2 years ago)

СПС. Загляну.
Пишу под классику. Под спайдер пока не нра. Многое из верстки, что в классике, пусть не совсем “прямо”, но работает, то в Спайдере вообще не в Красную Армию… Многое придется переписывать, а для этого опять надо сначала сделать дополнительное окно нужного мне размера и правильно разместить. А я не знаю как, все “видео уроки” - такое себе. )))

я ваще балдею от этого вашего ксп #2721 08.02.2024 09:49 (2 years ago)

И в правду решил сильно не заморачивается, ибо пусть криво, но сделать пока получается все, что хочу)
Прикрутил систему инвентаря как в Zone(через доп. описание), но чисто для экипировки - артефакты пока складируются в инвентарь стоковый, но я символами разметил это все, поэтому выглядит понятно и нативно. Еще получилось реализовать систему покупки и экипировки предметов + соответственно их список и характеристики, сейчас думаю прикрутить систему ранга, которая будет высчитываться исходя из полученного опыта в различных активитис(поиск артефактов, охота, банальная ходьба туда-сюда), и чем выше ранг, тем круче ассортимент торговцев.
Еще служебные локи и func - это прям круто, засунул основные движковые механики по папкам и просто добавляю по 5-6 строк кода, который отвечает за условия и сам вызов этих механик в нужный момент, короче балдею от этого вашего ксп, пожалуй, самый интересный способ обучиться программированию(хотя бы азам) для меня)

я ваще балдею от этого вашего ксп #2721 08.02.2024 09:50 (2 years ago)

Ооо, еще можно ведь делать всплывающие окна с кнопками меню? Это html нужен или можно как-то на родном кспшном написать и отредактировать? Я бы вывел часть текста из доп. описания в качестве таких вот поп-апов

Log in or Register to post comments.