Текущее время: Ср 27 ноя 2024 13:36

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




Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 18  След.
Автор Сообщение
 Сообщение Чт 14 фев 2008 15:43
Профиль  
Идущий против ветра
Аватара пользователя
Сообщения: 4489
Откуда: Ростов-на-Дону
Зарегистрирован: Ср 5 дек 2007 14:25
Не помогло. Удалил эту строчку - всё запустилось. :mrgreen:

_________________
“Единственное средство против чумы - честность”.
А. Камю.


 Сообщение Пт 15 фев 2008 23:45
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
***** писал(а):
Так, это мне придется лишний скрипт делать?
Зачем?? Используй Scripts\include\rand_point.cpp. Переписывать заново нет смысла. Легче переделать.


 Сообщение Пт 15 фев 2008 23:52
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1490
Откуда: NO INFO
Зарегистрирован: Вт 29 янв 2008 15:08
2 Krogoth
Спасиб!
Не знал, что в этой папке кроме одинокого скрипта есть еще, что- нибуть!
Надо- бы все папки просмотреть.

_________________
Если умные люди не возьмутся за ум, мы будем вынуждены взяться за палки.


 Сообщение Вт 19 фев 2008 15:24
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1490
Откуда: NO INFO
Зарегистрирован: Вт 29 янв 2008 15:08
Кто нить, напишите скрипт, что бы в секторе продавались ключи от других локаций.
Что- то я уже пол дня вожусь и уже весь скрипт скомкал и в корзину!

_________________
Если умные люди не возьмутся за ум, мы будем вынуждены взяться за палки.


 Сообщение Вс 23 мар 2008 17:10
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Как определить текущее кол-во кристаллов? Возможно ли это?


 Сообщение Пт 25 апр 2008 22:00
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Кто может посмотреть мой скрипт и сказать, в чём я не прав?
Мне нужно сделать так, чтобы была проверка на наличие глайдера - "Намтар" ИЛИ "Сокрушитель", а так же проверки по "MEGALASER.1". Такое ощущение, что я где-то напутал с фигурными скобочками и/или else'ми.
Код:
#include "include\AIM.cpp"

void proc OnEnterBuild(char item)
{
   StartScriptEvent("Events\EnterBuild.src", "OnEnterBuild", item);

// Приехал на Намтаре  - сразу даём пушку
   if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD")
   {
      if (!GetVar("MEGALASER.1"))
      {
      Text ("TS_L6_Q2_2");
      SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
      MarkMsgJ("TS_L6_J_Q2_", 2);
      InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
      SetVar("MEGALASER.1");
      }
   }

// Возможно, я что-то здесть пропустил

// Или приехал на Сокрушителе  - тоже даём
   if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER")
   {
      if (!GetVar("MEGALASER.1"))
      {
      Text ("TS_L6_Q2_2");
      SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
      MarkMsgJ("TS_L6_J_Q2_", 2);
      InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
      SetVar("MEGALASER.1");
      }
   }
else

// Иначе выдаем квест
   if (!GetVar("MEGALASER.1"))
   {
      Text ("TS_L6_Q2_1");
      SetMsgJ("TS_L6_J_Q2_1");
      MarkMsgJ("TS_L6_J_Q2_1", 1);
      SetVar("MEGALASER.1");
   }
// если опять припёрся на рухляди, обламываем и напоминаем
   else
   {
         Text ("TS_L6_Q2_3");
   }
}


 Сообщение Пт 25 апр 2008 22:08
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
2 Crond
Осуществляй проверку на GetItem:

if (GetItem("glider_name"))
{
...
}

Так проще.


 Сообщение Пт 25 апр 2008 22:09
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
а как "ИЛИ" сделать?


 Сообщение Пт 25 апр 2008 22:12
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Crond писал(а):
}
}
else

// Иначе выдаем квест
Что за "else"? :hm:

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

Crond писал(а):
а как "ИЛИ" сделать?
if (GetItem("GL_M4_A_FORWARD") || GetItem("GL_M4_A_FRONTIER"))
{
...
}

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

Krogoth писал(а):
Что за "else"?
Усё. Понял. Просто далековато от строчки следующей.)))


 Сообщение Пт 25 апр 2008 22:21
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Не, чё-то не нравится ему Намтар. С Сокрушителем - всё норм, с этим только осталось разобраться.

Добавлено спустя 3 минуты 16 секунд:

И вот кстати, с этим самым
Цитата:
}
}
else

// Иначе выдаем квест

Вообще никаких сообщений не выдает, даже о том, что опять не на том приехал.

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

То есть без него - выдаёт =)


 Сообщение Пт 25 апр 2008 22:28
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
2 Crond
Else относится ко второму условию, а, значит, с обработкой первого не связан. А должен. Объедини первое и второе условие через "или".


 Сообщение Пт 25 апр 2008 22:43
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
А как надо? У мну н получается. Пишу:
Код:
// Приехал на Намтаре  - сразу даём пушку
   if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD")
   {
      if (!GetVar("MEGALASER.1"))
      {
      Text ("TS_L6_Q2_2");
      SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
      MarkMsgJ("TS_L6_J_Q2_", 2);
      InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
      SetVar("MEGALASER.1");
      }
   }

// Вот это твоё "или"? есди да - не канает, компилятор ругаеццо
||

// Или приехал на Сокрушителе  - тоже даём
   if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER")
   {
      if (!GetVar("MEGALASER.1"))
      {
      Text ("TS_L6_Q2_2");
      SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
      MarkMsgJ("TS_L6_J_Q2_", 2);
      InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
      SetVar("MEGALASER.1");
      }
   }
else



 Сообщение Пт 25 апр 2008 23:01
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
:shock: Такое "или" точно не проканает... :shock:

if (GetItem("GL_M4_A_FORWARD") || GetItem("GL_M4_A_FRONTIER"))
{
if (!GetVar("MEGALASER.1"))
{
Text ("TS_L6_Q2_2");
SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
MarkMsgJ("TS_L6_J_Q2_", 2);
InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
SetVar("MEGALASER.1");
}
}
else
...


 Сообщение Пт 25 апр 2008 23:09
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Тогда в игре ничего не выводится, никаких сообщений.


 Сообщение Пт 25 апр 2008 23:33
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Напиши отрывок кода, который получил. Должно работать.


 Сообщение Сб 26 апр 2008 8:58
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Не работает. Никаких сообщений не выдаёт. Даже о том, что не тот глайдер.

Может, уважаемые разработчики помогут?


 Сообщение Сб 26 апр 2008 10:11
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1260
Откуда: island Syberia
Зарегистрирован: Ср 10 янв 2007 9:14
Может тогда уж завести вторую переменную?
Код:
#include "include\AIM.cpp"

void proc OnEnterBuild(char item)  {
   StartScriptEvent("Events\EnterBuild.src", "OnEnterBuild", item);

   if (!GetVar("MEGALASER.1")) {      // Квест игрок еще не брал
   
      if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD" || GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER") {
                              // Однако игрок уже крут неимоверно, за что и получает супер-пушку
         Text("TS_L6_Q2_2");
         SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
         MarkMsgJ("TS_L6_J_Q2_",  2);
         InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
         SetVar("MEGALASER.1");      // Флаг поднятия квеста
         SetVar("MEGALASER.2");      // Флаг взятия пушки
      } else {
                              // А тут игрок приехал на каком-то корыте, соответственно он получает квест "прилетай на крутой тачке"
         Text ("TS_L6_Q2_1");
         SetMsgJ("TS_L6_J_Q2_1");
         MarkMsgJ("TS_L6_J_Q2_1", 1);
         SetVar("MEGALASER.1");       // Флаг подднятия квеста
      }
   } else {
                              // Игрок брал уже квест
      if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD" || GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER") {
                              // Глайдер есть, так что получи и распишись
         Text("TS_L6_Q2_2");
         SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
         MarkMsgJ("TS_L6_J_Q2_",  2);
         InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
         SetVar("MEGALASER.2");      // Флаг взятия пушки
      } else {
                              // Игрок все еще на корыте - "чувак, тебе же сказано было"
         Text ("TS_L6_Q2_3");
      }
   }

}

_________________
_=S.A.L.K.E.R.=_
"Кто кого еще порвет" - сказала Тузику грелка, надутая до 10 атмосфер
"У нас большие леса. Они способны без остатка поглотить любое воинское формирование" (с)


 Сообщение Сб 26 апр 2008 14:49
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Вот тут, в принципе, всё работает, только сообщение при повторном посещении на рухляди не выдается:
Код:
#include "include\AIM.cpp"
void proc OnEnterBuild(char item)
{
StartScriptEvent("Events\EnterBuild.src", "OnEnterBuild", item);
// У нас уже есть пушка
// Квест:
if (!GetVar("MEGALASER.1")) // Проверка на пушку
{
   if (!GetVar("MEGALASER.2")) // Проверка на квест
   {
      Text ("TS_L6_Q2_1");
      SetMsgJ("TS_L6_J_Q2_1");
      MarkMsgJ("TS_L6_J_Q2_1", 1);
   }
}
else
// если опять припёрся на рухляди, обламываем и напоминаем
if (!GetVar("MEGALASER.2")) // Проверка на квест
{
   Text ("TS_L6_Q2_3"); // Пшел нафиг, у тя глайдер беспонтовый
}
else
{
   if (!GetVar("MEGALASER.1")) // Проверка на пушку
   {
      if (GetItem("GL_M4_A_FORWARD") || GetItem("GL_M4_A_FRONTIER"))  // Проверка на глайдер
      {
         Text ("TS_L6_Q2_2");
         SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
         MarkMsgJ("TS_L6_J_Q2_1", 2);
         InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
         SetVar("MEGALASER.1"); // Закрываем пушку
         SetVar("MEGALASER.2"); // Закрываем квест
      }
   }
}
}


 Сообщение Сб 26 апр 2008 16:10
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1260
Откуда: island Syberia
Зарегистрирован: Ср 10 янв 2007 9:14
у тя после второго else код никогда не будет выполняться

_________________
_=S.A.L.K.E.R.=_
"Кто кого еще порвет" - сказала Тузику грелка, надутая до 10 атмосфер
"У нас большие леса. Они способны без остатка поглотить любое воинское формирование" (с)


 Сообщение Вс 27 апр 2008 7:27
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
И как надо?


 Сообщение Вс 27 апр 2008 8:58
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1260
Откуда: island Syberia
Зарегистрирован: Ср 10 янв 2007 9:14
подправил вторичную выдачу пушки

Код:
#include "include\AIM.cpp"

void proc OnEnterBuild(char item)  {
   StartScriptEvent("Events\EnterBuild.src", "OnEnterBuild", item);

   if (!GetVar("MEGALASER.1")) {      // Квест игрок еще не брал
   
      if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD" || GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER") {
                              // Однако игрок уже крут неимоверно, за что и получает супер-пушку
         Text("TS_L6_Q2_2");
         SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
         MarkMsgJ("TS_L6_J_Q2_",  2);
         InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
         SetVar("MEGALASER.1");      // Флаг поднятия квеста
         SetVar("MEGALASER.2");      // Флаг взятия пушки
      } else {
                              // А тут игрок приехал на каком-то корыте, соответственно он получает квест "прилетай на крутой тачке"
         Text ("TS_L6_Q2_1");
         SetMsgJ("TS_L6_J_Q2_1");
         MarkMsgJ("TS_L6_J_Q2_1", 1);
         SetVar("MEGALASER.1");       // Флаг подднятия квеста
      }
   } else {
                              // Игрок брал уже квест
      if (!GetVar("MEGALASER.2") {
         // У игрока еще нет мегалазера
         if (GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FORWARD" || GetEquipLayer(EQIP_GLIDER)=="GL_M4_A_FRONTIER") {
                              // Глайдер есть, так что получи и распишись
            Text("TS_L6_Q2_2");
            SetQuestPart("TS_L6_J_Q2_1", "TS_L6_J_Q2_2");
            MarkMsgJ("TS_L6_J_Q2_",  2);
            InstallEquipLayer(EQIP_GUN2, "GUN_IMPULSE_MEGALAZER");
            SetVar("MEGALASER.2");      // Флаг взятия пушки
         } else {
                              // Игрок все еще на корыте - "чувак, тебе же сказано было"
         Text ("TS_L6_Q2_3");
         }
      } else {
                              // Игроку уже давали пушку, так что теперь ничего не говорим и не даем.
         ;
      }
   }

}

_________________
_=S.A.L.K.E.R.=_
"Кто кого еще порвет" - сказала Тузику грелка, надутая до 10 атмосфер
"У нас большие леса. Они способны без остатка поглотить любое воинское формирование" (с)


 Сообщение Пт 23 май 2008 18:39
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Возможно определить число кристаллов на текущий момент? В М1 это, кажется, было возможным, а в закомментированных разработчиками скриптах процедура, начисляющая кристаллы, использовалась и как функция, хотя таковой в include не объявлена. :neutral:


 Сообщение Чт 29 май 2008 0:00
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
PA3UJIb писал(а):
} else {
// Игроку уже давали пушку, так что теперь ничего не говорим и не даем.
;
}
Зачем тогда писать? :roll:

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

Krogoth писал(а):
Возможно определить число кристаллов на текущий момент?
Понял, что нет. Всем спасибо.


 Сообщение Чт 29 май 2008 6:01
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
Цитата:
Зачем тогда писать? :roll:

хз, сам же предлагал так написать.


 Сообщение Чт 29 май 2008 18:08
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
Ээ... Ну совсем не так я предлагал. А смысл создавать пустое условие? :hm:


 Сообщение Чт 29 май 2008 19:21
Профиль  
Механоид 5 поколения
Аватара пользователя
Сообщения: 1043
Откуда: Планета Земля
Зарегистрирован: Ср 3 май 2006 10:37
А, извиняюсь :)

Пустое условие... Хм... Ну, просто, чтобы было :)

Цитата:
// В принципе, здесь можно и без дополнтельного массива, но так както эстетичнее, культурнее, @#$*&!
(C) ibash.org.ru


 Сообщение Пт 13 июн 2008 15:55
Профиль  
Новичок
Аватара пользователя
Сообщения: 16
Откуда: От верблюда.
Зарегистрирован: Пт 13 июн 2008 15:15
Как можно назвать Арену, что- бы заработала в игре? И как должен выглядеть скрипт? И как присоеденить к арене сферу?

_________________
Отвечай, не томи!!!


 Сообщение Пт 13 июн 2008 15:57
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
2 mustang
В смысле назвать??? :shock:
Ее делать надо. И скрипты с листа чистого писать. Тут вам не хухры-мухры. :roll:


 Сообщение Пт 13 июн 2008 16:06
Профиль  
Новичок
Аватара пользователя
Сообщения: 16
Откуда: От верблюда.
Зарегистрирован: Пт 13 июн 2008 15:15
Krogoth писал(а):
И скрипты с листа чистого писать

Есть скрипт? Если не рудно, самое простое скинь, где можно хоть чуточку разобраться, остальное сам доработаю.

_________________
Отвечай, не томи!!!


 Сообщение Пт 13 июн 2008 16:08
Профиль  
Скриптизёр
Сообщения: 10646
Откуда: Мариуполь
Зарегистрирован: Пт 13 апр 2007 17:15
void proc OnEnterLocation(char locID)
{
//ГЕНЕРИРУЕМ ПРОТИВНИКОВ
//ID механоидов;
char arena_mech1_name; char arena_mech2_name; char arena_mech3_name;
arena_mech1_name = GetUniqueMechID();
arena_mech2_name = GetUniqueMechID();
arena_mech3_name = GetUniqueMechID();
//создаем противников;
CreateMech(arena_mech1_name, "MT_OBJ_ARENA_PNT1", MT_Config_Generate());
SetMechClan(arena_mech1_name, GetVarChar("mt_config_generate_org"));
if (GetVar("arena_mechs_num_once") >= 2)
{
CreateMech(arena_mech2_name, "MT_OBJ_ARENA_PNT2", MT_Config_Generate());
SetMechClan(arena_mech2_name, GetVarChar("mt_config_generate_org"));
}
if (GetVar("arena_mechs_num_once") == 3)
{
CreateMech(arena_mech3_name, "MT_OBJ_ARENA_PNT3", MT_Config_Generate());
SetMechClan(arena_mech3_name, GetVarChar("mt_config_generate_org"));
}
}

MT_OBJ_ARENA_PNT? у меня точки создания глайдеров. Всего их 3 на локации.
MT_Config_Generate() - процедура, генерирующая конфигурацию глайдера, но вместо нее можешь вписать любую уже существующую.


Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 527 ]  На страницу Пред.  1 ... 6, 7, 8, 9, 10, 11, 12 ... 18  След.

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


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

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


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

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