Вверх ↑
Этот топик читают: Гость
Ответов: 4
Рейтинг: 1
#1: 2011-01-09 00:39:31 ЛС | профиль | цитата
В общем, такая проблема - нужно бы сделать "патчер" для всех клиентов сей игры, которые играют на моём сервере. И есть пару вопросов.

Алгоритм действия программы таков:

1) В программе (в exe-файле) должен быть зашит minecraft.jar
2) Файл должен распаковываться в папку C:UsersпользовательAppDataRoaming.minecraftin, заменяя собой оригинальный файл.
3) Желательно проверять версию майнкрафта.

Вопросы:

1) Как зашить архив в программу?
2) Как получить имя пользователя компьютера, вместо "пользователя"?
3) И каким образом получить размер файла для проверки?
карма: 0

0
Ответов: 4641
Рейтинг: 334
#2: 2011-01-09 00:41:56 ЛС | профиль | цитата
d.frolov писал(а):
Вопросы:


ОТВЕТЫ ТУТ
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 4
Рейтинг: 1
#3: 2011-01-09 01:02:18 ЛС | профиль | цитата
К сожалению пройдясь по разделам, на первый вопрос я ответ не нашел. Есть работа с именами файлов, есть с файлами, а как именно файл зашить в саму программу - ответа нет. Есть какой-либо простой пример?
карма: 0

0
Ответов: 1379
Рейтинг: 86
#4: 2011-01-09 01:04:36 ЛС | профиль | цитата
d.frolovfr,
1) MemoryStream & FileStream
2) Я делал так

Add(MultiElement,14397688,84,42)
{
}
BEGIN_SDK
Add(EditMulti,8727182,20,20)
{
EventCount=1
WorkCount=1
Width=174
Height=123
link(doWork1,12368014:doTrim,[(31,26)(31,104)])
}
Add(Dir,3594577,35,42)
{
}
Add(Trim,12368014,42,98)
{
Char=""
link(onTrim,12290932:doSplit,[])
link(Text,3594577:DesktopDir,[])
}
Add(MultiStrPart,12290932,91,98)
{
Char=""
Count=1
Direct=1
link(onSplit,11835983:doStrCat,[])
}
Add(StrCat,11835983,140,98)
{
Str2="\"
link(onStrCat,8727182:onEvent1,[(183,104)(183,26)])
}
Add(GlobalVar,10594134,329,161)
{
Name="path"
}
END_SDK

3) FileAttributes
карма: 0

0
Ответов: 4
Рейтинг: 1
#5: 2011-01-09 01:38:50 ЛС | профиль | цитата
code_22093.txt

Не сохраняет эдакий файл, что неправильно?
карма: 0

0
файлы: 1code_22093.txt [2KB] [84]
Гость
Ответов: 17029
Рейтинг: 0
#6: 2011-01-09 01:56:32 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-12 02:07:09
карма: 0

0
Ответов: 4641
Рейтинг: 334
#7: 2011-01-09 02:00:45 ЛС | профиль | цитата
code_22095.txt
карма: 1
Время верстки: %cr_time% Текущее время: %time%
1
файлы: 1code_22095.txt [1.9KB] [99]
Голосовали:d.frolov
Ответов: 131
Рейтинг: 15
#8: 2011-01-09 02:33:59 ЛС | профиль | цитата
Вот еще вариант

