Help cs

Статус
В этой теме нельзя размещать новые ответы.

Mikhail42

Новичок
Автор темы
14
0
Привет всем. Как можно узнать цвет игрока командой?
То есть узнать свой цвет, потом узнать цвет игрока в которого целишься.

0B2B: 20@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B37: 21@ = get_player_color 20@
0AD2: 22@ = get_player_id $PLAYER_CHAR targeted_actor
0B37: 23@ = get_player_color 22@

написал такое, выдает ошибку в сравнении 21@ и 23@

компиляцию прошел, выстрел при совпадении цвета все равно идет


Не гнобите, я только учусь. :)
 
Последнее редактирование:
202
93
Не понял тебя, но все же набросал не много.За работоспособность не отвечаю, не чекал в игре.Тапками не кидать в меня.
CLEO:
WHILE TRUE
WAIT 0
  IF AND
   0ADC:   test_cheat "J"
    0AD2: 0@ = player $PLAYER_CHAR targeted_actor
     THEN
      0B2B: samp 1@ = get_player_id_by_actor_handle 0@
       0B37: samp 2@ = get_player_color 1@
        0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
         0B37: samp 4@ = get_player_color 3@
          IF 0C14: strcmp string1 4@ string2 2@
           THEN
            WAIT 255
             CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Ну, скажу одно.У вас с %d цвета ника одинаковы." -1 1@
              ELSE
               CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} В общем, у вас с %d разные цвета ников." -1  1@
                END
                 END
                  END
 
  • Нравится
Реакции: Mikhail42

Mikhail42

Новичок
Автор темы
14
0
Не понял тебя, но все же набросал не много.За работоспособность не отвечаю, не чекал в игре.Тапками не кидать в меня.
CLEO:
WHILE TRUE
WAIT 0
  IF AND
   0ADC:   test_cheat "J"
    0AD2: 0@ = player $PLAYER_CHAR targeted_actor
     THEN
      0B2B: samp 1@ = get_player_id_by_actor_handle 0@
       0B37: samp 2@ = get_player_color 1@
        0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
         0B37: samp 4@ = get_player_color 3@
          IF 0C14: strcmp string1 4@ string2 2@
           THEN
            WAIT 255
             CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Ну, скажу одно.У вас с %d цвета ника одинаковы." -1 1@
              ELSE
               CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} В общем, у вас с %d разные цвета ников." -1  1@
                END
                 END
                  END


Спасибо, ошибку учел , что считал хэндл, а после него ид не считывал. Благодарю. :)
 

Mikhail42

Новичок
Автор темы
14
0
Вопрос еще, какая команда с опкодом, узнать нацелен ты на игрока или нет?
 

Mikhail42

Новичок
Автор темы
14
0
И как сделать проверку, находится ли игрок за стеной?
 

Mikhail42

Новичок
Автор темы
14
0
00D6: if and
0AB0: key_pressed 16

then
0AD2: samp 22@ = get_player_id $PLAYER_CHAR targeted_actor
0B2B: samp 23@ = get_player_id_by_actor_handle 22@
0B37: samp 24@ = get_player_color 23@
0B2B: samp 20@ = get_player_id_by_actor_handle $PLAYER_ACTOR
0B37: samp 21@ = get_player_color 20@

00D6: if
21@ <> 24@
then
0B56: set_game_key 17 state 255
end
end




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


Как пофиксить?
 
202
93
CLEO:
00D6: if  and
0AB0: key_pressed 16

        then
        0AD2: samp 22@ = get_player_id $PLAYER_CHAR targeted_actor
        0B2B: samp 23@ = get_player_id_by_actor_handle 22@
        0B37: samp 24@ = get_player_color 23@
        0B2B: samp 20@ = get_player_id_by_actor_handle $PLAYER_ACTOR
        0B37: samp 21@ = get_player_color 20@
   
        00D6: if
                21@ <> 24@
                then
                0B56: set_game_key 17 state 255
                end
        end




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


Как пофиксить?
1. Проверка на то что нажата клавиша и игрок прицелился на игрока.
CLEO:
IF AND
0AB0: key_pressed 16
0AD2: 22@ = player $PLAYER_CHAR targeted_actor
THEN
2. Попробуй так...
CLEO:
WHILE TRUE
WAIT 0
  IF AND
  0AB0: key_pressed 16
    0AD2: 0@ = player $PLAYER_CHAR targeted_actor
     THEN
     ALLOC 2@ 256
     ALLOC 4@ 256
     MEMSET 2@ 0x0 256
     MEMSET 4@ 0x0 256
      0B2B: samp 1@ = get_player_id_by_actor_handle 0@
       0B37: samp 2@ = get_player_color 1@
        0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
         0B37: samp 4@ = get_player_color 3@
          IF 0C14: strcmp string1 4@ string2 2@
           THEN
            WAIT 255
             CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Стрелять в него я не буду конечно. " -1
              ELSE
               CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Сейчас я начну стрелять..." -1
             0B56: set_game_key 17 state 255
                END
                 END
                  END
 
Последнее редактирование:
  • Нравится
Реакции: Mikhail42

Mikhail42

Новичок
Автор темы
14
0
1. Проверка на то что нажата клавиша и игрок прицелился на игрока.
CLEO:
IF AND
0AB0: key_pressed 16
0AD2: 22@ = player $PLAYER_CHAR targeted_actor
THEN
2. Попробуй так...
CLEO:
WHILE TRUE
WAIT 0
  IF AND
  0AB0: key_pressed 16
    0AD2: 0@ = player $PLAYER_CHAR targeted_actor
     THEN
     ALLOC 2@ 256
     ALLOC 4@ 256
     MEMSET 2@ 0x0 256
     MEMSET 4@ 0x0 256
      0B2B: samp 1@ = get_player_id_by_actor_handle 0@
       0B37: samp 2@ = get_player_color 1@
        0B2B: samp 3@ = get_player_id_by_actor_handle $PLAYER_ACTOR
         0B37: samp 4@ = get_player_color 3@
          IF 0C14: strcmp string1 4@ string2 2@
           THEN
            WAIT 255
             CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Стрелять в него я не буду конечно. " -1
              ELSE
               CHATMSG "{FFFFFF}[CLEO]:{A8A3FF} Сейчас я начну стрелять..." -1
             0B56: set_game_key 17 state 255
                END
                 END
                  END


Благодарю, тебя. Лайк поставил :)
Мб ты знаешь как проверку на стены еще сделать? Извини за тупость, просто я только учусь, мб ты знаешь. :)


00D6: if
86BD: not no_obstacles_between 3@ 4@ 5@ and 6@ 7@ 8@ solid 0 car 0 actor 1 object 0 particle 0


вот это, только я нашел опкод 06BD тип, не то?
 
Последнее редактирование:
202
93
Благодарю, тебя. Лайк поставил :)
Мб ты знаешь как проверку на стены еще сделать? Извини за тупость, просто я только учусь, мб ты знаешь. :)


00D6: if
86BD: not no_obstacles_between 3@ 4@ 5@ and 6@ 7@ 8@ solid 0 car 0 actor 1 object 0 particle 0


вот это, только я нашел опкод 06BD тип, не то?
Вроде то.Не забудь записать координаты игроков.
CLEO:
00A0: store_actor 0@ position_to 3@ 4@ 5@
00A0: store_actor $PLAYER_ACTOR position_to 6@ 7@ 8@
 

Mikhail42

Новичок
Автор темы
14
0
Вроде то.Не забудь записать координаты игроков.
CLEO:
00A0: store_actor 0@ position_to 3@ 4@ 5@
00A0: store_actor $PLAYER_ACTOR position_to 6@ 7@ 8@


Ошибку выдает. Переменные 3 4 5 6 7 8 определять как-то нужно?

вот код, но не понимаю как учесть еще игрока второго на которого нацелен
00A0: store_actor $PLAYER_ACTOR position_to 0@ 1@ 2@
00D6: if
86BD: not no_obstacles_between 3@ 4@ 5@ and 6@ 7@ 8@ solid 0 car 0 actor 1 object 0 particle 0 //стены
 
Статус
В этой теме нельзя размещать новые ответы.