#2501 18-09-2010 17:45

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

Re: Один вопрос

Он удаляется и создаётся снова, поскольку у тебя бесконечный цикл.
thread 'MCLA' в клео-скрипте писать не нужно.

Offline

#2502 19-09-2010 05:01

Sergey81
Registered: 19-12-2008
Posts: 654

Re: Один вопрос

Thread удалил, спасибо.
Теперь интересует, почему при использовании опкода 0922: set_camera_zoom_in_factor 1@ out_factor 70.0 timelimit 1 mode 2(или 0931: lock_camera_zoom 1)  происходит это:
e59642c2e421c7caadf370e98dccb939.jpeg 
?

Last edited by Sergey81 (19-09-2010 05:07)

Offline

#2503 19-09-2010 08:39

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

А что это собственно такое? Это опкоды для зумирования камеры.

Offline

#2504 19-09-2010 12:26

DOG-GHOST
From: Honduras
Registered: 28-02-2010
Posts: 14
Website

Re: Один вопрос

В Вайс-Сити в миссиях на время какой опкод отвечает ?

Offline

#2505 20-09-2010 03:33

Sergey81
Registered: 19-12-2008
Posts: 654

Re: Один вопрос

Sw[ee]t wrote:

А что это собственно такое? Это опкоды для зумирования камеры.

Незнаю, у меня их использование вот так рушит всю графику.

ЗЫ. Как можно сделать вход в меню карты по кнопке? Я добился того, что по нажатию кастом кнопки, меняя адрес в памяти вхожу в меню, проблема в том, что следующая часть кода, которая меняет Current menu id не срабатывает. Ну и соответственно хотелось бы выход из карты в игру по нажатию той же кнопки.

Offline

#2506 20-09-2010 09:31

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

соответственно хотелось бы выход из карты в игру по нажатию той же кнопки.

Не получится такое сделать. Если ты делаешь скрипт - то он обрабатывается когда ты в игре, но не в меню. Если бы делал asi плагин, то мог бы реализовать и такое (только на кой чёрт оно нужно).
Это является ответом на твой первый вопрос о:

проблема в том, что следующая часть кода, которая меняет Current menu id не срабатывает.

Offline

#2507 20-09-2010 11:06

Sergey81
Registered: 19-12-2008
Posts: 654

Re: Один вопрос

Sw[ee]t wrote:

соответственно хотелось бы выход из карты в игру по нажатию той же кнопки.

Не получится такое сделать. Если ты делаешь скрипт - то он обрабатывается когда ты в игре, но не в меню. Если бы делал asi плагин, то мог бы реализовать и такое (только на кой чёрт оно нужно).
Это является ответом на твой первый вопрос о:

проблема в том, что следующая часть кода, которая меняет Current menu id не срабатывает.

Нужно чтобы направить вертолёт(или машину) по направлению к метке, причём не один раз, для облёта чего либо например. По быстрому вызову карты будет гораздо удобнее.

Offline

#2508 20-09-2010 12:24

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

Ну так в чём проблема?
Заморозь игрока, выйди в меню. Далее (уже сам) нажми карта и поставь метку где надо. Если меню закрыто (есть опкод-проверка) то считывай координаты метки и делай с ней что хочешь.

Offline

#2509 20-09-2010 13:30

Sergey81
Registered: 19-12-2008
Posts: 654

Re: Один вопрос

Sw[ee]t wrote:

Ну так в чём проблема?
Заморозь игрока, выйди в меню. Далее (уже сам) нажми карта и поставь метку где надо. Если меню закрыто (есть опкод-проверка) то считывай координаты метки и делай с ней что хочешь.

Да не, с этим то проблем нет, суть в том что если например нужно прилететь в одно место, постоять там, потом в другое и т.д. несколько раз, комбинация Карта - Метка - Возврат будет быстрее и удобнее, чем Меню - Карта - Метка - Меню - Возврат.
Кстати, нету простенького исходника какой-нибудь ASI, чтоб туда вписать подобный код?
Ибо с нуля мне не написать, а в исходниках больших модов разбираться долго.

0000: NOP

0A8D: 1@ = read_memory 0xBA67A4 size 4 virtual_protect 0 
0A8D: 2@ = read_memory 0xBA68A4 size 4 virtual_protect 0 

:Noname_16
wait 0 
if and
1@ = 0
2@ = 0
0AB0:  key_pressed 9
jf @Noname_17 
//0A8C: write_memory 0xB7CB48 size 4 value 0x000100 virtual_protect 0
0A8C: write_memory 0xBA67A4 size 4 value 0x000001 virtual_protect 0
0A8C: write_memory 0xBA68A4 size 4 value 0x290501 virtual_protect 0
jump @Noname_16

