blocklauncher插件吧 关注:2,541贴子:18,931

设置血量上限

只看楼主收藏回复

如图,经过了一整晚的测试,发现如下问题
一,血量第二格是虚的,东西是可以吃,不过人家一巴掌打过来就会回到20格血
二,睡觉起来会发现血量变回20,即使是80格全满


IP属地:广东来自Android客户端1楼2015-07-22 21:53回复
    编写代码是用替换法来实现设置血量上限


    IP属地:广东来自Android客户端2楼2015-07-22 21:54
    收起回复
      IP属地:广东来自Android客户端3楼2015-07-22 21:54
      回复
        IP属地:广东来自Android客户端4楼2015-07-22 21:55
        回复
          IP属地:广东来自Android客户端5楼2015-07-22 21:55
          回复
            围观


            IP属地:福建来自Android客户端6楼2015-07-22 21:56
            回复
              IP属地:广东来自Android客户端7楼2015-07-22 21:56
              回复
                IP属地:广东来自Android客户端8楼2015-07-22 21:56
                回复
                  来了


                  IP属地:四川来自Android客户端9楼2015-07-22 21:57
                  收起回复
                    以后不用艾特AAA那个账号我放弃了。


                    来自Android客户端10楼2015-07-22 22:18
                    回复
                      我加你好友吧,吧AAA从你的好友列表删除。


                      来自Android客户端11楼2015-07-22 22:18
                      收起回复
                        围观


                        来自Android客户端12楼2015-07-22 22:49
                        回复
                          //代码
                          //同样可以用 class 方法代替 dlsym
                          //可以通过验证 Player *self 决定是否提高生命上限
                          #include <jni.h>
                          #include <dlfcn.h>
                          #include <android/log.h>
                          #include "substrate.h"
                          class Player;
                          int (*player$getMaxHealth)(Player *);
                          int Player$getMaxHealth(Player *);
                          int (*_Player$getMaxHealth)(Player *);
                          JNIEXPORT jint JNI_OnLoad(JavaVM *vm ,void *reserved)
                          {
                          void* handle = dlopen("libminecraftpe.so", RTLD_LAZY);
                          dlerror();
                          player$getMaxHealth = (int (*)(Player *)) dlsym(handle ,"_ZN6Player12getMaxHealthEv");
                          MSHookFunction((void *) player$getMaxHealth ,(void *) &Player$getMaxHealth ,(void **) &_Player$getMaxHealth);
                          const char* error = dlerror();
                          if(error)
                          {
                          __android_log_print(ANDROID_LOG_INFO, "TMP_MOD", "dlerror: %s", error);
                          return JNI_VERSION_1_2;
                          }
                          return JNI_VERSION_1_2;
                          }
                          int Player$getMaxHealth(Player *self)
                          {
                          return _Player$getMaxHealth(self) + 20;
                          }


                          来自Android客户端13楼2015-07-22 23:28
                          收起回复
                            来了 得斯
                            --------------------------------------------------------------


                            月老
                            每对新人结婚成功的那一刻,送礼最多的吧友可以获得本次求婚的“月老”称号和成就,去领取
                            活动截止:2100-01-01
                            去徽章馆》
                            IP属地:四川来自WindowsPhone客户端14楼2015-07-23 00:49
                            回复
                              Mob::getMaxHealth


                              IP属地:北京来自Android客户端15楼2015-07-23 03:18
                              收起回复