Filter
Exclude
Time range
-
Near
🚀 PRE-RELEASE: UPDATE 6 PARTE 2 O Update 6 Parte 2 chegou, com mudanças em mundo, NPCs, áudio, modding e uma grande lista de correções. ⚔️ COMBATE, NPCs E ITENS 🔹 NPCs podem spawnar com múltiplos efeitos ativos ao mesmo tempo 🔹 Novos efeitos visuais de morte em NPCs 🔹 Novo Template_Flying_Aggressive para inimigos voadores com ataques à distância 🔹 Templates Eye, Spirit e Scarak Seeker agora estão depreciados 🌎 MUNDO E BLOCOS 🔹 Graph System integrado ao World Gen V2 (em desenvolvimento) 🔹 Adicionados WhiteNoise Density, Transparent MaterialProvider, DirectionalJitter Positions, VectorOffset Positions e Anchor PropDistribution 🔹 Novos VectorProviders (Adder, Cross, Multiplier, Normalizer, Random, ScalarMultiplier, SetX/Y/Z, Subtracter, VectorProjector, PlaneProjector) 🔹 Novo sistema Wilderness Tracking (classifica áreas como “Near Home” ou “Wilderness” baseado em camas) 🔹 Novo componente de blocos explosivos 🛠️ MODDING E FERRAMENTAS 🔹 Nova Texture Atlas API (combinação de múltiplas imagens em uma única textura GPU) 🔹 Asset Editor agora respeita Model Overrides no preview de itens 🔹 Controle de rotação de projéteis ao serem disparados 🔹 Ajustes em colisões suaves baseados em volume de hitbox 🔹 Colisão suave agora considera tamanho da hitbox 🔹 Refatoração de ControlDoorsEffect e DoorInteraction com utilitário compartilhado 🔹 Melhorias gerais no fluxo de criação e ferramentas 🎵 ÁUDIO 🔹 Rework do Audio Bus e Ducking 🔹 Melhor controle de “ducking” para sons simultâneos (evita sobreposição) 🔹 Novos sons para caminhada e aterrissagem em galhos 🔹 Novo som de break para blocos Deco_Treasure 🔹 Novos sons para cactos (walk, land, hit e break) 🏃 MOVIMENTAÇÃO 🔹 Sprint não ativa mais acidentalmente ao gerenciar inventário 🔹 Sprint agora permanece após deslizar 🔹 Correções em montarias e rotação de entidades 🔹 Roll agora volta a anular dano de queda 🔹 Correções em controles e resets entre reinicializações ⚔️ ENTIDADES E ITENS 🔹 Corrigido Trork Hunter em estado de combate sem lobo companheiro 🔹 Correções em NPCs de dungeon (memórias incorretas) 🔹 Correção de duplicação de itens via crafting em casos específicos 🔹 Correções em baús, animais e lógica de produção 🌍 MUNDO E GERAÇÃO 🔹 Correção de direção do jogador após teleport via mapa 🔹 Fallback generator quando WorldStructure não pode ser construído 🔹 Correções em artefatos de SingleInstance 🔹 Correção de problemas ao carregar mods em estruturas 🔹 Ajustes visuais em blocos (Clay Raw Brick Half, Ornate Stone Brick) 🧩 MODDING / COMANDOS 🔹 Correções em crashes no SpawningContext e Trigger Volume tool 🔹 Fix em /submerge e /set (fluidos) 🔹 Correção de crash ao usar interação secundária em Unarmed.Empty 🔹 Trigger Volumes agora usam chunk ref/store corretamente 🔹 Correção em /worldgen reload que não removia Trigger Volumes 🔹 Correção de PEdit criando chests ao invés de spawners 🔹 Melhorias em prefabs, validação e overwrite flow 🔹 Ajustes em limites de densidade do Builder Tool 🖥️ INTERFACE E SOCIAL 🔹 Server Discovery com melhorias (IPs agora ocultos por padrão) 🔹 Correção de textos que não atualizavam com mudança de idioma 🔹 Correções em listas de amigos e integração com Discord 🔹 Suporte para listas com mais de 500 usuários 🔹 Correções em fullscreen, atalhos e inventário ⚡ ESTABILIDADE E PERFORMANCE 🔹 Correções em diversos crashes de cliente e servidor (fluids, entidades, containers, reconexão, edição de texto) 🔹 Memory leak reduzido após encerramento de sessão 🔹 Correções em crashes raros durante reload de assets 🔹 Melhorias gerais de estabilidade e logs de comportamento de clientes 📌 OUTROS 🔹 Bug report agora suporta anexos de vídeo 🔹 Correção de stuttering de áudio quando device fica indisponível 🔹 Correções em inventário ao perder foco da janela 🔹 Reparação automática de cosméticos renomeados ao login 🔹 Correções de erros tipográfico
1
3
78
2,931
🚨 PRE-RELEASE (UPDATE 6, PART 1) May 28, 2026 🧱 HEADLINE FEATURES • Block Palette Presets agora permitem salvar e reutilizar paletas • Nova aba no Quick Settings para gerenciar block palettes • Palette Editor para criar, salvar, deletar e restaurar paletas • Inclui color picker e eyedropper para capturar cores dos blocos 🌍 WORLD & BLOCKS • Grama não se espalha mais debaixo d’água • Grama submersa agora reverte lentamente para dirt 🧭 UI & QUALITY OF LIFE • Server Discovery agora mostra apenas 3 tags quando há mais de 4 • Tags extras aparecem em overflow com tooltip ao passar o mouse • Creative item library agora remove corretamente itens dropados • Agora é possível dropar itens individualmente de um stack com clique direito • Região “EU” renomeada para “Europe” 🛠️ MODDING & CREATIVE TOOLS • Novo setting “Resolve Block Spawners” controla geração de blocos (ex: chests) • Importação de imagens e OBJ agora usa TextureComputedColor (cor média mais precisa) • Imports filtram itens de qualidade especial • Asset Editor ganhou botão para regenerar TextureComputedColor • Melhorias no Selection Tool para textos longos • Ajustes de UI: sliders, dropdowns e limites de menu mais consistentes • Texto agora pode reduzir tamanho automaticamente em casos longos 🔊 AUDIO • Novos sons para Trash Piles • Novos sons para Brazier com variações por material • Correções no som de torch flare ao quebrar brazier apagado • Novos sons para folhas e brambles • Ajustes em cloth blocks (som de passo e impacto) 🐞 BUG FIXES MOVEMENT • Sprint no Creative não limita mais velocidade com multiplier < 1 COMBAT, ENTITY & ITEM FIXES • Projéteis agora usam posição server-authoritative • Interações com NPC e mounts validam distância corretamente • Itens não ficam mais em T-pose ao serem dropados • Brush Sound Volume agora funciona corretamente WORLD & BLOCK FIXES • Correção de crash em chunk lighting (IDs fora do range) • Correção de blocos que deveriam cair e não caíam • Vários ajustes visuais em modelos e texturas (barrels, fences, chests, doors etc.) CREATIVE, MODDING & TOOLS FIXES • Paste Tool não reseta mais offset • Ruler Tool corrigido (pontos e símbolo de soma) • Tool notifications agora respeitam configuração • Block filters agora interpretam blocos vazios corretamente UI & DISPLAY FIXES • Corrigido crash no inventário durante resize enquanto arrasta item • Corrigido crash raro no mouse handler • Disconnect screen agora mostra erro real do servidor • Singleplayer mostra erro correto ou “world not found” • Settings corrompido agora é recuperado automaticamente OTHER FIXES • Correções gerais de bugs e typos • Gamepad open failures não são mais tratados como crash ⚠️ MODDERS WARNING • Protocolo atualizado de hytale/2 para hytale/3 (incompatível com versões antigas) • BedsPlugin#getInstance() renomeado para get() • Nova API Universe#transferPlayerAsync() • Novo Store#getComponentConcurrent para leitura thread-safe no ECS • WorldGen SingleInstance marcado como experimental • Novo Crash Code: QuicApplicationErrorCode = 7
1
3
64
1,819
Replying to @RoGoldOfficial
"up to 3" brotha its easy to remove singleinstance and run any amount of accounts💔
8
1,080
QuickHideReStore.ahk #Requires AutoHotkey v2.0 #SingleInstance Force targetFile := "QuickHide.hide" Send "{F2}" WinWaitActive("ahk_class #32770",, 5) Send "^a{Delete}" Sleep 50 Send targetFile Send "{Enter}"
2
1,771
15 Oct 2025
分享一段自用的Autohotkey代码,AHKv1版本的,注释写的很详尽,有需求差异的自己修改热键或者网址。 功能很简单: 选中任何 0x 开头的CA字符串后 按 Ctrl ~用OKX网页DEX打开 Alt ~用币安钱包网页打开 Ctrl Alt ~用GMGN打开 之前我是用浏览器油猴脚本实现的,最近在Telegram群和微信群速开CA的需求变多了,就把功能转到AHK上了。 这个配合自建VPS高网速,算是让我早塞了不少币吧。 #NoEnv #SingleInstance Force SetBatchLines, -1 Menu, Tray, Tip, OKX/Binance/GMGN 快开(Ctrl/Alt/Ctrl Alt `) ; 通用参数 WAIT_SEC := 0.8 ; 模板 URL URL_OKX := "web3.okx.com/zh-hans/token/b…" URL_BIN := "web3.binance.com/zh-CN/token…" URL_GMGN := "gmgn.ai/bsc/token/" ; 热键:Ctrl ` ^SC029::Goto, _DoOpenOKX ; 热键:Alt ` !SC029::Goto, _DoOpenBIN ; 热键:Ctrl Alt ` ^!SC029::Goto, _DoOpenGMGN return ; ----------------------- _DoOpenOKX: urlBase := URL_OKX goto, _HandleOpen _DoOpenBIN: urlBase := URL_BIN goto, _HandleOpen _DoOpenGMGN: urlBase := URL_GMGN goto, _HandleOpen _HandleOpen: ClipSaved := ClipboardAll Clipboard := "" ; 清空以确保取到最新 Send ^c ClipWait, % WAIT_SEC txt := Clipboard Clipboard := ClipSaved ClipSaved := "" if (txt == "") { SoundBeep, 800 ToolTip, ❌ 剪贴板空 SetTimer, __TipOff, -1000 return } ; 清理所有非 hex / x 字符(去掉空格、换行、零宽等) clean := RegExReplace(txt, "[^0-9A-Fa-fx]") ; 在净化后的字符串里取第一个 0x 40hex if RegExMatch(clean, "i)0x[0-9a-f]{40}", m) { addr := m url := urlBase . addr ; 优先尝试在已运行的 Chrome/Edge 中打开新标签 if (ProcExist("chrome.exe")) Run, % "chrome.exe " . url else if (ProcExist("msedge.exe")) Run, % "msedge.exe " . url else Run, % url ToolTip, ✅ 已打开: dr% SetTimer, __TipOff, -900 } else { SoundBeep, 800 ToolTip, ❌ 未检测到有效地址 SetTimer, __TipOff, -1200 } return __TipOff: ToolTip return ProcExist(Name) { Process, Exist, %Name% return ErrorLevel }
2
218
21 Jul 2025
用chatgpt 写的自动点击的autohotkey的脚本,完成可以使用 代码分享给大家 可以适配虚拟机,基本可以完成网页上重复的点击工作 #Requires AutoHotkey v2.0 #SingleInstance Force ; —— 配置 —— targetAddress := "换成你自己的地址" ; 坐标设置(适配虚拟机环境) sendTabX := 450, sendTabY := 704 addressInputX := 153, addressInputY := 400 amountInputX := 115, amountInputY := 564 sendBtnX := 495, sendBtnY := 911 walletConfirmX := 900, walletConfirmY := 950 exitBtnX := 991, exitBtnY := 745 ; 时间参数(秒) waitBeforeSend := 5 waitBeforeWalletConfirm := 7 waitAfterWalletConfirm := 5 intervalSeconds := 30 ; 按钮颜色(16 进制 RGB) walletConfirmColor := 0x0E0E0E exitBtnColor := 0xA8A9AA ; 启动提示 MsgBox "✅ 请确保已打开 thunderbolt.lt 并连接 OKX 钱包,点击“确定”开始循环转账(USD1 模式,金额 0.11)", "启动确认", "64" Loop { ; — Step 1: 切换到 Send 页签 Click sendTabX, sendTabY Sleep 1000 ; — Step 2: 填写目标地址 Click addressInputX, addressInputY Sleep 300 Send "^a" Sleep 100 Send "{Backspace}" SendText targetAddress Sleep 500 ; — Step 3: 填写金额(0.11 USD) Click amountInputX, amountInputY Sleep 300 Send "^a" Sleep 100 Send "{Backspace}" SendText "0.11" Sleep 500 ; — Step 4: 等待并点击 Send ToolTip "⏳ 等待 " waitBeforeSend " 秒后点击 Send...", 20, 20 Sleep waitBeforeSend * 1000 ToolTip Click sendBtnX, sendBtnY ; — Step 5: 等待钱包确认按钮加载 ToolTip "🪙 等待钱包确认按钮加载...", 20, 20 elapsed := 0, maxWait := 10 Loop { color := PixelGetColor(walletConfirmX, walletConfirmY, "RGB") if (color = walletConfirmColor) break Sleep 1000 elapsed if (elapsed >= maxWait) { ToolTip "❌ 未检测到钱包确认按钮,跳过本轮", 20, 20 Sleep 2000 continue 2 } } ; — Step 6: 点击钱包确认 ToolTip "✅ 点击钱包确认按钮", 20, 20 Click walletConfirmX, walletConfirmY Sleep waitAfterWalletConfirm * 1000 ToolTip ; — Step 7: 检查并点击退出按钮 ToolTip "🚪 检查退出按钮...", 20, 20 elapsed := 0 Loop { color := PixelGetColor(exitBtnX, exitBtnY, "RGB") if (color = exitBtnColor) break Sleep 1000 elapsed if (elapsed >= maxWait) { ToolTip "❌ 未检测到退出按钮,跳过本轮", 20, 20 Sleep 2000 continue 2 } } ToolTip "✅ 退出按钮匹配,移动并点击", 20, 20 MouseMove exitBtnX, exitBtnY Sleep 300 Loop 3 { Click Sleep 500 } ToolTip ; — Step 8: 本轮完成,等待下一轮 ToolTip "🔁 本轮完成,等待 " intervalSeconds " 秒...", 20, 20 Sleep intervalSeconds * 1000 ToolTip }
3
200
بدأت الوقاحة التجريبية .. هذا ممكن! يمكننا حفظ موضع النافذة النشطة عند تفعيل الكود، ثم التأكد من أن جميع عمليات اللصق تحدث فقط في نفس النافذة التي تم تفعيل الكود فيها، حتى لو قمت بالتبديل إلى تطبيق أو نافذة أخرى. 🔍 كيف سيعمل الكود؟ ✅ عند الضغط على Ctrl Shift X، يتم حفظ النافذة النشطة (مثلاً: ChatGPT). ✅ يبدأ في إدخال "Go on " في حقل الإدخال تلك النافذة فقط، حتى لو انتقلت إلى تطبيق آخر مثل Twitter. ✅ يتكرر 30 مرة، مع الانتظار 3 ثوانٍ قبل الضغط على "Enter" و 20 ثانية قبل التكرار. ✅ إذا انتقلت إلى نافذة أخرى، لن يقوم الكود باللصق هناك، وسيظل يعمل فقط في النافذة الأصلية. ✅ يعرض إشعارًا عند اكتمال الأتمتة بعد 30 تكرارًا. ✅ يمكن إيقافه يدويًا بالضغط على Ctrl Shift X مجددًا. 🔥 الكود النهائي AutoHotkey (AHK): #Persistent #SingleInstance Force SetBatchLines, -1 global start := false global repeatCount := 30 global targetWindow := "" ^ x:: ; Toggle script on/off start := !start if (start) { WinGetTitle, targetWindow, A ; Get active window title MsgBox, 64, Automation Started, The script is now running in "%targetWindow%". It will repeat 30 times., 2 Loop, %repeatCount% { if (!start) { break } WinActivate, %targetWindow% ; Activate the original window WinWaitActive, %targetWindow%,, 2 ; Ensure it is active before pasting if (WinActive(targetWindow)) { Send, Go on{Space} ; Paste "Go on " with a space Sleep, 3000 ; Wait 3 seconds Send, {Enter} Sleep, 20000 ; Wait 20 seconds before repeating } else { break ; Stop the script if the window is no longer valid } } start := false MsgBox, 64, Automation Completed, The script has completed 30 repetitions in "%targetWindow%" and stopped., 2 } else { MsgBox, 64, Automation Stopped, The script has been stopped manually., 2 } return 🔧 كيفية تشغيل الكود: انسخ الكود أعلاه. افتح Notepad (المفكرة) والصقه هناك. احفظ الملف بامتداد .ahk (مثلاً AutoPaste.ahk). شغل الملف عبر AutoHotkey. افتح ChatGPT أو أي نافذة تريد تشغيل الكود فيها. اضغط Ctrl Shift X لتفعيل الكود. يمكنك الآن الانتقال إلى أي نافذة أخرى (مثل Twitter)، وسيظل الكود يعمل فقط في ChatGPT. لإيقافه يدويًا، اضغط Ctrl Shift X مجددًا. بعد 30 تكرارًا، سيعرض إشعارًا يخبرك بانتهاء الأتمتة. 🚀 ما الفائدة من هذا التعديل؟ 🔹 الكود سيعمل فقط في النافذة التي تم تفعيله فيها، حتى لو انتقلت إلى تطبيق آخر. 🔹 لن يتم اللصق تلقائيًا في أي مكان آخر مثل Twitter أو Word. 🔹 يتوقف تلقائيًا بعد 30 تكرارًا. 🔹 يمكنك إيقافه يدويًا في أي وقت. 🔹 إشعارات تنبيه عند البدء والإيقاف والانتهاء. 🔥 الآن الكود يعمل بدقة كما طلبت! جربه وأخبرني إذا كنت تريد أي تحسينات أخرى! 🚀😊
4
3,526
هذا الكود اشتغل .. تضغط كونترول شفت أكس يبدأ يشتغل معطنه أمر يشتغل ثلاثين مرة تخلي مؤشر الفأرة على شات جي بي تي يكمل الأمر ثلاثين مرة وتحصل الملخص جاهز توفير هائل للوقت لكن طريقة ينسخ ويروح ويجي طلعت واجد صعبة #Persistent #SingleInstance Force SetBatchLines, -1 global start := false global repeatCount := 30 ; Number of repetitions ^ x:: ; Toggle script on/off start := !start if (start) { MsgBox, 64, Automation Started, The script is now running. It will repeat 30 times., 2 Loop, %repeatCount% { if (!start) { break } Send, Go on{Space} ; Paste "Go on " with a space Sleep, 3000 ; Wait 3 seconds Send, {Enter} Sleep, 20000 ; Wait 20 seconds before repeating } start := false ; Stop automation after 30 repetitions MsgBox, 64, Automation Completed, The script has completed 30 repetitions and stopped., 2 } else { MsgBox, 64, Automation Stopped, The script has been stopped manually., 2 } return
1
1
1,668
أصدقائي المبرمجين!!! أنتم فعلا حياتكم غربة! السكربت ما طايع يشتغل! #Persistent #NoEnv #SingleInstance Force ; يمنع تشغيل أكثر من نسخة من السكربت SetBatchLines, -1 Esc::ExitApp ; زر إيقاف التشغيل الفوري عند الضغط على Escape ; ضمان إنشاء ملف اللوج إذا لم يكن موجودًا If !FileExist("log.txt") FileAppend, , log.txt ; إنشاء الملف فارغًا FileAppend, [%A_Now%] السكربت بدأ العمل - 10 تكرارات`n`, log.txt MsgBox, سيتم بدء العملية بعد 15 ثانية. تأكد من أن المحادثة وملف Word مفتوحان! Sleep, 15000 ; انتظار 15 ثانية لمنح الوقت لفتح المحادثة الصحيحة Loop, 10 { ; تنفيذ العملية لعشر تكرارات فقط MsgBox, الانتقال إلى ChatGPT بعد 3.. 2.. 1.. Sleep, 3000 ; الانتقال إلى ChatGPT WinActivate, ahk_exe chrome.exe ; تأكد من استخدام المتصفح الصحيح Sleep, 2000 ; إدخال النص وإرساله Send, بناء على خارطة الطريق التي اتفقنا عليها أعلاه أكمل شرحك وتذكر بإمكانك في حال تجاوز الموضوع حدود الحروف المسموح لك بها يمكنك تقسيم الجزئية التي تشرحها إلى جزئين لضمان شمول المادة العلمية كاملة Sleep, 2000 Send, {Enter} FileAppend, [%A_Now%] تم إرسال الطلب إلى ChatGPT (تكرار %A_Index%)`n`, log.txt ToolTip, تم إرسال الطلب إلى ChatGPT (تكرار %A_Index%) Sleep, 2000 ToolTip ; انتظار انتهاء الرد عبر مراقبة زر "إرسال" Loop { Sleep, 500 ; فحص كل نصف ثانية PixelSearch, Px, Py, 100, 100, 300, 300, 0xFFFFFF, 10, Fast ; البحث عن زر الإرسال If !ErrorLevel { Break ; إذا ظهر الزر، يعني أن الرد انتهى } } FileAppend, [%A_Now%] تم اكتشاف انتهاء رد ChatGPT`n`, log.txt ToolTip, تم اكتشاف انتهاء رد ChatGPT Sleep, 2000 ToolTip ; الانتظار 5 ثوانٍ ثم نسخ النص Sleep, 5000 Send, ^a ; تحديد كل النص Sleep, 500 Send, ^c ; نسخ النص Sleep, 3000 FileAppend, [%A_Now%] تم نسخ الرد من ChatGPT`n`, log.txt ToolTip, تم نسخ الرد من ChatGPT Sleep, 2000 ToolTip ; الانتقال إلى Word MsgBox, الانتقال إلى Word بعد 3.. 2.. 1.. Sleep, 3000 WinActivate, ahk_exe WINWORD.EXE Sleep, 2000 Send, ^v ; لصق النص Sleep, 1000 Send, {Enter} ; الانتقال إلى سطر جديد لتنظيم البيانات FileAppend, [%A_Now%] تم لصق الرد في ملف Word`n`, log.txt ToolTip, تم لصق الرد في ملف Word Sleep, 2000 ToolTip ; حفظ الملف كل 5 تكرارات If Mod(A_Index, 5) = 0 { Send, ^s ; حفظ الملف FileAppend, [%A_Now%] تم حفظ ملف Word (تكرار %A_Index%)`n`, log.txt MsgBox, تم حفظ ملف Word بنجاح ✅ } ; العودة إلى ChatGPT لبدء التكرار التالي MsgBox, العودة إلى ChatGPT بعد 3.. 2.. 1.. Sleep, 3000 WinActivate, ahk_exe chrome.exe Sleep, 2000 } MsgBox, ماريو شغلك خلص ✅ FileAppend, [%A_Now%] السكربت انتهى بنجاح`n`, log.txt Run, notepad.exe log.txt ; فتح ملف اللوج تلقائيًا بعد انتهاء التنفيذ ExitApp
3
1,685
6 Jul 2024
omg Unicode lore. I need this on my keyboard. #Requires AutoHotkey >=2- #SingleInstance Force #Hotstring *0 ?0 T C B O Z X0 #Hotstring EndChars `| :C0:Angzarr::⍼
1
2
47
15 Feb 2024
I did about 20k ish lines today on starborn data entry/building. To understand how I do this some fundamentals must be knows. I have 20yrs experience in data editing and 30 with computers. I use macros, notepad , scripts and obviously long hours. I have been known to be extremely determined and focused when I set my mind to a task and I usually keep working on things well past the point of what would be normal. Here are some of the ahk scripts I used with additional on the fly hotkey/keyboard macros and notepad recorded macros - rebound np key to f10 for the AHK launching. My macros launch macros in series of actions, in essence. A master of any craft/trade with serious experience is always something odd to watch work because they often design tools only they use or have. Most of what I use I make in real time to aid me, much like someone laying a tile floor cutting the tiles to shape. F11:: clip := Clipboard if RegExMatch(clip, "s)(.*?)(\d )(.*)", m) Clipboard := m1 . m2 1 . m3 sendinput ^v return #Requires AutoHotkey v2.0 #SingleInstance Force F1:: ;fire { BlockInput true click 140, 467, 1 sleep 35 send "{Down}" sleep 30 click 302, 309, 2 sleep 35 send "{f11}" sleep 35 } #Requires AutoHotkey v2.0 #SingleInstance Force F2:: { send "{f10}" sleep 50 send "{f11}" sleep 50 } #Requires AutoHotkey v2.0 #SingleInstance Force F5:: ;Send %Clipboard% { send "{f10}" sleep 50 send "{f11}" sleep 50 send "{f10}" sleep 50 send "^v" }
15 Feb 2024
Today I coded in 2 full weapon types, for base stating and refinement later. This thread is a set of example code used, some details are adjusted slightly to not be too revealing of systems functions. Intent is to show, quantity of workflow and work for small outcomes - a drop in the bucket as I will have tens of files, of 100k lines by the time I am close to finished with items alone. Keep in mind, this is only the portions of the days work that can even be shown - there is a lot with art, and server files I can not place into a format to share but are required for this to work. I started at about 8am today, it is now 10:30ish pm so 14 hours later. local weaponStuff = { [671] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1701] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1702] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1703] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1704] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1705] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1706] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1707] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1708] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1709] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1710] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1711] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1712] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1713] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1714] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1715] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1716] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1717] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1718] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1719] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1720] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1721] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1722] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1723] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1724] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1725] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1726] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1727] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1728] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1729] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1730] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1731] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1732] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1733] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1734] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1735] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1736] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1737] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1738] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1739] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1740] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1741] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1742] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1743] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1744] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1745] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1746] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1747] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1748] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1749] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1750] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1751] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1752] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1753] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1754] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1755] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1756] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1757] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1758] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1759] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1760] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1761] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1762] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1763] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1764] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1765] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1766] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1767] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1768] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1769] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1770] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1771] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1772] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1773] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1774] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1775] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1776] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1777] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1778] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1779] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1780] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1781] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1782] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1783] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1784] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1785] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1786] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1787] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1788] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1789] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1790] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1791] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1792] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1793] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1794] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1795] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1796] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1797] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1798] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1799] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1800] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1801] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1802] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1803] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1804] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1805] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1806] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1807] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1808] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1809] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE}, [1810] = {element = COMBAT_PHYSICALDAMAGE, dist = CONST_ANI_ENERGYBALL, hit = CONST_ME_NONE},
4
17
707
Daily Notes : day 99 APK Pentesting - Part 8 Authorisation bypass: When an Activity is exported you can invoke its screen from an external app. Therefore, if an activity with sensitive information is exported you could bypass the authentication mechanisms to access it. Learn how to exploit exported activities with Drozer. Link: book.hacktricks.xyz/mobile-p… You can also start an exported activity from adb: * PackageName is com.example.demo * Exported ActivityName is com.example.test.MainActivity ADB: adb shell am start -n com.example.demo/com.example.test.MainActivity NOTE: MobSF will detect as malicious the use of singleTask/singleInstance as android:launchMode in an activity, but due to this, apparently this is only dangerous on old versions (API versions < 21). Note that an authorisation bypass is not always a vulnerability, it would depend on how the bypass works and which information is exposed. Sensitive information leakage: Activities can also return results. If you manage to find an exported and unprotected activity calling the setResult method and returning sensitive information, there is a sensitive information leakage.

5
20
1,919
27 Dec 2022
- Lohce is vulnerable to the Standhogg 2.0 vulnerability. You should set activity launchModes to 'singleTask' or 'singleInstance'. see promon.co/strandhogg-2-0 🧵18/23

1
1
308
Attention à ne pas confondre le pattern singleton (membre statique qui pointe sur une seule instance d’objet), et le singleinstance (une instance unique mais sans membre statique) - le truc qui pourri le débat… 😆
3
8 Sep 2022
Replying to @erikdarlingdata
Close SSMS. Download SingleInstance: dcmembers.com/skrommel/downl… Extract it, run it. Right-click on its tray icon, go into settings, add ssms.exe on a separate line from calc.exe.

1
1
10
And here are the detailed results of the test. Yes, the difference between SingleInstance and normal subscribers is marginal. keytogoodcode.com/post/perfo…

1
2
I was gonna add that one as well - but will add some more details on the SingleInstance
1
3
I yet have to hear about a singleinstance where a toddler becomes sexualised and told his parents that they want to become a dragqueen after attending an event like this.
1
4