HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > Общие вопросы программирования
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 02.09.2024, 17:32
_Snake_
Познающий
Регистрация: 20.01.2022
Сообщений: 51
С нами: 2271859

Репутация: 8
По умолчанию

У меня код меняет структуру файла, а должен менять только prisec в файле.

Вот такая должна быть структура

Цитата:
Сообщение от Спойлер  

[{"count_maximum":0,"price":"8000","price_vc":10,"p osition_tab":1,"count":493,"enabled":true,"maximum ":false,"name":"Гражданский талон"}, и т.д
Код:





Код:
import
json
import
tkinter
as
tk
from
tkinter
import
filedialog
,
messagebox
import
chardet
def
detect_encoding
(
file_path
)
:
with
open
(
file_path
,
'rb'
)
as
file
:
raw_data
=
file
.
read
(
)
result
=
chardet
.
detect
(
raw_data
)
return
result
[
'encoding'
]
def
load_json_file
(
file_path
)
:
try
:
encoding
=
detect_encoding
(
file_path
)
with
open
(
file_path
,
'r'
,
encoding
=
encoding
)
as
file
:
return
json
.
load
(
file
)
except
json
.
JSONDecodeError
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка декодирования JSON:{e}"
)
return
None
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при загрузке файла:{e}"
)
return
None
def
save_json_file
(
file_path
,
data
)
:
try
:
with
open
(
file_path
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
json
.
dump
(
data
,
file
,
ensure_ascii
=
False
,
indent
=
4
)
messagebox
.
showinfo
(
"Успех"
,
f"Данные успешно сохранены в файл:{file_path}"
)
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при сохранении файла:{e}"
)
def
update_prices
(
target_file_path
,
prices_file_path
)
:
target_data
=
load_json_file
(
target_file_path
)
if
target_data
is
None
:
return
prices_data
=
load_json_file
(
prices_file_path
)
if
prices_data
is
None
:
return
prices_dict
=
{
}
for
item_name
,
item_data
in
prices_data
[
'list'
]
.
items
(
)
:
if
'sa'
in
item_data
and
'price'
in
item_data
[
'sa'
]
:
prices_dict
[
item_name
]
=
item_data
[
'sa'
]
[
'price'
]
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
f"Некорректная структура данных для товара '{item_name}' в файле с ценами."
)
for
item
in
target_data
:
if
item
[
'name'
]
in
prices_dict
:
item
[
'price'
]
=
prices_dict
[
item
[
'name'
]
]
save_json_file
(
target_file_path
,
target_data
)
def
select_target_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл для обновления цен"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
target_file_entry
.
delete
(
0
,
tk
.
END
)
target_file_entry
.
insert
(
0
,
file_path
)
def
select_prices_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл с ценами"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
file_path
)
with
open
(
'prices_file_path.txt'
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
file
.
write
(
file_path
)
def
on_update_click
(
)
:
target_file_path
=
target_file_entry
.
get
(
)
prices_file_path
=
prices_file_entry
.
get
(
)
if
target_file_path
and
prices_file_path
:
update_prices
(
target_file_path
,
prices_file_path
)
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
"Пожалуйста, выберите оба файла."
)
def
load_prices_file_path
(
)
:
try
:
with
open
(
'prices_file_path.txt'
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
prices_file_path
=
file
.
read
(
)
.
strip
(
)
if
prices_file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
prices_file_path
)
except
FileNotFoundError
:
pass
root
=
tk
.
Tk
(
)
root
.
title
(
"Обновление цен"
)
frame
=
tk
.
Frame
(
root
)
frame
.
pack
(
padx
=
10
,
pady
=
10
)
target_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл для обновления цен:"
)
target_file_label
.
grid
(
row
=
0
,
column
=
0
,
padx
=
5
,
pady
=
5
)
target_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
target_file_entry
.
grid
(
row
=
0
,
column
=
1
,
padx
=
5
,
pady
=
5
)
target_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_target_file
)
target_file_button
.
grid
(
row
=
0
,
column
=
2
,
padx
=
5
,
pady
=
5
)
prices_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл с ценами:"
)
prices_file_label
.
grid
(
row
=
1
,
column
=
0
,
padx
=
5
,
pady
=
5
)
prices_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
prices_file_entry
.
grid
(
row
=
1
,
column
=
1
,
padx
=
5
,
pady
=
5
)
prices_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_prices_file
)
prices_file_button
.
grid
(
row
=
1
,
column
=
2
,
padx
=
5
,
pady
=
5
)
update_button
=
tk
.
Button
(
frame
,
text
=
"Обновить цены"
,
command
=
on_update_click
)
update_button
.
grid
(
row
=
2
,
column
=
0
,
columnspan
=
3
,
pady
=
10
)
load_prices_file_path
(
)
root
.
mainloop
(
)
 