Add(Button,8625726,371,196)
{
Left=166
Top=110
Data=String(OK!)
link(onClick,7457309:doEvent1,[])
}
Add(Label,4835296,504,154)
{
Left=135
Top=50
Width=130
Height=24
Font=[MS Sans Serif,12,1,255,1]
Caption="C:minecraft.jar"
AutoSize=1
Alignment=2
}
Add(TempFileStream,12429399,455,203)
{
Stream=[ZIP743F000078DAED5AB16EC230104DB7485DA24EAC6C65F452C94B2B65F080D48C8CAC1919A8C4C0D08511F56F32B232F23B8C34C1B27C675F4228D01073F7E4C5B173B9C7BDF32522FDFCFA888EF6568ED772FC944396E3294A8EF3EFE5F597673D8C1DBE190C0683C16030180C0683C16030180C0683C1603018B7C77E1A01DB4FDDEBF1D05E8D87767E2DECBC50D5CC2AB1333B49F99239F4A5771513A1B6033B3B1E09B59CE17DBE2F0DE8719E99D9E50C7A71EFD50D373B6967D298F22514F42573B803DB780463EA3F37382B64EEFB82F9B11D1CBEA346B3CFD27F6E70ECBEAA360B5751CDDCA4B1892B046EA066AABC685694E546289365C584E237046EB0AA9A4C3347E55731B1AB564938DC60553599DE91C67E5582F735FF6D08831BAC9B7AF339996742615E42CB9B76AAC2B508F737D0D622246EDAA90A7259BF3EAC73CA55D57844E79379DECD0246E7EAE9DEFA9B666BC30D64C176C7B003B68AAAAB4EDB01BC6338DC605515137FAEFE545B0BA1FCCCADF705F7F6831B980DBA7BA115857F77537729B4A9FB961BD821DD1B37F077D3AAAAEB97A90CB367FA2AA16A71C5F76651D52A5809E15B1DAE61D7FB46710D6E70CC552703A3806B61155A25E69797B9503A3E9A9B73CC7F73E9F29CF25585DF31618E2F6769DC14597B6EEAEE437F47EA921BA8AAED609ED177389DB51437AE924C76E22AE37648F7C30D5615D4BFBF52E674B45564555DF17D2D67EEF9A6D5E8F791D499D73D37759D8B89D6E54728E8A7FA2E0A9FC4F735CFCCFA9D84EF6670FEB29CB9849B66E01EE3FCFDFDFE967E0A9452FCFC7A4C6E2855D18A0A8F9B533D2D3EB9FBA8A8DB71E3ABAA6F8ABA2537AEAAFAA6A8BFA3ED7BE22382B96130180C06E33F1145BFE2164ED4]
Extention=".tmp"
link(onCreate,9356509:doMove,[])
}
Add(Hub,7457309,413,196)
{
OutCount=3
link(onEvent1,12429399:doCreate,[(444,202)(444,209)])
link(onEvent2,4835296:doText,[(435,209)(435,160)])
link(onEvent3,12429399:doDelete,[])
}
Add(FileTools,9356509,504,203)
{
DelToRecycle=1
link(NewFileName,4835296:Caption,[(517,195)(510,195)])
}
карма: 0

0
Ответов: 4
Рейтинг: 1
#9: 2011-01-09 16:24:54 ЛС | профиль | цитата
Огромное спасибо. Еще вопрос:
Работает ли в компоненте "FileStream", да и вообще в HiAsm ссылки вида %AppData%, %UserName%, итп? И если нет, как задать путь вида C:UsersИмя пользователяAppDataRoaming.minecraftin ?
Способ от petrocan показался мне слишком сложным, есть же более простой выход.

Вот код, если я опять ошибся
Add(Label,4835296,518,133)
{
Left=75
Width=73
Height=27
Font=[Segoe Print,10,0,0,204]
Caption="Ожидание"
}
Add(ButtonRush,6739233,217,126)
{
Left=10
Top=25
Width=130
Caption="Патчить!"
Glyphs=[]
Point(doEnabled)
link(onClick,2347614:doData,[])
}
Add(MainForm,14918352,126,126)
{
Width=319
Height=106
Caption="Test"
BorderStyle=4
Position=1
}
Add(MemoryStream,13645763,336,70)
{
Stream=[ZIP0F00000078DA2B492D2E51288113002EDA05A1]
Point(doPosition)
}
Add(FileStream,14309385,427,91)
{
FileName="%AppData%Roaming.minecraftinminecraft.jar"
Mode=1
AutoCopy=0
Point(doCopyFromStream)
}
Add(DoData,11204300,469,133)
{
Data=String(OK!)
link(onEventData,4835296:doText,[])
}
Add(DoData,2347614,336,126)
{
link(onEventData,12608125:doEvent1,[])
link(Data,13645763:Stream,[])
}
Add(Hub,12608125,385,126)
{
OutCount=3
link(onEvent1,14309385:doCopyFromStream,[(413,132)(413,111)])
link(onEvent2,11204300:doData,[])
link(onEvent3,6739233:doEnabled,[(409,146)(409,163)(205,163)(205,132)])
}

карма: 0

0
Ответов: 1841
Рейтинг: 369
#10: 2011-01-09 17:08:15 ЛС | профиль | цитата
d.frolov писал(а):
Работает ли в компоненте "FileStream"

нет

d.frolov писал(а):
И если нет, как задать путь вида C:UsersИмя пользователяAppDataRoaming.minecraftin ?

С помощью элементов: Dir, Registry узнаём всё что нам нужно

Пример:
code_22103.txt
карма: 1
0
файлы: 1code_22103.txt [1.7KB] [109]
10
Сообщение
...
Прикрепленные файлы
(файлы не залиты)