#1 12-09-2010 12:15

Kostyan
Registered: 27-09-2009
Posts: 94

Как не на тыкаться на одного и того-же актёра/машину/объект

Вобщем сабж, думаю многие сталкивались с такой вещью, когда нужно получить(рандомно) одного актёра, произвести над ним действие, тут же получить следующего актёра и над ним произвести другие действия, а если один и тот же актёр второй раз попадается, то уже каша получиться, так вот как избавится от этого, может, что-то написать в структуру актёра, чтоб потом проверить или что ещё? (В библиотеке клео 4 есть такая возможность, в самом опкоде пропускать мёртвых педов и которых уже вылавливал, но её глюки, не дают нормально работать скрипту)

Offline

#2 13-09-2010 17:52

~AquaZ~
Registered: 01-03-2010
Posts: 726

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

store_next 1 или что-то вроде того

Offline

#3 13-09-2010 19:17

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Что касается опкодов клео4, то они не выбирают случайные объекты, а перебирают все объекты по порядку. Это значит, что пока не будет перебран весь пул, второй раз один и тот же объект выбран не будет. Использовать эти опкоды можно, например, по такой схеме:

if
    0AE1: 21@ = random_actor_near_point 0@ 1@ 2@ in_radius 50.0 find_next 0 pass_deads 1 //IF and SET
then
    repeat
        089F: get_actor 21@ pedtype_to 16@            // здесь
        if and                                            // проверяем, подходит
            16@ == 6                                       //  ли нам данный объект. В примере проверяем
            0364: actor 21@ spotted_actor $PLAYER_ACTOR    // педтип актёра.
        then
                  // производим действия над объектом. Если надо найти только один объект, ставим break
        end
    until 8AE1: not 21@ = random_actor_near_point 0@ 1@ 2@ in_radius 50.0 find_next 1 pass_deads 1 //IF and SET Поиск закончится на том объекте, с которого начали
end

Last edited by Den_spb (13-09-2010 19:17)

Offline

#4 14-09-2010 12:13

Kostyan
Registered: 27-09-2009
Posts: 94

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Вы не поняли вопроса, я имею в виду, как всё это сделать без использования клео 4?

Offline

#5 14-09-2010 16:23

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Тогда так и надо было писать - "без использования клео4". На клео3 можно реализовать это с помощью кода Interceptor, но это будет менее удобно. Рекомендую всё же установить клео4, т.к. во-первых, почти все новые скрипты создаются для клео4, во-вторых, основное количество багов в библиотеке уже исправлено, а в-третьих, старые скрипты, написанные для клео 3, должны без проблем работать и на новой версии клео.

Last edited by Den_spb (14-09-2010 16:25)

Offline

#6 14-09-2010 21:31

Kostyan
Registered: 27-09-2009
Posts: 94

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Den_spb wrote:

Тогда так и надо было писать - "без использования клео4". На клео3 можно реализовать это с помощью кода Interceptor, но это будет менее удобно. Рекомендую всё же установить клео4, т.к. во-первых, почти все новые скрипты создаются для клео4, во-вторых, основное количество багов в библиотеке уже исправлено, а в-третьих, старые скрипты, написанные для клео 3, должны без проблем работать и на новой версии клео.

Я написал в главном вопросе, что мне для клео 3 нужно

Придётся действовать так Спасибо за совет, тот баг выявился у меня в скрипте, а на клео 3 всё без проблем пашет

Offline

#7 15-09-2010 06:50

Alien
Registered: 12-10-2008
Posts: 564

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

А не проще найти, где в твоем скрипте ошибка?

Offline

#8 15-09-2010 10:18

Kostyan
Registered: 27-09-2009
Posts: 94

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Alien wrote:

А не проще найти, где в твоем скрипте ошибка?

ошибка в твоей библиотеке, я уже как-то в той теме писал, что если получить рандомный объект, а потом проверить, тот это который нужен, то игра сразу же вылетает, а в последней версии баг даже при проверки модели педа, а на третий версии всё норм

Offline

#9 15-09-2010 17:05

Den_spb
From: Ленинград
Registered: 23-11-2008
Posts: 941
Website

Re: Как не на тыкаться на одного и того-же актёра/машину/объект

Код можно посмотреть? Ошибки при использовании опкодов этого типа были в SANO, причём игра вылетала на самом опкоде поиска. В клео4 эти опкоды должны работать.

Offline

Board footer

Powered by FluxBB