[CLEO] Добавляем проверку обновлений в свой cleo script - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Alowir, Sanoxxx  
[CLEO] Добавляем проверку обновлений в свой cleo script
Кoт Дата: Среда, 18.06.2014, 03:48 | Сообщение # 1

Сообщений: 1074
Статус: Offline
Всем привет,связи с тем,что прошлая тема была скопирована и некоторым не понятна,не знаю почему,мне хватило,все же я решил написать свой урок с полным описанием ,а именно проверку обновлений cleo и его скачку.Скажу про разницу функций.Во-первых,разное построение.Возможно,тот код лучше оптимизацией и небольшой скоростью,но работоспособностью они идентичны.Надеюсь вы сможете сделать его под себя,потому что можно просто поменять ссылки и имена,если нужно.Возможно,кто-то сделает его лучше,то скиньте его сюда.Я кину его в первый пост,чтобы новичкам было более понятно.В общем смотрим код:
Скажу отдельно о некоторых вещах,которые вы можете узнать по ходу дела,но я их все же выделю
Файлы:
Цитата
Local.tmp - хранит в себе локальную версия скрипта.
Global.tmp - хранит в себе версию,которая у автора на компьютере

Их названия можно менять,как хотите,так же,как и их расширение " tmp,bat.ini,amaxala" итд.Можете использовать bat или tmp.Как в моем примере

________________________________________________________________________________

Расскажу о call

Цитата
alloc 0@ 256 - выделяем память переменным
alloc 1@ 256
0ad3: 0@ = "cleo\Version\Global.tmp" // записываем путь куда сохраняем и с каким именем.
0ad3: 1@ = "https:%c%cdl.dropboxusercontent.com/s/y4a8rsl3uvplkcf/Global.tmp" 47 47 // записываем прямую ссылку доступа.Вместо простого dropbox.com использовать https://dl.dropboxusercontent.com 47 - это знак слеша " / ".Использовать символ приходиться потому что в SB " // " двойной слэш идет,как комментарий.
call @URLDownloadToFile 2 0@ 1@ 2@ // 0@ - место сохранения и имя | 1@ - прямая ссылка доступа | 2@ - хранится результат,по словам автора данной функции можно получить код ошибки
free 0@ - очищаем выделенную память
free 1@

________________________________________________________________________________

Далее
Цитата
0AF2: 30@ = get_float_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF2: 31@ = get_float_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
0AF4: 5@s = read_string_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF4: 6@s = read_string_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"


Зачем я это делаю.Ну,30@ и 31@ понятно,ими я сравниваю,но зачем 5@s и 6@s да еще и читаю,как строки.Потому что я вывожу версии в чат,а если выводить через %0.2f,то будет с запятой и нулем,который не нужен,проще говоря,для нормального оформления.
________________________________________________________________________________

Цитата
while true
wait 0
if
0ab0: 104
then
0af8: "CLEO script" -1
end
end


Это пример,вместо этого вставляете свой код.
Весь код:
Цитата

{$CLEO .cs}
0000: NOP
if not 0@ = SAMP.Base()
then 0a93:
end
repeat
wait 228
until SAMP.Available()
wait 1500 // даем загрузится сампу
var
31@: float // обозначаем,что наши переменные дробные,
30@: float // чтобы потом не пришлось использовать опкод 0025: при сравнивании переменных
end
/* создание директории(папки),если таковой нет */
if
8AE4: not directory_exists "CLEO\Version"
then
0AE5: create_directory "CLEO\Version"
0af8: "Directory {FFFFFF}Version {ff0303}created" 0xff0303
end
/* --------------------------------------------------------- */
// скачиваем файл Global.tmp .В нем храниться версия клео,которая на компьютере автора.

0ac8: 0@ = 256
0ac8: 1@ = 256
0ad3: 0@ = "cleo\Version\Global.tmp" // путь сохранения и имя,как сохраним файл
0ad3: 1@ = "https:%c%cdl.dropboxusercontent.com/s/y4a8rsl3uvplkcf/Global.tmp" 47 47 // ссылка доступа
call @URLDownloadToFile 2 0@ 1@ 2@ // в переменной 2@ храниться результат,по словам автора данной функции можно получить код ошибки
free 0@
free 1@
0ACF: show_formatted_styled_text "CLEO by ~r~Kot" time 1000 style 2
wait 1000
0ACF: show_formatted_styled_text "For~g~Cheat-Master.ru" time 2000 style 1
/* проверяем наличие файла Local.tmp,в котором храниться версия клео на компьютере пользователя,если нет,то создаем*/
if
0AAB: file_exists "CLEO\Version\Local.tmp"
then
0AF2: 30@ = get_float_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF2: 31@ = get_float_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
0AF4: 5@s = read_string_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF4: 6@s = read_string_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
else
0AF3: write_float 1.0 to_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF2: 30@ = get_float_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF2: 31@ = get_float_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
0AF4: 5@s = read_string_from_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF4: 6@s = read_string_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
end
/* --------------------------------------------------------- */

0af8: "Версия вашего cleo: {FFFFFF}%s" 0xff0303 5@s // выводим версию клео в чат

