softcreatr / weakauras-decoder
此包已被弃用且不再维护。没有建议的替代包。
WeakAuras Decoder
1.0.0
2017-12-29 03:54 UTC
Requires (Dev)
- phpunit/phpunit: >=5.0.0
This package is auto-updated.
Last update: 2022-04-21 17:25:34 UTC
README
WeakAuras Decoder
WeakAuras 是一款功能强大且灵活的框架,用于 World Of Warcraft,它允许你在屏幕上显示高度可定制的图形来指示增益效果、减益效果以及一系列类似的信息。最初它被设计为 Power Auras 的轻量级替代品,但现在它集成了许多 Power Auras 所不具备的功能,同时仍然保持高效且易于使用。
创建的增益效果可以导出并在网络上共享。但是有一个问题:你得到的是一个编码字符串,这个字符串原本用于导入到 WeakAuras 插件中。这个编码字符串可能包含自定义代码,这些代码可能会通过从你的角色中窃取金币、向其他玩家发送垃圾邮件等手段破坏你的游戏体验。
WeakAuras Decoder 是一个 PHP 类,它允许你将这些字符串转换回人类可读的格式。它主要是 WeakAuras 的 Lua 代码的移植,实际上执行相同的操作。
要求
- PHP 5.5 或更高版本
- 支持 PHP 的 HTTP 服务器(例如:Apache,Nginx,Caddy)
- Composer
安装
使用 Composer 在项目的根目录中要求此包
$ composer require softcreatr/weakauras-decoder
使用/示例
decodeAura
将编码的 WeakAuras 字符串解码为数组。
<?php require "vendor/autoload.php"; use SoftCreatR\WeakAuras\Decoder; // Encoded WeakAuras string $encoded = 'd0JPcaGAjrTlPQETKQoTspMsnxvmBsomvDtPITPG(Mc8xPq7KuyVODtL9lj5NsLgMqzCsbxwvdvurdwsLHtQ6GcXPev4ykY5i' . 'LwOKqxxWIfvLLlYdfvXtjwgPYZLyIIQ0uHAYumDWIKsnkjbptH8ojr2Ou0xfQ2SIA7IsFwLMLOsnnPkFxkzKsknwrLmArX4LK' . '6KskUfPORjKoVc1Hevv3Ms(nK5eXu8etGsHIU(r7prXIIHIHykMTOx5hJ)Qbk1(kfQQ6IJskt(P4THn7Jt79(PoiZtn0CkgfV' . 'nSixHykfWNaIPuqbNHsno4tZE7)eXy66kN4VV(iHKVC68M1FeuWzkN8GA1bHw3Tp6EPyqnwqbNH5JaL1TaXumOgTdfazXksXo' . 'uaKfLCQ8JfuWzAUQVcTRXbFA2B)NteJPRRCoXFF9rcjF5C68M1Fock4mLZjUh(uEti99r3B7C3wAMR25OseiqXSLkhC2WM9P4' . 'vkkRHsTVsHQQU4OKYqP1AGmSzdJInkAmTt6AyymTd0QJZA2BafiT37NiMsjdQvxhLsguRUUi2WM9jqXfSWP9E)uHAmrjZV3ma' . 'BoCq0OJ02BymT6MgeD0qoRzpTuuiVHykGx9oqhXuSckyjMabkGx9oGykwbfSetGafZopV2bfmMykwbfSetGaLK3(jMIvqblXe' . 'iqjHupXuSckyjMabk6ZQh8Q3betXkOGLyceOSUBcf0tmfRGcwIjqGYS3gwKJykwbfSetGabkP)UihES(Nc8vdeOKLAm1t3ebs' ; // Perform decode $decoded = Decoder::decodeAura($encoded); // Print the result var_dump($decoded[0]);
dumpLuaCode
将自定义 Lua 代码输出到数组中。
<?php require "vendor/autoload.php"; use SoftCreatR\WeakAuras\Decoder; // Encoded WeakAuras string $encoded = 'd0JPcaGAjrTlPQETKQoTspMsnxvmBsomvDtPITPG(Mc8xPq7KuyVODtL9lj5NsLgMqzCsbxwvdvurdwsLHtQ6GcXPev4ykY5i' . 'LwOKqxxWIfvLLlYdfvXtjwgPYZLyIIQ0uHAYumDWIKsnkjbptH8ojr2Ou0xfQ2SIA7IsFwLMLOsnnPkFxkzKsknwrLmArX4LK' . '6KskUfPORjKoVc1Hevv3Ms(nK5eXu8etGsHIU(r7prXIIHIHykMTOx5hJ)Qbk1(kfQQ6IJskt(P4THn7Jt79(PoiZtn0CkgfV' . 'nSixHykfWNaIPuqbNHsno4tZE7)eXy66kN4VV(iHKVC68M1FeuWzkN8GA1bHw3Tp6EPyqnwqbNH5JaL1TaXumOgTdfazXksXo' . 'uaKfLCQ8JfuWzAUQVcTRXbFA2B)NteJPRRCoXFF9rcjF5C68M1Fock4mLZjUh(uEti99r3B7C3wAMR25OseiqXSLkhC2WM9P4' . 'vkkRHsTVsHQQU4OKYqP1AGmSzdJInkAmTt6AyymTd0QJZA2BafiT37NiMsjdQvxhLsguRUUi2WM9jqXfSWP9E)uHAmrjZV3ma' . 'BoCq0OJ02BymT6MgeD0qoRzpTuuiVHykGx9oqhXuSckyjMabkGx9oGykwbfSetGafZopV2bfmMykwbfSetGaLK3(jMIvqblXe' . 'iqjHupXuSckyjMabk6ZQh8Q3betXkOGLyceOSUBcf0tmfRGcwIjqGYS3gwKJykwbfSetGabkP)UihES(Nc8vdeOKLAm1t3ebs' ; // Perform decode $decoded = Decoder::decodeAura($encoded); $decoded = $decoded[0]; // "Danger keys" are used to identify custom code $dangerKeys = [ 'custom', 'customDuration', 'customName', 'customIcon', 'customTexture', 'customStacks', 'translateFunc', 'alphaFunc', 'scaleFunc', 'rotateFunc', 'colorFunc', 'customText' ]; // Perform some magic $luaCodes = []; foreach ($dangerKeys as $k) { $customizations = Decoder::dumpLuaCode($decoded, $k); foreach ($customizations as $customization) { $customization['value'] = trim($customization['value']); if (!empty($customization['value'])) { $luaCodes[] = $customization; } } } // Print the result echo "Decoded string:\n\n"; var_dump($decoded); echo "\n\nCustom code (if there is any):\n\n"; var_dump($luaCodes);
许可
自由软件,太棒了!