统计总结功能

This commit is contained in:
ZouJin 2023-12-30 03:37:41 +08:00
parent 9c2988362a
commit 9d43fdb6c9
14 changed files with 924 additions and 9 deletions

View File

@ -5,7 +5,7 @@ using System.Windows.Media;
namespace VPet_Simulator.Core
{
public static class Function
public static partial class Function
{
public static Random Rnd = new Random();
/// <summary>

View File

@ -99,7 +99,7 @@ namespace VPet_Simulator.Windows.Interface
}
}
public static class ExtensionValue
public static partial class ExtensionValue
{
/// <summary>
/// 当前运行目录

Binary file not shown.

After

Width:  |  Height:  |  Size: 907 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 250 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -65,11 +65,23 @@
</ItemGroup>
<ItemGroup>
<None Remove="mklink.bat" />
<None Remove="Res\img\rank1.png" />
<None Remove="Res\img\rank2.png" />
<None Remove="Res\img\rank3.png" />
<None Remove="Res\img\rank4.png" />
<None Remove="Res\img\rank5.png" />
<None Remove="Res\img\rank6.png" />
<None Remove="快捷键通用注解.md" />
</ItemGroup>
<ItemGroup>
<Resource Include="Res\Font\OPPOSans B.ttf" />
<Resource Include="Res\Font\OPPOSans R.ttf" />
<Resource Include="Res\img\rank2.png" />
<Resource Include="Res\img\rank1.png" />
<Resource Include="Res\img\rank3.png" />
<Resource Include="Res\img\rank4.png" />
<Resource Include="Res\img\rank5.png" />
<Resource Include="Res\img\rank6.png" />
<Resource Include="Res\remixicon.ttf" />
<Resource Include="vpeticon.ico" />
</ItemGroup>

View File

@ -54,7 +54,7 @@
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding StatCount}"
ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Header="{ll:Str 数量}"
IsReadOnly="True" Width="160"/>
IsReadOnly="True" Width="160" />
</DataGrid.Columns>
</DataGrid>
</Grid>
@ -199,6 +199,233 @@
</Grid>
</ScrollViewer>
</TabItem>
<TabItem Header="{ll:Str 统计总结}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="28" />
<RowDefinition Height="30" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Button x:Name="btn_r_genRank" Grid.Column="1" pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Content="{ll:Str 生成统计}" Margin="5,2" Click="btn_r_genRank_Click" />
<Button x:Name="btn_r_save" Grid.Column="1" pu:ButtonHelper.CornerRadius="4"
Background="{DynamicResource SecondaryLight}" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="2" Content="{ll:Str 保存图片}" Margin="5,2" Grid.Row="1" Click="btn_r_save_Click"
IsEnabled="False" />
<CheckBox x:Name="cb_NoCheat" Content="{ll:Str '未使用过作弊模组和修改游戏数据'}" Margin="5,2"
BorderBrush="{DynamicResource DARKPrimary}" pu:CheckBoxHelper.CornerRadius="4" IsEnabled="False"
Unchecked="cb_NoCheat_Unchecked" />
<CheckBox x:Name="cb_AgreeUpload" Content="{ll:Str '同意上传统计数据至Steam排行榜'}" Margin="5,2"
BorderBrush="{DynamicResource DARKPrimary}" pu:CheckBoxHelper.CornerRadius="4" Grid.Row="1"
IsEnabled="False" Checked="cb_AgreeUpload_Checked" />
<ScrollViewer Grid.Row="2" Grid.ColumnSpan="2" x:Name="r_viewbox" Visibility="Collapsed">
<Viewbox x:Name="r_output">
<Grid Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="200" />
<RowDefinition Height="100" />
<RowDefinition Height="100" />
<RowDefinition Height="200" />
<RowDefinition Height="100" />
<RowDefinition Height="200" />
<RowDefinition Height="100" />
<RowDefinition Height="200" />
<RowDefinition Height="100" />
<RowDefinition Height="200" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="/Res/img/rank1.png" Margin="20,0,0,0" />
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" FontSize="16">
<Run x:Name="r_r_startday" Text="XXXX年XX月XX日" FontSize="24" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak />
<Run Text="{ll:Str 你第一次遇到了这只可爱的小东西}" /><LineBreak />
<Run Text="{ll:Str '初次见面,主人~'}" />
</TextBlock>
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="1" Grid.ColumnSpan="2" FontSize="16" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 你和}" /><Run x:Name="r_r_petname_2" Text="萝莉斯" /><Run
Text="{ll:Str 一共生活了}" /> <Run x:Name="r_r_startlength" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str r天}" /><LineBreak />
<Run Text="{ll:Str 你陪伴她的时长是}" /> <Run x:Name="r_r_length_h" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r小时}" /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_length_p" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_lenghranktext" Text="主人~感谢陪伴~" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDarker}" />
</TextBlock>
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="2" Grid.ColumnSpan="2" FontSize="16" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 平均一天有}" /> <Run x:Name="r_r_lengthph" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 小时在一起}" /><LineBreak />
<Run Text="{ll:Str 相当于平均和}" /> <Run x:Name="r_r_lengthphtext" Text="同学"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 在一起的时间}" /><LineBreak />
<Run x:Name="r_r_lenghtext" Text="学长~前辈"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="3" FontSize="16" MaxWidth="350" TextWrapping="Wrap">
<Run Text="{ll:Str 你的等级是}" /> <Run x:Name="r_r_level" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r级}" /><LineBreak />
<Run Text="{ll:Str 累计获得经验}" /> <Run x:Name="r_r_exp" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak />
<Run Text="{ll:Str 累计学习时间是}" /> <Run x:Name="r_r_studytime" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r分钟}" /><LineBreak />
<Run x:Name="r_r_studytext" Text="相当于桌宠的小学学历哦&#13;“肃清! 萝莉斯的安魂曲☆”"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<Image Source="/Res/img/rank2.png" Margin="40,20,0,20" Grid.Row="3" />
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="4" Grid.ColumnSpan="2" FontSize="16" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 单次学习最大获得}" /> <Run x:Name="r_r_studyexpmax" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 经验}" /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_studyexpmaxrank" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_studyexptext" Text="看我量子速读法!"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="5" FontSize="16" MaxWidth="350" TextWrapping="Wrap">
<Run Text="{ll:Str 累计工作时间是}" /> <Run x:Name="r_r_worktime" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r分钟}" /><LineBreak />
<Run Text="{ll:Str 工作占总时间}" /> <Run x:Name="r_r_worktimeps" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_worktimepsrank" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_worktext" Text="“我草,卷狗”"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<Image Source="/Res/img/rank3.png" Margin="40,20,0,20" Grid.Row="5" />
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="6" Grid.ColumnSpan="2" FontSize="16" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 单次工作最大获得}" /> <Run x:Name="r_r_workmoneymax" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 金钱}" /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_workmoneyrank" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_workmoneytext" Text="可是,我真的很需要那些钱钱!"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="7" FontSize="16" MaxWidth="350" TextWrapping="Wrap">
<Run Text="{ll:Str 累计购买}" /> <Run x:Name="r_r_betterbuytimes" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 次更好买商品}" /><LineBreak />
<Run Text="{ll:Str 累计花费}" /> <Run x:Name="r_r_betterbuycount" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 金钱}" /><LineBreak />
<Run Text="{ll:Str 其中最多购买的是}" /> <Run x:Name="r_r_betterbuymostitem" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 在分类}" /> <Run x:Name="r_r_betterbuymosttype" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak />
<Run x:Name="r_r_betterbuymosttext" Text="“多吃零食有益心理健康”"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<Image Source="/Res/img/rank4.png" Margin="40,20,0,20" Grid.Row="7" />
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="8" Grid.ColumnSpan="2" FontSize="16" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 自动购买}" /> <Run x:Name="r_r_autobuy" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 次}" /><LineBreak />
<Run Text="{ll:Str 占全部购买}" /> <Run x:Name="r_r_autobuypres" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_autobuyrank" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_autobuytext" Text="“不要小看我的情报网!你自动购买礼物没关,对不对?”"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="9" FontSize="16" MaxWidth="350" TextWrapping="Wrap">
<Run Text="{ll:Str 你订阅了}" /> <Run x:Name="r_r_modcount" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 个mod}" /><LineBreak />
<Run Text="{ll:Str 启用的其中的}" /> <Run x:Name="r_r_modenablecount" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 个mod}" /><LineBreak />
<Run Text="{ll:Str 你订阅mod数超过了全球}" /> <Run x:Name="r_r_modcountrank" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str r的主人}" /><LineBreak />
<Run x:Name="r_r_modcounttext" Text="“主人已经是mod大师了喵要不要试试mod制作器给我做mod喵”"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<Image Source="/Res/img/rank5.png" Margin="40" Grid.Row="9" />
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="10,0,10,0" Grid.Row="10" Grid.ColumnSpan="2" FontSize="20" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 睡了}" /> <Run x:Name="r_r_sleeplength" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 小时的觉}" /><LineBreak />
<Run Text="{ll:Str 移动了}" /> <Run x:Name="r_r_movelength" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /><Run
Text="px" FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str '的距离'}" /><LineBreak />
<Run Text="{ll:Str 说了}" /> <Run x:Name="r_r_saycount" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str '句话'}" /><LineBreak />
<Run Text="{ll:Str 跳了}" /> <Run x:Name="r_r_musiccount" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str '次舞蹈'}" /><LineBreak />
<Run Text="{ll:Str 摸了}" /> <Run x:Name="r_r_touchtotal" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str '次头'}" /><LineBreak />
<Run Text="&quot;" Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" /><Run
Text="{ll:Str '吃喝玩乐睡, 惨了养成猪了'}" Foreground="{DynamicResource DARKPrimaryDarker}"
FontWeight="Bold" /><Run Text="&quot;"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<TextBlock Grid.Column="0" HorizontalAlignment="Center" VerticalAlignment="Center"
Margin="40" Grid.Row="11" Grid.ColumnSpan="2" FontSize="20" MaxWidth="500"
TextWrapping="Wrap">
<Run Text="{ll:Str 打开游戏次数是}" /> <Run x:Name="r_r_opencount" Text="XX" FontWeight="Bold"
Foreground="{DynamicResource DARKPrimaryDark}" /> <Run Text="{ll:Str 次}" /><LineBreak />
<Run Text="{ll:Str 你照顾的}" /><Run x:Name="r_r_petname_3" Text="萝莉斯" /><Run
Text="{ll:Str 满状态次数是}" /> <Run x:Name="r_r_bettercount" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str '次'}" /><LineBreak /><LineBreak />
<Run x:Name="r_r_petname_4" Text="萝莉斯" /><Run Text="{ll:Str 对你的好感度是}" /><LineBreak /> <Run
x:Name="r_r_likecount" Text="&#xEE0E;&#xEE0E;&#xEE0E;&#xEE0F;" FontWeight="Bold"
FontFamily="/VPet-Simulator.Windows;component/Res/#remixicon"
Foreground="{DynamicResource DARKPrimaryDark}" /><LineBreak /><LineBreak />
<Run Text="{ll:Str 超过了全球}" /> <Run x:Name="r_r_likecountrank" Text="XX"
FontWeight="Bold" Foreground="{DynamicResource DARKPrimaryDark}" /> <Run
Text="{ll:Str 'r的主人'}" /><LineBreak />
<LineBreak />
<Run Text="&quot;" Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" /><Run
Text="{ll:Str '最喜欢你了主人~ 新的一年请多多关照喵~'}"
Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" /><Run
Text="&quot;" Foreground="{DynamicResource DARKPrimaryDarker}" FontWeight="Bold" />
</TextBlock>
<Image Source="/Res/img/rank6.png" Grid.Row="12" Grid.ColumnSpan="2" Stretch="UniformToFill" />
<TextBlock Grid.Row="12" Grid.ColumnSpan="2" VerticalAlignment="Bottom"
HorizontalAlignment="Left" Foreground="{DynamicResource DARKPrimaryText}"
Margin="10" FontWeight="Bold">
<Run Text="To" FontSize="16" /> <Run x:Name="r_r_petname" Text="萝莉斯" FontSize="16" /> <LineBreak />
<Run Text="By" FontSize="16" /> <Run x:Name="r_r_username" Text="洛里斯杨远" FontSize="16" /> <LineBreak />
@<Run Text="{ll:Str 虚拟桌宠模拟器}" /> (<Run x:Name="r_r_now" Text="2023/12/29" />) TEST VERSION
</TextBlock>
</Grid>
</Viewbox>
</ScrollViewer>
<ProgressBar x:Name="pb_r_genRank" Height="20" Grid.Row="2" Grid.ColumnSpan="2" VerticalAlignment="Top"
pu:ProgressBarHelper.CornerRadius="4" pu:ProgressBarHelper.IsPercentVisible="True"
Background="{DynamicResource SecondaryLighter}" BorderBrush="{DynamicResource SecondaryDark}"
BorderThickness="1.5" FontSize="10" Foreground="{DynamicResource Secondary}" Value="0"
Margin="0,5,0,0" Visibility="Collapsed" />
</Grid>
</TabItem>
</TabControl>
</pu:WindowX>

View File

@ -1,13 +1,23 @@
using LinePutScript.Localization.WPF;
using LinePutScript;
using LinePutScript.Localization.WPF;
using Microsoft.Win32;
using Panuon.WPF.UI;
using Steamworks;
using Steamworks.Data;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Xml.Linq;
using VPet_Simulator.Windows.Interface;
namespace VPet_Simulator.Windows
{
@ -30,6 +40,13 @@ namespace VPet_Simulator.Windows
}
DataGridStatic.ItemsSource = StatList;
mw.GameSavesData.Statistics.StatisticChanged += Statistics_StatisticChanged;
if (mw.GameSavesData.HashCheck && mw.GameSavesData.GameSave.Exp < int.MaxValue && mw.GameSavesData.GameSave.Money < int.MaxValue)
{
cb_NoCheat.IsEnabled = true;
if (mw.IsSteamUser)
cb_AgreeUpload.IsEnabled = true;
}
}
private void Statistics_StatisticChanged(Interface.Statistics sender, string name, LinePutScript.SetObject value)
@ -209,5 +226,358 @@ namespace VPet_Simulator.Windows
mw.GameSavesData.Statistics.StatisticChanged -= Statistics_StatisticChanged;
mw.Windows.Remove(this);
}
private void btn_r_save_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog saveFileDialog = new SaveFileDialog()
{
FileName = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "VPet_Rank.png"),
Filter = "PNG Image File|*.png"
};
if (saveFileDialog.ShowDialog() != true)
return;
RenderTargetBitmap image = new RenderTargetBitmap((int)r_output.ActualWidth, (int)r_output.ActualHeight, 96, 96, PixelFormats.Pbgra32);
image.Render(r_output);
var path = saveFileDialog.FileName;
using (MemoryStream ms = new MemoryStream())
{
BitmapEncoder encoder = new PngBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(image));
encoder.Save(ms);
File.WriteAllBytes(path, ms.ToArray());
if (mw.IsSteamUser && cb_AgreeUpload.IsChecked == true)
SteamScreenshots.AddScreenshot(path, null, image.PixelWidth, image.PixelHeight);
Process.Start(path);
}
}
private void cb_AgreeUpload_Checked(object sender, RoutedEventArgs e)
{
cb_NoCheat.IsChecked = true;
}
private void cb_NoCheat_Unchecked(object sender, RoutedEventArgs e)
{
cb_AgreeUpload.IsChecked = false;
}
private void btn_r_genRank_Click(object sender, RoutedEventArgs e)
{
pb_r_genRank.Value = 0;
pb_r_genRank.Visibility = Visibility.Visible;
btn_r_genRank.IsEnabled = false;
Task.Run(GenRank);
}
private async void GenRank()
{
bool useranking = mw.IsSteamUser && await Dispatcher.InvokeAsync(() => cb_AgreeUpload.IsChecked == true);
string petname = mw.IsSteamUser ? SteamClient.Name : Environment.UserName;
int timelength = mw.GameSavesData.Statistics[(gint)"stat_total_time"];
double timelength_h = (timelength / 3600.0);
double startdatelength = (DateTime.Now - mw.GameSavesData[(gdat)"birthday"]).TotalDays;
double startlengthrank = 0;
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_total_time", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore(timelength);
var length = leaderboard?.EntryCount ?? 1.0;
startlengthrank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
string startlengthranktext;
if (startlengthrank < 0.5)
startlengthranktext = '"' + "主人~多陪陪我~".Translate() + '"';
else
startlengthranktext = '"' + "主人~感谢陪伴~".Translate() + '"';
double timelengthph = timelength_h / startdatelength;
string timelengthphtext;
string timelengthtext;
if (timelengthph < 2)
{
timelengthphtext = "同学".Translate();
timelengthtext = '"' + "学长~前辈~".Translate() + '"';
}
else if (timelengthph < 4)
{
timelengthphtext = "朋友".Translate();
timelengthtext = '"' + "兄弟!".Translate() + '"';
}
else if (timelengthph < 7)
{
timelengthphtext = "挚友".Translate();
timelengthtext = '"' + "不求同年同月同日生,但求同年同月同日打开《虚拟桌宠模拟器》".Translate() + '"';
}
else if (timelengthph < 10)
{
timelengthphtext = "家人".Translate();
timelengthtext = '"' + "We are 伐木累~".Translate() + '"';
}
else
{
timelengthphtext = "女鹅".Translate();
timelengthtext = '"' + "爸妈~ 这么叫好像不太好".Translate() + '"';
}
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 10);
string studytext;
if (mw.GameSavesData.GameSave.Level < 20)
studytext = "相当于桌宠的小学学历哦\n\"肃清! {0}的安魂曲☆\"".Translate(petname);
else if (mw.GameSavesData.GameSave.Level < 40)
studytext = "相当于桌宠的中学学历哦\n<高考桌宠100天>".Translate();
else if (mw.GameSavesData.GameSave.Level < 60)
studytext = "相当于桌宠的大学学历哦\n\"大学生上课吃饭睡觉, {0}学习吃饭睡觉, {0}=大学生\"".Translate(petname);
else if (mw.GameSavesData.GameSave.Level < 80)
studytext = "相当于桌宠的博士学历哦\n\"大学生上课吃饭睡觉, 人家和那个带兜帽的没关系啦\"".Translate();
else
studytext = "<虚拟桌宠模拟器砖家>\n\"一定是{0}干的!\"".Translate(petname);
int studyexpmax, studymoneymax;
double studyexpmaxrank = 0, studymoneymaxrank = 0;
if (mw.IsSteamUser)
{
studyexpmax = SteamUserStats.GetStatInt("stat_single_profit_exp");
studymoneymax = SteamUserStats.GetStatInt("stat_single_profit_money");
}
else
{
studyexpmax = mw.GameSavesData.Statistics[(gint)"stat_single_profit_exp"];
studymoneymax = mw.GameSavesData.Statistics[(gint)"stat_single_profit_money"];
}
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 20);
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_single_profit_exp", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore(studyexpmax);
var length = leaderboard?.EntryCount ?? 1.0;
studyexpmaxrank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_single_profit_money", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
result = await leaderboard?.ReplaceScore(studymoneymax);
length = leaderboard?.EntryCount ?? 1.0;
studymoneymaxrank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
string studyexptext, workmoneytext;
if (studyexpmaxrank < 0.25)
studyexptext = '"' + "在你这个年纪,你怎么睡得着觉的?".Translate() + '"';
else if (studyexpmaxrank < 0.5)
studyexptext = '"' + "学而不思则罔思而不学则die".Translate() + '"';
else if (studyexpmaxrank < 0.75)
studyexptext = '"' + "学习?".Translate() + '"';
else
studyexptext = '"' + "看我量子速读法!".Translate() + '"';
if (studymoneymaxrank < 0.25)
workmoneytext = '"' + "钱钱乃身外之物".Translate() + '"';
else if (studymoneymaxrank < 0.5)
workmoneytext = '"' + "风声雨声读书声声声入耳,日结月结次次结钱钱入账".Translate() + '"';
else if (studymoneymaxrank < 0.75)
workmoneytext = '"' + "有钱能使磨推鬼".Translate() + '"';
else
workmoneytext = '"' + "可是,我真的很需要那些钱钱!".Translate() + '"';
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 40);
int worktime = mw.GameSavesData.Statistics[(gint)"stat_work_time"];
double worktimeph = (double)worktime / timelength;
double worktimephrank = 0;
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_work_time_ph", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore((int)(worktimeph * 10000));
var length = leaderboard?.EntryCount ?? 1.0;
worktimephrank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
string worktimephtext;
if (worktimephrank < 0.25)
worktimephtext = '"' + "干一天来歇一天, 能混一天是一天".Translate() + '"';
else if (worktimephrank < 0.5)
worktimephtext = '"' + "早8晚5快乐回家".Translate() + '"';
else if (worktimephrank < 0.75)
worktimephtext = '"' + "加班没有加班费不是基本常识吗?".Translate() + '"';
else
worktimephtext = '"' + "老板! 路灯已经准备好了!".Translate() + '"';
int betterbuytimes = mw.GameSavesData.Statistics[(gint)"stat_buytimes"];
int betterbuycount = (int)mw.GameSavesData.Statistics[(gdbe)"stat_betterbuy"];
Food mostfood = new Food()
{
Name = "None",
};
foreach (string name in mw.GameSavesData.Statistics.Data.Where(x => x.Key.StartsWith("buy_")).OrderByDescending(x => x.Value).Select(x => x.Key))
{
var fn = name.Substring(4);
var f = mw.Foods.FirstOrDefault(x => x.Name == fn);
if (f != null)
{
mostfood = f;
break;
}
}
string foodtext = "啥也没吃,{0}都饿坏了".Translate(petname);
switch (mostfood.Type)
{
case Food.FoodType.Meal:
foodtext = '"' + "人是铁饭是钢, 四菜一汤吃得香".Translate() + '"';
break;
case Food.FoodType.Drug:
foodtext = '"' + "自动购买又忘开了吧?".Translate() + '"';
break;
case Food.FoodType.Drink:
foodtext = '"' + "多喝热水".Translate() + '"';
break;
case Food.FoodType.Functional:
foodtext = '"' + "不是正餐买不起, 而是功能性更有性价比".Translate() + '"';
break;
case Food.FoodType.Snack:
foodtext = '"' + "多吃零食有益心理健康".Translate() + '"';
break;
case Food.FoodType.Gift:
foodtext = '"' + "公若不弃,{0}愿拜为义父!".Translate(petname) + '"';
break;
}
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 60);
int autobuytimes = mw.GameSavesData.Statistics[(gint)"stat_autobuy"];
double autobuytimesph = (double)autobuytimes / betterbuytimes;
double autobuytimesphrank = 0;
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_autobuy_ph", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore((int)(autobuytimesph * 10000));
var length = leaderboard?.EntryCount ?? 1.0;
autobuytimesphrank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
string autobuytext;
if (autobuytimesph < 0.25)
autobuytext = '"' + "主人, 是担心我乱买东西嘛".Translate() + '"';
else if (autobuytimesph < 0.5)
autobuytext = '"' + "自己赚的钱自己花".Translate() + '"';
else if (autobuytimesph < 0.75)
autobuytext = '"' + "不要小看我的情报网! 你自动购买礼物没关,对不对?".Translate() + '"';
else
autobuytext = '"' + "诚招保姆,工资面议".Translate() + '"';
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 70);
var modworkshoplist = mw.CoreMODs.FindAll(x => x.Path.FullName.Contains("workshop"));
int modworkshop = modworkshoplist.Count;
int modon = modworkshoplist.FindAll(x => x.IsOnMOD(mw)).Count;
double modworkshoprank = 0;
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("workshop", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore(modworkshop);
var length = leaderboard?.EntryCount ?? 1.0;
modworkshoprank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
string modworkshoptext;
if (modworkshop == 0)
modworkshoptext = '"' + "桌宠的steam创意工坊里有许多的mod喵, 主人快去试试吧".Translate() + '"';
else if (modworkshoprank < 0.3)
modworkshoptext = '"' + "创意工坊又更新了很多有趣的mod喵, 主人要不要去看看?".Translate() + '"';
else
modworkshoptext = '"' + "主人已经是mod大师了喵,要不要试试mod制作器,给我做mod喵!".Translate() + '"';
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 80);
int like = (int)mw.GameSavesData.GameSave.Likability;
string liketext = "";
while (like > 100)
{
like -= 100;
liketext += '\uEE0E';
}
while (like > 50)
{
like -= 50;
liketext += '\uEE0F';
}
if(liketext.Length == 0)
{
liketext = "\uEECA";
}
double likerank = 0;
if (useranking)
{
Leaderboard? leaderboard = await SteamUserStats.FindOrCreateLeaderboardAsync("stat_likability", LeaderboardSort.Descending, LeaderboardDisplay.Numeric);
var result = await leaderboard?.ReplaceScore((int)mw.GameSavesData.GameSave.Likability);
var length = leaderboard?.EntryCount ?? 1.0;
likerank = 1 - ((result?.NewGlobalRank - 1) ?? length) / length;
}
await Dispatcher.InvokeAsync(() => pb_r_genRank.Value = 88);
await Dispatcher.InvokeAsync(() =>
{
r_r_startday.Text = mw.GameSavesData[(gdat)"birthday"].ToLongDateString();
r_r_startlength.Text = startdatelength.ToString("f1");
r_r_length_h.Text = timelength_h.ToString("f1");
r_r_length_p.Text = startlengthrank.ToString("p1");
r_r_lenghranktext.Text = startlengthranktext;
r_r_lengthph.Text = timelengthph.ToString("f1");
r_r_lengthphtext.Text = timelengthphtext;
r_r_lenghtext.Text = timelengthtext;
r_r_level.Text = mw.GameSavesData.GameSave.Level.ToString();
r_r_exp.Text = mw.GameSavesData.GameSave.Exp.ToString("f0");
r_r_studytime.Text = (mw.GameSavesData.Statistics[(gint)"stat_study_time"] / 60).ToString();
r_r_studytext.Text = studytext;
r_r_studyexpmax.Text = studyexpmax.ToString();
r_r_studyexpmaxrank.Text = studyexpmaxrank.ToString("p1");
r_r_studyexptext.Text = studyexptext;
r_r_worktime.Text = (worktime / 60).ToString();
r_r_worktimeps.Text = worktimeph.ToString("p1");
r_r_worktimepsrank.Text = worktimephrank.ToString("p1");
r_r_worktext.Text = worktimephtext;
r_r_workmoneymax.Text = studymoneymax.ToString();
r_r_workmoneyrank.Text = studymoneymaxrank.ToString("p1");
r_r_workmoneytext.Text = workmoneytext;
r_r_username.Text = petname;
r_r_petname.Text = r_r_petname_2.Text = r_r_petname_3.Text = r_r_petname_4.Text = mw.GameSavesData.GameSave.Name;
r_r_now.Text = DateTime.Now.ToShortDateString();
r_r_betterbuytimes.Text = betterbuytimes.ToString();
r_r_betterbuycount.Text = betterbuycount.ToString();
r_r_betterbuymosttype.Text = mostfood.Type.ToString().Translate();
r_r_betterbuymostitem.Text = mostfood.TranslateName;
r_r_betterbuymosttext.Text = foodtext;
r_r_autobuy.Text = autobuytimes.ToString();
r_r_autobuypres.Text = autobuytimesph.ToString("p1");
r_r_autobuyrank.Text = autobuytimesphrank.ToString("p1");
r_r_autobuytext.Text = autobuytext;
r_r_modcount.Text = modworkshop.ToString();
r_r_modenablecount.Text = modon.ToString();
r_r_modcountrank.Text = modworkshoprank.ToString("p1");
r_r_modcounttext.Text = modworkshoptext;
r_r_sleeplength.Text = (mw.GameSavesData.Statistics[(gint)"stat_sleep_time"] / 3600.0).ToString("f1");
r_r_movelength.Text = mw.GameSavesData.Statistics[(gint)"stat_move_length"].ToString();
r_r_saycount.Text = mw.GameSavesData.Statistics[(gint)"stat_say_times"].ToString();
r_r_musiccount.Text = mw.GameSavesData.Statistics[(gint)"stat_music"].ToString();
r_r_touchtotal.Text = (mw.GameSavesData.Statistics[(gint)"stat_touch_body"] + mw.GameSavesData.Statistics[(gint)"stat_touch_head"]).ToString();
r_r_opencount.Text = mw.GameSavesData.Statistics[(gint)"stat_open_times"].ToString();
r_r_bettercount.Text = mw.GameSavesData.Statistics[(gint)"stat_100_all"].ToString();
r_r_likecount.Text = liketext;
r_r_likecountrank.Text = likerank.ToString("p1");
r_viewbox.Visibility = Visibility.Visible;
btn_r_genRank.IsEnabled = true;
btn_r_save.IsEnabled = true;
pb_r_genRank.Visibility = Visibility.Collapsed;
});
}
}
}

