Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 393

Редактор оружия для GTA vice city

06.04.2018, 09:56. Показов 2054. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Редактор оружия для GTA vice city
Здравствуйте всем. Я являюсь фанатом в GTA Vice City. В директории игры есть файл Weapon.dat, он отвечает за характеристики оружия.
Они представлены там в виде строк. Начинается с названия оружия. скопировал одну строку и поместил в текстовый файл wea.txt
Вот эта строка Colt45 INSTANT_HIT 30.0 250 450 17 25 -1.0 -1.0 -1.0 -1.0 0.30 0.0 0.09 colt45 11 18 14 11 18 12 99 274 -1 680C0 3

Как видите вы тут много значений, легко запутаться в них. Для этого прочитал строку и добавил все элементы в список. элементы списка стали значением словаря. звучит ужасно, На деле все понятнее стало. Вот скрин http://pixs.ru/showimage/skrin... 845475.png Как видите идёт ключ словаря, в данном случае название оружия и 1 элемент списка. Стало понятно что за что отвечает.
Теперь с помощью input запрашивается название элемента и его значение, на которое мы его меняем. Всё это записывается в файл wea.txt. Потом он открывается, копирую строку и вставим заменяя эту строку в файл Weapon.dat. Но есть одно но, из-за которого к вам обратился. Дел в том, что после ввода данных, нужно, что они записались с теми же пробелами, что изначально, иначе игра вылетает.
Подскажите, пожалуйста, как это правильно сделать?
Вот код
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
c = "d:\\wea.txt"
a = open(c,'r')
d = a.read()
e = d.split()
 
 
sol = {str("Название оружия"): e[0], str("Тип огня"): e[1],
       str("Диапазон"): e[2], str("Скорость стрельбы"): e[3],
       str("время перезарядка"): e[4], str("Количество боеприпасов"): e[5],
       str("урон"): e[6], str("скорость, с которой летит снаряд"): e[7],
       str("радиус действия оружия"): e[8],
       str("максимальное время, за которое может продержаться в воздухе снаряд"): e[9],
       str("вектор смещение огня x"): e[10], str("вектор смещение огня y"): e[11],
       str("вектор смещение огня z"): e[12], str("проигрывание анимации"): e[13],
       str("начало цикла анимации"): e[14], str("конец цикла анимации"): e[15],
       str("точки в анимации, где оружие стреляет"): e[16],
       str("точки в анимации, где оружие стреляет2"): e[17],
       str("точка в аним, где мы можем прорыв аним / атаки и убежать"): e[18],
       str("id модели оружия"): e[19], str("2 id модели оружия"): e[20],
       str("x"): e[21], str("x"): e[22], str("z"): e[23],
       str("a"): e[24], str("b"): e[25]}
print(sol)
 
b = input(str('имя параметр '))
h = input(str('параметр '))
sol[b] = h
a.close()
a = open(c,'w')
for key, value in sol.items():
    a.writelines(value)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2018, 09:56
Ответы с готовыми решениями:

Не отображаются миссии в GTA Vice City
GTA Vice City не отображаются миссии. На карте есть миссия под буквой V, она должна находиться на лестнице, но её там нет. Я всё поместье...

Сотый пакет в GTA Vice City
Вы не могли бы по моему сохранению определить, какой пакет я не подобрал? Не подбирайте, а обозначте на карте.

Injection dll к gta vice city
#include "stdafx.h" //Объявляем прототип спавна auto _spawnCarAtPlayerLocation = (void (__cdecl*)(signed int modelIndex))0x04AE8F0;...

12
 Аватар для FilArt97
37 / 36 / 16
Регистрация: 11.03.2018
Сообщений: 95
06.04.2018, 12:46
А скиньте скрин файла wea.txt после того, как вы там поменяли какой-нибудь параметр
0
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 393
06.04.2018, 15:51  [ТС]
FilArt97, Здравствуйте, уважаемый FilArt97. Спасибо большое,что нашли время мне ответит. Благодарю за внимание к моему вопросу.

Понимаете, нужно чтобы при записи в файл, были те самые пробелы. Которые были изначально
Вот что получается Colt45 INSTANT_HIT 30.0 250 450 17 13 -1.0 -1.0 -1.0 -1.0 0.30 0.0 0.09 colt45 11 18 14 11 18 12 274 -1 680C0 3
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
06.04.2018, 16:01
Должен подойти csv.DictReader.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.04.2018, 16:09
Цитата Сообщение от Егор Щербанов Посмотреть сообщение
Понимаете, нужно чтобы при записи в файл, были те самые пробелы
Данные разделены не только пробелами, но и табами:
http://www.gtamodding.com/wiki/Weapon.dat_(VC)
Где именно - разбираться вам.
0
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
06.04.2018, 16:18
Цитата Сообщение от Garry Galler Посмотреть сообщение
Данные разделены не только пробелами, но и табами
Ок, про csv.DictReader забываем.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5973 / 3735 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
06.04.2018, 18:05
Мне кажется, там тупо табы:
Python
1
a.writelines('\t'.join(sol.values())
Вместо последних двух строчек.
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
06.04.2018, 18:57
Рыжий Лис,
Скопируй эту строчку в текстовый редактор - там смесь табов и одинарных\двойных\тройных и т.д. пробелов.
Code
1
Colt45          INSTANT_HIT 30.0  250  450  17   25  -1.0 -1.0  -1.0   -1.0 0.30 0.0    0.09    colt45      11 18 14    11 18 12    99      274 -1    680C0     3
Вот поправленные ссылки на формат файла:
weapon.data
original data from the weapon.dat file of Vice City

Сам файл: игры у меня нет, поэтому это просто копипаста данных с вышеуказанного сайта.
weapon.txt
0
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 393
16.04.2018, 11:20  [ТС]
Большое спасибо всем кто нашел время ответить на вопрос. Благодарю вас. Вот как я Решил проблему. Конечно, решение еще не самое лучшее, но тем не менее, рабочее. Буду дальше разбираться в этом.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
c = "d:\\wea.txt"
a = open(c, 'r')
d = a.read()
e = d.split()
import os
sol = {str("Название оружия"): e[0], str("Тип огня"): e[1],
       str("Диапазон"): e[2], str("Скорость стрельбы"): e[3],
       str("время перезарядка"): e[4], str("количество боеприпасов"): e[5],
       str("урон"): e[6], str("скорость, с которой летит снаряд"): e[7],
       str("радиус действия оружия"): e[8],
       str("максимальное время, за которое может продержаться в воздухе снаряд"): e[9],
       str("вектор смещение огня x"): e[10], str("вектор смещение огня y"): e[11],
       str("вектор смещение огня z"): e[12], str("проигрывание анимации"): e[13],
       str("начало цикла анимации"): e[14], str("конец цикла анимации"): e[15],
       str("точки в анимации, где оружие стреляет"): e[16],
       str("точки в анимации, где оружие стреляет2"): e[17],
       str("точка в аним, где мы можем прорыв аним / атаки и убежать"): e[18],
       str("id модели оружия"): e[19], str("2 id модели оружия"): e[20],
       str("x"): e[21], str("y"): e[22], str("z"): e[23],
       str("a"): e[24], str("b"): e[25]}
print(sol)
 
b = input(str('имя параметр '))
h = input(str('параметр '))
sol[b] = h
a.close()
e.clear()
c = "d:\\wea0.txt"
a = open(c, 'w')
u = sol.values()
 
for i in u:
 e.append(i)
 
с= (str(e[0])+"            "+str(e[1])+' '+str(e[2])+'  '+str(e[3])+'  '+str(e[4])+'  '+str(e[5])+'   '+str(e[6])
             +'   '+str(e[7])+' '+str(e[8])+'   '+str(e[9])+'   '+str(e[10])+'   '+str(e[11])+'  '+str(e[12])+'    '+str(e[13])
             +' '+str(e[14])+'   '+(e[15])+'  '+str(e[16])+'  '+str(e[17])+'  '+str(e[18])+'  '+str(e[19])+' '+str(e[20])+'  '
             +str(e[21])+'       '+str(e[22])+''+str(e[23])+'     '+str(e[24])+'        '+str(e[25])+' ')
a.writelines(с)
os.startfile(r'D:/wea0.txt')
0
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 393
19.04.2018, 15:10  [ТС]
Здравствуйте всем.
Я наконец-то сделал редактор оружие для GTA Vice City.
Вот видео демонстрация https://www.youtube.com/watch?... e=youtu.be
Всем спасибо, всё работает как надо. Благодарю за вашу помощь.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
b = input(str("введите директорию gta vice city "))  # Имя которое ищем
b = str(b + "\data\weapon.dat")  # файл записи
a = input(str("введите имя оружие ")).title()  # Имя которое ищем
with open(b, 'r') as g:  # открыть файл оригинала
    for i in g.readlines():  # читать построчно
        if a in i:  # искать слово
            old = i
            e = i
e = e.split()
sol = {str("название оружия"): e[0], str("тип огня"): e[1],
       str("диапазон"): e[2], str("скорость стрельбы"): e[3],
       str("время перезарядка"): e[4], str("количество боеприпасов"): e[5],
       str("урон"): e[6], str("скорость, с которой летит снаряд"): e[7],
       str("радиус действия оружия"): e[8],
       str("максимальное время, за которое может продержаться в воздухе снаряд"): e[9],
       str("вектор смещение огня x"): e[10], str("вектор смещение огня y"): e[11],
       str("вектор смещение огня z"): e[12], str("проигрывание анимации"): e[13],
       str("начало цикла анимации"): e[14], str("конец цикла анимации"): e[15],
       str("точки в анимации, где оружие стреляет"): e[16],
       str("точки в анимации, где оружие стреляет2"): e[17],
       str("точка в аним, где мы можем прорыв аним / атаки и убежать"): e[18],
       str("id модели оружия"): e[19], str("2 id модели оружия"): e[20],
       str("x"): e[21], str("y"): e[22], str("z"): e[23],
       str("a"): e[24], str("номер слота оружие"): e[25]}
print(sol)  # Вывести параметры заданного оружие
d = input(str('имя параметр '))
h = input(str('параметр '))
sol[d] = h
e.clear()
u = sol.values()
for i in u:
    e.append(i)
 
l = (str(e[0]) + "             " + str(e[1]) + ' ' + str(e[2]) + '  ' + str(e[3]) + '  ' + str(e[4]) + '  ' + str(
    e[5]) + '   ' + str(e[6])
     + '  ' + str(e[7]) + ' ' + str(e[8]) + '  ' + str(e[9]) + '   ' + str(e[10]) + ' ' + str(e[11]) + '  ' + str(
            e[12]) + '  ' + str(e[13])
     + '  ' + str(e[14]) + '               ' + (e[15]) + ' ' + str(e[16]) + ' ' + str(e[17]) + '   ' + str(
            e[18]) + ' ' + str(e[19]) + ' '
     + str(e[20]) + '    ' + str(e[21]) + '          ' + str(e[22]) + ' ' + str(e[23]) + '        ' + str(
            e[24]) + '          ' + str(e[25]) + ' ')
l = l + '\n'
with open(b, 'r') as f:
    old_data = f.read()
 
new_data = old_data.replace(old, l)
 
with open(b, 'w') as f:
    f.write(new_data)
print(("Изменен параметр {} теперь он = {} у {}").format(d, h, a))
input()
0
1741 / 913 / 480
Регистрация: 05.12.2013
Сообщений: 3,074
19.04.2018, 15:30
Gui прикрути, хотя бы tkinter
0
Эксперт С++
1624 / 954 / 782
Регистрация: 06.02.2016
Сообщений: 2,452
Записей в блоге: 31
19.04.2018, 17:06
Егор Щербанов,
0
11 / 10 / 2
Регистрация: 19.02.2018
Сообщений: 393
13.03.2022, 11:20  [ТС]
вот

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
from tkinter import Tk, StringVar, Label, Entry, Button, messagebox  # импортируем только то что надо
from tkinter.ttk import Combobox  # импортируем только то что надо
from tkinter import ttk
from tkinter.filedialog import askopenfilename
 
name_weapon = ("Unarmed", "BrassKnuckle", "ScrewDriver", "GolfClub",
               "NightStick", "Knife", "BaseballBat", "Hammer", "Cleaver", "Machete",
               "Katana", "Chainsaw", "Grenade", "DetonateGrenade", "TearGas", "Molotov",
               "Rocket", "Colt45", "Python", "Shotgun", "Spas12Shotgun", "StubbyShotgun",
               "Tec9", "Uzi", "SilencedIngram", "Mp5", "m4", "Ruger", "SniperRifle",
               "LaserScope", "RocketLauncher", "FlameThrower", "M60 ", "Minigun",
               "Detonator", "HeliCannon", "Camera")  # Кортеж имен оружия
 
def OpenFile():
    global url
    url = askopenfilename(filetypes=(("Text File", "*.dat"),), title="Choose a file.")  # открыть каталог выбора файл
    try:
        var1.set(url)
    except:
        var1.set("Не тот файл")
 
def mycom():
    bt.config(state='normal')
    with open(url, 'r') as f:  # открыть файл оригинала
        weapon = var2.get()  # название выбранного оружие пишем в переменную
        for i in f.readlines():  # читать построчно
            if i.startswith(weapon):  # искать строку с именем оружие
                global old
                old = i  # сохранит строку в переменную, для последующий замены
                e = i
                e = e.split()
    for i, x in enumerate(arg):
      x.set(e[i])
 
def label():
 Label(window, text='Название').grid(column=0, row=1, padx=0, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[0]).grid(column=1, row=1, padx=15, pady=5)  # поле оружие
 Label(window, text='Тип оружие').grid(column=0, row=2, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[1]).grid(column=1, row=2, padx=0, pady=5) #поле тип оружие
 Label(window, text='диапазон').grid(column=0, row=3, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[2]).grid(column=1, row=3, padx=0, pady=5) #поле тип оружие
 Label(window, text='скорость стрельбы').grid(column=0, row=4, padx=5, pady=0)#надпись названием
 Entry(window, width=20, textvariable=arg[3]).grid(column=1, row=4, padx=0, pady=5)  # поле тип оружие
 Label(window, text='время перезарядки').grid(column=0, row=5, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[4]).grid(column=1, row=5, padx=0, pady=5)  # поле тип оружие
 Label(window, text='количество патронов в обойме').grid(column=0, row=6, padx=5, pady=0)  # надписьназванием
 Entry(window, width=20, textvariable=arg[5]).grid(column=1, row=6, padx=0, pady=5)  # поле тип оружие
 Label(window, text='урон').grid(column=0, row=7, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[6]).grid(column=1, row=7, padx=0, pady=0)  # поле тип оружие
 Label(window, text='скорость полета снаряда').grid(column=4, row=1, padx=5, pady=0)  # надпись перед
 Entry(window, width=20, textvariable=arg[7]).grid(column=5, row=1, padx=0, pady=0)  # поле тип оружие
 Label(window, text='радиус действия оружия').grid(column=4, row=2, padx=5, pady=0)  # надпись перед
 Entry(window, width=20, textvariable=arg[8]).grid(column=5, row=2, padx=0, pady=0)  # поле тип оружие
 Label(window, text='макс время в воздухе снаряд').grid(column=4, row=3, padx=5, pady=0)  # надпись перед
 Entry(window, width=20, textvariable=arg[9]).grid(column=5, row=3, padx=0, pady=0)  # поле тип оружие
 Label(window, text='вектор смещение огня x').grid(column=4, row=4, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[10]).grid(column=5, row=4, padx=0, pady=0)  # поле тип оружие
 Label(window, text='вектор смещение огня y').grid(column=4, row=5, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[11]).grid(column=5, row=5, padx=0, pady=0)  # поле тип оружие
 Label(window, text='вектор смещение огня z').grid(column=4, row=6, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[12]).grid(column=5, row=6, padx=0, pady=0)  # поле тип оружие
 Label(window, text='проигрывание анимации').grid(column=4, row=7, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[13]).grid(column=5, row=7, padx=0, pady=0)  # поле тип оружие
 Label(window, text='начало цикла анимации').grid(column=0, row=7, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[14]).grid(column=1, row=7, padx=0, pady=0)  # поле тип оружие
 Label(window, text='конец цикла анимации').grid(column=0, row=8, padx=5, pady=5)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[15]).grid(column=1, row=8, padx=0, pady=5)  # поле тип оружие
 Label(window, text='точки в ани оружие стреляет').grid(column=0, row=9, padx=5, pady=0)  # надпись перед
 Entry(window, width=20, textvariable=arg[16]).grid(column=1, row=9, padx=0, pady=0)  # поле тип оружие
 Label(window, text='точки в ани оружие стреляет2').grid(column=0, row=10, padx=5, pady=5)  # надпись перед
 Entry(window, width=20, textvariable=arg[17]).grid(column=1, row=10, padx=0, pady=0)  # поле тип оружие
 Label(window, text='точка в аним, прорыв ани атаки').grid(column=0, row=11, padx=5, pady=2)  # надпись перед
 Entry(window, width=20, textvariable=arg[18]).grid(column=1, row=11, padx=0, pady=0)  # поле тип оружие
 Label(window, text='id модели оружия').grid(column=0, row=12, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[19]).grid(column=1, row=12, padx=0, pady=0)  # поле тип оружие
 Label(window, text='2id модели оружия').grid(column=4, row=8, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[20]).grid(column=5, row=8, padx=0, pady=0)  # поле тип оружие
 Label(window, text='x').grid(column=4, row=9, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[21]).grid(column=5, row=9, padx=0, pady=0)  # поле тип оружие
 Label(window, text='y').grid(column=4, row=10, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[22]).grid(column=5, row=10, padx=0, pady=5)  # поле тип оружие
 Label(window, text='z').grid(column=4, row=11, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[23]).grid(column=5, row=11, padx=0, pady=5)  # поле тип оружие
 Label(window, text='6 Флагов').grid(column=4, row=12, padx=5, pady=5)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[24]).grid(column=5, row=12, padx=0, pady=5)  # поле тип оружие
 Label(window, text='номер слота оружие').grid(column=4, row=13, padx=5, pady=0)  # надпись перед названием
 Entry(window, width=20, textvariable=arg[25]).grid(column=5, row=13, padx=0, pady=0)  # поле тип оружие
 
def vares():
    var0, var1, var2, ar = StringVar(), StringVar(), StringVar(), StringVar()
    global arg
    arg = [StringVar() for _ in range(26)]
    return var0, var1, var2, arg
def save():
    l = (str(arg[0].get()) + "             " + str(arg[1].get()) + ' ' + str(arg[2].get()) + '  ' + str(arg[3].get()) + '  ' + str(arg[4].get()) + '  ' + str(arg[5].get()) + '   '
         + str(arg[6].get()) + '  ' + str(arg[7].get()) + ' ' + str(arg[8].get()) + '  '
         + str(arg[9].get()) + '   ' + str(arg[10].get()) + ' ' + str(arg[11].get()) + '  '
         + str(arg[12].get()) + '  ' + str(arg[13].get()) + '  ' + str(arg[14].get())
         + '               ' + str(arg[14].get()) + ' ' + str(arg[15].get()) + ' '
         + str(arg[16].get()) + '   ' + str(arg[17].get()) + ' ' + str(arg[18].get()) + ' '
         + str(arg[19]) + '    ' + str(arg[20]) + '          ' + str(arg[21].get()) + ' '
         + str(arg[22].get()) + '        ' + str(arg[24].get()) + '          '
         + str(arg[25].get()) + ' ')
    l = l + '\n'
    with open(url, 'r') as f:
        old_data = f.read()
        new_data = old_data.replace(old, l)  # заменяем старую строку на новую с измененными параметрами
    with open(url, 'w') as f:
        f.write(new_data)
        messagebox._show("ок", "Изменения сохранены")  # вывести сообщение после сохранение
 
window = Tk()  # основа
var0, var1, var2, arg = vares()
label()
window.title("weapons editor vc ")  # заголовок
window.geometry("800x450+650+300")  # Первые 2 определяют ширину высоту. Пос 2 x и y координаты на экране.
window.configure(bg='DimGray')  # Цвет фона окна
Button(window, text="Получить данные", command=mycom).grid(column=4, row=14, padx=50, pady=30)  # кнопка
Entry(window, width=20, textvariable=var1).grid(column=1, row=0, padx=0, pady=5)  # размер поле адреса ввода width длина
Label(window, text='путь к игре').grid(column=0, row=0, padx=30, pady=0)  # надпись перед вводом адрес файла
label()  # все надписи с полями
box = Combobox(window, width=12, textvariable=var2, values=name_weapon)
box.grid(column=5, row=0, padx=22, pady=0)  # поле со списком
box.current(0)
bt = Button(window, state='disabled', text="Сохранить", command=save)
bt.grid(column=5, row=14, padx=50, pady=30)  # кнопка сохранить
Entry(window, width=20, textvariable=var1).grid(column=1, row=0, padx=0, pady=5)  # размер поле адреса ввода
Button(window, text="Адрес директории игры", command=OpenFile).place(x=381, y=4)  # кнопка
window.mainloop()
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.03.2022, 11:20
Помогаю со студенческими работами здесь

Чит на получение денег в GTA: Vice City
подскажите пожалуйста! Правда, что с помощью программы (ArtMoney SE v7.33) можно получить много денег для Gta Vice citi? Если да, то...

Нашел интересность с музыкой в GTA Vice City
в папку mp3 можно не только заливать файлы *.mp3, но и ярлыки на них. А благодаря удобству XP можно сделать так: -Войти в папку где много...

Резко ускоряется игровой процесс в GTA Vice City
Меня этот глюк уже задолбал: после некоторого времени игры скорость игры резко увеличивается и при нажатии Esc игра не реагирует ни на что...

При низком разререшии на некоторых областях зависает но при высоком такого не происходит (GTA Vice City)
Доброго времени суток! Я не понимаю почему это происходит. Значит ситуация такова, загрузил я GTA Vice City. Самое комфортное разрешение...

Игра Grand Theft Auto: Vice City (Нету миссий) Последняя миссия (Земля Полицейских)
В игре нету миссий , я ждал , может телефонный звонок, но нет , я прошел все миссии которые были на карте,и осталась метка сбора денег.А...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru