Скрипты - Страница 26 - Форум HeroesWorld-а

Быстрая навигация по основным разделам форума:
Турниры
КАРТЫ
Heroes 6
Heroes 5
Heroes 4
Heroes 3
Heroes 2
Heroes 1
Might&Magic

Герои Меча и Магии 5 - Картостроительство (Редактор карт) В этом разделе можно обсуждать все что касается редактора карт для Heroes of Might and Magic V. Так же здесь обсуждаем картостроительство.

Ответ
Страница 26 из 267
 
Опции темы
#376
Старый 18.02.2012, 21:45
  #376
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07это я понял - просто для того , чтобы команда эта(MarkObjectAsVisited) работала объект должен быть выключен - вот и другие герои с ним не могут взаимодействовать
Ну а че пишу - обьект выключен если че.
. Скриптами выключен он - иначе работает не так как надо. Взаимодействие через TOUCH_TRIGGER
JonnyP вне форума
Ответить с цитированием
#377
Старый 18.02.2012, 21:48
  #377
^
antonag07
📖
Регистрация: 29.09.2008
Сообщения: 691
Регистрация: 29.09.2008
Сообщения: 691
По умолчанию
Re: Скрипты

JonnyPНу а че пишу - обьект выключен если че.
. Скриптами выключен он - иначе работает не так как надо. Взаимодействие через TOUCH_TRIGGER

пробуй другой сопособ- выключение путем region_enter_and_stop_trigger
antonag07 вне форума
Ответить с цитированием
#378
Старый 18.02.2012, 21:51
  #378
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07пробуй другой сопособ- выключение путем enter_and_stop_trigger
Другие способы не подойдут. Перепробовал уже. Просто не ясно че такая функция геморная - не хочет правильно работать
JonnyP вне форума
Ответить с цитированием
#379
Старый 18.02.2012, 21:56
  #379
^
antonag07
📖
Регистрация: 29.09.2008
Сообщения: 691
Регистрация: 29.09.2008
Сообщения: 691
По умолчанию
Re: Скрипты

а не может быть заковыкой с именем ? (т.е. игра считает ' geroy' весь массив героев под управлением игрока )
antonag07 вне форума
Ответить с цитированием
#380
Старый 18.02.2012, 22:07
  #380
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07а не может быть заковыкой с именем ? (т.е. игра считает ' geroy' весь массив героев под управлением игрока )
Ну вот, гляди, часть скрипта:
num_stone=3; --kol-vo demon. kamnei
for i=1,num_stone do
SetObjectEnabled ('stone_'..i,nil);
Trigger (OBJECT_TOUCH_TRIGGER,'stone_'..i,'up_herolider');
end;

function up_herolider(geroi,object)
if geroi==Larion then
................
MarkObjectAsVisited (object,geroi);
.................
else
if geroi==Derin then
.................
MarkObjectAsVisited (object,geroi);
end;end;
end; ..............

Derin и Larion - константы(имена героев), там еще мног чего, но основа есть. При 'контакте' любого из героев, для второго героя при нажатии на обьект 'stone' ПКМ пишет 'уже посещалось', но если подойти то бонус дается нормально. Визуально не углядишь - был у обьекта один герой, или оба - неясно пол-ся.
JonnyP вне форума
Ответить с цитированием
#381
Старый 18.02.2012, 22:47
  #381
^
antonag07
📖
Регистрация: 29.09.2008
Сообщения: 691
Регистрация: 29.09.2008
Сообщения: 691
По умолчанию
Re: Скрипты

Я и хотел сразу у тебя спросить про сообщение при наведенном курсоре ; ибо так получается не слишком играбельно.

А если запускать потоки на предмет проверки посещения объекта тем или иным героем ?
antonag07 вне форума
Ответить с цитированием
#382
Старый 18.02.2012, 23:01
  #382
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07Я и хотел сразу у тебя спросить про сообщение при наведенном курсоре ; ибо так получается не слишком играбельно.

А если запускать потоки на предмет проверки посещения объекта тем или иным героем ?
думаю не стоит - таких обьектов минимум 50 будет, слишком затармаживать игру будет. Помимо этого будут и другие потоки. Ну ты вообщем не знаешь в чем дело?
JonnyP вне форума
Ответить с цитированием
#383
Старый 19.02.2012, 00:17
  #383
^
antonag07
📖
Регистрация: 29.09.2008
Сообщения: 691
Регистрация: 29.09.2008
Сообщения: 691
По умолчанию
Re: Скрипты

JonnyPдумаю не стоит - таких обьектов минимум 50 будет, слишком затармаживать игру будет. Помимо этого будут и другие потоки. Ну ты вообщем не знаешь в чем дело?


не знаю - могу только предполагать ;

пробовал записывать такое значение - MarkObjectAsVisited(sObjectID,true);
где sObjectID - скриптовое имя объекта
?
antonag07 вне форума
Ответить с цитированием
#384
Старый 19.02.2012, 00:35
  #384
^
KioM
 
Аватар для KioM
📖
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
По умолчанию
Re: Скрипты

for i=1,num_stone do
SetObjectEnabled ('stone_'..i,nil);
Trigger (OBJECT_TOUCH_TRIGGER,'stone_'..i,'up_herolider');
end;

в циклах чтото не чисто, поробуйте иначе объект отрубать, например все три камня назвать по разному: stone01, stone02, stone03 и затем в скрипте выбрать их:
	
stone = {'stone01', 'stone02', 'stone03'};
stone.n = length(stone);
...
for i=1, stone.n do
    SetObjectEnabled (stone[i],nil);
    Trigger (OBJECT_TOUCH_TRIGGER,stone[i],'up_herolider'); 
end;
...

KioM вне форума
Ответить с цитированием
#385
Старый 19.02.2012, 00:45
  #385
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07не знаю - могу только предполагать ;

пробовал записывать такое значение - MarkObjectAsVisited(sObjectID,true);
где sObjectID - скриптовое имя объекта
?
да - соответственно выдает ошибку что нет героя '1' на карте. и третим параметром true ставил - думал может в мануале ошибка. Эффект то в принципе и так достигается, но не для отдельного героя.

Добавлено через 2 минуты
KioMв циклах чтото не чисто, поробуйте иначе объект отрубать, например все три камня назвать по разному: stone01, stone02, stone03 и затем в скрипте выбрать их:
	
stone = {'stone01', 'stone02', 'stone03'};
stone.n = length(stone);
...
for i=1, stone.n do
    SetObjectEnabled (stone[i],nil);
    Trigger (OBJECT_TOUCH_TRIGGER,stone[i],'up_herolider'); 
end;
...


этот цикл вполне рабочий - уже не раз проверено. Ты предлагаешь сделать то же самое, но более долгим способом. (а если у меня 1000 'stone' будет? )
JonnyP вне форума
Ответить с цитированием
#386
Старый 19.02.2012, 00:48
  #386
^
KioM
 
Аватар для KioM
📖
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
По умолчанию
Re: Скрипты

я возможно не верно понял MarkObjectAsVisited работает но не для конкретного героя а для всех?
KioM вне форума
Ответить с цитированием
#387
Старый 19.02.2012, 00:49
  #387
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

KioMя возможно не верно понял MarkObjectAsVisited работает но не для конкретного героя а для всех?
да. Чуть выше постами я уже писал про это
JonnyP вне форума
Ответить с цитированием
#388
Старый 19.02.2012, 00:56
  #388
^
antonag07
📖
Регистрация: 29.09.2008
Сообщения: 691
Регистрация: 29.09.2008
Сообщения: 691
По умолчанию
Re: Скрипты

JonnyPда - соответственно выдает ошибку что нет героя '1' на карте. и третим параметром true ставил - думал может в мануале ошибка. Эффект то в принципе и так достигается, но не для отдельного героя.[u]

)


а ошибка с именем героя всегда выдавалась или только после MarkObjectAsVisited(sObjectID,true);
?

( ибо в сообщ. 379 я выдвыинул и такое предположение )
antonag07 вне форума
Ответить с цитированием
#389
Старый 19.02.2012, 01:01
  #389
^
JonnyP
📖
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
Регистрация: 01.09.2011
Сообщения: 462
Отправить сообщение для  JonnyP с помощью ICQ
По умолчанию
Re: Скрипты

antonag07а ошибка с именем героя всегда выдавалась или только после MarkObjectAsVisited(sObjectID,true);
?

( ибо в сообщ. 379 я выдвыинул и такое предположение )
конечно после того, как изменяешь параметры функции. Все ошибки ж легко print'ами ловятся.
Дааа, нехорошая будет проблема у игроков - не знать, какой обелиск посещен
JonnyP вне форума
Ответить с цитированием
#390
Старый 19.02.2012, 01:02
  #390
^
KioM
 
Аватар для KioM
📖
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
Регистрация: 01.02.2012
Адрес: Херсон, Украина
Сообщения: 351
Выставка наград
По умолчанию
Re: Скрипты

а тогда сори не правильно понял (сонный уже ), вот так делайте:

Trigger (OBJECT_TOUCH_TRIGGER,'stone_'..i,'up_herolider');

function up_herolider(geroi,object)
if geroi ==Larion then
................
- MarkObjectAsVisited (object,geroi);
+MarkObjectAsVisited (object,Larion);
.................
и т.п. т.е. напрямую на конкретного героя ссылайтесь
KioM вне форума
Ответить с цитированием
Ответ
Страница 26 из 267


Опции темы



Часовой пояс GMT +4, время: 01:32.


vBulletin v3.5.0, Copyright ©2000-2026, Jelsoft Enterprises Ltd. (Русский)

Яндекс цитирование    Top.Mail.Ru