View File

@ -1 +1,103 @@
MOD名称重复#MOD name duplicated:|
统计#Statistics:|
主人~多陪陪我~#Master, stay with me!:|
主人~感谢陪伴~#Master, thank you for your company.:|
同学#Classmates:|
学长~前辈~#Senior:|
朋友#Friend!:|
兄弟!#Brother!:|
挚友#Best friend!:|
不求同年同月同日生,但求同年同月同日打开《虚拟桌宠模拟器》#We don't want to be born in the same year, month and day, but we want to open VPet Simulator in the same year, month and day.:|
家人#Family:|
We are 伐木累~#We are Family.:|
女鹅#Daughter:|
爸妈~ 这么叫好像不太好#Mom and Dad!, I don't think it's a good idea to call them that.:|
相当于桌宠的中学学历哦\n<高考桌宠100天>#It's the equivalent of VPet's high school education.\n<College Entrance Exam for VPet>:|
在你这个年纪,你怎么睡得着觉的?#How do you sleep at your age?:|
学而不思则罔思而不学则die#Learning without thought means labour lost; thought without learning is perilous.:|
学习?#Learning?:|
看我量子速读法!#Look at my quantum speed reading method!:|
钱钱乃身外之物#Money is nothing.:|
风声雨声读书声声声入耳,日结月结次次结钱钱入账#The sound of the wind and rain, the sound of reading, the sound of the day, the sound of the month, the sound of the day, the sound of the month, the sound of the money.:|
有钱能使磨推鬼#Money can make things go away.:|
可是,我真的很需要那些钱钱!#But I really need that money!:|
干一天来歇一天, 能混一天是一天#One day at a time, one day off, one day at a time.:|
早8晚5快乐回家#8 a.m. to 5 p.m., go home happy:|
加班没有加班费不是基本常识吗?#Isn't it basic knowledge that overtime work is not paid?:|
老板! 路灯已经准备好了!#Boss! The streetlights are ready!:|
啥也没吃,{0}都饿坏了#haven't eaten anything. {0} is starving.:|
人是铁饭是钢, 四菜一汤吃得香#Iron is steel, four dishes and one soup.:|
自动购买又忘开了吧?#Did you forget to turn on the auto-purchase?:|
多喝热水#Drink more hot water.:|
不是正餐买不起, 而是功能性更有性价比#It's not that you can't afford to eat, it's that functionality is more cost-effective.:|
多吃零食有益心理健康#Snacking is good for your mental health.:|
公若不弃,{0}愿拜为义父!#If you don't give me up, May {0} be worshipped as adoptive father:|
主人, 是担心我乱买东西嘛#Master, Are you worried that I will buy things randomly?:|
自己赚的钱自己花#I spend what I earn.:|
不要小看我的情报网! 你自动购买礼物没关,对不对?#Don't underestimate my intelligence network! You're not buying gifts automatically, are you?:|
诚招保姆,工资面议#We're looking for a nanny. Salary negotiable.:|
桌宠的steam创意工坊里有许多的mod喵, 主人快去试试吧#VPet's steam workshop is full of mods, so go try them out.:|
创意工坊又更新了很多有趣的mod喵, 主人要不要去看看?#There's a lot of interesting mods in the steam workshop. Would you like to take a look?:|
主人已经是mod大师了喵,要不要试试mod制作器,给我做mod喵!#Master is already a master modder, try the mod maker and make mods for me!:|
统计总结#Stats Summary:|
生成统计#Generate stats:|
保存图片#Save image:|
未使用过作弊模组和修改游戏数据#Have not used any cheat mods or modified game stats.:|
同意上传统计数据至Steam排行榜#Agree to upload stats to Steam Leaderboards:|
你第一次遇到了这只可爱的小东西#Your first encounter with this cute little thing:|
初次见面,主人~#First encounter, master~:|
你和#You and:|
一共生活了#lived together for:|
r天#Days:|
你陪伴她的时长是#The length of time you stayed with her was:|
r小时#Hours.:|
超过了全球#More than:|
r的主人#of the world's players:|
平均一天有#Spend an average of:|
小时在一起#hours a day together.:|
相当于平均和#Equivalent to the average time spent with:|
在一起的时间#time spent together:|
你的等级是#Your Level is:|
r级#:|
累计获得经验#Cumulative experience gained:|
累计学习时间是#The cumulative learning time is:|
r分钟#minutes:|
单次学习最大获得#Maximum single learning gain:|
累计工作时间是#Cumulative work time is:|
工作占总时间#Work accounts for of total time:|
单次工作最大获得#Maximum acquisition of work in a single session:|
累计购买#Accumulated:|
次更好买商品#times purchases of better products:|
其中最多购买的是#Among the most purchased are:|
在分类#under the category:|
自动购买#Automatic purchases:|
次#times:|
占全部购买#of all purchases:|
你订阅了#You subscribed to:|
个mod#mods:|
启用的其中的#of which are enabled:|
你订阅mod数超过了全球#You subscribed to more mods than:|
睡了#Slept:|
小时的觉#hours:|
移动了#Moved:|
的距离#distance:|
说了#Said:|
句话#Sentence:|
跳了#Danced:|
次舞蹈#times:|
摸了#Touched:|
次头#times:|
吃喝玩乐睡, 惨了养成猪了#Eat, drink, play and sleep.:|
打开游戏次数是#The number of times the game is opened is:|
你照顾的#The full states of:|
满状态次数是#being taken care of:|
对你的好感度是#'s favorability towards you is:|
最喜欢你了主人~ 新的一年请多多关照喵~#You're my favorite, master. Please take care of me in the new year.:|
MOD名称重复#Mod name duplicated:|
Food#Food:|
Star#Star:|
Meal#Meal:|
Snack#Snack:|
Drink#Drink:|
Functional#Functional:|
Drug#Drug:|
Gift#Gift:|

View File

@ -1 +1,103 @@
统计#统计:|
主人~多陪陪我~#主人~多陪陪我~:|
主人~感谢陪伴~#主人~感谢陪伴~:|
同学#同学:|
学长~前辈~#学长~前辈~:|
朋友#朋友:|
兄弟!#兄弟!:|
挚友#挚友:|
不求同年同月同日生,但求同年同月同日打开《虚拟桌宠模拟器》#不求同年同月同日生,但求同年同月同日打开《虚拟桌宠模拟器》:|
家人#家人:|
We are 伐木累~#We are 伐木累~:|
女鹅#女鹅:|
爸妈~ 这么叫好像不太好#爸妈~ 这么叫好像不太好:|
相当于桌宠的中学学历哦\n<高考桌宠100天>#相当于桌宠的中学学历哦\n<高考桌宠100天>:|
在你这个年纪,你怎么睡得着觉的?#在你这个年纪,你怎么睡得着觉的?:|
学而不思则罔思而不学则die#学而不思则罔思而不学则die:|
学习?#学习?:|
看我量子速读法!#看我量子速读法!:|
钱钱乃身外之物#钱钱乃身外之物:|
风声雨声读书声声声入耳,日结月结次次结钱钱入账#风声雨声读书声声声入耳,日结月结次次结钱钱入账:|
有钱能使磨推鬼#有钱能使磨推鬼:|
可是,我真的很需要那些钱钱!#可是,我真的很需要那些钱钱!:|
干一天来歇一天, 能混一天是一天#干一天来歇一天, 能混一天是一天:|
早8晚5快乐回家#早8晚5快乐回家:|
加班没有加班费不是基本常识吗?#加班没有加班费不是基本常识吗?:|
老板! 路灯已经准备好了!#老板! 路灯已经准备好了!:|
啥也没吃,{0}都饿坏了#啥也没吃,{0}都饿坏了:|
人是铁饭是钢, 四菜一汤吃得香#人是铁饭是钢, 四菜一汤吃得香:|
自动购买又忘开了吧?#自动购买又忘开了吧?:|
多喝热水#多喝热水:|
不是正餐买不起, 而是功能性更有性价比#不是正餐买不起, 而是功能性更有性价比:|
多吃零食有益心理健康#多吃零食有益心理健康:|
公若不弃,{0}愿拜为义父!#公若不弃,{0}愿拜为义父!:|
主人, 是担心我乱买东西嘛#主人, 是担心我乱买东西嘛:|
自己赚的钱自己花#自己赚的钱自己花:|
不要小看我的情报网! 你自动购买礼物没关,对不对?#不要小看我的情报网! 你自动购买礼物没关,对不对?:|
诚招保姆,工资面议#诚招保姆,工资面议:|
桌宠的steam创意工坊里有许多的mod喵, 主人快去试试吧#桌宠的steam创意工坊里有许多的mod喵, 主人快去试试吧:|
创意工坊又更新了很多有趣的mod喵, 主人要不要去看看?#创意工坊又更新了很多有趣的mod喵, 主人要不要去看看?:|
主人已经是mod大师了喵,要不要试试mod制作器,给我做mod喵!#主人已经是mod大师了喵,要不要试试mod制作器,给我做mod喵!:|
统计总结#统计总结:|
生成统计#生成统计:|
保存图片#保存图片:|
未使用过作弊模组和修改游戏数据#未使用过作弊模组和修改游戏数据:|
同意上传统计数据至Steam排行榜#同意上传统计数据至Steam排行榜:|
你第一次遇到了这只可爱的小东西#你第一次遇到了这只可爱的小东西:|
初次见面,主人~#初次见面,主人~:|
你和#你和:|
一共生活了#一共生活了:|
r天#天:|
你陪伴她的时长是#你陪伴她的时长是:|
r小时#小时:|
超过了全球#超过了全球:|
r的主人#的主人:|
平均一天有#平均一天有:|
小时在一起#小时在一起:|
相当于平均和#相当于平均和:|
在一起的时间#在一起的时间:|
你的等级是#你的等级是:|
r级#级:|
累计获得经验#累计获得经验:|
累计学习时间是#累计学习时间是:|
r分钟#分钟:|
单次学习最大获得#单次学习最大获得:|
累计工作时间是#累计工作时间是:|
工作占总时间#工作占总时间:|
单次工作最大获得#单次工作最大获得:|
累计购买#累计购买:|
次更好买商品#次更好买商品:|
其中最多购买的是#其中最多购买的是:|
在分类#在分类:|
自动购买#自动购买:|
次#次:|
占全部购买#占全部购买:|
你订阅了#你订阅了:|
个mod#个mod:|
启用的其中的#启用的其中的:|
你订阅mod数超过了全球#你订阅mod数超过了全球:|
睡了#睡了:|
小时的觉#小时的觉:|
移动了#移动了:|
的距离#的距离:|
说了#说了:|
句话#句话:|
跳了#跳了:|
次舞蹈#次舞蹈:|
摸了#摸了:|
次头#次头:|
吃喝玩乐睡, 惨了养成猪了#吃喝玩乐睡, 惨了养成猪了:|
打开游戏次数是#打开游戏次数是:|
你照顾的#你照顾的:|
满状态次数是#满状态次数是:|
对你的好感度是#对你的好感度是:|
最喜欢你了主人~ 新的一年请多多关照喵~#最喜欢你了主人~ 新的一年请多多关照喵~:|
MOD名称重复#MOD名称重复:|
Food#食物:|
Star#收藏:|
Meal#正餐:|
Snack#零食:|
Drink#饮料:|
Functional#功能性:|
Drug#药品:|
Gift#礼品:|

View File

@ -1 +1,103 @@
统计#統計:|
主人~多陪陪我~#主人~多陪陪我~:|
主人~感谢陪伴~#主人~感謝陪伴~:|
同学#同學:|
学长~前辈~#學長~前輩~:|
朋友#朋友:|
兄弟!#兄弟!:|
挚友#摯友:|
不求同年同月同日生,但求同年同月同日打开《虚拟桌宠模拟器》#不求同年同月同日生,但求同年同月同日打開《虛擬桌寵模擬器》:|
家人#家人:|
We are 伐木累~#We are伐木累~:|
女鹅#女鹅:|
爸妈~ 这么叫好像不太好#爸媽~這麼叫好像不太好:|
相当于桌宠的中学学历哦\n<高考桌宠100天>#相當於桌寵的中學學歷哦\n<高考桌寵100天>:|
在你这个年纪,你怎么睡得着觉的?#在你這個年紀,你怎麼睡得著覺的?:|
学而不思则罔思而不学则die#學而不思則罔思而不學則die:|
学习?#學習?:|
看我量子速读法!#看我量子速讀法!:|
钱钱乃身外之物#錢錢乃身外之物:|
风声雨声读书声声声入耳,日结月结次次结钱钱入账#風聲雨聲讀書聲聲聲入耳,日結月結次次結錢錢入帳:|
有钱能使磨推鬼#有錢能使磨推鬼:|
可是,我真的很需要那些钱钱!#可是,我真的很需要那些錢錢!:|
干一天来歇一天, 能混一天是一天#幹一天來歇一天,能混一天是一天:|
早8晚5快乐回家#早8晚5快樂回家:|
加班没有加班费不是基本常识吗?#加班沒有加班費不是基本常識嗎?:|
老板! 路灯已经准备好了!#老闆! 路燈已經準備好了!:|
啥也没吃,{0}都饿坏了#啥也沒吃,{0}都餓壞了:|
人是铁饭是钢, 四菜一汤吃得香#人是鐵飯是鋼,四菜一湯吃得香:|
自动购买又忘开了吧?#自動購買又忘開了吧?:|
多喝热水#多喝熱水:|
不是正餐买不起, 而是功能性更有性价比#不是正餐買不起,而是功能性更有性價比:|
多吃零食有益心理健康#多吃零食有益心理健康:|
公若不弃,{0}愿拜为义父!#公若不弃,{0}願拜為義父!:|
主人, 是担心我乱买东西嘛#主人,是擔心我亂買東西嘛:|
自己赚的钱自己花#自己賺的錢自己花:|
不要小看我的情报网! 你自动购买礼物没关,对不对?#不要小看我的情報網! 你自動購買禮物沒關,對不對?:|
诚招保姆,工资面议#誠招保姆,薪水面議:|
桌宠的steam创意工坊里有许多的mod喵, 主人快去试试吧#桌寵的steam創意工坊裏有許多的mod喵主人快去試試吧:|
创意工坊又更新了很多有趣的mod喵, 主人要不要去看看?#創意工坊又更新了很多有趣的mod喵主人要不要去看看:|
主人已经是mod大师了喵,要不要试试mod制作器,给我做mod喵!#主人已經是mod大師了喵要不要試試mod製作器給我做mod喵:|
统计总结#統計總結:|
生成统计#生成統計:|
保存图片#保存圖片:|
未使用过作弊模组和修改游戏数据#未使用過作弊模組和修改遊戲數據:|
同意上传统计数据至Steam排行榜#同意上傳統計資料至Steam排行榜:|
你第一次遇到了这只可爱的小东西#你第一次遇到了這只可愛的小東西:|
初次见面,主人~#初次見面,主人~:|
你和#你和:|
一共生活了#一共生活了:|
r天#天:|
你陪伴她的时长是#你陪伴她的時長是:|
r小时#小時:|
超过了全球#超過了全球:|
r的主人#的主人:|
平均一天有#平均一天有:|
小时在一起#小時在一起:|
相当于平均和#相當於平均和:|
在一起的时间#在一起的時間:|
你的等级是#你的等級是:|
r级#級:|
累计获得经验#累計獲得經驗:|
累计学习时间是#累計學習時間是:|
r分钟#分鐘:|
单次学习最大获得#單次學習最大獲得:|
累计工作时间是#累計工作時間是:|
工作占总时间#工作占總時間:|
单次工作最大获得#單次工作最大獲得:|
累计购买#累計購買:|
次更好买商品#次更好買商品:|
其中最多购买的是#其中最多購買的是:|
在分类#在分類:|
自动购买#自動購買:|
次#次:|
占全部购买#占全部購買:|
你订阅了#你訂閱了:|
个mod#個mod:|
启用的其中的#啟用的其中的:|
你订阅mod数超过了全球#你訂閱mod數超過了全球:|
睡了#睡了:|
小时的觉#小時的覺:|
移动了#移動了:|
的距离#的距離:|
说了#說了:|
句话#句話:|
跳了#跳了:|
次舞蹈#次舞蹈:|
摸了#摸了:|
次头#次頭:|
吃喝玩乐睡, 惨了养成猪了#吃喝玩樂睡,慘了養成猪了:|
打开游戏次数是#打開遊戲次數是:|
你照顾的#你照顧的:|
满状态次数是#滿狀態次數是:|
对你的好感度是#對你的好感度是:|
最喜欢你了主人~ 新的一年请多多关照喵~#最喜歡你了主人~新的一年請多多關照喵~:|
MOD名称重复#MOD名稱重複:|
Food#食物:|
Star#收藏:|
Meal#正餐:|
Snack#零食:|
Drink#飲料:|
Functional#功能性:|
Drug#藥品:|
Gift#禮品:|