Ответить с цитированием

  #2  
Старый 02.09.2024, 17:42
Макаров
Новичок
Регистрация: 27.06.2024
Сообщений: 22
С нами: 991773

Репутация: 3
По умолчанию

Прикрепи примеры файлов с данными
 
Ответить с цитированием

  #3  
Старый 02.09.2024, 17:43
_Snake_
Познающий
Регистрация: 20.01.2022
Сообщений: 51
С нами: 2271859

Репутация: 8
По умолчанию

Вот файл
 
Ответить с цитированием

  #4  
Старый 02.09.2024, 18:06
Макаров
Новичок
Регистрация: 27.06.2024
Сообщений: 22
С нами: 991773

Репутация: 3
По умолчанию

Твой код работает отлично, посмотри на начальную структуру, посмотри чтобы ты точно отправлял нужные файлы.

Проверь работу данного кода, он должен тебе в 300kk.json поменять цену подарка, в первую строку gui передай 300kk.json

Цитата:
Сообщение от Спойлер  


tt:





Код:
import
json
import
tkinter
as
tk
from
tkinter
import
filedialog
,
messagebox
import
chardet
def
detect_encoding
(
file_path
)
:
with
open
(
file_path
,
'rb'
)
as
file
:
raw_data
=
file
.
read
(
)
result
=
chardet
.
detect
(
raw_data
)
return
result
[
'encoding'
]
def
load_json_file
(
file_path
)
:
try
:
encoding
=
detect_encoding
(
file_path
)
with
open
(
file_path
,
'r'
,
encoding
=
encoding
)
as
file
:
return
json
.
load
(
file
)
except
json
.
JSONDecodeError
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка декодирования JSON:{e}"
)
return
None
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при загрузке файла:{e}"
)
return
None
def
save_json_file
(
file_path
,
data
)
:
try
:
with
open
(
file_path
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
json
.
dump
(
data
,
file
,
ensure_ascii
=
False
,
indent
=
4
)
messagebox
.
showinfo
(
"Успех"
,
f"Данные успешно сохранены в файл:{file_path}"
)
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при сохранении файла:{e}"
)
def
update_prices
(
target_file_path
,
prices_file_path
)
:
target_data
=
load_json_file
(
target_file_path
)
print
(
target_data
)
if
target_data
is
None
:
return
# prices_data = load_json_file(prices_file_path)
prices_data
=
{
'list'
:
{
'Подарок'
:
{
'sa'
:
{
'price'
:
12
}
}
}
}
if
prices_data
is
None
:
return
prices_dict
=
{
}
for
item_name
,
item_data
in
prices_data
[
'list'
]
.
items
(
)
:
if
'sa'
in
item_data
and
'price'
in
item_data
[
'sa'
]
:
prices_dict
[
item_name
]
=
item_data
[
'sa'
]
[
'price'
]
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
f"Некорректная структура данных для товара '{item_name}' в файле с ценами."
)
for
item
in
target_data
:
if
item
[
'name'
]
in
prices_dict
:
item
[
'price'
]
=
prices_dict
[
item
[
'name'
]
]
save_json_file
(
target_file_path
,
target_data
)
def
select_target_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл для обновления цен"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
target_file_entry
.
delete
(
0
,
tk
.
END
)
target_file_entry
.
insert
(
0
,
file_path
)
def
select_prices_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл с ценами"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
file_path
)
with
open
(
'prices_file_path.txt'
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
file
.
write
(
file_path
)
def
on_update_click
(
)
:
target_file_path
=
target_file_entry
.
get
(
)
prices_file_path
=
prices_file_entry
.
get
(
)
if
target_file_path
and
prices_file_path
:
update_prices
(
target_file_path
,
prices_file_path
)
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
"Пожалуйста, выберите оба файла."
)
def
load_prices_file_path
(
)
:
try
:
with
open
(
'prices_file_path.txt'
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
prices_file_path
=
file
.
read
(
)
.
strip
(
)
if
prices_file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
prices_file_path
)
except
FileNotFoundError
:
pass
root
=
tk
.
Tk
(
)
root
.
title
(
"Обновление цен"
)
frame
=
tk
.
Frame
(
root
)
frame
.
pack
(
padx
=
10
,
pady
=
10
)
target_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл для обновления цен:"
)
target_file_label
.
grid
(
row
=
0
,
column
=
0
,
padx
=
5
,
pady
=
5
)
target_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
target_file_entry
.
grid
(
row
=
0
,
column
=
1
,
padx
=
5
,
pady
=
5
)
target_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_target_file
)
target_file_button
.
grid
(
row
=
0
,
column
=
2
,
padx
=
5
,
pady
=
5
)
prices_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл с ценами:"
)
prices_file_label
.
grid
(
row
=
1
,
column
=
0
,
padx
=
5
,
pady
=
5
)
prices_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
prices_file_entry
.
grid
(
row
=
1
,
column
=
1
,
padx
=
5
,
pady
=
5
)
prices_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_prices_file
)
prices_file_button
.
grid
(
row
=
1
,
column
=
2
,
padx
=
5
,
pady
=
5
)
update_button
=
tk
.
Button
(
frame
,
text
=
"Обновить цены"
,
command
=
on_update_click
)
update_button
.
grid
(
row
=
2
,
column
=
0
,
columnspan
=
3
,
pady
=
10
)
load_prices_file_path
(
)
root
.
mainloop
(
)


 
Ответить с цитированием

  #5  
