Текущее время: Чт 25 апр 2024 10:16

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18  След.
Автор Сообщение
 Сообщение Пт 8 янв 2010 9:39
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Сел в игрушку поиграть, не понравилось что выдаются задания на доставку груза который есть только в других секторах, а при переходе задания сбрасываются.
Убрал сброс, возникла проблема: что бы не запутаться из какого сектора задание надо что бы в тексте оно было написано.
А генерящиеся квесты хранятся в .cpp который скрипт-эдитор не видит.
Вопрос: что делать?


Та-ак. Оказывается файл каким-то образом куда-то компилируется.
Тогда другой вопрос. У меня в генерящихся квестах надо сделать что бы было название сектора.
В текстах я поставил переменную %SECTORTARGET, но по образцу названий зданий, как сделано в файле RANDOMQ.cpp, ничего не получается.
В cpp пишу "SetVarChar("g_sectortarget", GetArea());"

Кто может подсказать как правильно?


Последний раз редактировалось XSM Пт 8 янв 2010 16:11, всего редактировалось 1 раз.

 Сообщение Пт 8 янв 2010 15:13
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
%GetVar(...) (%GetVarChar(...)).


 Сообщение Пт 8 янв 2010 16:09
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
И что это значит? Честно пытался понять в течении 30 секунд. Не понял.

upd: понял. Получил на выходе B_L5_BASE4
Немного не то что я хотел. Как из этого получить "Сектор Пустыни"(LOCATION5)?

upd2: понял. Я для теста считывал ID базы, поменять обратно забыл :)
Теперь получаю "location5"
Как сделать что бы писало "Сектор Пустыни"?

И ещё не по теме вопрос: тут один товарищь выкладывал восстановленные квесты. Но там, как я понял, не все. А есть пакет со всеми восстанорвленными квестами?


 Сообщение Пт 8 янв 2010 18:50
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
XSM писал(а):
А есть пакет со всеми восстанорвленными квестами?
Нет.


 Сообщение Пт 8 янв 2010 18:58
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Ну а как сделать что бы вместо "location5" выводилось название сектора?


 Сообщение Пт 8 янв 2010 19:02
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
А в редакторе текстов запись "location5" есть?


 Сообщение Пт 8 янв 2010 19:09
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Others. Название сектора, и его описание. Разумеется есть.
Мне выводит ID, надо по нему как-то "имя" вытянуть.
Как - не понятно :(

У идентификатора есть 3 подраздела.
DELETED
NAME
TEXT

Надо как-то вытащить NAME
Пробовал написать GetArea()+".NAME", не вышло.


 Сообщение Сб 9 янв 2010 13:15
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Панцирь писал(а):
Попробуй размер хелпера, в котором создается объект, изменить.

Не, ничего не выйдет с созданием звуковых точек.
1 - Редактор и игра вылетают, если звуковая точка звучит более 50 секунд.
2 - Размер хэлпера не увеличивается.
3 - муторно в скриптах постоянно прописывать появление и исчезание звука.


 Сообщение Сб 9 янв 2010 14:52
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Панцирь писал(а):
Размер хэлпера не увеличивается.
Как же это так?


 Сообщение Сб 9 янв 2010 14:55
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Цитата:
Как же это так?

Он. как был розовым шариком, так и остался.


 Сообщение Сб 9 янв 2010 16:28
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
В общем, вытянуть название сектора используя его ID не получилось, пришлось в начале функции написать всё вручную, благо что секторов не много.
Вышло так:
Код:
switch(GetArea())
   {
      case "location1":  SetVarChar("g_sectortarget", "секторе Скал");
      case "location2":  SetVarChar("g_sectortarget", "секторе Тундры");
      case "location3":  SetVarChar("g_sectortarget", "секторе Арктики");
      case "location5":  SetVarChar("g_sectortarget", "секторе Пустыни");
      case "location6":  SetVarChar("g_sectortarget", "секторе Холмов");
      case "location9":  SetVarChar("g_sectortarget", "Разрушенном секторе");
      case "location10": SetVarChar("g_sectortarget", "Высотном секторе");
      case "location11": SetVarChar("g_sectortarget", "секторе Ядовитых болот");
      case "demo_map":   SetVarChar("g_sectortarget", "Демо-уровене");
   }


В журнале записи выглядят примерно так:
"Доставит груз на базу База 4, в секторе Пустыни", "Найти, в секторе Арктики, и уничтожит глайдер"


 Сообщение Сб 9 янв 2010 19:20
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Если тебе они нужны в падежах, то только так и возможно.

Добавлено спустя 10 секунд:

Да и вообще.


 Сообщение Вс 10 янв 2010 20:11
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Ну, в падежах мне во сне приснилось, а изначально хотел просто получить название.

Возможностей у этих скриптов маловато.
Было бы не плохо что бы можно было ещё погоду поменять :)

upd:
У меня тут вопрос возник. Все генерящиеся квесты рейтинг добавляют только курьерский, что не есть логично. За выполнение заданий на доставку товара, или уничтожение врага нужно начислять торговый и боевой. Кто знает где написано какой рейт надо начислять? Я не нашёл :(

upd2:
Нашёл таки. Всегда так: задал вопрос на форуме и сразу сам нашёл решение.
Только не понял, расчёт проводится до того как генерируется квест.
Кто объяснит как оно работает?


 Сообщение Пн 11 янв 2010 1:00
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
XSM писал(а):
Все генерящиеся квесты рейтинг добавляют только курьерский, что не есть логично.

Еще как логично.


 Сообщение Пн 11 янв 2010 10:53
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Флудо-оффтоп:
С чего бы это вдруг?
Ни разу не видел и не слышал что бы курьеры(читай: посыльные) работали киллерами...


 Сообщение Пн 11 янв 2010 12:16
Профиль  
#105d99
Аватара пользователя
Сообщения: 15233
Откуда: Москва, сектор бетонных домов
Зарегистрирован: Пн 20 фев 2006 3:56
Это потому, что нужно игровые тексты читать, а не сразу прокручивать. Курьер в мехах, это не только "подай-принеси", это мех, специализирующийся на выполнении всевозможных заданий.


 Сообщение Пн 11 янв 2010 18:34
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
Ладно, у меня новый вопрос:
Есть задание на поиск контейнера. Но в тексте нет указания где искать место. В связи с этим интересует что в тексте нужно написать что бы повесить пеленг на объект g_targer

Кстати, а где такое про курьера сказано? Всё облазил, нигде не нашёл.
Только где говорится "вот те глайдер с хреновым оружием, которое те в принципе на фиг не нужно, твоё гланое оружие скорость."

Вопрос с вешаньем пеленга решил.


 Сообщение Вт 12 янв 2010 15:03
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
{

switch (Item)
{
case (GetVar("MERC_QUEST.DEF") >= 1):
{
Text("Текст");
}
case(GetVar("MERC_QUEST.DEF") >= 2):
{
Text("Текст");
}

}

Как заставить, что бы выбиралось любое из доступных значений? Почему у меня не работает?
З.Ы на скобки не смотрите, я их мог перепутать, пока копировал.

Добавлено спустя 55 минут 41 секунду:

if (GetBuildOwner(item)=="ORG_MERCATORS" && GetVar("MERC_QUEST3.DEN"))
{
int iMush;
iMush = GetItem("TOV_TITAN");

if (iMush)
RemoveItem("TOV_TITAN", iMush);
int iNeed;

iNeed = GetVar("MERC_QUEST2.HEX") - iMush;

if (iNeed>50) iNeed = 100-iMush;
if (iNeed<0) iNeed = 0;
SetVar("MERC_QUEST2.HEX", iNeed);
}


MERC_QUEST3.DEN == Переменная, сообщающая скрипту о том, что квест работает, т.Е взят.

MERC_QUEST2.HEX == Переменная, которая в итоге должна сообщить строению, что задание выполнено.

З.Ы это задание скопировано у VERCUS-a вроде, привезти 50 грибов.

Но, выложенный выше скрипт не работает, он ничего не вычесляет и не прибавляет к общей сумме привезенный товар. Почему так, кто знает?


 Сообщение Ср 13 янв 2010 18:33
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Вот список переменных, которые можно использовать в скриптах:

AssignGliderToPlayer("T2_L2_NARGOONS1", 1); = Заставить группу следовать за игроком. 1 - включить, 0 - выключить.
CreateGroup("T2_L2_NARGOONS1") = Создать группу, до этого созданную в Loc Editor-е.
SetVar("GEN_DELIVER", 1); = Переменная и её числовое значение.
SetPelengPoint("T3_L3_ARCHEYS_RESCUED"); = Установить пеленг на точку, базу, группу или любой другой объект.
Text("MSG_T_L10_FORWARD_02_CUR3"); = Выводит текст. Вне строения - просто текстом.
GliderGo("GRP_T3_L10", "B_L11_ARLINGLAB"); = Послать группу к некой точке.
SetTimer("T_L5_FANT_04_time", 1.5); = Создать таймер для процедуры в скрипте, или для других целей.
SetMechName("GRP_1", "TENSEN"); = Дать главному механоиду имя в группе.
SetEconomics("ORG_PLAYER", 10); = Установить силу экономики.
GetHoldMech("ORG_FREE"); = Привезти механоида в строение = получить приз
GetEquipLayerModif("Модификатор", "СЛОТ"); = Установить модификатор в оборудование

PushConfig("CFG_STARTUP"); = Сохраняет вашу конф глайдера и выдает эту.
PopConfig() = Выдает ранее сохраненную вашу конф. Глайдера.

if (IsClanDead("ORG_FIREHALF")) = Если клан уничтожен, то продолжаем.
if ( GetBuildOwner(item)=="ORG_TOLERANS") = Заходим в клановое строение, если оно клановое, то далее.
if (GetGliderR(cMech)<=3) = Если у игрока глайд более третьего стандарта, то далее.
if(IsBuildStop("B_L5_BASE")) = Если строение стоит
if(GetGroupCount("GRP_3") <= 3) = Если глайдеров в группе меньше 3

ChangeObjectID(char sGameID, char sTypeID) = ?
SetMsgJ("TS_L11_J_Q1_1"); = Добавить в журнал запись.
AddItem("TS_ITEM4_2"); = Добавить в трюм объект. Груз, оружие и т.Д.
RemoveItem("TS_ITEM4_1"); = Удалить из трюма объект.
GliderInvis(glidertarget, 1); = Делает группу невидимой.
StopTimer("Процедура с таймером"); = Остановить таймер.
if(IsGroupKilled("GRP_Q1") == 1) = Проверяем убийство группы.
PlayVideo("Data\Video\Into.bik"); = Проигрывание видеоролика.
ThrowGoodsOnRoad("Имя дороги или точки", 1); = Разбрасывание грибов вдоль дорог.
RemovePeleng("B_L5_BASE2"); = Удалить пеленг с объекта
ThrowFromGlider("Глайдер по имени, игрок, Группа"); = Выкинуть, что-нибуть из глайдера.
ChangeObjectID("B_STATION_DOOR2", "BLD_U_LOCK_GATE_TMN"); = Открывает ворота, если ворота изначально без INTO.
if (GetItem("GL_M4_A_FORWARD") || GetItem("GL_M4_A_FRONTIER")) Если первый глайдер, или второй - то выполняем скрипт.
if (GetEquipLayer или GetItem(EQIP_GLIDER)=="GL_M4_A_FORWARD") = Проверка на каком глайдере приехал игрок.
CreateObjectAt("Его ID, любой", "Создаваемый объект", "Точка на карте"); = Создать объект.
ThrowFromGlider(char gliderID, char goodID="ENERGY", int iCount=1) = Непонятно, что дает... Енергией, что ли заряжает.


 Сообщение Ср 13 янв 2010 19:26
Профиль  
Механоид 1 поколения
Аватара пользователя
Сообщения: 102
Зарегистрирован: Чт 11 янв 2007 16:52
ThrowFromGlider(char gliderID, char goodID="ENERGY", int iCount=1)

Говорит чего и сколько должно выпасть из глайдера(или непись должен выкинуть, или само выпадет).


 Сообщение Чт 14 янв 2010 3:18
Профиль  
Старый Мехозавръ
Аватара пользователя
Сообщения: 3718
Откуда: USSR
Зарегистрирован: Чт 20 май 2004 11:50
Представил себе глайдер, из(у) которого вапал "непись" :shock: (под zzzык зиппера? :laugh: )

_________________
Если пошла кровь - значит будут сгустки!


 Сообщение Сб 23 янв 2010 21:30
 
Вопрос: как правильно создать на локации механоида пятого поколения на глайдере? А то лично у меня вместо этого создалось сразу несколько таких мехов одинаковых. Как только подбираю одного - предыдущий из трюма исчезает и новый появляется на локации, но при этом у них у всех еще и рейтинг уменьшается.


 Сообщение Вс 24 янв 2010 8:44
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Цитата:
Вопрос: как правильно создать на локации механоида пятого поколения на глайдере? А то лично у меня вместо этого создалось сразу несколько таких мехов одинаковых. Как только подбираю одного - предыдущий из трюма исчезает и новый появляется на локации, но при этом у них у всех еще и рейтинг уменьшается.

Эм.
Меха нужно делать в "Редакторе локации". Т.Е группу в котором задаешь ток один глайд. Даешь ему имя и все.
Далее уже в редакторе скриптов в скрипте локации прописываешь само появление твоего друга. Что-бь небыло недоразумений, попробуй так описать его создание.

{
if (GetVar("GRP_GRP") == 0)
{
CreateGroup("GRP_GRP");//ID группы вместо GRP_GRP сделай свой
SetMechGeneration("GRP_GRP", 5);//Т.Е и тут тоже замени ID на свой.
SetVar("GRP_GRP");
}
}


 Сообщение Вс 24 янв 2010 14:46
 
Ага. Все делал так, как ты описал, только без конструкции if и без SetVar, соответственно. В редакторе локаций тоже прописывал...

Хм. Сделал все так. Он по-прежнему не пятый.


 Сообщение Пн 25 янв 2010 11:37
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Цитата:
Он по-прежнему не пятый.

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


 Сообщение Пн 25 янв 2010 15:40
 
Да раз двадцать уже, блин. :neutral: Посмотрел оригинальные скрипты - вроде там точно так же создается, но ведь в игре-то оригинальной пашет... Хотя, еще вариант - попробовать вручитьмеха сразу игроку, как в туннеле перехода сектора Болот.


 Сообщение Пн 25 янв 2010 15:43
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
2 Aid
Знаешь. А ты попробуй погляди, может какие символы, али букофки некоторые немного различаются в "ID" группы.


 Сообщение Пт 29 янв 2010 11:14
 
Проверил, все одинаково.


 Сообщение Пт 29 янв 2010 11:31
Профиль  
Механоид 5 поколения
Сообщения: 3841
Откуда: Полигон 5
Зарегистрирован: Чт 8 янв 2009 6:51
Цитата:
Проверил, все одинаково.

Значит у тебя Widows 7. :roll:


 Сообщение Пт 29 янв 2010 12:37
 
WinXP Prof SP3 лицензионная. Что же делать-то... :sad:


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1 ... 12, 13, 14, 15, 16, 17, 18  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB