#151 09-07-2008 08:10

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

@Seemann - sat? о вкусах не спорят, но по-моему в 2D карте, где каждый пиксел - это 20 метров невозможно расставлять актёров и тем более кубов.

Идея: при создании нового файла появлялась окошко с выбором действия:
1. Создать новый чистый файл
2. Создать скрипт на основе stripped (SB просто открывает stripped.txt и предлагает сохранить)
3. Создать скрипт на основе оригинального main.scm (SB декомпилирует Main.scm)
4. Создать CLEO-скрипт (SB создает файл с {$CLEO} строчкой в начале)
5. Создать CLEO-миссию (SB открывает заготовку миссии из справки и с директивой {$CLEO .cm})

И ещё: из SB невозможно напрямую скопировать в Блокнот, браузер и т. д.. Это из-за SynEdit? Это можно поправить?


[small][/small]

Offline

#152 09-07-2008 09:12

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

VcSaJen
Для быстрого написания заголовка можно использовать макросы. И быстро, и понятно, и не раздражает smile
Например

Cleo=Cleo Script
={$CLEO}
=0000:
=
=|

Offline

#153 22-07-2008 02:59

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

1. Какова готовность новой версии SB? (почти готово/не готово/наполовину готово)


[small][/small]

Offline

#154 22-07-2008 06:02

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Вопросы и предложения по Sanny Builder

Почти. Осталось прикрутить только одну штуку - поиск по INCLUDE-файлам при нажатии Ctrl+Space. Если не считать этого, то новая версия уже готова.

Offline

#155 01-08-2008 18:51

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

@Seemann, какие изменения, если не секрет, будут в новом SB?

Offline

#156 05-08-2008 08:30

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Вопросы и предложения по Sanny Builder

Хорошо было бы сократить этот опкод 038B: load_requested_models поставив, что-то типа Models.Load.

Offline

#157 05-08-2008 09:20

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

@Agenzvell
Добавь в файл keywords.txt (\SB3\data\sa)

038B=loadmodels

и готово. А можно добавить в файл classes.db (открывается блокнотом, лежит тамже)

LoadRequest,038B,0,0

Но первый вариант лучше

Offline

#158 06-08-2008 16:00

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Вопросы и предложения по Sanny Builder

ок, все работает, спасибо wink

Offline

#159 07-08-2008 03:44

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

@flashTrash - самим добавлять кейворды и классы не рекомендуется из-за проблем с совместимостью скриптов.


[small][/small]

Offline

#160 07-08-2008 07:36

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

@VcSaJen
Это если их опубликовывать, то да, будет несовместимость(если только не заменить на стандартные опкоды). А так никаких проблем.=)

Offline

#161 09-08-2008 06:52

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

А что, если сделать так, что-бы к cleo переменным обращаться не через ID, а через строку-имя переменной.

Last edited by VcSaJen (10-08-2008 06:25)


[small][/small]

Offline

#162 12-08-2008 04:35

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

Можно ещё добавить ключевое слово Debug
пример:

debug ON

debug Actor.PutAt($Player_Actor, 555.0, 555.0, -100.0) // выполняется при отладке
if 00ec:   actor $Player_actor 1 near_point 555.0 555.0 radius 1.0 1.0 
then
...

Это может быть полезно для многих скриптеров. одним изменением Debug на OFF выключаем весь отладочный код.


[small][/small]

Offline

#163 12-08-2008 08:56

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Вопросы и предложения по Sanny Builder

Можно ещё добавить ключевое слово Debug

то, что ты предложил, в обычных языках программирования реализуется через директивы DEFINE и IFDEF. В todo-листе санника такая фича была прописана уже давным-давно, но не знаю, дойдет ли это когда-нибудь до релиза.

А что, если сделать так, что-бы к cleo переменным обращаться не через ID, а через строку-имя переменной.

идея интересная, стоит подумать.

Насчет задержки выхода - мой домашний комп сломался, поэтому выложить новую версию смогу только, когда куплю новый комп, возможно на этой неделе.

Offline

#164 12-08-2008 13:51

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Вопросы и предложения по Sanny Builder

VcSaJen wrote:

@flashTrash - самим добавлять кейворды и классы не рекомендуется из-за проблем с совместимостью скриптов.

Добавлять может и не рекомендуется, но перевод на русский рулит:crazy:
Я делал, очень всё понятно стало

Надеюсь в новом релизе увидеть русифицированные опкоды


Мой пример:

0464: поместить_чела 99@ в_туррель_на_машину 68@ с_оффсетом 266@ 267@ 268@ позиция 0

GIMS developer

Offline

#165 16-08-2008 08:43

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

Вот написал статью "Зачем нужен wait или устройство thread'ов" для справки SB. Я там длинно и путанно объяснял, но кажется нормально. Скачать можно из прикреплённого архива, или смотреть Здесь. Сообщите мне, если найдёте ошибки.

VcSaJen wrote:

И ещё: из SB невозможно напрямую скопировать в Блокнот, браузер и т. д.. Это из-за SynEdit? Это можно поправить?

Уточнение - если перед копированием в буфер обмена в SB переключить раскладку на английскую, то все русские буквы превращаются в мешанину западных символов (проблема с кодировкой). При копировании если включена русская расскладка, то всё по-нормальному.

@3Doomer - это опкод, а не класс (кейворд).

P.S. Что-то на русском форуме 0 новых постов уже неделю (отпуска у всех закончились?).

Last edited by VcSaJen (16-08-2008 12:01)


[small][/small]

Offline

#166 16-08-2008 09:18

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

Есть несколько замечаний.
1) Почему для непрерывных циклов не рекомендуется ставить вэйт 0 ? Сколько не ставил - всегда работало как часы.
2) Помоему очевидно зачем ставит вэйт, например, 250, а вот зачем ставить вэйт 0 - непонятно, ведь что такое 0 мс? Вот на этот вопрос новички ответа не найдут.

Offline

#167 16-08-2008 10:45

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

@flashTrash -
1) Не рекомендуется если скрипт никуда не торопится, потому-что он будет слишком часто прерывать остальные потоки. Например, при проверке загруженности модели wait 0 приветствуется.
Хотя, я пробовал загрузить в cleo папку 1800 с лишним скриптов с задержкой 0 ms. И игра не зависла, хотя тормозила. Так что пять скриптов с нулевой задержкой не будут тормозить игру. (немного подкорректировал)
2) Немного исправил то предложение.

@All - в последнем скрипте была грубейшая ошибка. Я её исправил. Перекачайте заново.


[small][/small]

Offline

#168 16-08-2008 10:58

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Вопросы и предложения по Sanny Builder

При копировании если включена русская расскладка, то всё по-нормальному.

Угу, хорошее замечание.

Статья хорошая, особенно понравилась схема со стрелками.
Wait 0 означает, что поток будет исполняться без задержек с максимальной частотой. Учитывая, что игра выполняет все подпрограммы (траффик, скрипты, графика, звук и т.д.) за ~16мс (на моем компе), особой разницы между wait 0 и, например, wait 10 нету.

Offline

#169 16-08-2008 11:02

flashTrash
From: Н.Новгород
Registered: 21-02-2007
Posts: 260
Website

Re: Вопросы и предложения по Sanny Builder

он будет слишком часто прерывать остальные потоки

первый раз такое слышу. я вообще то думал(и думаю) что каждый тред(поток) обрабатывается отдельно и вэйт нужен для того, чтобы опкод после вэйта обрабатывался через определённый промежуток времени, а не для того чтобы работали другие потоки. Вобщем без бутылки не разобратцоgrin

Offline

#170 16-08-2008 11:06

Fess
Registered: 29-04-2008
Posts: 62

Re: Вопросы и предложения по Sanny Builder

Важный эффект команды в том, что в результате ее выполнения управление передается от текущего скриптового потока обратно планировщику потоков скриптовой машины, которая таким образом получает возможность дать поработать другим потокам исполнения и, в конце концов, возвратить управление обратно игре.

Offline

#171 16-08-2008 11:38

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

@Seemann - Спасибо smile
@Fess - Скажи пожалуйста источник, а то я узнал по SCMLog, а хочется знать в оригинале smile (и подкорректировать статью, если есть расхождения)
[---]
Edit:
Подкорректировал.

Last edited by VcSaJen (16-08-2008 12:02)


[small][/small]

Offline

#172 16-08-2008 12:13

Fess
Registered: 29-04-2008
Posts: 62

Re: Вопросы и предложения по Sanny Builder

Любая игра изпользующая скрипты использует подобнуб команду (wait, sleep). Пример из игры HOMMV.

sleep

sleep — приостановить на время текущий поток исполнения
 
Синтаксис

sleep(number-of-segments);

Описание

Останавливает работу текущего потока исполнения на указанное время. Время задается в игровых сегментах.

Значение параметра number-of-segments должно быть ≥ 1.

Команда sleep необходима для создания скриптов, которые должны выполнять периодические действия в течение долгого времени (например, скрипты, реализующие сценарии карт):

while 1 do 
    sleep(100) 
    print("another 100 game segments has passed") 
end

Важный эффект команды sleep в том, что в результате ее выполнения управление передается от текущего скриптового потока обратно планировщику потоков скриптовой машины, которая таким образом получает возможность дать поработать другим потокам исполнения и, в конце концов, возвратить управление обратно игре.

Например, если приведенный выше скрипт запустить на исполнение, убрав из него вызов sleep(100), то игра "зависнет" – поток, в котором будет исполняться скрипт, никогда не вернет управление скриптовой машине, а та – не вернет управление игре.

Offline

#173 17-08-2008 07:38

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Вопросы и предложения по Sanny Builder

Насчет задержки выхода - мой домашний комп сломался, поэтому выложить новую версию смогу только, когда куплю новый комп, возможно на этой неделе.

Итак, проблема с компом решена. Поэтому сегодня выложил-таки версию 3.04 (включает CLEO 3.0.950). Изменения незначительные, в основном повышает удобство работы с cleo-скриптами.

Поскольку мне пришлось переустанавливать Delphi и перенастраивать все заново, то возможно что в новой версии что-то не будет работать из старых фич. Просьба сразу же отписываться о подобных вещах.

Старую версию 3.03 можно найти в архиве.

Offline

#174 17-08-2008 08:49

VcSaJen
Registered: 25-08-2006
Posts: 217

Re: Вопросы и предложения по Sanny Builder

Качаю...
Хотя размер небольшой, с 1 килобитом до завтра докачаю smile .

В списке изменений нет о расширенном подставке названий из ide моделей (конкурс ещё же был).
Это забыто в списке или его нет?

Last edited by VcSaJen (17-08-2008 09:06)


[small][/small]

Offline

#175 17-08-2008 09:49

Seemann
Registered: 07-08-2006
Posts: 2,154

Re: Вопросы и предложения по Sanny Builder

В списке изменений нет о расширенном подставке названий из ide моделей (конкурс ещё же был).

Ты про это?

Если да, то это включено в новую версию

также конвертировать имя модели в ID и обратно (Ctrl+Alt+H)

Offline

Board footer

Powered by FluxBB