Старый 02.09.2024, 18:15
_Snake_
Познающий
Регистрация: 20.01.2022
Сообщений: 51
С нами: 2271859

Репутация: 8
По умолчанию

А можно что бы все цени он поменял? Что бы я скинул просто файл с ценами и файл где нужно изменить prices, он везде поменял цену.

Просто когда скрипт меняет цени, меняется структура файла

Вот идин из примеров.

Цитата:
Сообщение от Спойлер  

[

{

"count_maximum": 0,

"price": 17200,

"price_vc": 10,

"position_tab": 1,

"count": 493,

"enabled": true,

"maximum": false,

"name": "Гражданский талон"

},

{

"count_maximum": 0,

"price": 23600,

"price_vc": 10,

"position_tab": 2,

"count": 171,

"enabled": true,

"maximum": false,

"name": "Семейный талон"

},
 
Ответить с цитированием

  #6  
Старый 02.09.2024, 18:22
Макаров
Новичок
Регистрация: 27.06.2024
Сообщений: 22
С нами: 991773

Репутация: 3
По умолчанию

Скинь файл где нужно поменять цены, и файл с ценами
 
Ответить с цитированием

  #7  
Старый 02.09.2024, 18:24
_Snake_
Познающий
Регистрация: 20.01.2022
Сообщений: 51
С нами: 2271859

Репутация: 8
По умолчанию

Вот
 
Ответить с цитированием

  #8  
Старый 02.09.2024, 18:37
Макаров
Новичок
Регистрация: 27.06.2024
Сообщений: 22
С нами: 991773

Репутация: 3
По умолчанию

Даже не знаю, у меня все работает

Python:





Код:
import
json
import
tkinter
as
tk
from
tkinter
import
filedialog
,
messagebox
import
chardet
def
detect_encoding
(
file_path
)
:
with
open
(
file_path
,
'rb'
)
as
file
:
raw_data
=
file
.
read
(
)
result
=
chardet
.
detect
(
raw_data
)
return
result
[
'encoding'
]
def
load_json_file
(
file_path
)
:
try
:
encoding
=
detect_encoding
(
file_path
)
with
open
(
file_path
,
'r'
,
encoding
=
encoding
)
as
file
:
return
json
.
load
(
file
)
except
json
.
JSONDecodeError
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка декодирования JSON:{e}"
)
return
None
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при загрузке файла:{e}"
)
return
None
def
save_json_file
(
file_path
,
data
)
:
try
:
with
open
(
file_path
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
json
.
dump
(
data
,
file
,
ensure_ascii
=
False
,
indent
=
4
)
messagebox
.
showinfo
(
"Успех"
,
f"Данные успешно сохранены в файл:{file_path}"
)
except
Exception
as
e
:
messagebox
.
showerror
(
"Ошибка"
,
f"Ошибка при сохранении файла:{e}"
)
def
update_prices
(
target_file_path
,
prices_file_path
)
:
target_data
=
load_json_file
(
target_file_path
)
if
target_data
is
None
:
return
prices_data
=
load_json_file
(
prices_file_path
)
if
prices_data
is
None
:
return
prices_dict
=
{
}
for
item_name
,
item_data
in
prices_data
[
'list'
]
.
items
(
)
:
if
'sa'
in
item_data
and
'price'
in
item_data
[
'sa'
]
:
prices_dict
[
item_name
]
=
item_data
[
'sa'
]
[
'price'
]
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
f"Некорректная структура данных для товара '{item_name}' в файле с ценами."
)
for
item
in
target_data
:
if
item
[
'name'
]
in
prices_dict
:
item
[
'price'
]
=
prices_dict
[
item
[
'name'
]
]
save_json_file
(
target_file_path
,
target_data
)
def
select_target_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл для обновления цен"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
target_file_entry
.
delete
(
0
,
tk
.
END
)
target_file_entry
.
insert
(
0
,
file_path
)
def
select_prices_file
(
)
:
file_path
=
filedialog
.
askopenfilename
(
title
=
"Выберите файл с ценами"
,
filetypes
=
[
(
"JSON files"
,
"*.json"
)
]
)
if
file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
file_path
)
with
open
(
'prices_file_path.txt'
,
'w'
,
encoding
=
'utf-8'
)
as
file
:
file
.
write
(
file_path
)
def
on_update_click
(
)
:
target_file_path
=
target_file_entry
.
get
(
)
prices_file_path
=
prices_file_entry
.
get
(
)
if
target_file_path
and
prices_file_path
:
update_prices
(
target_file_path
,
prices_file_path
)
else
:
messagebox
.
showwarning
(
"Предупреждение"
,
"Пожалуйста, выберите оба файла."
)
def
load_prices_file_path
(
)
:
try
:
with
open
(
'prices_file_path.txt'
,
'r'
,
encoding
=
'utf-8'
)
as
file
:
prices_file_path
=
file
.
read
(
)
.
strip
(
)
if
prices_file_path
:
prices_file_entry
.
delete
(
0
,
tk
.
END
)
prices_file_entry
.
insert
(
0
,
prices_file_path
)
except
FileNotFoundError
:
pass
root
=
tk
.
Tk
(
)
root
.
title
(
"Обновление цен"
)
frame
=
tk
.
Frame
(
root
)
frame
.
pack
(
padx
=
10
,
pady
=
10
)
target_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл для обновления цен:"
)
target_file_label
.
grid
(
row
=
0
,
column
=
0
,
padx
=
5
,
pady
=
5
)
target_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
target_file_entry
.
grid
(
row
=
0
,
column
=
1
,
padx
=
5
,
pady
=
5
)
target_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_target_file
)
target_file_button
.
grid
(
row
=
0
,
column
=
2
,
padx
=
5
,
pady
=
5
)
prices_file_label
=
tk
.
Label
(
frame
,
text
=
"Выберите файл с ценами:"
)
prices_file_label
.
grid
(
row
=
1
,
column
=
0
,
padx
=
5
,
pady
=
5
)
prices_file_entry
=
tk
.
Entry
(
frame
,
width
=
50
)
prices_file_entry
.
grid
(
row
=
1
,
column
=
1
,
padx
=
5
,
pady
=
5
)
prices_file_button
=
tk
.
Button
(
frame
,
text
=
"Обзор"
,
command
=
select_prices_file
)
prices_file_button
.
grid
(
row
=
1
,
column
=
2
,
padx
=
5
,
pady
=
5
)
update_button
=
tk
.
Button
(
frame
,
text
=
"Обновить цены"
,
command
=
on_update_click
)
update_button
.
grid
(
row
=
2
,
column
=
0
,
columnspan
=
3
,
pady
=
10
)
load_prices_file_path
(
)
root
.
mainloop
(
)
 
Ответить с цитированием

  #9  
Старый 02.09.2024, 18:40
_Snake_
Познающий
Регистрация: 20.01.2022
Сообщений: 51
С нами: 2271859

Репутация: 8
По умолчанию

А можешь показать результат?
 
Ответить с цитированием

  #10  
Старый 02.09.2024, 19:06
Макаров
Новичок
Регистрация: 27.06.2024
Сообщений: 22
С нами: 991773

Репутация: 3
По умолчанию

Цитата:
Сообщение от _Snake_  

А можешь показать результат?
Изменил цену подарка на 12, см. 132-141 строку

Цитата:
Сообщение от Спойлер  


подарок:





Код:
[
{
"count"
:
493
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Гражданский талон"
,
"position_tab"
:
1
,
"price"
:
17200
,
"price_vc"
:
10
}
,
{
"count"
:
171
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Семейный талон"
,
"position_tab"
:
2
,
"price"
:
23600
,
"price_vc"
:
10
}
,
{
"count"
:
2
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Скидочный талон"
,
"position_tab"
:
3
,
"price"
:
2170000
,
"price_vc"
:
10
}
,
{
"count"
:
439
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Бронзовая рулетка"
,
"position_tab"
:
4
,
"price"
:
14000
,
"price_vc"
:
10
}
,
{
"count"
:
58
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Серебряная рулетка"
,
"position_tab"
:
5
,
"price"
:
80700
,
"price_vc"
:
10
}
,
{
"count"
:
17
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Золотая рулетка"
,
"position_tab"
:
6
,
"price"
:
282000
,
"price_vc"
:
10
}
,
{
"count"
:
8
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Платиновая рулетка"
,
"position_tab"
:
7
,
"price"
:
542000
,
"price_vc"
:
10
}
,
{
"count"
:
219
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Камень"
,
"position_tab"
:
8
,
"price"
:
24500
,
"price_vc"
:
10
}
,
{
"count"
:
50
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Металл"
,
"position_tab"
:
9
,
"price"
:
81500
,
"price_vc"
:
10
}
,
{
"count"
:
51
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Бронза"
,
"position_tab"
:
10
,
"price"
:
79600
,
"price_vc"
:
10
}
,
{
"count"
:
263
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Серебро"
,
"position_tab"
:
11
,
"price"
:
20500
,
"price_vc"
:
10
}
,
{
"count"
:
15
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Алюминий"
,
"position_tab"
:
12
,
"price"
:
318000
,
"price_vc"
:
10
}
,
{
"count"
:
87
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Золото"
,
"position_tab"
:
13
,
"price"
:
56000
,
"price_vc"
:
10
}
,
{
"count"
:
168
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Подарок"
,
"position_tab"
:
14
,
"price"
:
12
,
"price_vc"
:
10
}
,
{
"count"
:
24
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец с премией"
,
"position_tab"
:
15
,
"price"
:
174000
,
"price_vc"
:
10
}
,
{
"count"
:
23
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Олигарха"
,
"position_tab"
:
16
,
"price"
:
215000
,
"price_vc"
:
10
}
,
{
"count"
:
15
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец крафтера"
,
"position_tab"
:
17
,
"price"
:
338000
,
"price_vc"
:
10
}
,
{
"count"
:
12
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец дальнобойщика"
,
"position_tab"
:
18
,
"price"
:
333000
,
"price_vc"
:
10
}
,
{
"count"
:
52
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Mortal Combat"
,
"position_tab"
:
19
,
"price"
:
90400
,
"price_vc"
:
10
}
,
{
"count"
:
18
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Водителя Автобуса"
,
"position_tab"
:
20
,
"price"
:
284000
,
"price_vc"
:
10
}
,
{
"count"
:
25
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец рыболова"
,
"position_tab"
:
21
,
"price"
:
213000
,
"price_vc"
:
10
}
,
{
"count"
:
32
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Рандомный Ларец"
,
"position_tab"
:
22
,
"price"
:
173000
,
"price_vc"
:
10
}
,
{
"count"
:
6
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец пилота"
,
"position_tab"
:
23
,
"price"
:
805000
,
"price_vc"
:
10
}
,
{
"count"
:
19
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец развозчика продуктов"
,
"position_tab"
:
24
,
"price"
:
232000
,
"price_vc"
:
10
}
,
{
"count"
:
21
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец кладоискателя"
,
"position_tab"
:
25
,
"price"
:
213000
,
"price_vc"
:
10
}
,
{
"count"
:
35
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Tidex"
,
"position_tab"
:
26
,
"price"
:
140000
,
"price_vc"
:
10
}
,
{
"count"
:
60
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ящик Marvel"
,
"position_tab"
:
27
,
"price"
:
79300
,
"price_vc"
:
10
}
,
{
"count"
:
60
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ящик Джентельменов"
,
"position_tab"
:
28
,
"price"
:
98500
,
"price_vc"
:
10
}
,
{
"count"
:
60
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ящик Minecraft"
,
"position_tab"
:
29
,
"price"
:
92400
,
"price_vc"
:
10
}
,
{
"count"
:
34
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Супер мото-ящик"
,
"position_tab"
:
30
,
"price"
:
163000
,
"price_vc"
:
10
}
,
{
"count"
:
18
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Супер авто-ящик"
,
"position_tab"
:
31
,
"price"
:
310000
,
"price_vc"
:
10
}
,
{
"count"
:
18
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ностальгический ящик"
,
"position_tab"
:
32
,
"price"
:
276000
,
"price_vc"
:
10
}
,
{
"count"
:
9
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Super Car Box"
,
"price"
:
468000
,
"price_vc"
:
10
}
,
{
"count"
:
9
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Concept Car Luxury"
,
"price"
:
447000
,
"price_vc"
:
10
}
,
{
"count"
:
790
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Талон для охранника: +1 EXP"
,
"position_tab"
:
35
,
"price"
:
7190
,
"price_vc"
:
10
}
,
{
"count"
:
131
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Точильный камень"
,
"position_tab"
:
36
,
"price"
:
48100
,
"price_vc"
:
10
}
,
{
"count"
:
21
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Зловещая монета"
,
"position_tab"
:
37
,
"price"
:
223000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Распредвал (sport)"
,
"position_tab"
:
38
,
"price"
:
2250000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Турбокомпрессор (sport)"
,
"position_tab"
:
39
,
"price"
:
2280000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Нагнетатель (sport)"
,
"position_tab"
:
40
,
"price"
:
2200000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Сцепление (sport)"
,
"position_tab"
:
41
,
"price"
:
2230000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"КПП (sport)"
,
"position_tab"
:
42
,
"price"
:
2230000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Дифференциал (sport)"
,
"position_tab"
:
43
,
"price"
:
2230000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Подвеска (sport)"
,
"position_tab"
:
44
,
"price"
:
2190000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Коленвал (sport)"
,
"position_tab"
:
45
,
"price"
:
2220000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Тормоза (sport)"
,
"position_tab"
:
46
,
"price"
:
2220000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Переносной ларек (1)"
,
"position_tab"
:
47
,
"price"
:
3290000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Переносной ларек (2)"
,
"position_tab"
:
48
,
"price"
:
3610000
,
"price_vc"
:
10
}
,
{
"count"
:
2
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Переносной ларек (3)"
,
"position_tab"
:
49
,
"price"
:
5020000
,
"price_vc"
:
10
}
,
{
"count"
:
5268
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Бандитский респект"
,
"position_tab"
:
50
,
"price"
:
88900
,
"price_vc"
:
10
}
,
{
"count"
:
9878
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Дрова"
,
"position_tab"
:
51
,
"price"
:
4170
,
"price_vc"
:
10
}
,
{
"count"
:
141
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Древесина высшего качества"
,
"position_tab"
:
52
,
"price"
:
29300
,
"price_vc"
:
10
}
,
{
"count"
:
790
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Счастливая травка"
,
"position_tab"
:
53
,
"price"
:
6420
,
"price_vc"
:
10
}
,
{
"count"
:
98
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Жареное мясо оленины"
,
"position_tab"
:
54
,
"price"
:
65500
,
"price_vc"
:
10
}
,
{
"count"
:
112
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Тушка оленя"
,
"position_tab"
:
55
,
"price"
:
42100
,
"price_vc"
:
10
}
,
{
"count"
:
5199
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Череп"
,
"position_tab"
:
56
,
"price"
:
[
2300
,
800000
]
,
"price_vc"
:
10
}
,
{
"count"
:
34
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Одежда из секонд-хенда"
,
"position_tab"
:
57
,
"price"
:
150000
,
"price_vc"
:
10
}
,
{
"count"
:
2634
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Семейная монета"
,
"position_tab"
:
58
,
"price"
:
1880
,
"price_vc"
:
10
}
,
{
"count"
:
15805
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Монета охотника"
,
"position_tab"
:
59
,
"price"
:
2040
,
"price_vc"
:
10
}
,
{
"count"
:
1317
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Лён"
,
"price"
:
4290
,
"price_vc"
:
10
}
,
{
"count"
:
1317
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Хлопок"
,
"position_tab"
:
61
,
"price"
:
4590
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Вечная рабочая виза"
,
"position_tab"
:
62
,
"price"
:
7460000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Twin Turbo"
,
"price"
:
13100000
,
"price_vc"
:
10
}
,
{
"count"
:
21
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Vice City"
,
"position_tab"
:
64
,
"price"
:
224000
,
"price_vc"
:
10
}
,
{
"count"
:
10
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец хэллоуина 2022"
,
"position_tab"
:
65
,
"price"
:
501000
,
"price_vc"
:
10
}
,
{
"count"
:
9
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец петуха"
,
"position_tab"
:
66
,
"price"
:
592000
,
"price_vc"
:
10
}
,
{
"count"
:
14
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец семейных охранников"
,
"position_tab"
:
67
,
"price"
:
318000
,
"price_vc"
:
10
}
,
{
"count"
:
8
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец инкассатора"
,
"position_tab"
:
68
,
"price"
:
558000
,
"price_vc"
:
10
}
,
{
"count"
:
14
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Fortnite"
,
"position_tab"
:
69
,
"price"
:
348000
,
"price_vc"
:
10
}
,
{
"count"
:
24
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Точильный амулет"
,
"position_tab"
:
70
,
"price"
:
198000
,
"price_vc"
:
10
}
,
{
"count"
:
8
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Кусок редкой ткани"
,
"position_tab"
:
71
,
"price"
:
404000
,
"price_vc"
:
10
}
,
{
"count"
:
32
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Rare Box Blue"
,
"price"
:
175000
,
"price_vc"
:
10
}
,
{
"count"
:
32
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Rare Box Yellow"
,
"price"
:
167000
,
"price_vc"
:
10
}
,
{
"count"
:
32
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Rare Box Red"
,
"price"
:
169000
,
"price_vc"
:
10
}
,
{
"count"
:
4
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Смазка для разгона видеокарты"
,
"position_tab"
:
75
,
"price"
:
1140000
,
"price_vc"
:
10
}
,
{
"count"
:
18
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Охлаждающая жидкость для видеокарты"
,
"position_tab"
:
76
,
"price"
:
288000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Заточка для бронежилета"
,
"position_tab"
:
77
,
"price"
:
1210000
,
"price_vc"
:
10
}
,
{
"count"
:
7
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Алмазный камень"
,
"position_tab"
:
78
,
"price"
:
652000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Ларец Arizona"
,
"position_tab"
:
79
,
"price"
:
1890000
,
"price_vc"
:
10
}
,
{
"count"
:
10
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Пасхальный ларец 2024"
,
"position_tab"
:
80
,
"price"
:
446000
,
"price_vc"
:
10
}
,
{
"count"
:
14
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Супер охлаждающая жидкость для видеокарты"
,
"position_tab"
:
81
,
"price"
:
346000
,
"price_vc"
:
10
}
,
{
"count"
:
35
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Рыбная монета"
,
"position_tab"
:
82
,
"price"
:
144000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Улучшение для автомобиля"
,
"position_tab"
:
83
,
"price"
:
7490000
,
"price_vc"
:
10
}
,
{
"count"
:
79
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"AZ-Монеты (Передаваемые)"
,
"position_tab"
:
84
,
"price"
:
57800
,
"price_vc"
:
10
}
,
{
"count"
:
1
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Темная материя"
,
"position_tab"
:
85
,
"price"
:
4280000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Тормоза (sport+)"
,
"position_tab"
:
86
,
"price"
:
7960000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Коленвал (sport+)"
,
"position_tab"
:
87
,
"price"
:
8530000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Подвеска (sport+)"
,
"position_tab"
:
88
,
"price"
:
7940000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Дифференциал (sport+)"
,
"position_tab"
:
89
,
"price"
:
8490000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Турбокомпрессор (sport+)"
,
"position_tab"
:
90
,
"price"
:
8560000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Распредвал (sport+)"
,
"position_tab"
:
91
,
"price"
:
8530000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"КПП (sport+)"
,
"position_tab"
:
92
,
"price"
:
8460000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Нагнетатель (sport+)"
,
"position_tab"
:
93
,
"price"
:
8490000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Сцепление (sport+)"
,
"position_tab"
:
94
,
"price"
:
8370000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Чип-тюнинг (STAGE 3)"
,
"position_tab"
:
95
,
"price"
:
18000000
,
"price_vc"
:
10
}
,
{
"count"
:
3
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Уголь"
,
"position_tab"
:
96
,
"price"
:
1320000
,
"price_vc"
:
10
}
,
{
"count"
:
4390
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Шкура оленя"
,
"position_tab"
:
97
,
"price"
:
2950
,
"price_vc"
:
10
}
,
{
"count"
:
1
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Шахтерский сплав"
,
"position_tab"
:
98
,
"price"
:
5240000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Прочная ткань"
,
"position_tab"
:
99
,
"price"
:
18300000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Продажа фишек без комиссии"
,
"position_tab"
:
100
,
"price"
:
8970000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Наклейка Суприм"
,
"position_tab"
:
101
,
"price"
:
8570000
,
"price_vc"
:
10
}
,
{
"count"
:
0
,
"count_maximum"
:
0
,
"enabled"
:
true
,
"maximum"
:
false
,
"name"
:
"Неоновая подсветка (настраиваемая)"
,
"position_tab"
:
102
,
"price"
:
27100000
,
"price_vc"
:
10
}
]


 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.