if
31@ > 30@ // сравниваем с версии,локальную и глобальную ( пользователя и автора )
then
0af8: "Версия нового cleo {FFFFFF}%s" 0xff0303 6@s // если есть новая версия,то выводим диалог с предложением о обновлении
0B3B: samp show_dialog id 1488 caption "Проверка обновлений" text "Вышла новая версия" button_1 "Скачать" button_2 "Нет" style 0 //Создаем диалог
repeat
wait 0
until 0B3C: samp dialog_respond 1488 button 11@ list_item 0 input_text 0 // открываем диалог
if 11@ == 1 // если нажата кнопка "Скачать"
then
0B00: delete_file "CLEO\ama.cs" // удаляем прежнюю версию
0AC8: 1@ = 256 //
0AC8: 2@ = 256 // выделяем память под переменные
0AC8: 4@ = 128 //
0AD3: 2@ = "cleo\ama.cs" // путь сохранения и имя,как сохраним файл
0AD3: 1@ = "https:%c%cdl.dropboxusercontent.com/s/p0kskynpo96xcwd/ama.cs" 47 47 // ссылка доступа
call @URLDownloadToFile 2 2@ 1@ 3@ // в переменной 3@ храниться результат,по словам автора данной функции можно получить код ошибки
0AF3: write_float 31@ to_ini_file "cleo\Version\Local.tmp" section "Main" key "Version"
0AF4: 6@s = read_string_from_ini_file "cleo\Version\Global.tmp" section "Main" key "Version"
0AD3: 4@ = "ama.cs" // записываем имя файоа
0af8: "Вы успешно обновили cleo script {FFFFFF}%s.{ff0303}Новая версия {FFFFFF}%s" 0xff0303 4@ 6@s
repeat
wait 0
until 0AAB: file_exists "CLEO\ama.cs" 22@ // останавливаемся до того,пока не будет скачал файл
0A92: create_custom_thread 4@ // запускаем
free 1@
free 2@ // освобождаем выделенную память
free 4@
0B00: delete_file "CLEO\Version\Global.tmp"
004E: end_thread // останавливаем клео
else // если нажата кнопка " Нет" или нажата кнопка " ESC "
0af8: "Вы отменили обновление" 0xff0303
0B00: delete_file "CLEO\Version\Global.tmp"
end
end

/* CLEO SCRIPT ,который вы изменяли.Вот,например мой.*/
while true
wait 0
if
0ab0: 104
then
0af8: "CLEO script" -1
end
end


/* ----------------------------------- */
:URLDownloadToFile
0AA2: 10@ = load_library "Urlmon.dll" // IF and SET
0AA4: 11@ = get_proc_address "URLDownloadToFileA" 10@
0AA7: address 11@ params 5 pop 0 /*params*/ 0 0 0@ 1@ 0 /*ret*/ 12@
ret 1 12@

Комментируйте,задавайте вопросы.Если что,обращайтесь в ЛС или в скайп.Думаю не зря постарался .Так же извиняюсь за оформление или какие либо ошибки будь они грамматические или речевые

Так же предоставляю видео с примером работы.Думал музыку не будет слышно,но да ладно.




Сообщение отредактировал Кoт - Среда, 18.06.2014, 03:49
DubStep_ Дата: Среда, 18.06.2014, 05:24 | Сообщение # 2
{ }
Сообщений: 1406
Статус: Offline
Спасибо, твой урок самый понятный :з
Nikemmi Дата: Среда, 18.06.2014, 10:27 | Сообщение # 3
Хороший))0
Сообщений: 475
Статус: Offline
Класс, один из лучших уроков

Delphi программирование
[Delphi]Узнаем координаты перса
BunnyHop для Steam/Non steam
CallBack Дата: Вторник, 24.06.2014, 19:07 | Сообщение # 4
Любитель
Сообщений: 48
Статус: Offline
Разве автор ты?
Кoт Дата: Вторник, 24.06.2014, 19:28 | Сообщение # 5

Сообщений: 1074
Статус: Offline
Но автор функции и ее применения нет.Но данного кода да

FirewolfTry Дата: Суббота, 13.09.2014, 20:07 | Сообщение # 6
Боец
Сообщений: 116
Статус: Offline
Вах surprised surprised surprised surprised я щас ко?чу surprised surprised surprised
няяя happy happy спасибки, сейчас все это читать буду happy happy happy


==================================
Yagus! Free Antivirus.
==================================
robert_daunia Дата: Пятница, 17.10.2014, 00:42 | Сообщение # 7
Любитель
Сообщений: 48
Статус: Offline
Я крч не понял.

Откуда он получает ссылку на новую версию клео, если там ссылка стоит на старую версию?? Или заранее надо заливать на фо клео, брать ссылку, а когда выходит обновление, просто закидываешь клео с таким же названием и старое клео заменяется на новое? Сохраняя прямую ссылку? Я правильно понял?


Раздача способов заработка - http://cheat-master.ru/forum/188-384130-1
Продажа Steam http://cheat-master.ru/forum/140-383333-1
DubStep_ Дата: Пятница, 17.10.2014, 00:56 | Сообщение # 8
{ }
Сообщений: 1406
Статус: Offline
robert_daunia, если хочешь обновить то меняешь значение с 1.0 на выше 1.1 и старое клео на новое заменяешь
robert_daunia Дата: Пятница, 17.10.2014, 01:09 | Сообщение # 9
Любитель
Сообщений: 48
Статус: Offline
Dubstep spasibo. Znachit ya pravilno ponyal)

Раздача способов заработка - http://cheat-master.ru/forum/188-384130-1
Продажа Steam http://cheat-master.ru/forum/140-383333-1
  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума