Help Hide player ID

DeagleMaster

Member
Joined
Apr 30, 2014
Messages
10
Reaction score
0
Hi, I want a mod/cleo that hide the id of the players above their head in my area and keep only their nicknames shown. is there such a way? It seems like something quite difficult..
 

Parazitas

God
Staff member
Joined
Jan 2, 2017
Messages
3,315
Solutions
7
Reaction score
935
Location
Lithuania
Example of how looks samp NickName and ID Drawing in samp with all calculation information samp 0.3.7 R1
C++:
void FUN_10070d40(void)

{
  int *piVar1;
  int iVar2;
  int **ppiVar3;
  int *piVar4;
  int iVar5;
  undefined4 uVar6;
  int iVar7;
  uint uVar8;
  float10 fVar9;
  float10 fVar10;
  undefined *puVar11;
  uint uVar12;
  
  if ((DAT_1021a0f8 != 0) && (*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x38) != '\0')) {
    FUN_100686a0();
    piVar1 = *(int **)(*(int *)(DAT_1021a0f8 + 0x3cd) + 0x18);
    puVar11 = &DAT_1012c8c8;
    FUN_10001010(&DAT_1012c8c8);
    FUN_1009a150(puVar11);
    iVar2 = *piVar1;
    uVar8 = 0;
    if (-1 < iVar2) {
      do {
        if ((((((ushort)uVar8 < 0x3ec) &&
              (*(int *)((int)piVar1 + (uVar8 & 0xffff) * 4 + 0xfde) == 1)) &&
             (ppiVar3 = *(int ***)((int)piVar1 + (uVar8 & 0xffff) * 4 + 0x2e),
             ppiVar3 != (int **)0x0)) &&
            ((piVar4 = *ppiVar3, piVar4 != (int *)0x0 && (*piVar4 != 0)))) &&
           ((*(char *)((int)piVar4 + 9) != '\0' &&
            ((*(int *)((int)piVar4 + 0xb3) != 0 &&
             (fVar9 = (float10)FUN_1009a7d0(),
             fVar10 = (float10)*(float *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x27),
             fVar9 < fVar10 != (fVar9 == fVar10))))))) {
          if ((*(char *)((int)piVar4 + 9) == '\x13') &&
             ((piVar4[1] != 0 && (iVar5 = FUN_100b18b0(), iVar5 != 0)))) {
            FUN_1009a150(&DAT_1012c7c8);
            DAT_1012c90c = DAT_1012c7f8;
            DAT_1012c910 = DAT_1012c7fc;
            DAT_1012c914 = DAT_1012c800;
          }
          else {
            iVar5 = FUN_1009aa10();
            if (iVar5 == 0) goto LAB_10070f9b;
            DAT_1012c90c = 0.0;
            DAT_1012c910 = 0.0;
            DAT_1012c914 = 0.0;
            FUN_100a8d20(8,&DAT_1012c90c);
          }
          _DAT_1012c934 = DAT_1012c90c;
          _DAT_1012c938 = DAT_1012c910;
          _DAT_1012c93c = DAT_1012c914;
          iVar5 = FUN_10098320();
          iVar7 = 0;
          if (*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x2f) != '\0') {
            iVar7 = FUN_100abcd0(&DAT_100d8348,(double)_DAT_1012c934,(double)_DAT_1012c938,
                                 (double)_DAT_1012c93c,(double)*(float *)(iVar5 + 0xc),
                                 (double)*(float *)(iVar5 + 0x10),(double)*(float *)(iVar5 + 0x14) ,1
                                 ,0,0,1,0);
          }
          if ((*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x2f) == '\0') || (iVar7 != 0)) {
            uVar12 = uVar8;
            uVar6 = FUN_10013ce0(uVar8);
            _sprintf(&DAT_1012c848,"%s (%d)",uVar6,uVar12);
            if (*(int *)((int)piVar4 + 0xb) == 0) {
              uVar6 = FUN_10012ba0();
              fVar10 = (float10)FUN_1009a7d0(*(undefined *)(DAT_1021a0f8 + 0x224),uVar6);
              FUN_10012a00((float)fVar10);
              FUN_100686c0();
            }
          }
        }
LAB_10070f9b:
        uVar8 = uVar8 + 1;
      } while ((int)uVar8 <= iVar2);
    }
    FUN_100686b0();
  }
  return;
}
Here's Code example how to remove ID and make visibile only player NickName
PHP:
{$CLEO .cs}

0000:

REPEAT
IF 8256:   player $PLAYER_CHAR defined
THEN 0A93: end_custom_thread
END
WAIT 1500
UNTIL 0256:   player $PLAYER_CHAR defined
 

WHILE TRUE
WAIT 0

IF 0256:   player $PLAYER_CHAR defined
THEN
    IF 0ADC:   test_cheat "NH" // If i press keys ' NH ' 
    THEN
        IF 31@ == FALSE
        THEN
            31@ = TRUE
            0AD1: "~Y~NameTag: ~R~Hidden ID!" 1337
            0AB1: @SetHideOrShowNameTagID 1 HideOrShow? TRUE
        ELSE
            31@ = FALSE
            0AD1: "~Y~NameTagID: ~G~Visible ID!" 1337
            0AB1: @SetHideOrShowNameTagID 1 HideOrShow? FALSE
        END
    END      
END

END

:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@  
30@ = 0
IF 0AA2: 31@ = "samp.dll" // IF and SET
THEN
    31@ += 0x128
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1
    IF 29@ == 0x5542F47A
    THEN // 0.3.7 R1
        30@ = 1
    END
    
    IF 29@ == 0x59C30C94
    THEN // 0.3.7 R2
        30@ = 2
    END
    
    IF 29@ == 0x5A6A3130
    THEN // 0.3.DL
        30@ = 3
    END
    31@ -= 8 // reading samp.dll + 0x120
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1
    IF 29@ == 0x5C0B4243
    THEN // 0.3.7 R3 
        30@ = 4
    END  
    
    IF 29@ == 0x5DD606CD
    THEN // 0.3.7 R4
        30@ = 5
    END
    IF 29@ == 0x6094ACAB
    THEN // 0.3.7 R4 - v2
        30@ = 6
    END 
    IF 29@ == 0x6372C39E
    THEN // 0.3.7 R5
        30@ = 7
    END 
END
0AB2: ret 1 30@  

:SetHideOrShowNameTagID
{
    0AB1: @SetHideOrShowNameTagID 1 HideOrShow? TRUE
    TRUE = HIDDEN
    FALSE = VISIBLE
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0AB1: @get_samp_version_id 0 _returned: ID 17@ 
    IF 17@ > 0
    THEN
        IF 17@ == 1 // 0.3.7 R1
        THEN 
            31@ += 0xD835C // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        IF 17@ == 2 // 0.3.7 R2
        THEN
            31@ += 0xD8370 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        
        IF 17@ == 3 // 0.3.DL
        THEN
            31@ += 0x11C7b8 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        
        IF 17@ == 4 // 0.3.7 R3 
        THEN
            31@ += 0xEA738 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        
        IF 17@ == 5 // 0.3.7 R4
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        
        IF 17@ == 6 // 0.3.7 R4 - v2
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        
        IF 17@ == 7 // 0.3.7 R5
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        0AA3: 31@
    END
END
0AB2: ret 0
 

Attachments

  • NameTagID.cs
    22.4 KB · Views: 9

SuplerMoo

New member
Joined
Mar 18, 2023
Messages
3
Reaction score
0
Example of how looks samp NickName and ID Drawing in samp with all calculation information samp 0.3.7 R1
C++:
void FUN_10070d40(void)

{
  int *piVar1;
  int iVar2;
  int **ppiVar3;
  int *piVar4;
  int iVar5;
  undefined4 uVar6;
  int iVar7;
  uint uVar8;
  float10 fVar9;
  float10 fVar10;
  undefined *puVar11;
  uint uVar12;
 
  if ((DAT_1021a0f8 != 0) && (*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x38) != '\0')) {
    FUN_100686a0();
    piVar1 = *(int **)(*(int *)(DAT_1021a0f8 + 0x3cd) + 0x18);
    puVar11 = &DAT_1012c8c8;
    FUN_10001010(&DAT_1012c8c8);
    FUN_1009a150(puVar11);
    iVar2 = *piVar1;
    uVar8 = 0;
    if (-1 < iVar2) {
      do {
        if ((((((ushort)uVar8 < 0x3ec) &&
              (*(int *)((int)piVar1 + (uVar8 & 0xffff) * 4 + 0xfde) == 1)) &&
             (ppiVar3 = *(int ***)((int)piVar1 + (uVar8 & 0xffff) * 4 + 0x2e),
             ppiVar3 != (int **)0x0)) &&
            ((piVar4 = *ppiVar3, piVar4 != (int *)0x0 && (*piVar4 != 0)))) &&
           ((*(char *)((int)piVar4 + 9) != '\0' &&
            ((*(int *)((int)piVar4 + 0xb3) != 0 &&
             (fVar9 = (float10)FUN_1009a7d0(),
             fVar10 = (float10)*(float *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x27),
             fVar9 < fVar10 != (fVar9 == fVar10))))))) {
          if ((*(char *)((int)piVar4 + 9) == '\x13') &&
             ((piVar4[1] != 0 && (iVar5 = FUN_100b18b0(), iVar5 != 0)))) {
            FUN_1009a150(&DAT_1012c7c8);
            DAT_1012c90c = DAT_1012c7f8;
            DAT_1012c910 = DAT_1012c7fc;
            DAT_1012c914 = DAT_1012c800;
          }
          else {
            iVar5 = FUN_1009aa10();
            if (iVar5 == 0) goto LAB_10070f9b;
            DAT_1012c90c = 0.0;
            DAT_1012c910 = 0.0;
            DAT_1012c914 = 0.0;
            FUN_100a8d20(8,&DAT_1012c90c);
          }
          _DAT_1012c934 = DAT_1012c90c;
          _DAT_1012c938 = DAT_1012c910;
          _DAT_1012c93c = DAT_1012c914;
          iVar5 = FUN_10098320();
          iVar7 = 0;
          if (*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x2f) != '\0') {
            iVar7 = FUN_100abcd0(&DAT_100d8348,(double)_DAT_1012c934,(double)_DAT_1012c938,
                                 (double)_DAT_1012c93c,(double)*(float *)(iVar5 + 0xc),
                                 (double)*(float *)(iVar5 + 0x10),(double)*(float *)(iVar5 + 0x14) ,1
                                 ,0,0,1,0);
          }
          if ((*(char *)(*(int *)(DAT_1021a0f8 + 0x3c5) + 0x2f) == '\0') || (iVar7 != 0)) {
            uVar12 = uVar8;
            uVar6 = FUN_10013ce0(uVar8);
            _sprintf(&DAT_1012c848,"%s (%d)",uVar6,uVar12);
            if (*(int *)((int)piVar4 + 0xb) == 0) {
              uVar6 = FUN_10012ba0();
              fVar10 = (float10)FUN_1009a7d0(*(undefined *)(DAT_1021a0f8 + 0x224),uVar6);
              FUN_10012a00((float)fVar10);
              FUN_100686c0();
            }
          }
        }
LAB_10070f9b:
        uVar8 = uVar8 + 1;
      } while ((int)uVar8 <= iVar2);
    }
    FUN_100686b0();
  }
  return;
}
Here's Code example how to remove ID and make visibile only player NickName
PHP:
{$CLEO .cs}

