Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Nick2UUID(nick:string):string;
- var val:string; bytearr: array [0..15] of byte;
- i,k,tlo,tmi,thi,cslo,cshi:cardinal;
- begin
- val:=md5('OfflinePlayer:'+nick);
- k:=1;
- for i:=0 to 15 do
- begin
- bytearr[i]:=StrToInt('$'+val[k]+val[k+1]);
- k:=k+2;
- end;
- tLo:=(((bytearr[0] shl 24) or (bytearr[1] shl 16) or (bytearr[2] shl 8) or bytearr[3]));
- tMi:=((bytearr[4] shl 8) or bytearr[5]);
- tHi:=((bytearr[6] shl 8) or bytearr[7]);
- csLo:=bytearr[9];
- csHi:=(bytearr[8] and $3f or (1 shl 7));
- tHi:= (tHi and $0fff);
- tHi:= (tHi or (3 shl 12));
- val:='';
- for k:=0 to 5 do val:=val+IntToHex(bytearr[10+k],2);
- Result:=AnsiLowerCase(IntToHex(tLo,8)+'-'+IntToHex(tMi,4)+'-'+IntToHex(tHi,4)+'-'+IntToHex(csHi,2)+IntToHex(csLo,2)+'-'+val);
- end;
Advertisement
Add Comment
Please, Sign In to add comment