[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
|
Но автор функции и ее применения нет.Но данного кода да
|
|
|
|
|
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
|
|
|
|