Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2009, 16:14   #41
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Всмысле "ini надо модифицИровать"
Заходишь в ini блокнотом и меняешь что тебе надо.
А если во время работы программы то меняешь переменные напрямую.

Цитата:
когда надо загружать больШое кол-во оружия.
Для этого в моей игре есть скрипты, а именно опкод:

Код:
create_weapon_with_handle @weapon_handle# in_memory_from_iniFile $ini_settings%
Я делаю движок игры таким образом, что все ресурсы в ini файлах и загружаются с помощью скриптов. Они не привязаны к exe.
Чтобы добавить оружие, космический корабль, анимацию, звук или игровой скрипт в игру мне нужно всего лишь положить файл в нужную папку (скрипты в Scripts, анимации в Animations, корабли в Ships и.т.д) и далее загрузить его в скрипте специальным опкодом и использовать.
Никакого Loads.ini у меня нет. В моих ini только параметры. Например ini файл корабля: (Data/Ships/PlayerShip.ini)
Код:
[Object]
ObjectType=Ship
EditorVersion=0.3


[ShipConfig]
HealthStandart=50
AnimFile=PlayerShipAnim.ini
AiType=Player
А вот файл анимации который указан в параметре AnimFile:
(Data/Animations/PlayerShipAnim.ini)

Код:
[Object]
ObjectType=Animation
EditorVersion=0.3

[AnimationConfig]
Xpix=81
Ypix=81
AnimSpeed=10
MaxFrames=1
File=Ship.bmp
Repeat=1
Transparent=1
Таким же образом устроены другие игровые объекты в игре.

Последний раз редактировалось Вадим Буренков; 04.07.2009 в 16:16.
Вадим Буренков вне форума Ответить с цитированием
Старый 04.07.2009, 18:28   #42
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Наконец добавил операторы if..then и label..goto . Вот рабочий скрипт который при нажатии клавиши "1" создает корабль .
Код:
//метка начала
0004: label @0# 

//если нажата кл. 1 то идем на Label 1 создавать корабль 
0011: if_keypressed @49#
0007: true_then_goto_label @1#

//если нет то следующей коммандой идем в начало
0005: goto_label @0# 
 
0004: label @1#
//создаем в памяти
0013: create_ship_with_handle @1# in_memory_from_iniFile $EnemySimpleShip.ini%
//и в игре
0014: create_ship @1# in_game_coords $320% ^20& 
//идем в начало
0005: goto_label @0# 

//должно быть в каждом скрипте 
0002: end_script
Вадим Буренков вне форума Ответить с цитированием
Старый 05.07.2009, 14:52   #43
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

А *.ltx - в сталкере как работает?
VintProg вне форума Ответить с цитированием
Старый 08.07.2009, 11:58   #44
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Цитата:
Всмысле "ini надо модифицИровать"
класс TIniFile
VintProg вне форума Ответить с цитированием
Старый 08.07.2009, 12:51   #45
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
класс TIniFile
А зачем его модифицировать? Ну даже если так, то можно создать свой класс который будет потомком TIniFile:
Код:
Type
MyIniType = class (TIniFile)
........
........
Вадим Буренков вне форума Ответить с цитированием
Старый 08.07.2009, 13:34   #46
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Надо сделать чтение конфигов как можно оптимизмрований,
может начать с нуля?
VintProg вне форума Ответить с цитированием
Старый 08.07.2009, 14:32   #47
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Назови хоть один пункт чем тебе не нравится ini + скрипты, что они не могут реализовать? И что значит "оптимизированней", ini что плохо оптимизирован?
Хотя конечно если хочется можешь делать.
Вадим Буренков вне форума Ответить с цитированием
Старый 08.07.2009, 17:40   #48
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Предназначение ini - сохранить/выдать конфигурацию, т.е. какие-то начальные настройки какого-либо модуля, от чего он оттолкнется в начале своей работы. Все эти данные будут после чтения в памяти, а обращение к ini будет только на переходных процессах, поэтому никаких нагрузок на систему быть не может, ...куда уж оптимизированней.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 09.07.2009, 15:14   #49
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

А можно ли сделать так чтобы строка скрипта читалась как процедура сразу без if и then? Например вот так
Код:
//У меня в текстовом файле вот так
3//кол-во строк
AddItem(3)//у меня есть такая процедура, а в скобках ID предмета
RemoveItem(1)//Тоже процедура
UpGrade(MaxHelth)
И можно ли сделать так чтобы не писать if str = 'AddItem(3)', сразу прочесть процедуру?
Shadow_1329 вне форума Ответить с цитированием
Старый 09.07.2009, 16:48   #50
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Это называется модулем ...там обращение к процедурам.
Если пишется свой скриптовый язык, то как ни крути, без движка, который понимает скрипт не обойтись, а движок пишется на условиях.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с выполнением скриптов в IE rom@nыч JavaScript, Ajax 7 17.08.2008 18:56
Проблема с отображением джава скриптов LSDkltn HTML и CSS 2 01.04.2008 10:38