Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Вопрос по скриптам. | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 2
На страницу: 1, 2  След. | Все страницы
Поиск в этой теме:
Космические Миры » Канал Independence War: «Вопрос по скриптам.»
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
А ваще возможно наладить обмен данными с HDD в процессе ( ну там файл на диске организовать и считать потом), из pkg шки в смысле.
И еще: возможно ли добавление своих dll в bin папку( в смысле как вызвать из скрипта функцию во внешней dll ке)
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 16:34 19-06-2004   
Slant
 285 EGP


Репутация: 42
Сообщения: 1100
Откуда: Украина, г.Полтава
Зарегистрирован: 01.09.2001
Цитата:
А ваще возможно наладить обмен данными с HDD в процессе ( ну там файл на диске организовать и считать потом), из pkg шки в смысле.

.pkg не имеет контакта с системой. Только с игрой. Как Java в броузере. Улыбка Можно только читать из .ini и .cvs файлов. Еще можно выводить .html, и проигрывать wav и mp3. На диск писать НЕЛЬЗЯ. Но можно писать свою информацию в сейвы игры. Для этого служат глобальные переменные.

Цитата:
И еще: возможно ли добавление своих dll в bin папку( в смысле как вызвать из скрипта функцию во внешней dll ке)

Насколько я знаю, .dll добавить нельзя. (без хака екзешника) Другой вопрос - зачем это нужно? Если просто, чтобы организовать библиотеку функций, то можно не заморачиваться. .pkg работает очень быстро, и даже очень тяжелый код заметно не влияет на скорость игры (я специально эксперементировал. Тормозов добился только с помощью цикла, в котором читал более сотни .ini с диска). Это не скрипты X2 - тут оно компилируется. А возможности POG и так очень велики...
    Добавлено: 20:16 19-06-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Ещё одна идея рухнула в небытие... Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 23:40 23-06-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Slant
Возможен ли запуск внешнего процесса из .pkg не ломая?
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 22:58 13-08-2004   
Slant
 285 EGP


Репутация: 42
Сообщения: 1100
Откуда: Украина, г.Полтава
Зарегистрирован: 01.09.2001
Внешнего - то есть не .pkg кода? Тогда ответ - нет. (Для этого надо знать, как написаны системные dll игры - вот из них функции вызываются. Но это закрытая информация.)
Просто вызвать функцию из другой .pkg можно. Если она откомпилирована как подлежащяая экспорту.
    Добавлено: 08:44 14-08-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Как отследить расстояние до какого-нибудь объекта (в смысле глобального - типа звезды, астероида, etc.) в скрипте? Расстроен
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 11:49 15-09-2004   
Slant
 285 EGP


Репутация: 42
Сообщения: 1100
Откуда: Украина, г.Полтава
Зарегистрирован: 01.09.2001
До астероида - вообще не проблема, это объект типа (h)sim со всеми вытекающими. А планеты и звезды и станции (которые есть на карте, а не добавлены скриптом) - это объекты типа hmapentity. соответственно для них существуют функции в классе iMapEntity. В частности:

prototype float iMapEntity.EntityToSimDistance( hmapentity entity, hsim sim );

Делает как раз то, что тебе надо. Кроме того, для более специфических манипуляций с этими объектами существуют еще три класса:
iBody - звезды и планеты
iHabitat - станции
iLagrangePoint - L-точки
    Добавлено: 19:36 16-09-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Slant
Thanks Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 21:28 24-09-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Slant
А что за формат шрифтов? Есть нормальный - соответствие буквам на клаве? Шрифт это .frf или .ftu/.ftc ?
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 15:11 26-09-2004   
Slant
 285 EGP


Репутация: 42
Сообщения: 1100
Откуда: Украина, г.Полтава
Зарегистрирован: 01.09.2001
Вот со шрифтами я сам до конца не разобрался. Но вот парочка фактов. Во первых - шрифт, это графический файл с нарисоваными буквами. Во вторых - знакомест там менее 128 - только на один алфавит - латинский. Отсюда все проблемы с переводом. То есть при переводе делают, например, заглавные русскими, а строчные оставляют латинскими... При этом, у разных русских переводов, разные раскладки.
По идее, шрифт можно как-то загружать из скрипта (именно загружать, а не только выбирать один из системных), но как это делается я разобраться не успел. Расстроен

Расширение файла шрифта сейчас не скажу - игра не установлена.
    Добавлено: 23:44 26-09-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
А формат заголовков есть? Ну типа там размер букв и др. данные они в файле должны быть прописаны? А системные любые (UNICODE& etc?) Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 23:26 27-09-2004   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
2Slant
Слуш! Нужна помоч! Или я уже совсем отупел - как отследить момент стыковки с чем нибудь - т.о. чёбы в момент стыковки (после него ) запускались различные скрипты в зав-ти от того к кому стыкуешься - task - не получается Расстроен

Кста шрифты я всетаки расколол Гы-гы
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 10:14 29-11-2004   
MeLeK
 1010 EGP


Рейтинг канала: 1(8)
Репутация: 289
Сообщения: 3168 Заблокирован
Откуда: Хабаровск (GMT+10)
Зарегистрирован: 08.05.2003
Помогите пожалуйста разобраться.
За основу взят код из сценария challange_cource, и сделан маленький новый. Цель - построить в ряд кольца, при этом их названия должны отображаться в контакт-листе.
Код:
 
package melek;

uses String, INIFile, iShip, Sim,
      iFaction, iScriptedOrders, Task, Math, iFormation, iShipCreation, iComms,
      Object, State, iInventory, iAI, iPilotSetup, iUtilities, iConversation, Text,
      iLagrangePoint, Group, Object, iMissionTracker, iCutsceneUtilities,
      iHUD, iGame, iRemotePilot, iDirector, iLoadout, iGUI, Config, iMultiplay, Input, iRegion;

provides Main, ScenarioMain;
 
prototype Main();
prototype ScenarioMain();
ScenarioMain()
{
iGame.SetGameType( IGT_Mod );
iGame.StartNewGame( "map:/geog/badlands/hoffers_wake", "melek" );
}

