10 марта 2013 г.

Умные деньги

Создаём "умные" деньги
С этим скриптом создание пикапов денег станет чем-то новым, ведь система имеет "разум", находит препятствия и учитывает их при создании денег. Управление:
"INT" - включить скрипт
Войти в машину - отключить скрипт
Действие - создание денег (держать до появления денег)
Прошу прощения за долгую задержку, мало было времени, к тому же Blogger не сохраняет отступы, поэтому приходится пользоваться пробелами, чтобы сохранить хотя бы похожесть на изначальный вид. Я добавил выделение частей цифрами жёлтого цвета.


{$CLEO}
0000:
while true //1
wait 0
   if //2
   player.Defined(0)
   then
     if and //3 
     not actor.Dead($PLAYER_ACTOR)
     not actor.Driving($PLAYER_ACTOR)
     0ADC: test_cheat "INT"
     then
     018C: play_sound 1054 at 0.0 0.0 0.0
     03BF: set_player 0 ignored_by_everyone 1
     actor.SetImmunities($PLAYER_ACTOR,1,1,1,1,1)
     0489: set_actor $PLAYER_ACTOR muted 1
      repeat //4
      wait 0
       if //5  
       00E1: player 0 pressed_key 4
       then
       04C4: store_coords_to 3@ 4@ 5@ from_actor $PLAYER_ACTOR with_offset 0.0 0.0 0.0
       04C4: store_coords_to 0@ 1@ 2@ from_actor $PLAYER_ACTOR with_offset 0.0 7.0 0.0
       04C4: store_coords_to 9@ 10@ 11@ from_actor $PLAYER_ACTOR with_offset 0.0 7.0 -3.0
        if and //6
        06BD: no_obstacles_between 0@ 1@ 2@ and 3@ 4@ 5@ solid 1 car 0 actor 0 object 1 particle 0
        86BD: not no_obstacles_between 0@ 1@ 2@ and 9@ 10@ 11@ solid 1 car 0 actor 0 object 1 particle 0
        then
        pickup.Destroy(7@)
        marker.Disable(8@)
        0395: clear_area 1 at 0@ 1@ 2@ radius 10.0
        02E1: 7@ = create_cash_pickup 50 at 0@ 1@ 2@ permanence_flag 1
        03DC: 8@ = create_marker_above_pickup 7@
        018C: play_sound 1054 at 0.0 0.0 0.0
        wait 750
        else
        6@ = actor.Angle($PLAYER_ACTOR)
        6@ += 5.0
        actor.Angle($PLAYER_ACTOR) = 6@
        end //6
       end //5
      until 00E1: player 0 pressed_key 15 //4
     pickup.Destroy(7@)
     marker.Disable(8@)
     018C: play_sound 1054 at 0.0 0.0 0.0
     03BF: set_player 0 ignored_by_everyone 0
     actor.SetImmunities($PLAYER_ACTOR,0,0,0,0,0)
     0489: set_actor $PLAYER_ACTOR muted 0
    end //3
   end //2
end //1

Комментариев нет: