Перейти к содержанию

Обсуждение и публикация Cleo-скриптов


Рекомендуемые сообщения

Подскажите, пожалуйста, как мне получить координаты места где CJ погиб, или его забрали в тюрьму (последний раз)?

IMHO, можно попробовать через события актера (см. help к Sanny Builder).
Ссылка на комментарий
Поделиться на другие сайты

Вроде, где-то был даже готовый скрипт, где рестарт игрока после ареста или гибели происходит в координатах этих событий.
Ссылка на комментарий
Поделиться на другие сайты

Как сделать так, чтобы команда действовала только на игроков в оперд. радиусе(Вопрос по КЛЕО из САМП)

P.s. Напишите, пожалуйста, код

Ссылка на комментарий
Поделиться на другие сайты

Мне нужна помощь в создании cleo скрипта, так как изучать скриптинг ради одного небольшого скрипта нет желания.

Кто хочет помочь пишите, возможно денежное вознаграждение)

Ссылка на комментарий
Поделиться на другие сайты

Решил модернизировать скрипт Undercover Patrol с целью превратить его в Highway Patrol, но...

 

Данный скрипт должен активироваться, если у игрока больше одной звезды. Проблема с проверкой уровня розыска игрока. Игра грузится и зависает на экране загрузки. Без этой проверки работает. В чём причина?

 

style_images/icon_plus_1.gif Раскрывающийся текст
// This file was decompiled using SASCM.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$CLEO .cs}

//-------------MAIN---------------
thread 'SAUC' 
4@ = 490 
5@ = 346 
7@ = 250 
8@ = 183 

:SAUC_00
if and
   Player.Defined($PLAYER_CHAR)
   Player.WantedLevel($PLAYER_CHAR) > 1
jf @SAUC_00 
if 
   8154:   not actor $PLAYER_ACTOR in_zone 'LS'
jf @SAUC_00 
if
   8154:   not actor $PLAYER_ACTOR in_zone 'SF'
jf @SAUC_00 
if 
   8154:   not actor $PLAYER_ACTOR in_zone 'VE'
jf @SAUC_00

:SAUC_43
wait 500 
if and
  9@ == 0 
  $ONMISSION == 0
jf @SAUC_00 

:SAUC_89
wait 0 
0@ = -1 
if 
   Player.Defined($PLAYER_CHAR)
jf @SAUC_89 
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset -200.0 200.0 0.0 
04C4: store_coords_to 14@ 15@ 16@ from_actor $PLAYER_ACTOR with_offset 200.0 400.0 0.0 
053E: 0@ = get_random_car_with_model -1 in_rectangle_cornerA 11@ 12@ cornerB 14@ 15@ 
if 
   not 0@ == -1 
jf @SAUC_218 
jump @SAUC_320 

:SAUC_218
04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset -200.0 -200.0 0.0 
04C4: store_coords_to 14@ 15@ 16@ from_actor $PLAYER_ACTOR with_offset 200.0 -400.0 0.0 
053E: 0@ = get_random_car_with_model -1 in_rectangle_cornerA 11@ 12@ cornerB 14@ 15@ 
if 
   not 0@ == -1 
jf @SAUC_89 
jump @SAUC_320 

:SAUC_320
0407: store_coords_to 17@ 18@ 19@ from_car 0@ with_offset 0.0 0.0 0.0 
10@ = Car.Angle(0@)
gosub @SAUC_1758 
Model.Load(4@)
Model.Load(7@)
Model.Load(8@)
Model.Load(5@)
Model.Load(#COLT45)

:SAUC_389
wait 0 
if and
   Model.Available(4@)
   Model.Available(7@)
   Model.Available(8@)
   Model.Available(5@)
   Model.Available(#COLT45)
jf @SAUC_389 
Car.Destroy(0@)
1@ = Car.Create(4@, 17@, 18@, 19@)
0129: 2@ = create_actor_pedtype 6 model 7@ in_car 1@ driverseat 
01C8: 3@ = create_actor_pedtype 6 model 8@ in_car 1@ passenger_seat 0 
01B2: give_actor 2@ weapon 22 ammo 99999 // Load the weapon model before using this 
Actor.WeaponAccuracy(2@) = 100
01B2: give_actor 3@ weapon 22 ammo 99999 // Load the weapon model before using this 
Actor.WeaponAccuracy(3@) = 100
Actor.Health(2@) = 100
Actor.Health(3@) = 100
Car.Angle(1@) = 10@
Model.Destroy(4@)
Model.Destroy(7@)
Model.Destroy(8@)
Model.Destroy(5@)
Model.Destroy(#COLT45)
0407: store_coords_to 21@ 22@ 23@ from_car 1@ with_offset 0.0 1000.0 0.0 
Car.SetImmunities(1@, 0, 0, 0, 0, 0)
Car.DriveTo(1@, 21@, 22@, 23@)
Car.SetMaxSpeed(1@, 30.0)
Car.SetToNormalDriver(1@)
Car.SetDriverBehaviour(1@, FollowRoad)
00AE: set_car 1@ traffic_behaviour_to 4 
0397: enable_car 1@ siren 0 
33@ = 5000 
32@ = 0 
25@ = 0 
Car.DoorStatus(1@) = 4

:SAUC_687
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
jf @SAUC_1736 
if and
   not Car.Wrecked(1@)
82BF:   not car 1@ sunk 
81F4:   not car 1@ flipped 
jf @SAUC_1736 
if and
   not Actor.Dead(2@)
   not Actor.Dead(3@)
   Actor.InCar(2@, 1@)
   Actor.InCar(3@, 1@)
jf @SAUC_1512 
if and
  9@ == 0 
  $ONMISSION == 0 
jf @SAUC_1736 
if or
   Actor.InCar($PLAYER_ACTOR, 1@)
8202:   not actor $PLAYER_ACTOR near_car 1@ radius 450.0 450.0 flag 0 
   Player.WantedLevel($PLAYER_CHAR) > 5
jf @SAUC_848 
jump @SAUC_1736 

:SAUC_848
if and
   not Player.WantedLevel($PLAYER_CHAR) > 0
051C:   car 1@ damaged_by_actor $PLAYER_ACTOR 
jf @SAUC_881 
Player.SetMinWantedLevel($PLAYER_CHAR, 1)

:SAUC_881
if 
   Player.WantedLevel($PLAYER_CHAR) > 0
jf @SAUC_968 
if 
  33@ > 5000 
jf @SAUC_1030 
33@ = 0 
Car.SetToPsychoDriver(1@)
Car.SetMaxSpeed(1@, 100.0)
Car.SetDriverBehaviour(1@, 6)
00AE: set_car 1@ traffic_behaviour_to 6 
0397: enable_car 1@ siren 1 
jump @SAUC_1030 

:SAUC_968
if 
051C:   car 1@ damaged_by_actor $PLAYER_ACTOR 
jf @SAUC_994 
jump @SAUC_687 

:SAUC_994
Car.SetMaxSpeed(1@, 30.0)
Car.SetToNormalDriver(1@)
Car.SetDriverBehaviour(1@, FollowRoad)
00AE: set_car 1@ traffic_behaviour_to 4 
jump @SAUC_1030 

:SAUC_1030
if 
  25@ == 0 
jf @SAUC_1100 
if and
0202:   actor $PLAYER_ACTOR near_car 1@ radius 10.0 10.0 flag 0 
   Player.WantedLevel($PLAYER_CHAR) > 0
jf @SAUC_687 
32@ = 0 
25@ = 1 

:SAUC_1100
if and
  25@ == 1 
  32@ > 5000 
jf @SAUC_1232 
if 
0202:   actor $PLAYER_ACTOR near_car 1@ radius 10.0 10.0 flag 0 
jf @SAUC_1331 
32@ = 0 
25@ = 0 
Car.DoorStatus(1@) = 0
0633: AS_actor 2@ exit_car 
0633: AS_actor 3@ exit_car 
0961: unknown_actor 2@ flag 1 
0961: unknown_actor 3@ flag 1 
06E4: AS_actor 2@ attempt_to_bust_actor $PLAYER_ACTOR 
06E4: AS_actor 3@ attempt_to_bust_actor $PLAYER_ACTOR 
Car.DoorStatus(1@) = 0
jump @SAUC_1345 

:SAUC_1232
if or
051A:   actor 2@ damaged_by_actor $PLAYER_ACTOR 
051A:   actor 3@ damaged_by_actor $PLAYER_ACTOR 
   Actor.Animation($PLAYER_ACTOR) == "CAR_DOORLOCKED_LHS"
   Actor.Animation($PLAYER_ACTOR) == "CAR_DOORLOCKED_RHS"
jf @SAUC_687 
32@ = 0 
25@ = 6000 
jump @SAUC_687 

:SAUC_1331
25@ = 0 
jump @SAUC_687 

:SAUC_1345
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
jf @SAUC_1736 
if 
   Player.WantedLevel($PLAYER_CHAR) > 0
jf @SAUC_1736 
if or
   not Actor.Dead(2@)
   not Actor.Dead(3@)
jf @SAUC_1736 
if or
0104:   actor $PLAYER_ACTOR near_actor 2@ radius 70.0 70.0 70.0 sphere 0 
0104:   actor $PLAYER_ACTOR near_actor 3@ radius 70.0 70.0 70.0 sphere 0 
jf @SAUC_1736 
if and
   not Actor.Dead(2@)
   not Actor.Dead(3@)
jf @SAUC_1486 

:SAUC_1486
if 
  33@ > 5000 
jf @SAUC_1345 
33@ = 0 

:SAUC_1512
if 
   Player.WantedLevel($PLAYER_CHAR) > -1
jf @SAUC_1736 
if and
   not Actor.Dead(2@)
0104:   actor $PLAYER_ACTOR near_actor 2@ radius 70.0 70.0 70.0 sphere 0 
jf @SAUC_1642 
if and
   Actor.InCar(2@, 1@)
0104:   actor $PLAYER_ACTOR near_actor 2@ radius 30.0 30.0 70.0 sphere 0 
jf @SAUC_1627 
Car.DoorStatus(1@) = 0
0633: AS_actor 2@ exit_car 

:SAUC_1627
0961: unknown_actor 2@ flag 1 
06E4: AS_actor 2@ attempt_to_bust_actor $PLAYER_ACTOR 

:SAUC_1642
if and
   not Actor.Dead(3@)
0104:   actor $PLAYER_ACTOR near_actor 3@ radius 70.0 70.0 70.0 sphere 0 
jf @SAUC_1736 
if 
   Actor.InCar(3@, 1@)
jf @SAUC_1714 
Car.DoorStatus(1@) = 0
0633: AS_actor 3@ exit_car 

:SAUC_1714
0961: unknown_actor 3@ flag 1 
06E4: AS_actor 3@ attempt_to_bust_actor $PLAYER_ACTOR 
jump @SAUC_1345 

:SAUC_1736
Actor.RemoveReferences(3@)
Actor.RemoveReferences(2@)
Car.RemoveReferences(1@)
jump @SAUC_43 

:SAUC_1758
0209: 6@ = random_int_in_ranges 0 6 
0871: init_jump_table 6@ total_jumps 7 default_jump 0 @SAUC_1830 jumps 0 @SAUC_1830 1 @SAUC_1845 2 @SAUC_1860 3 @SAUC_1875 4 @SAUC_1890 5 @SAUC_1905 6 @SAUC_1920 

:SAUC_1830
4@ = 596 
jump @SAUC_1935 

:SAUC_1845
4@ = 596 
jump @SAUC_1935 

:SAUC_1860
4@ = 596 
jump @SAUC_1935 

:SAUC_1875
4@ = 596 
jump @SAUC_1935 

:SAUC_1890
4@ = 596 
jump @SAUC_1935 

:SAUC_1905
4@ = 596 
jump @SAUC_1935 

:SAUC_1920
4@ = 596 
jump @SAUC_1935 

:SAUC_1935
0209: 6@ = random_int_in_ranges 0 15 
0871: init_jump_table 6@ total_jumps 16 default_jump 0 @SAUC_2072 jumps 0 @SAUC_2072 1 @SAUC_2087 2 @SAUC_2102 3 @SAUC_2116 4 @SAUC_2131 5 @SAUC_2146 6 @SAUC_2161 
0872: jump_table_jumps 7 @SAUC_2175 8 @SAUC_2189 9 @SAUC_2203 10 @SAUC_2218 11 @SAUC_2232 12 @SAUC_2246 13 @SAUC_2260 14 @SAUC_2275 15 @SAUC_2289 

:SAUC_2072
7@ = 184 
jump @SAUC_2303 

:SAUC_2087
7@ = 183 
jump @SAUC_2303 

:SAUC_2102
7@ = 122 
jump @SAUC_2303 

:SAUC_2116
7@ = 128 
jump @SAUC_2303 

:SAUC_2131
7@ = 206 
jump @SAUC_2303 

:SAUC_2146
7@ = 250 
jump @SAUC_2303 

:SAUC_2161
7@ = 59 
jump @SAUC_2303 

:SAUC_2175
7@ = 121 
jump @SAUC_2303 

:SAUC_2189
7@ = 73 
jump @SAUC_2303 

:SAUC_2203
7@ = 182 
jump @SAUC_2303 

:SAUC_2218
7@ = 55 
jump @SAUC_2303 

:SAUC_2232
7@ = 60 
jump @SAUC_2303 

:SAUC_2246
7@ = 100 
jump @SAUC_2303 

:SAUC_2260
7@ = 250 
jump @SAUC_2303 

:SAUC_2275
7@ = 28 
jump @SAUC_2303 

:SAUC_2289
7@ = 29 
jump @SAUC_2303 

:SAUC_2303
0209: 6@ = random_int_in_ranges 0 15 
0871: init_jump_table 6@ total_jumps 16 default_jump 0 @SAUC_2440 jumps 0 @SAUC_2440 1 @SAUC_2455 2 @SAUC_2469 3 @SAUC_2483 4 @SAUC_2498 5 @SAUC_2513 6 @SAUC_2528 
0872: jump_table_jumps 7 @SAUC_2542 8 @SAUC_2556 9 @SAUC_2570 10 @SAUC_2585 11 @SAUC_2599 12 @SAUC_2614 13 @SAUC_2629 14 @SAUC_2644 15 @SAUC_2658 

:SAUC_2440
8@ = 242 
jump @SAUC_2673 

:SAUC_2455
8@ = 64 
jump @SAUC_2673 

:SAUC_2469
8@ = 47 
jump @SAUC_2673 

:SAUC_2483
8@ = 151 
jump @SAUC_2673 

:SAUC_2498
8@ = 219 
jump @SAUC_2673 

:SAUC_2513
8@ = 186 
jump @SAUC_2673 

:SAUC_2528
8@ = 40 
jump @SAUC_2673 

:SAUC_2542
8@ = 90 
jump @SAUC_2673 

:SAUC_2556
8@ = 101 
jump @SAUC_2673 

:SAUC_2570
8@ = 238 
jump @SAUC_2673 

:SAUC_2585
8@ = 91 
jump @SAUC_2673 

:SAUC_2599
8@ = 131 
jump @SAUC_2673 

:SAUC_2614
8@ = 181 
jump @SAUC_2673 

:SAUC_2629
8@ = 233 
jump @SAUC_2673 

:SAUC_2644
8@ = 30 
jump @SAUC_2673 

:SAUC_2658
8@ = 150 
jump @SAUC_2673 

:SAUC_2673
return
Изменено пользователем Officer John
Ссылка на комментарий
Поделиться на другие сайты

Данный скрипт должен активироваться, если у игрока больше одной звезды. Проблема с проверкой уровня розыска игрока. Игра грузится и зависает на экране загрузки. Без этой проверки работает. В чём причина?

Player.WantedLevel($PLAYER_CHAR) > 1

Попробуй так:

....
01C0: 0@ = player $PLAYER_CHAR wanted_level // записываем в переменную уровень розыска
if
  0@ > 1 // проверяем, если розыск больше одной звезды 
then
	  // здесь действия, если уровень бельше одной звезды
end
...

или этим опкодом 010F: player $PLAYER_CHAR wanted_level > 1

 

 

Проверка Player.Defined($PLAYER_CHAR) делается один раз в начале кода, не надо её делать по нескольку раз в ходе выполнения кода.

 

style_images/icon_plus_1.gif Раскрывающийся текст
Изменено пользователем kenking
Ссылка на комментарий
Поделиться на другие сайты

Это смотря, как защищённый. По вопросам изменения в скрипте лучше обращаться к автору скрипта.

Открываешь скрипт, а он не декомпилируется и открывается чистое окно SB.

 

Подскажите плиз, что в этой строчке значат последние 3 цифры, какие они могут принимать значения и за что эти значения отвечают?

0AA6: call_method 7086336 struct 1@ num_params 2 pop 0 0 0

Изменено пользователем Dimoman_93
Ссылка на комментарий
Поделиться на другие сайты

Открываешь скрипт, а он не декомпилируется и открывается чистое окно SB.

Попробуй поставить галочку IGNORE_UNKNOWN в Отладочных опциях программы. Срипт может после этого декомпилируется (не всегда), но врядли ты полностью сможешь прочитать код.

 

Подскажите плиз, что в этой строчке значат последние 3 цифры, какие они могут принимать значения и за что эти значения отвечают?

0AA6: call_method 7086336 struct 1@ num_params 2 pop 0 0 0

Цифра после pop - в данном случае тебе не нужна, здесь она всегда будет 0

Последние 2 цифры - параметры. Предпоследняя цифра означает состояние фары (1 - разбита, 0 - не разбита). Последняя цифра - номер фары (0 - передняя левая, 1 - передняя правая, 2, 3 - соответственно задние фары, без мода IVF для задних фар работает только значение 3).

Ссылка на комментарий
Поделиться на другие сайты

Попросил меня один из наших пользователей, а именно Roma-K, написать один скрипт, а именно скрипт, дающий возможность устанавливать на любое авто любые тюнинг-колёса в любом месте карты игры. Количество стандартных видов колёс равно 17 единицам. Ну понятно, что всегда всем всего мало (уже проверено временем) и пытаются игроманы всевозможные ограничения обойти, добавив новые дополнительные варианты колёс для тюнинга. Вот в связи с этим вопрос к тем, кто устанавливал эти дополнительные колёса в игру: сколько можно добавить вариантов? Практически, кому сколько удалось добавить? Там же вроде есть какие-то ограничения по-любому. Ну мне надо знать, чтобы в скрипте сделать возможность устанавливать и эти добавленные колёса. Или сделать проще - вариантов 50 прописать в скрипт, хватит, надеюсь?
Ссылка на комментарий
Поделиться на другие сайты

Попросил меня один из наших пользователей, а именно Roma-K, написать один скрипт, а именно скрипт, дающий возможность устанавливать на любое авто любые тюнинг-колёса в любом месте карты игры. Количество стандартных видов колёс равно 17 единицам. Ну понятно, что всегда всем всего мало (уже проверено временем) и пытаются игроманы всевозможные ограничения обойти, добавив новые дополнительные варианты колёс для тюнинга. Вот в связи с этим вопрос к тем, кто устанавливал эти дополнительные колёса в игру: сколько можно добавить вариантов? Практически, кому сколько удалось добавить? Там же вроде есть какие-то ограничения по-любому. Ну мне надо знать, чтобы в скрипте сделать возможность устанавливать и эти добавленные колёса. Или сделать проще - вариантов 50 прописать в скрипт, хватит, надеюсь?

Без скриптов, я добавлял до 12 штук, в одну строчку (там строчки начинаются 0, 1, 2) и одну новую строчку. Только я новую строчку не заполнял до конца, так, что лимит мне не известен.

Ссылка на комментарий
Поделиться на другие сайты

Ну подождём, может ещё, кто отпишется по этому вопросу. Тем временем это выглядит примерно так:

http://savepic.net/5744588m.jpg

супер-пупер тача :troll:

Ссылка на комментарий
Поделиться на другие сайты

Вообще мне кажется, что лимит количества колёс это не лимит колес, а лимит TEXTBOX. В ней только 12 строчек может быть. Когда меняешь колёса в тюнинге, то вылазит TEXTBOX с названиями колёc...

Я как-то редактировал скрипт драг рейсинг на заброшенном аэродроме, там из-за TEXTBOX, удалось поставить на выбор только 12 тачек соперника(

Изменено пользователем Dimoman_93
Ссылка на комментарий
Поделиться на другие сайты

Я добавил пока 15 новых колес на свободные ID, но какой лимит я не знаю. Могу попробовать еще добавить, но в магазине выбрать можно только 12 колес, так что после 17 добавленного колеса проверить их не удастся. Думаю, проще сделать, как ты и говорил 50 колес, не думаю что этого будет мало :crazy:

P.S. Спасибо, что занялся скриптом :friends:

Ссылка на комментарий
Поделиться на другие сайты

Вообще мне кажется, что лимит количества колёс это не лимит колес, а лимит TEXTBOX. В ней только 12 строчек может быть. Когда меняешь колёса в тюнинге, то вылазит TEXTBOX с названиями колёc...

Ну для этого скрипта TEXTBOX не нужен, так что тот лимит в 12 строчек здесь не помеха. :biggrin:

 

Я добавил пока 15 новых колес на свободные ID, но какой лимит я не знаю. Могу попробовать еще добавить, но в магазине выбрать можно только 12 колес, так что после 17 добавленного колеса проверить их не удастся. Думаю, проще сделать, как ты и говорил 50 колес, не думаю что этого будет мало :crazy:

Ну тогда так и сделаю - вариантов 50 пропишу.
Ссылка на комментарий
Поделиться на другие сайты

Ну для этого скрипта TEXTBOX не нужен, так что тот лимит в 12 строчек здесь не помеха. :biggrin:

А прокрутку TEXTBOX можно сделать?

Изменено пользователем Dimoman_93
Ссылка на комментарий
Поделиться на другие сайты

Можно, но не совсем прокрутку, что-то типо прокрутки в общем можно сделать, как в моём скрипте "Прогноз погоды"

 

---------------------------------

Тем временем разобрался с добавлением дополнительных дисков в игру и с отображением их названий в игре. Вот:

 

http://savepic.net/5734246m.jpg

у меня все колёса в игре заменены и я воткнул на место дополнительного модель старого колёса, ну и название ему написал соответствующее :troll:

Ссылка на комментарий
Поделиться на другие сайты

Раз уж на то пошло..

 

kenking 2 вопроса к тебе. Первый, возможно ли сделать CLEO-скриптом чтобы при нажатии определенной кнопки внизу экрана выскакивал текст. Пример: Вышел заяц на крыльцо почесать свое яйцо! Второй вопрос, тоже самое но при этом, чтобы срабатывал аудио (.wav/.mp3) файл. Пример: *нажал кнопку* Возле дома твоего!

 

Если такое возможно то, у меня есть к тебе предложение от которого ты не сможешь отказаться :troll: Естественно не за "спасибо, респект" бла-бла :spiteful:

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

Так сколько в итоге ДОБАВИТЬ колёс получится?

Ну я сделал скрипт на 52 варианта колёс, где 17 стандартных, а остальные можно добавлять. В принципе, можно ещё увеличить количество вариантов в скрипте (до 75), но вопрос - будет ли, кто столько добавлять колёс в игру. Вроде, как ранее обсуждалось, что общее количество тюнинг-деталей можно добавить в игру триста с чем-то (точно не помню). Дальше вылет игры при загрузке. Хотя может уже и нашли способ обойти это ограничение. Я сам много не добавлял. Так только на пробу, для тестов скриптов.

 

kenking 2 вопроса к тебе. Первый, возможно ли сделать CLEO-скриптом чтобы при нажатии определенной кнопки внизу экрана выскакивал текст. Пример: Вышел заяц на крыльцо почесать свое яйцо! Второй вопрос, тоже самое но при этом, чтобы срабатывал аудио (.wav/.mp3) файл. Пример: *нажал кнопку* Возле дома твоего!

 

Если такое возможно то, у меня есть к тебе предложение от которого ты не сможешь отказаться :troll: Естественно не за "спасибо, респект" бла-бла :spiteful:

Легко, оба варианта можно сделать без проблем.

Весь в ожидании чудо-предложения. :biggrin:

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...