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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2009, 10:30   #71
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

У меня есть интересный вопрос,
как же реализуются такая вот штука:
предположим унас есть в одном файле скриптов миссия,вдругих действия актеров как же делаетса так чтобы все они одно времено работали в игре?
VintProg вне форума Ответить с цитированием
Старый 10.07.2009, 10:38   #72
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Вот этим я сейчас и занимаюсь VintProg. Да я хочу получить параметры. Параметры для определения для какого персонажа делается действие. В одном файле будут квесты(миссии). Но действия персонажей можно записать в ядро. А можно также как и с квестами тока другими командами.
Shadow_1329 вне форума Ответить с цитированием
Старый 10.07.2009, 10:51   #73
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
if playerHealht > 0 then
begin
Create_Actor($500,-100.5,500.7,12.0,'SWAT');
end;

Да, можно. Только это будет выглядеть немного по-другому.

Цитата:
предположим унас есть в одном файле скриптов миссия,вдругих действия актеров как же делаетса так чтобы все они одно времено работали в игре?
Чтобы понять нужно хотя бы сделать движок для одного скрипта, а потом уже думать о многопоточности.

Если хотите чтоб помог конкретно то выкладывайте свои исходники.

Последний раз редактировалось Вадим Буренков; 10.07.2009 в 10:55.
Вадим Буренков вне форума Ответить с цитированием
Старый 10.07.2009, 11:06   #74
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Par:=GetFromString('@','#',command) ;
Ты мне вот с этим помоги. Напиши фнкцию GetFromString пожалуйста.
Shadow_1329 вне форума Ответить с цитированием
Старый 10.07.2009, 11:14   #75
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Держи:
Код:
Function GetFromString(FromCh:char;ToCh:char;Str:String):String;
var
FromNumb,ToNumb,Numb,i:integer;
TempStr:String;
begin
FromNumb:=AnsiPos(FromCh,Str)+1;
ToNumb:=AnsiPos(ToCh,Str)-1;
Numb:=ToNumb-FromNumb;
for i:=FromNumb to ToNumb do
begin
TempStr:=TempStr+Str[i];
Result:=TempStr;
end;
end;
Вадим Буренков вне форума Ответить с цитированием
Старый 10.07.2009, 14:22   #76
Pedro
Форумчанин
 
Аватар для Pedro
 
Регистрация: 25.03.2007
Сообщений: 166
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Наконец добавил операторы 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
Вадим, можешь показать как это интерпритируется в дельфи. Что то я не совсем понял...
Pedro вне форума Ответить с цитированием
Старый 10.07.2009, 14:40   #77
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Спасибо Вадим!(на репутации это скажется)
Shadow_1329 вне форума Ответить с цитированием
Старый 10.07.2009, 14:47   #78
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Вадим, можешь показать как это интерпритируется в дельфи. Что то я не совсем понял...
Вот часть кода интерпритации:
Код:
............................
...........................
//0003: set_thread_speed @#
if Opcode(ThreadLine[LineIndex],'0003:') then ScriptTimer:=IntPar(1);


//0004: label @label_handle# //в getlabel
//if Opcode(ThreadLine[LineIndex],'0004:') then ;

//0005: goto_label @label_handle#
if Opcode(ThreadLine[LineIndex],'0005:') then LineIndex:=LabelList[(IntPar(1))];

//0006: beep
if Opcode(ThreadLine[LineIndex],'0006:') then beep;

//0007: true_then_goto_label @label_handle#
if Opcode(ThreadLine[LineIndex],'0007:') then
begin
//если условие выполняется то прыгаем на метку
if ifcondition=iftrue then LineIndex:=LabelList[(IntPar(1))];
ifcondition:=IfNo;
end;
............................
...........................
Это лишь небольшой кусок из модуля обработки скриптов. Полностью понять как это работает вряд ли получется, но можно посмотреть как интерпритируются комманды.
Вадим Буренков вне форума Ответить с цитированием
Старый 10.07.2009, 14:48   #79
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

А обьясни для чего нужно в Par:=GetFromString('@','#',comand) - comand для чеко нужна эта строковая переменная?
Shadow_1329 вне форума Ответить с цитированием
Старый 10.07.2009, 14:53   #80
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Function GetFromString(FromCh:char;ToCh:char ;Str:String):String;
возвращает весь текст между знаками FromCh и ToChar в строке Str.
Вадим Буренков вне форума Ответить с цитированием
Ответ


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



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