// Create waypoints for rings
hgroup setup_waypoints ( hsim location )
{
   hgroup waypoints = Group.Create();
   hsim temp;

   temp = iUtilities.CreateWaypointRelativeTo ( location, 2000, 0, 0 );
   iUtilities.RenameSim ( temp, "Waypoint 1" );
   Group.AddSim ( waypoints, temp );

   temp = iUtilities.CreateWaypointRelativeTo ( location, 4000, 0, 0 );
   iUtilities.RenameSim ( temp, "Waypoint2" );
   Group.AddSim ( waypoints, temp);
   
   temp = iUtilities.CreateWaypointRelativeTo ( location, 6000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint3" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 8000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint4" );
   Group.AddSim ( waypoints, temp);
   
   temp = iUtilities.CreateWaypointRelativeTo ( location, 10000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint5" );
   Group.AddSim ( waypoints, temp);
   
   temp = iUtilities.CreateWaypointRelativeTo ( location, 12000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint6" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 14000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint7" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 16000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint8" );
    iUtilities.MakeWaypointVisible( temp, true, "Waypoint8" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 18000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint9" );
   Group.AddSim ( waypoints, temp);
   
   temp = iUtilities.CreateWaypointRelativeTo ( location, 20000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint10" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 22000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint11" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 24000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint12" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 26000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint13" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 28000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint14" );
   Group.AddSim ( waypoints, temp);

   temp = iUtilities.CreateWaypointRelativeTo ( location, 30000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint15" );
   Group.AddSim ( waypoints, temp);
   
   temp = iUtilities.CreateWaypointRelativeTo ( location, 32000, 0, 0);
   iUtilities.RenameSim ( temp, "Waypoint16" );
   Group.AddSim ( waypoints, temp);

return waypoints;
}

// create rings
hgroup create_rings ( hgroup waypoints )
{
   hsim ring;
   hsim last_ring;
   hgroup rings = Group.Create();
   int number_of_waypoints = Group.SimCount ( waypoints );
   int l;
   for ( l = number_of_waypoints-1; l >= 0; --l )
   {
      ring = Sim.Create ( "ini:/sims/ships/utility/training_ring", String.Join ( "Ring", String.FromInt ( l +1 ) ) );
      Group.AddSim ( rings, ring);
      Sim.PlaceAt ( ring, Group.NthSim ( waypoints, l ));
      //Sim.AttachChild ( ring, Group.NthSim ( waypoints, l ) );
      iSim.SetSensorVisibility ( iSim.Cast ( Group.NthSim (rings, l ) ),true );
   if ( l != number_of_waypoints -1 ) Sim.PointAt (ring, last_ring );
      last_ring = ring;
   }

   return rings;
}


// --------main--------
Main()
{
hship player_ship;
hsim grounds_waypoint;
hsim temp;
hgroup waypoints, rings;
int l;
int templ;
//-----------create player ship and ground_point----------------------------
player_ship = iShip.Create( "ini:/sims/ships/player/fast_attack_prefitted", "Advanced Patcom" );
grounds_waypoint = iUtilities.CreateWaypointRelativeTo ( iMapEntity.FindByName ( "Lucrecia's Base" ), 24 km, 0, 0 );
iUtilities.MakeWaypointVisible ( grounds_waypoint, true, "melek_test_point" );
Sim.PlaceRelativeTo ( player_ship, grounds_waypoint, 0, 0, -50 );
Sim.PointAt ( player_ship, grounds_waypoint );
iShip.InstallPlayerPilot(player_ship);
//----------- end ----------------------------

// Setup rings
      
waypoints = setup_waypoints ( grounds_waypoint );
create_rings ( waypoints);

}

/*
player_ship = iShip.Create( "ini:/sims/ships/corporate/maas_cutter", "Melek_clone" );

iPilotSetup.Marauder( player_ship);
Sim.PlaceNear(player_ship, grounds_waypoint,5000);
*/


1) В create_rings отчетливо устанавливаем, что каждое кольцо должно быть видным в контакт-листе
Код:
      
iSim.SetSensorVisibility ( iSim.Cast ( Group.NthSim (rings, l ) ),true );

При этом ничего не отображается.
Как аналог:
Код:
      
iSim.SetSensorVisibility ( iSim.Cast ( ring ),true );

Результат тот же.
2) В setup_waypoints устанавливаем точки, к которым потом будут привязаны кольца. Устанавливаем через равные отрезки, все по одной оси. Как мне казалось, кольца должны были выстроиться в линию, но вместо этого на экране они раскиданы с виду как попало.
    Добавлено: 14:16 04-02-2005   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Не знаю... А зачем ваще с сенсорами связываться... У мя всё получается располагать и без этого... Или ты как сценарий делаешь? Если да - то ничем помочь не могу - со сценариями еще не сязывался. Расстроен
ЗЫ Slant'а нашла? У него спроси - мне он здорово помог...
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 17:49 11-02-2005   
MeLeK
 1010 EGP


Рейтинг канала: 1(8)
Репутация: 289
Сообщения: 3168 Заблокирован
Откуда: Хабаровск (GMT+10)
Зарегистрирован: 08.05.2003
Да тут сценарии различаются гмм, одним небольшим куском кода:
Код:
 
ScenarioMain()
{
iGame.SetGameType( IGT_Mod );
iGame.StartNewGame( "map:/geog/badlands/hoffers_wake", "melek" );
}

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

iGame.SetGameType( IGT_Mod );
iGame.StartNewGame( "map:/geog/badlands/hoffers_wake", "melek" );

Так что со сценариями даже легче эскперементировать...

himem
Я не знаю как там - сенсорами или не сенсорами, но факт в том, что кольца есть, а на радаре при этом пусто. Что делать - не знаю.
    Добавлено: 18:04 11-02-2005   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Я делал iSim.Create - и все появлялось не тока на экране, но и в списке контактов...
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 18:47 14-02-2005   
MeLeK
 1010 EGP


Рейтинг канала: 1(8)
Репутация: 289
Сообщения: 3168 Заблокирован
Откуда: Хабаровск (GMT+10)
Зарегистрирован: 08.05.2003
Есть идея создания мода. Никто не хочет подключиться?
Мод-сценарий, в принципе. Можно сказать, что расширенная версия известного challange_courcа.
(Пока все без названий)
Итак, мы запускаем сценарий и оказываемся рядом с одной очень известной базой во всем Кластере Гагарина. Этот центр представляет собой крупнейший центр по тестированию бойцов. Ежедневно там тестируют свои способности сотни бойцов. Списки лучших давно висят на почетной доске.
В моде нужно будет создать нечто вроде площадки для тестирования. Там будут и кольца, которые надо пройти в определенном порядке, и очень уязвимые кольца, взрывающиеся при малом контакте с кораблем. Специальные полые астероиды, боевые боты, с которыми надо успеть расправиться, разрушенная станция, вход в которую граничит с размерами корабля и входить в станцию нужно очень осторожно, специальные платформы, к которым нужно побыстрее пристыковаться, траектория мертвой петли (вся траектория усыпана очень мелкими реагентами-сенсорами на окружающую среду, благодаря чему измеряется точность траектории корабля и умение вести и управлять им ровно по заданной траектории.
Так вот это огромную арену нужно пройти. За ваше прохождение даются очки. Чем больше очков, тем выше уровень мастерства. Как даются очки?
За успешно пройденную точку можно начислять по очку - за каждое соприкосновению с поверхностью вычитать по очку, за точность стрельбы добавлять, либо вычитать по очку, также и с прохождением траектории. Ну, плюс изначально можно задать начальные 240 очков, то есть ровно за четыре минуты нужно уложиться (ну или больше). Каждая секунда будет отнимать по очку.
Таким образом, можно создать целую систему тестирования способностей пилота, измеряющую меткость стрельбы, ловкость и др. навыки пилота.
Чем больше очков зарабатываешь - тем лучше твои навыки.
В онлайне играть проблематично и не посоревнуешься особо, зато такая оффлайновая система может реально дать возможность сравнить проф. способности игроковУлыбка.
Лучшие результаты в будущем даже можно будет публиковать.

Не думаю, что это очень сложно будет сделать. SDK лежит тут: ссылка
Хоть он и на английском, но там особо не нужно знаний английского. На готовых примерах, того же challange_courcа, становится все довольно понятным. Может кто-нибудь присоединится? В игре заложены большие возможности для создания различных модов.
З.Ы. himem согласится, я знаю :P, но вдвоем мы не справимся. Присоединяйтесь кто-нибудь! В ПОГе нет ничего архисложного!Улыбка.
    Добавлено: 16:44 26-03-2005   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Цитата:
himem согласится


Канешно! Гы-гы Давненько руки чешутся.... Подмигиваю
(ЗЫ Готов присоедениться, но не координатором - времени крайне не хватает Расстроен )
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 16:24 28-03-2005   
MeLeK
 1010 EGP


Рейтинг канала: 1(8)
Репутация: 289
Сообщения: 3168 Заблокирован
Откуда: Хабаровск (GMT+10)
Зарегистрирован: 08.05.2003
Ага, так как все-таки кольца в один ряд расположить яко туннель? Озадачен
    Добавлено: 12:01 02-04-2005   
himem
 210 EGP


Рейтинг канала: 1(5)
Репутация: 24
Сообщения: 343
Откуда: Дзержинск- Нижегородский
Зарегистрирован: 24.01.2004
Ну дык наерно кромя указания координат нады ыщо и направление указывать.... В lws точно есть - пробовал Гы-гы
Вижу у тя всё на етом буксуеть... Улыбка
_________________
-Что ты чувствуешь став богатым?
-Опустошенность.
-Да,ты подойдешь для Темного Колеса.Это точно!
    Добавлено: 18:22 04-04-2005   
Космические Миры -> Канал Independence War: «Вопрос по скриптам.»
На страницу: 1, 2  След. | Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Правила там довольно расплывчатые. К тому же, я их не читал. (Loki)

  » Вопрос по скриптам. | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18