first commit
This commit is contained in:
parent
85ac7e509e
commit
4023b68bc9
3 changed files with 83 additions and 0 deletions
11
main.v
Normal file
11
main.v
Normal file
|
@ -0,0 +1,11 @@
|
|||
module main
|
||||
|
||||
import steamid as s
|
||||
|
||||
fn main() {
|
||||
steamid := s.to_steamid32("STEAM_0:1:37792218")
|
||||
assert steamid == s.SteamID32 { 0, 1, 37792218 }
|
||||
assert steamid.str() == "STEAM_0:1:37792218"
|
||||
assert steamid.to_steamid3() == s.SteamID3 { "U", 1, 75584437 }
|
||||
assert steamid.to_steamid64() == s.SteamID64 { 76561198035850165 }
|
||||
}
|
52
steamid/methods.v
Normal file
52
steamid/methods.v
Normal file
|
@ -0,0 +1,52 @@
|
|||
module steamid
|
||||
|
||||
pub fn steamid() {
|
||||
steamid := to_steamid32("STEAM_0:1:37792218")
|
||||
assert steamid == SteamID32 { 0, 1, 37792218 }
|
||||
assert steamid.str() == "STEAM_0:1:37792218"
|
||||
assert steamid.to_steamid3() == SteamID3 { "U", 1, 75584437 }
|
||||
assert steamid.to_steamid64() == SteamID64 { 76561198035850165 }
|
||||
}
|
||||
|
||||
pub fn to_steamid32(s string) SteamID32 {
|
||||
if s.contains("STEAM_") && s.count(":") == 2 {
|
||||
mut s_parts := s.split(":")
|
||||
x := s_parts[0].all_after("_").i8()
|
||||
y := s_parts[1].i8()
|
||||
z := s_parts[2].int()
|
||||
return SteamID32{ x, y, z }
|
||||
}
|
||||
return SteamID32 { 1, 1, 1 }
|
||||
}
|
||||
|
||||
// Methods for SteamID32 struct
|
||||
// Convert your SteamID32 to SteamID3
|
||||
pub fn (s SteamID32) to_steamid3() SteamID3 {
|
||||
mut letter := 'I'
|
||||
if s.id == 1 {
|
||||
letter = 'U'
|
||||
} else if s.id == 7 {
|
||||
letter = 'g'
|
||||
} else {
|
||||
letter = 'I'
|
||||
}
|
||||
w := s.account_number * 2 + s.id
|
||||
return SteamID3 { letter, 1, w }
|
||||
}
|
||||
|
||||
// Convert your SteamID32 to a string
|
||||
pub fn (s SteamID32) str() string {
|
||||
return "STEAM_" + s.universe.str() + ":" + s.id.str() + ":" + s.account_number.str()
|
||||
}
|
||||
|
||||
// Convert your SteamID32 to a SteamID64
|
||||
pub fn (s SteamID32) to_steamid64() SteamID64 {
|
||||
mut v := i64(0)
|
||||
if s.id == 1 {
|
||||
v = 76561197960265728
|
||||
} else {
|
||||
v = 103582791429521408
|
||||
}
|
||||
w := s.account_number * 2 + v + s.id
|
||||
return SteamID64 { w }
|
||||
}
|
20
steamid/structs.v
Normal file
20
steamid/structs.v
Normal file
|
@ -0,0 +1,20 @@
|
|||
module steamid
|
||||
|
||||
pub struct SteamID32 {
|
||||
pub:
|
||||
universe int
|
||||
id int
|
||||
account_number int
|
||||
}
|
||||
|
||||
pub struct SteamID3 {
|
||||
pub:
|
||||
letter string
|
||||
id int
|
||||
account_number int
|
||||
}
|
||||
|
||||
pub struct SteamID64 {
|
||||
pub:
|
||||
w i64
|
||||
}
|
Loading…
Reference in a new issue