:Noname_17
wait 0
if and
1@ = 0x000001
2@ = 0x290501
0AB0:  key_pressed 9
//0A8C: write_memory 0xB7CB48 size 4 value 0x000000 virtual_protect 0
0A8C: write_memory 0xBA67A4 size 4 value 0x000000 virtual_protect 0
0A8C: write_memory 0xBA68A4 size 4 value 0x000000 virtual_protect 0
jump @Noname_16

По табу, появляется карта(причём реалтаймовая), правда отваливаются некоторые текстуры в меню(в примере видно по белому квадрату у курсора), и не работает мышь.
Как бы мышь пофиксить...

UPD. Done - http://sannybuilder.com/forums/viewtopi … 427#p12427

Last edited by Sergey81 (21-09-2010 09:01)

Offline

#2510 23-09-2010 19:28

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Вот ещё такой вопрос, можно сделать чтоб определённый актёр никогда не истекал кровью?

Offline

#2511 23-09-2010 23:54

Amaimon
From: Yakutsk
Registered: 20-03-2009
Posts: 11

Re: Один вопрос

0332: set_actor 1@ bleeding_to 0


Эпитафия на могиле фидошника: "Меня видно?"

Offline

#2512 25-09-2010 09:54

d88
Registered: 15-12-2009
Posts: 254
Website

Re: Один вопрос

Amaimon wrote:

0332: set_actor 1@ bleeding_to 0

Мне нужно чтоб НИКОГДА, даже его бить мечом или ножом, и даже он мёртв.

Offline

#2513 26-09-2010 21:30

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

Re: Один вопрос

Как получить хэндл того, кто бьёт или среляет в актёра?

Offline

#2514 27-09-2010 05:33

GTASA
Registered: 13-09-2008
Posts: 476

Re: Один вопрос

Функция возвращает в 1@ хендл актера, который атаковал актера $PLAYER_ACTOR.
0AB1: call_scm_func @GetActorDamagingPed 1 $PLAYER_ACTOR 1@

GetActorDamagingVehicle
записывает хендл машины, которая сбила актера.

GetVehicleDamagingPed
записывает хендл актера, который повредил машину

GetVehicleDamagingVehicle
записывает хендл машины, которая толкнула машину

{$CLEO}

0000:
while true
      wait 0
      if
          Player.Defined($PLAYER_CHAR)
      then

          {**********************************************

              есл и актера $PLAYER_ACTOR ранил другой актер,
              получаем хендл атаковавшего актера в 1@         
            
          **********************************************}                  
            
          if
              031 D:   actor $PLAYER_ACTOR hit_by_weapon 57  // 57 by any weapon
          then              
              if
                  0AB1: call_scm_func @GetActorDamagingPed 1 $PLAYER_ACTOR 1@
              then
                  0467: clear_actor $PLAYER_ACTOR last_weapon_damage
                  // здесь с актером, который в вас стрелял, можно делать что угодно. его хендл в 1@
                    
                  // например, подожжем!!!!
                  055D: make_player $PLAYER_CHAR fireproof 1 // это на всякий случай, можно убрать
                    
                  0326: 9@ = create_actor 1@ fire                     
              end
          end

          {**********************************************

              если актера $PLAYER_ACTOR сбили машиной,
              получаем хендл сбившей машины в 1@         
            
          **********************************************}                  

          if
              031D:   actor  $PLAYER_ACTOR hit_by_weapon 49  // 49 by vehicle
          then              
              if
                  0AB1: call_scm_func @GetActorDamagingVehicle 1 $PLAYER_ACTOR 1@
              then
                  0467: clear_actor $PLAYER_ACTOR last_weapon_damage
                  // здесь с машиной, которая вас сбила, можно делать что угодно. ее хендл в 1@
                    
                  // например, подожжем!!!!
                  055D: make_player $PLAYER_CHAR fireproof 1 // это на всякий случай, можно убрать
                    
                  0325: 9@ = create_car 1@ fire   
                      
              end
          end

            
          if
              Actor.Driving($PLAYER_ACTOR)
          t hen
              03C0: 0@ = actor $PLAYER_ACTOR car

              {**********************************************
        
                  если машину 0@ повредили из оружия,
                  получаем хендл атаковавшего актера в 1@         
                
              **********************************************}                  
                
              if
                  0 31E:   car 0@ hit_by_weapon 57
              then
                  if
                      0AB1: call_scm_func @GetVehicleDamagingPed 1 0@ 1@
                  then
                      0468: clear_car 0@ last_weapon_damage   
                      // здесь с актером, который повредил машину, можно делать что угодно. его хендл в 1@
                        
                      // например, подожжем!!!!
                       
                      0326: 9@ = create_actor 1@ fire                     
                  end
                
              end

              {****************************************** ****
        
                  если машину 0@ толкнули другой машиной,
                  получаем хендл толкнувшей машины в 1@         
                
              **********************************************}                  
                
              if
                  0 31E:   car 0@ hit_by_weapon 49
              then
                  if
                      0AB1: call_scm_func @GetVehicleDamagingVehicle 1 0@ 1@
                  then
                      0468: clear_car 0@ last_weapon_damage   
                      // здесь с актером, который повредил машину, можно делать что угодно. его хендл в 1@
                        
                      // например, подожжем!!!!
                       
                      0325: 9@ = create_car 1@ fire                     
                  end
                
              end

              {****************************************** ****}          
            
          end

      end   
end

:GetActorDamagingPed
0A96: 1@ = actor 0@ struct
1@ += 0x764

:TestPed
0A8D: 0@ = read_memory 1@ size 4 virtual_protect 0
if
      0@ > 0
then
      0A8D: 8@ = read_memory 0x00B74490 size 4 virtual_protect 0
      0AA8: call_function_method 0x4442D0 struct 8@ num_params 1 pop 0 0@ 1@
      if
          056D:   actor 1@ defined
      then
          0AB2: ret 1 1@
      end
end
0AB2: ret 1 -1                         

:GetActorDamagingVehicle
0A96: 1@ = actor 0@ struct
1@ += 0x764

:TestVehicle
0A8D: 0@ = read_memory 1@ size 4 virtual_protect 0
if
      0@ > 0
then
      0A8D: 8@ = read_memory 0x00B74494 size 4 virtual_protect 0
      0AA8: call_function_method 0x424160 struct 8@ num_params 1 pop 0 0@ 1@
      if
          056E:   car 1@ defined   
      then
          0AB2: ret 1 1@
      end
end
0AB2: ret 1 -1                         

:GetVehicleDamagingPed
0A97: 1@ = car 0@ struct
1@ += 0x50C
jump @TestPed

:GetVehicleDamagingVehicle
0A97: 1@ = car 0@ struct
1@ += 0x50C
jump @TestVehicle

Offline

#2515 27-09-2010 16:59

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

Re: Один вопрос

Спасибо, GTASA!

Offline

#2516 28-09-2010 01:10

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

@GTASA - может проще было дать ссылку?))
http://sannybuilder.com/forums/viewtopic.php?id=250

Offline

#2517 29-09-2010 00:23

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Один вопрос

Сообщения в данной теме были выделены в отдельный топик
[WIP] Автосохранение

Offline

#2518 01-10-2010 20:44

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

Re: Один вопрос

Как определить, к какой группе принадлежит актёр?

Offline

#2519 01-10-2010 20:56

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

Re: Один вопрос

089F: get_actor 35@(37@,2i) pedtype_to 519@

Offline

#2520 01-10-2010 21:07

CraZZZy-GameRRR
From: Москва
Registered: 11-08-2009
Posts: 97
Website

Re: Один вопрос

Нет, под группой я не pedtype имел ввиду, а когда несколько гангстеров вместе идут.

Offline

#2521 02-10-2010 07:27

Sw[ee]t
From: Нижний Новгород
Registered: 16-02-2009
Posts: 686
Website

Re: Один вопрос

Если не ошибаюсь, он проверяет.

EDIT:
Ошибся, он устанавливает. Можно проверить присутствие игрока в какой-либо группе?

Last edited by Sw[ee]t (02-10-2010 07:30)

Offline

#2522 03-10-2010 06:46

BoPoH
From: Каушаны
Registered: 21-02-2009
Posts: 77

Re: Один вопрос

CraZZZy-GameRRR wrote:

Как определить, к какой группе принадлежит актёр?

а у тебя несколько групп?
если ты знаешь хэндлы всех групп, можно сделать несколько проверок опкодом

06EE:   actor 263@ in_group 260@

Last edited by BoPoH (03-10-2010 06:48)


userbar.png

Offline

#2523 03-10-2010 14:45

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

Re: Один вопрос

Как можно убрать дорожный трафик, т. е. что бы на дорогах не было машин?


SNKillers.net - всё о взломе и защите социальных сетей

Offline

#2524 03-10-2010 15:30

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Один вопрос

01EB: set_traffic_density_multiplier_to 0.0
actor.StorePos($PLAYER_ACTOR,0@,1@,2@)
0395: clear_area 1 at 0@ 1@ 2@ radius 10000.0


GIMS developer

Offline

#2525 03-10-2010 17:22

mr.Andrei
Registered: 03-07-2010
Posts: 38
Website

Re: Один вопрос

Спасибо!


SNKillers.net - всё о взломе и защите социальных сетей

Offline

Board footer

Powered by FluxBB