0000:

REPEAT
IF 8256:   player $PLAYER_CHAR defined
THEN 0A93: end_custom_thread
END
WAIT 1500
UNTIL 0256:   player $PLAYER_CHAR defined
 

WHILE TRUE
WAIT 0

IF 0256:   player $PLAYER_CHAR defined
THEN
    IF 0ADC:   test_cheat "NH" // If i press keys ' NH '
    THEN
        IF 31@ == FALSE
        THEN
            31@ = TRUE
            0AD1: "~Y~NameTag: ~R~Hidden ID!" 1337
            0AB1: @SetHideOrShowNameTagID 1 HideOrShow? TRUE
        ELSE
            31@ = FALSE
            0AD1: "~Y~NameTagID: ~G~Visible ID!" 1337
            0AB1: @SetHideOrShowNameTagID 1 HideOrShow? FALSE
        END
    END     
END

END

:get_samp_version_id
// 0AB1: @get_samp_version_id 0 _returned: ID 0@ 
30@ = 0
IF 0AA2: 31@ = "samp.dll" // IF and SET
THEN
    31@ += 0x128
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1
    IF 29@ == 0x5542F47A
    THEN // 0.3.7 R1
        30@ = 1
    END
   
    IF 29@ == 0x59C30C94
    THEN // 0.3.7 R2
        30@ = 2
    END
   
    IF 29@ == 0x5A6A3130
    THEN // 0.3.DL
        30@ = 3
    END
    31@ -= 8 // reading samp.dll + 0x120
    0A8D: 29@ = read_memory 31@ size 4 virtual_protect 1
    IF 29@ == 0x5C0B4243
    THEN // 0.3.7 R3
        30@ = 4
    END 
   
    IF 29@ == 0x5DD606CD
    THEN // 0.3.7 R4
        30@ = 5
    END
    IF 29@ == 0x6094ACAB
    THEN // 0.3.7 R4 - v2
        30@ = 6
    END
    IF 29@ == 0x6372C39E
    THEN // 0.3.7 R5
        30@ = 7
    END
END
0AB2: ret 1 30@ 

:SetHideOrShowNameTagID
{
    0AB1: @SetHideOrShowNameTagID 1 HideOrShow? TRUE
    TRUE = HIDDEN
    FALSE = VISIBLE
}
IF 0AA2: 31@ = "samp.dll"
THEN
    0AB1: @get_samp_version_id 0 _returned: ID 17@
    IF 17@ > 0
    THEN
        IF 17@ == 1 // 0.3.7 R1
        THEN
            31@ += 0xD835C // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        IF 17@ == 2 // 0.3.7 R2
        THEN
            31@ += 0xD8370 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
       
        IF 17@ == 3 // 0.3.DL
        THEN
            31@ += 0x11C7b8 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
       
        IF 17@ == 4 // 0.3.7 R3
        THEN
            31@ += 0xEA738 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
       
        IF 17@ == 5 // 0.3.7 R4
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
       
        IF 17@ == 6 // 0.3.7 R4 - v2
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
       
        IF 17@ == 7 // 0.3.7 R5
        THEN
            31@ += 0xEA790 // SAMP_NAMETAG_FORMATING_OFFSET
            IF 0@ == TRUE
            THEN 0A8C: write_memory 31@ size 4 value 0x28007325 virtual_protect 1
            ELSE 0A8C: write_memory 31@ size 4 value 0x28207325 virtual_protect 1
            END
        END
        0AA3: 31@
    END
END
0AB2: ret 0
dont work on r1
 
Top